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

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

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

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

Помогите исправить ошибку

, плагин JB
Статус пользователя shram47
сообщение 5.12.2015, 4:00
Сообщение #1


Стаж: 10 лет
Город: Москва

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

В общем вот такие вот ошибки в логе amxmodx (используя debug)
Код:
L 12/05/2015 - 03:13:16: [FUN] Player out of range (0)
L 12/05/2015 - 03:13:16: [AMXX] Displaying debug trace (plugin "zonka_cmbox_v10.amxx")
L 12/05/2015 - 03:13:16: [AMXX] Run time error 10: native error (native "set_user_godmode")
L 12/05/2015 - 03:13:16: [AMXX] [0] zonka_cmbox_v10.sma::end_round (line 73)
L 12/05/2015 - 03:13:16: [AMXX] [1] zonka_cmbox_v10.sma::find_boxers (line 259)
L 12/05/2015 - 03:13:16: [AMXX] [2] zonka_cmbox_v10.sma::RunGame (line 129)

И сам плагин.
код
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <engine>
#include <cstrike>

#define PLUGIN "Chempion BOX Game"
#define VERSION "1.1"
#define AUTHOR "Weazzy_"

native jbe_is_user_simon(id);
native jb_get_last();
native jb_set_box_off();
native jb_set_box_on();

#define ID_TIMER 7135134

new bool:onoff;

new const g_Game[] = {"sound/boxonoff.wav"}
new const g_GameWinner[] = {"sound/vzlomal35.wav"}
new playersboxing[3];
new fightnum = 0;
new playerboxingname[2][32];
new playerwinnername[32];
new g_Time;
new ActionTime[64];
new Players[32], Count;
new BeaconSprite

public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR);
register_clcmd("say /boxgo","RunGame",ADMIN_SLAY);
RegisterHam(Ham_Touch, "armoury_entity", "BlockWeapon")
RegisterHam(Ham_Touch, "weaponbox", "BlockWeapon")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
register_logevent("end_round", 2, "1=Round_End")
register_logevent("start_round", 2, "1=Round_Start")
register_event( "CurWeapon", "EventCurWeapon", "be", "1=1" );
RegisterHam(Ham_Use,"func_button","UseButton",0)
RegisterHam(Ham_TraceAttack, "func_button", "button_attack")
RegisterHam(Ham_Killed,"player","ham_player_kill")
}

public plugin_precache()
{
precache_generic(g_Game);
precache_generic(g_GameWinner);
BeaconSprite = precache_model("sprites/shockwave.spr")
}
public start_round()
{
if(task_exists(ID_TIMER))
{
remove_task(ID_TIMER);
}
}

public end_round()
{
if(onoff)
{
onoff = false;
set_pev(0, pev_flags, pev(0, pev_flags) & ~FL_FROZEN);
arrayset(playersboxing,0,2);
playerboxingname[0] = "";
playerboxingname[1] = "";
set_user_godmode(0,0)
ActionTime = "";
fm_set_rendering(0);
if(task_exists(ID_TIMER))
{
remove_task(ID_TIMER);
}
jb_set_box_off()
}
}

public player_spawn(id)
{
if(onoff)
user_kill(id);

if(task_exists(id))
{
remove_task(id);
}
}

public BlockWeapon(ent, id)
{
if(onoff && get_user_team(id) == 1)
return HAM_SUPERCEDE

return PLUGIN_CONTINUE
}

public RunGame(id)
{
if(jbe_is_user_simon(id))
{
onoff = true;
new szPlayers[32];
new szNum, szPlayer;
emit_sound(0, CHAN_AUTO, g_Game, 1.0, ATTN_NORM, 0, PITCH_NORM);

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]

if(!is_user_alive(szPlayer) || !is_user_connected(szPlayer))
continue

if(get_user_team(szPlayer) == 1)
{
strip_user_weapons(szPlayer);
set_pev(szPlayer, pev_flags, pev(szPlayer, pev_flags) | FL_FROZEN);
set_user_godmode(szPlayer, 1);
jb_set_box_on()
find_boxers();
}
}

set_task(2.0, "Timer", ID_TIMER, _, _, "b");
server_cmd("jbe_open");
}
return PLUGIN_HANDLED
}

public ham_player_kill(victim, killer, corpse){
if(onoff)
{
if(victim == playersboxing[1] || victim == playersboxing[0])
{
if(!is_user_connected(killer)){
return;
}

fm_set_rendering((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]));
strip_user_weapons((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]));
set_pev((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]), pev_flags, pev((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]), pev_flags) | FL_FROZEN);
set_user_godmode((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]),1);
get_user_name((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]), playerwinnername, charsmax(playerwinnername));
if(task_exists((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1])))
{
remove_task((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]));
}
formatex(ActionTime, charsmax(ActionTime), "Winner");
emit_sound(0, CHAN_AUTO, g_GameWinner, 1.0, ATTN_NORM, 0, PITCH_NORM);
find_boxers();
}
}
}

public client_disconnect(id)
{
if(onoff)
{
if(id == playersboxing[0] || id == playersboxing[1])
{
fm_set_rendering((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]));
strip_user_weapons((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]));
set_pev((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]), pev_flags, pev((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]), pev_flags) | FL_FROZEN);
set_user_godmode((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]),1);
if(task_exists((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1])))
{
remove_task((is_user_alive(playersboxing[0]) ? playersboxing[0] : playersboxing[1]));
}
formatex(ActionTime, charsmax(ActionTime), "Status");
emit_sound(0, CHAN_AUTO, g_GameWinner, 1.0, ATTN_NORM, 0, PITCH_NORM)
find_boxers();
}
}
}

