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

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

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

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

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

reflax
сообщение 18.1.2013, 21:39
Сообщение #1
Стаж: 13 лет

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

Помогите плиз, незнаю как уже бороться с этим багом, сервер падает и за него переодически =(
Исходник
#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <dhudmessage>


#pragma tabsize 0

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

new gmsg_SetFOV

public plugin_init()
{
register_plugin("[JB]AdminGame", "0.3", "Sn1k3rS")


register_concmd("jbgame", "jbgame")


register_menu("Menu 1", KEYSMENU, "games")


RegisterHam(Ham_Spawn, "player", "event_PlayerSpawn_post",1)
RegisterHam(Ham_Killed, "player", "Ham_Player_Killed", 1)
gmsg_SetFOV = get_user_msgid("SetFOV");

}

public plugin_precache()
{

precache_sound("jb_game/noch1.wav")
precache_sound("jb_game/sparta.wav")
precache_sound("jb_game/prizz.wav")
precache_sound("jb_game/narik.wav")
precache_sound("jb_game/sn1p3r.wav")
}

public jbgame(id)
{
if(get_user_flags(id) & ADMIN_RESERVATION)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yАдмин Игры\r!^n^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1\w. \rДень \wНочь^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2\w. \rДень \wПризраков^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3\w. \rДень \wСнайпера^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4\w. \rДень \wНаркомана^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5\w. \rДень \wСпарта^n^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0\w. \dВыход");

show_menu(id, KEYSMENU, menu, -1, "Menu 1")
}
else
{
client_print(id, print_chat, "У вас нет доступа!")
}

return PLUGIN_HANDLED
}

public games(id, key)
{
switch(key)
{
case 0:
{
noch(id)
}

case 1:
{
prizzrak(id)
}

case 2:
{
sniper(id)
}

case 3:
{
shturm(id)
}
case 4:
{
sparta(id)
}
case 5:
{

}
}
return PLUGIN_HANDLED
}


public noch(id)
{

client_cmd(0,"spk jb_game/noch1")
server_cmd("block_weapons")
set_lights("a")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( 0, "Сегодня день [Ночь!]" )
new Players[32]
new playerCount, i

get_players(Players, playerCount, "ac")
for (i=0; i<playerCount; i++)
{
if(cs_get_user_team(Players[i]) == CS_TEAM_CT || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 353)
give_item(Players[i], "weapon_m4a1")
give_item(Players[i], "weapon_ak47")
cs_set_user_bpammo( Players[i], CSW_M4A1, 90 );
cs_set_user_bpammo( Players[i], CSW_AK47, 90 );
new Red = random_num(0,255)
new Green = random_num(0,255)
new Blue = random_num(0,255)
set_user_rendering( Players[i],kRenderFxGlowShell,Red,Green,Blue,kRenderNormal,355)
}
else if(cs_get_user_team(Players[i]) == CS_TEAM_T || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 353)
give_item(Players[i], "weapon_m4a1")
give_item(Players[i], "weapon_ak47")
cs_set_user_bpammo( Players[i], CSW_M4A1, 90 );
cs_set_user_bpammo( Players[i], CSW_AK47, 90 );
new Red = random_num(0,255)
new Green = random_num(0,255)
new Blue = random_num(0,255)
set_user_rendering( Players[i],kRenderFxGlowShell,Red,Green,Blue,kRenderNormal,355)
}
}
}

public prizzrak(id)
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue

client_cmd(0,"spk jb_game/prizz")
strip_user_weapons(i)
set_user_health( i, 1)
set_user_maxspeed(i, 500.0)
give_item(i, "weapon_knife")
server_cmd("block_weapons")
set_user_rendering(i,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,15)
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( i, "Сегодня день [Призраков!]" )
}
}

public sniper(id)
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue

client_cmd(0,"spk jb_game/sn1p3r")
strip_user_weapons(i)
set_user_health( i, 55)
give_item(i, "weapon_knife")
give_item(i, "weapon_awp")
cs_set_user_bpammo(i, CSW_AWP, 200)
server_cmd("block_weapons")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( i, "Сегодня день [Снайпера!]" )
}
}

public shturm(id)
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue

client_cmd(0,"spk jb_game/narik")
strip_user_weapons(i)
message_begin(MSG_ONE,gmsg_SetFOV,{0,0,0},i)
write_byte(550)
message_end()
give_item(i,"weapon_he")
give_item(i,"weapon_m3")
cs_set_user_bpammo(i,CSW_M3,89281)
server_cmd("block_weapons")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( i, "Сегодня день [Наркомана!]" )
}
}

public sparta(id)
{

client_cmd(0,"spk jb_game/sparta")
server_cmd("block_weapons")
set_lights("z")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( 0, "Сегодня день [Спарты!]" )
new Players[32]
new playerCount, i

get_players(Players, playerCount, "ac")
for (i=0; i<playerCount; i++)
{
if(cs_get_user_team(Players[i]) == CS_TEAM_CT || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 350)
give_item(Players[i], "weapon_m4a1")
give_item(Players[i], "weapon_ak47")
cs_set_user_bpammo( Players[i], CSW_M4A1, 90 );
cs_set_user_bpammo( Players[i], CSW_AK47, 90 );
}
else if(cs_get_user_team(Players[i]) == CS_TEAM_T || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 150)
give_item(Players[i], "weapon_shield")
give_item(Players[i], "weapon_deagle")
cs_set_user_bpammo( Players[i], CSW_DEAGLE, 35 );
}
}
}

public event_PlayerSpawn_post(id)
{
set_lights("#OFF")
server_cmd("unblock_chat")
server_cmd("unblock_weapons")
client_cmd(0, "unblock_move")
client_cmd(0, "amx_delfade")
strip_user_weapons(id)
give_item(id, "weapon_knife")
}

public startround(id)
{
set_lights("#OFF")
server_cmd("unblock_chat")
server_cmd("unblock_weapons")
client_cmd(0, "unblock_move")
client_cmd(0, "amx_delfade")
strip_user_weapons(id)
give_item(id, "weapon_knife")
}


Вот ошибки выдаёт в error_log: =(
L 01/18/2013 - 21:57:43: [AMXX] Displaying debug trace (plugin "JB_Admin_Games.amxx")
L 01/18/2013 - 21:57:43: [AMXX] Run time error 10: native error (native "RegisterHam")
L 01/18/2013 - 21:57:43: [AMXX] [0] phpabikTh.sma::plugin_init (line 28)
L 01/18/2013 - 21:59:09: [FUN] Invalid player 7
L 01/18/2013 - 21:59:09: [AMXX] Displaying debug trace (plugin "JB_Admin_Games.amxx")
L 01/18/2013 - 21:59:09: [AMXX] Run time error 10: native error (native "strip_user_weapons")
L 01/18/2013 - 21:59:09: [AMXX] [0] phpabikTh.sma::event_PlayerSpawn_post (line 242)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя STR@TEG
сообщение 18.1.2013, 21:57
Сообщение #2
Стаж: 16 лет

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

Нужно добавить проверку:
Код
если (игрок_подключен(идентификатор))
{
    // Дальнейший код
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
reflax
сообщение 18.1.2013, 22:09
Сообщение #3
Стаж: 13 лет

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

Цитата(STR@TEG @ 18.1.2013, 22:57) *
Нужно добавить проверку:
Код
если (игрок_подключен(идентификатор))
{
    // Дальнейший код
}

Куда что добавить? Нефига не понял
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nickk
сообщение 19.1.2013, 11:33
Сообщение #4
Стаж: 13 лет

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

Скрытый текст
Код
#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <dhudmessage>


#pragma tabsize 0

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

new gmsg_SetFOV

public plugin_init()
{
register_plugin("[JB]AdminGame", "0.3", "Sn1k3rS")


register_concmd("jbgame", "jbgame")


register_menu("Menu 1", KEYSMENU, "games")


RegisterHam(Ham_Spawn, "player", "event_PlayerSpawn_post",1)
RegisterHam(Ham_Killed, "player", "Ham_Player_Killed", 1)
gmsg_SetFOV = get_user_msgid("SetFOV");

}

public plugin_precache()
{

precache_sound("jb_game/noch1.wav")
precache_sound("jb_game/sparta.wav")
precache_sound("jb_game/prizz.wav")
precache_sound("jb_game/narik.wav")
precache_sound("jb_game/sn1p3r.wav")
}

public jbgame(id)
{
if(get_user_flags(id) & ADMIN_RESERVATION)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yАдмин Игры\r!^n^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1\w. \rДень \wНочь^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2\w. \rДень \wПризраков^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3\w. \rДень \wСнайпера^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4\w. \rДень \wНаркомана^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5\w. \rДень \wСпарта^n^n");
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0\w. \dВыход");

show_menu(id, KEYSMENU, menu, -1, "Menu 1")
}
else
{
client_print(id, print_chat, "У вас нет доступа!")
}

return PLUGIN_HANDLED
}

public games(id, key)
{
switch(key)
{
case 0:
{
noch(id)
}

case 1:
{
prizzrak(id)
}

case 2:
{
sniper(id)
}

case 3:
{
shturm(id)
}
case 4:
{
sparta(id)
}
case 5:
{

}
}
return PLUGIN_HANDLED
}


public noch(id)
{

client_cmd(0,"spk jb_game/noch1")
server_cmd("block_weapons")
set_lights("a")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( 0, "Сегодня день [Ночь!]" )
new Players[32]
new playerCount, i

get_players(Players, playerCount, "ac")
for (i=0; i<playerCount; i++)
{
if(cs_get_user_team(Players[i]) == CS_TEAM_CT || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 353)
give_item(Players[i], "weapon_m4a1")
give_item(Players[i], "weapon_ak47")
cs_set_user_bpammo( Players[i], CSW_M4A1, 90 );
cs_set_user_bpammo( Players[i], CSW_AK47, 90 );
new Red = random_num(0,255)
new Green = random_num(0,255)
new Blue = random_num(0,255)
set_user_rendering( Players[i],kRenderFxGlowShell,Red,Green,Blue,kRenderNormal,355)
}
else if(cs_get_user_team(Players[i]) == CS_TEAM_T || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 353)
give_item(Players[i], "weapon_m4a1")
give_item(Players[i], "weapon_ak47")
cs_set_user_bpammo( Players[i], CSW_M4A1, 90 );
cs_set_user_bpammo( Players[i], CSW_AK47, 90 );
new Red = random_num(0,255)
new Green = random_num(0,255)
new Blue = random_num(0,255)
set_user_rendering( Players[i],kRenderFxGlowShell,Red,Green,Blue,kRenderNormal,355)
}
}
}

public prizzrak(id)
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue

client_cmd(0,"spk jb_game/prizz")
strip_user_weapons(i)
set_user_health( i, 1)
set_user_maxspeed(i, 500.0)
give_item(i, "weapon_knife")
server_cmd("block_weapons")
set_user_rendering(i,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,15)
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( i, "Сегодня день [Призраков!]" )
}
}

public sniper(id)
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue

client_cmd(0,"spk jb_game/sn1p3r")
strip_user_weapons(i)
set_user_health( i, 55)
give_item(i, "weapon_knife")
give_item(i, "weapon_awp")
cs_set_user_bpammo(i, CSW_AWP, 200)
server_cmd("block_weapons")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( i, "Сегодня день [Снайпера!]" )
}
}

public shturm(id)
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue

client_cmd(0,"spk jb_game/narik")
strip_user_weapons(i)
message_begin(MSG_ONE,gmsg_SetFOV,{0,0,0},i)
write_byte(550)
message_end()
give_item(i,"weapon_he")
give_item(i,"weapon_m3")
cs_set_user_bpammo(i,CSW_M3,89281)
server_cmd("block_weapons")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( i, "Сегодня день [Наркомана!]" )
}
}

public sparta(id)
{

client_cmd(0,"spk jb_game/sparta")
server_cmd("block_weapons")
set_lights("z")
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 0, 6.0, 8.0, 1.0, 1.5)
show_dhudmessage( 0, "Сегодня день [Спарты!]" )
new Players[32]
new playerCount, i

get_players(Players, playerCount, "ac")
for (i=0; i<playerCount; i++)
{
if(cs_get_user_team(Players[i]) == CS_TEAM_CT || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 350)
give_item(Players[i], "weapon_m4a1")
give_item(Players[i], "weapon_ak47")
cs_set_user_bpammo( Players[i], CSW_M4A1, 90 );
cs_set_user_bpammo( Players[i], CSW_AK47, 90 );
}
else if(cs_get_user_team(Players[i]) == CS_TEAM_T || !is_user_alive(Players[i]))
{
set_user_health(Players[i], 150)
give_item(Players[i], "weapon_shield")
give_item(Players[i], "weapon_deagle")
cs_set_user_bpammo( Players[i], CSW_DEAGLE, 35 );
}
}
}

public event_PlayerSpawn_post(id)
{
set_lights("#OFF")
server_cmd("unblock_chat")
server_cmd("unblock_weapons")
client_cmd(0, "unblock_move")
client_cmd(0, "amx_delfade")
if(is_user_connected(id))
{
    strip_user_weapons(id)
}
give_item(id, "weapon_knife")
}

public startround(id)
{
set_lights("#OFF")
server_cmd("unblock_chat")
server_cmd("unblock_weapons")
client_cmd(0, "unblock_move")
client_cmd(0, "amx_delfade")
strip_user_weapons(id)
give_item(id, "weapon_knife")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: