Dzięki to pomogło.
Pozostała ostatnia kwestia, chciałem dodać jeszcze info o graczu rozwalającym kładkę. Jednak nie ma takiego info. Domyślam się, że błędnie operuję tablicą dwuwymiarową, przypisywaniem do niej i wyświetlaniem.
Deklarowanie i inicjalizowanie:
new niszczyciele[15][32] = {"","","","","","","","","","","","","","",""}
new nr = 0
Rejestrowanie komendy wyświetlającej listę graczy (ludzi), którzy w aktualnej rundzie zniszczyli kładkę.
register_clcmd("amx_niszczyciele", "cmd_niszczyciele", ADMIN_KICK)
Funkcja wyświetlająca ową listę graczy:
public cmd_niszczyciele(id)
{
client_print(id, print_console, "=== W tej rundzie paczki zniszczyli===")
for (new i=0; i< 15; i++)
{
if (!equali(niszczyciele[i], ""))
{
client_print(id, print_console, "%s", niszczyciele[i])
}
}
}
Resetowanie listy co rundę:
public event_newround()
{
nr = 0
for (new i=0; i<15; i++)
niszczyciele[i] = ""
}
Funkcja reagująca na obrażenia zadawane workowi:
public Fw_PlayerTakeDamage(victim, idinflictor, idattacker, Float:damage, damagebits)
{
new szTouched[16]
pev(victim , pev_classname , szTouched , 15);
if(equali(szTouched,"func_bags") && is_user_connected(idattacker))
{
new szHealth = pev(victim, pev_health);
if (get_user_team(idattacker) == 2)
{
if (damage < szHealth)
emit_sound(victim, CHAN_AUTO, g_soundhit[random(sizeof g_soundhit)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
if (damage > szHealth)
{
get_user_name(idattacker, niszczyciele[nr], 31)
emit_sound(victim, CHAN_AUTO, g_sounddestroy, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
ColorChat(0, GREEN, "%s zniszczyl kladke!", niszczyciele[nr])
nr++
}
}
}
return HAM_IGNORED
}