serfreeman1337, Не подскажешь иногда лезут ошибки
Код
L 04/17/2016 - 14:46:47: Start of error session.
L 04/17/2016 - 14:46:47: Info (map "de_inferno") (file "addons/amxmodx/logs/error_20160417.log")
L 04/17/2016 - 14:46:47: [CSTRIKE] Player out of range (0)
L 04/17/2016 - 14:46:47: [AMXX] Displaying debug trace (plugin "sf_bets.amxx")
L 04/17/2016 - 14:46:47: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 04/17/2016 - 14:46:47: [AMXX] [0] sf_bets.sma::Bet_MenuHandler ([b]line 87[/b])
Код:
public Bet_MenuHandler(id,menu,r_item)
{
if(r_item == MENU_EXIT)
{
return PLUGIN_HANDLED
}
new ri[2],di[2]
menu_item_getinfo(menu,r_item,di[0],ri,charsmax(ri),di,charsmax(di),di[0])
new item = str_to_num(ri)
switch(item)
{
// делаем ставки
case 0,1:
{
// ставим деньги
if(players_data[id][BET_MONEY])
{
new user_money = cs_get_user_money(id)
// игроку не хватает денег
if(user_money < players_data[id][BET_MONEY])
{
Bet_MenuFormat(id)
menu_display(id,menu)
return PLUGIN_HANDLED
}
}
#if defined AES
new rt[AES_ST_END]
aes_get_player_stats(id,rt)
// ставим опыт
if(players_data[id][BET_EXP])
{
if(rt[AES_ST_EXP] < players_data[id][BET_EXP])
{
Bet_MenuFormat(id)
menu_display(id,menu)
return PLUGIN_HANDLED
}
}
if(players_data[id][BET_BONUS])
{
if(rt[AES_ST_BONUSES] < players_data[id][BET_BONUS])
{
Bet_MenuFormat(id)
menu_display(id,menu)
return PLUGIN_HANDLED
}
}
#endif
// запоминаем на кого поставили
players_data[id][BET_FOR] = item == 0 ? t_id : ct_id
// сообщение в чат
new plr_name[MAX_NAME_LENGTH],bet_name[MAX_NAME_LENGTH]
get_user_name(id,plr_name,charsmax(plr_name))
get_user_name(players_data[id][BET_FOR],bet_name,charsmax(bet_name))
// сообщение всем мертвым игрокам
new players[MAX_PLAYERS],pnum
get_players(players,pnum,"bch")
for(new i,player ; i < pnum ; i++)
{
player = players[i]
if(player == id)
{
client_print_color(player,(cs_get_user_team(players_data[id][BET_FOR]) == CS_TEAM_CT ? print_team_blue : print_team_red),"%L %L",player,"SF_BET9",player,"SF_BET27",bet_name)
}
else
{
client_print_color(player,(cs_get_user_team(players_data[id][BET_FOR]) == CS_TEAM_CT ? print_team_blue : print_team_red),"%L %L",player,"SF_BET9",player,"SF_BET28",plr_name,bet_name) // красим ник в цвет команды
}
}
}
// переключатели стаовк
case 2,3,4,5:
{
new cp = lyl_array[item - 2][0]
new sp = lyl_array[item - 2][1]
new bet_str[128],bet_val[10],bool:set
get_pcvar_string(cvar[cp],bet_str,charsmax(bet_str))
while(argbreak(bet_str,
bet_val,charsmax(bet_val),
bet_str,charsmax(bet_str)) != -1
)
{
if(!bet_val[0])
break
bet_val[0] = str_to_num(bet_val)
// переключаем на большее значение
if(bet_val[0] > players_data[id][sp])
{
set = true
players_data[id][sp] = bet_val[0]
break
}
}
// сбрасываем переключатель
if(bet_val[0] <= players_data[id][sp] && !set)
{
players_data[id][sp] = 0
}
switch(item)
{
case 2:
{
if(cs_get_user_money(id) < players_data[id][sp])
{
players_data[id][sp] = 0
}
}
#if defined AES
case 3,4:
{
new rt[AES_ST_END]
aes_get_player_stats(id,rt)
if(
(item == 3 && rt[AES_ST_EXP] < players_data[id][sp])
||
(item == 4 && rt[AES_ST_BONUSES] < players_data[id][sp])
)
{
players_data[id][sp] = 0
}
}
#endif
}
Bet_MenuFormat(id)
menu_display(id,menu)
}
}
return PLUGIN_HANDLED
}
Отредактировал: navigator19, - 18.4.2016, 12:04