decl String:sFlag[[B]20[/B]];
Маловато, сейчас флагов 21, итого размер массива - 22.
HookEvent("player_hurt", Event_PlayerHurt, [B]EventHookMode_Pre[/B]);
Это даже ошибка, ведь с таким методом хука будут учитываться повреждения, которые "заблокировали" (вернули HP) и, когда вызов придёт:
if(GetEventInt(event, "health") < 1)
то ты очистишь
ClearArray(g_hArray[client][0]);
ClearArray(g_hArray[client][1]);
когда не требуется. Сохранённого оружия уже не будет.
for(new i = [B]0[/B]; i <= MaxClients; i++)
{
if(g_hArray[i][0] != INVALID_HANDLE
Зачем что-то делать с нулевым индексом?
g_hArray[i][0] = CreateArray([B]10[/B]);
Увидел для нуля лишь необходимый размер массива до 8.