Грешката се показва когато сървърът е празен, защото плъгинът се опитва да изпрати чат съобщение до никого. Това обаче няма как да е причина за краш.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fakemeta>
#include < colorchat >
#define OFFSET_TEAM 114
#define OFFSET_MONEY 115
#define MAX_MONEY 16000
#define cs_get_user_money(%1) get_pdata_int(%1, OFFSET_MONEY)
new g_iMaxPlayers
new g_iStreak[2]
new g_pcvarStreak, g_pcvarMoney
public plugin_init()
{
register_plugin("Team Advantage", "0.1", "ConnorMcLeod")
g_pcvarStreak = register_cvar("team_advantage_streak", "3")
g_pcvarMoney = register_cvar("team_advantage_money", "1000")
register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
register_logevent("Team_Win", 6, "0=Team")
}
public plugin_cfg()
{
g_iMaxPlayers = get_maxplayers()
}
public eRestart()
{
arrayset(g_iStreak, 0, sizeof(g_iStreak))
}
public Team_Win()
{
static szTeam[3]
read_logargv(1, szTeam, 2)
switch(szTeam[0])
{
case 'T':
{
g_iStreak[1]++
g_iStreak[0] = 0
process_money(2)
}
case 'C':
{
g_iStreak[1] = 0
g_iStreak[0]++
process_money(1)
}
}
}
process_money(iTeam)
{
static id, iMoneyBonus, iNewMoney
if(!( iMoneyBonus = get_pcvar_num(g_pcvarMoney) * (g_iStreak[iTeam-1] / get_pcvar_num(g_pcvarStreak)) )) return
for(id = 1; id <= g_iMaxPlayers; id++)
{
if( !is_user_connected( id ) ) continue;
if( !( get_user_flags( id ) & ADMIN_LEVEL_E ) ) continue;
if( pev_valid( id ) != 2 ) continue;
if( get_pdata_int( id, OFFSET_TEAM ) != iTeam ) continue;
if( cs_get_user_money( id ) >= MAX_MONEY ) continue;
iNewMoney = min( cs_get_user_money( id ) + iMoneyBonus, MAX_MONEY );
cs_set_user_money( id, iNewMoney );
ColorChat( id, RED, "^1[^4Control-Game^1] ^1VIP players ^1of loser team ^3%s ^1will receive^4 $%d^1 because their team lost^4 %d^1 rounds.", iTeam == 1 ? "[T]" : "[CT]", iMoneyBonus, g_iStreak[ iTeam - 1 ] );
}
}
stock cs_set_user_money(index, iMoney, iFlash = 1)
{
if(!is_user_connected(index)) return 0;
set_pdata_int(index, OFFSET_MONEY, iMoney);
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("Money"), _, index);
write_long(iMoney);
write_byte(iFlash ? 1 : 0);
message_end();
return 1;
}