public UseButton(ent, idcaller, idactivator, use_type, Float:value)
{

if(onoff && get_user_team(idactivator) == 1)
return HAM_SUPERCEDE

return PLUGIN_CONTINUE
}

public button_attack(button, id, Float:damage, Float:direction[3], tracehandle, damagebits)
{
if(onoff && get_user_team(id) == 1 && is_valid_ent(button))
return HAM_SUPERCEDE

return PLUGIN_CONTINUE
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
if(onoff)
{
if(get_user_team(victim) == 2 && get_user_team(attacker) == 1)
{
return HAM_SUPERCEDE
}
}
return PLUGIN_CONTINUE
}

public EventCurWeapon(id)
{
if(onoff && get_user_team(id) == 1)
{
if(get_user_weapon(id) != CSW_KNIFE)
{
strip_user_weapons(id);
give_item(id, "weapon_knife");
}
}
}

stock find_boxers()
{
get_players(Players, Count, "ahe","TERRORIST");
if(Count > 1)
{
playersboxing[0] = Players[random_num(0, Count - 1)];
playersboxing[1] = Players[random_num(0, Count - 1)];
while(playersboxing[0] == playersboxing[1]){
playersboxing[1] = Players[random_num(0, Count - 1)];
if(playersboxing[0] != playersboxing[1])
break;
}
get_user_name(playersboxing[0],playerboxingname[0],31);
get_user_name(playersboxing[1],playerboxingname[1],31);
set_user_godmode(playersboxing[0],0);
set_user_godmode(playersboxing[1],0);
set_pev(playersboxing[0], pev_flags, pev(playersboxing[0], pev_flags) & ~FL_FROZEN);
set_pev(playersboxing[1], pev_flags, pev(playersboxing[1], pev_flags) & ~FL_FROZEN);
give_item(playersboxing[0], "weapon_knife");
give_item(playersboxing[1], "weapon_knife");
set_user_health(playersboxing[0],100);
set_user_health(playersboxing[1],100);
set_task(1.0, "Beacon", playersboxing[0])
set_task(1.0, "Beacon", playersboxing[1])
fm_set_rendering(playersboxing[0],kRenderFxGlowShell,255,0,0,kRenderNormal,50);
fm_set_rendering(playersboxing[1],kRenderFxGlowShell,0,0,255,kRenderNormal,50);
fightnum++;
g_Time = 20;
formatex(ActionTime, charsmax(ActionTime), "StatusTimer");

} else if(Count == 1) {
get_user_name(Players[0], playerwinnername, charsmax(playerwinnername));
formatex(ActionTime, charsmax(ActionTime), "Winner");
set_pev(Players[0], pev_flags, pev(Players[0], pev_flags) & ~FL_FROZEN);
set_user_godmode(Players[0],0);
emit_sound(0, CHAN_AUTO, g_GameWinner, 1.0, ATTN_NORM, 0, PITCH_NORM)
end_round()
}
}

public Timer()
{
set_hudmessage(127, 170, 255, -1.0, 0.06, 0, 6.0, 2.1, 0.0, 0.0, -1);
if(equali(ActionTime,"Winner")) {
get_players(Players, Count, "ahe","TERRORIST");
get_user_name(Players[0], playerwinnername, charsmax(playerwinnername));
show_hudmessage(0, "Чемпион по боксу - %s!",playerwinnername);
if(task_exists(ID_TIMER))
{
remove_task(ID_TIMER);
}
} else if(equali(ActionTime,"Status")) {
show_hudmessage(0, "%d бой не состоялся!",fightnum);
} else if(equali(ActionTime,"StatusTimer")) {
g_Time -= 1
if(g_Time >= 1)
{
show_hudmessage(0, "Бой %d^n%s против %s^n|Таймер: %d|",fightnum,playerboxingname[0],playerboxingname[1],g_Time);
} else {
client_cmd(0, "mp3 stop");
if(get_user_health(playersboxing[0]) < get_user_health(playersboxing[1]))
{
user_kill(playersboxing[0]);
}
else if(get_user_health(playersboxing[0]) > get_user_health(playersboxing[1]))
{
user_kill(playersboxing[1]);
}
show_hudmessage(0, "%d бой не состоялся!",fightnum);
formatex(ActionTime, charsmax(ActionTime), "Status");
}
}
}

public Beacon(id)
{
if(id == playersboxing[1])
{
static origin[3]
get_user_origin(id, origin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMCYLINDER)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]-20)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+200)
write_short(BeaconSprite)
write_byte(0)
write_byte(1)
write_byte(6)
write_byte(2)
write_byte(205)
write_byte(205)
write_byte(255)
write_byte(0)
write_byte(149)
write_byte(0)
message_end()
}
else if(id == playersboxing[0])
{
static origin[3]
get_user_origin(id, origin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMCYLINDER)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]-20)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+200)
write_short(BeaconSprite)
write_byte(0)
write_byte(1)
write_byte(6)
write_byte(2)
write_byte(205)
write_byte(205)
write_byte(149)
write_byte(0)
write_byte(255)
write_byte(0)
message_end()
}
set_task(1.0, "Beacon", id)
return PLUGIN_CONTINUE
}


Отредактировал: shram47, - 5.12.2015, 4:01


Enough to hope for someone's help, I will do it myself and I will not ask anyone. I cope with children and can cope with amxx :thank_you:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: