Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Требуется помощь с кодом=)

Статус пользователя mkiyem
сообщение 16.9.2015, 5:17
Сообщение #1


Стаж: 11 лет

Сообщений: 1
Благодарностей: 1
Полезность: 0

Чуть чуть подредактировать плагин...
Плагин пишет в лог кучу одинаковых ошибок. Привожу одну, но в логе их десятки-сотни.
Подскажите проблему?
Cкрытый текст
L 09/16/2015 - 06:00:04: Start of error session.

L 09/16/2015 - 06:00:58: Start of error session.
L 09/16/2015 - 06:00:58: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20150916.log")
L 09/16/2015 - 06:00:58: [FUN] Invalid player 1
L 09/16/2015 - 06:00:58: [AMXX] Run time error 10 (plugin "knifeRR.amxx") (native "set_user_health") - debug not enabled!
L 09/16/2015 - 06:00:58: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 09/16/2015 - 06:03:16: Start of error session.
L 09/16/2015 - 06:03:16: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20150916.log")
L 09/16/2015 - 06:03:16: [FUN] Invalid player 1
L 09/16/2015 - 06:03:16: [AMXX] Displaying debug trace (plugin "knifeRR.amxx")
L 09/16/2015 - 06:03:16: [AMXX] Run time error 10: native error (native "set_user_health")
L 09/16/2015 - 06:03:16: [AMXX] [0] knifeRR.sma::player_spawn (line 31)


Cкрытый текст
Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <dhudmessage>
#include <hamsandwich>
#include <fun>
#include <fakemeta>

new Timer, SecondsCvar
new bool:g_knife = true
new health, HpCvar

public plugin_init()
{
register_plugin( "knifeRR" , "1.1", "twist" )

register_event("DeathMsg", "on_death", "a")
register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" )
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
SecondsCvar = register_cvar("at_rr_time","62.0")
HpCvar = register_cvar("at_hp","35")
Timer = get_pcvar_num(SecondsCvar)
health = get_pcvar_num(HpCvar)
set_task(1.0, "start_rr_timer", _, _, _, "a", Timer)
}

public player_spawn(id)
{
if(Timer > 0)
set_user_health(id, health)
}

public plugin_precache()
{
precache_sound("misc/Molodou.mp3")
server_cmd("exec addons/amxmodx/configs/knifeRR.cfg")
}

public on_death()
{
new victim
victim = read_data(2)

if(g_knife)
set_task(1.0, "fnRevivePlayer", victim)
}

public client_putinserver(id)
{
if(g_knife)
set_task(3.0, "Start_sound", id)
}

public Start_sound(id)
{
if(g_knife)
{
client_cmd(id, "mp3 play sound/misc/Molodou.mp3")
if(!is_user_alive(id) && (get_user_team(id) == 1 || get_user_team(id) == 2) )
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
}

public fnRevivePlayer(id)
{
if(!is_user_alive(id))
ExecuteHamB(Ham_CS_RoundRespawn, id)
}

public EventCurWeapon(id)
{
if(g_knife)
engclient_cmd(id, "weapon_knife")
}

public start_rr_timer()
{
Timer--

set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.08, 0, 0.0, 0.01)
show_dhudmessage(0, "Разминка!^nРестарт через: %d сек", Timer)

if(Timer < 1)
{
server_cmd("sv_restartround 1")
set_task(3.0, "rr_end")
client_cmd(0, "mp3 stop");
g_knife = false
}
}

public rr_end()
{
set_dhudmessage( 0, 250, 127, -1.0, 0.78, 2, 6.0, 3.0, 0.1, 1.5, false )
show_dhudmessage(0, "Всем удачи!^nПриятной игры!")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя damilurg
сообщение 16.9.2015, 8:33
Сообщение #2


Иконка группы

Стаж: 13 лет

Сообщений: 1191
Благодарностей: 1297
Полезность: 1230

mkiyem, в plugins.ini допишите "debug " напротив этого плагина.
knifeRR.amxx debug
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 16.9.2015, 14:46
Сообщение #3


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Код:
public player_spawn(id)
{
if(Timer > 0 /* && is_user_alive(id) */)
set_user_health(id, health)
}


Как-то так, мог ошибиться в названии функции проверки игрока на то, жив он или мертв, но суть та.

Либо, на сколько я знаю, можно вместо Ham_Spawn хукать Ham_CS_RoundRespawn

Отредактировал: Surf, - 16.9.2015, 15:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя WizarD
сообщение 18.1.2016, 22:47
Сообщение #4
Стаж: 12 лет

Сообщений: 113
Благодарностей: 13
Полезность: < 0

Surf, Кто поправит и выложит sma файлом ?? ну что там кто то может ?

Отредактировал: WizarD, - 18.1.2016, 23:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wer1K
сообщение 19.1.2016, 15:47
Сообщение #5
Стаж: 18 лет

Сообщений: 403
Благодарностей: 259
Полезность: 987

Меценат Меценат

Cкрытый текст
Вот, тестируй

Код
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <dhudmessage>
#include <hamsandwich>
#include <fun>
#include <fakemeta>
  
new Timer, SecondsCvar
new bool:g_knife = true
new health, HpCvar
  
public plugin_init()
{
    register_plugin( "knifeRR" , "1.1", "twist" )
      
    register_event("DeathMsg", "on_death", "a")
    register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" )
    RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
    SecondsCvar = register_cvar("at_rr_time","62.0")
    HpCvar = register_cvar("at_hp","35")
    Timer = get_pcvar_num(SecondsCvar)
    health = get_pcvar_num(HpCvar)
    set_task(1.0, "start_rr_timer", _, _, _, "a", Timer)
}
  
public player_spawn(id)
{
   if(Timer > 0 && is_user_alive(id))
      set_user_health(id, health)
}
  
public plugin_precache()
{
   precache_sound("misc/Molodou.mp3")
   server_cmd("exec addons/amxmodx/configs/knifeRR.cfg")
}
  
public on_death()
{
   new victim
   victim = read_data(2)
      
   if(g_knife)
      set_task(1.0, "fnRevivePlayer", victim)
}
  
public client_putinserver(id)
{
   if(g_knife)
      set_task(3.0, "Start_sound", id)
}
  
public Start_sound(id)
{
   if(g_knife)
   {
      client_cmd(id, "mp3 play sound/misc/Molodou.mp3")
      if(!is_user_alive(id) && (get_user_team(id) == 1 || get_user_team(id) == 2) )
         ExecuteHamB(Ham_CS_RoundRespawn, id)
   }
}
  
public fnRevivePlayer(id)
{
   if(!is_user_alive(id))
      ExecuteHamB(Ham_CS_RoundRespawn, id)
}
  
public EventCurWeapon(id)
{
   if(g_knife)
      engclient_cmd(id, "weapon_knife")
}
  
public start_rr_timer()
{
    Timer--
      
    set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.08, 0, 0.0, 0.01)
    show_dhudmessage(0, "Разминка!^nРестарт через: %d сек", Timer)
  
    if(Timer < 1)
    {
      server_cmd("sv_restartround 1")
      set_task(3.0, "rr_end")
      client_cmd(0, "mp3 stop");
      g_knife = false
    }
}
  
public rr_end()
{
    set_dhudmessage( 0, 250, 127, -1.0, 0.78, 2, 6.0, 3.0, 0.1, 1.5, false )
    show_dhudmessage(0, "Всем удачи!^nПриятной игры!")
}


Отредактировал: XyLiGaN, - 20.1.2016, 8:56
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: