public player_weapons(id)
if (is_user_alive(id))
{
set_pdata_int(id, 386, 120, 5);
fm_give_item(id, "weapon_knife");
if (get_user_team(id) == 1 && get_pcvar_num(pbglock))
fm_give_item(id, "weapon_glock18");
else if (get_pcvar_num(pbusp))
{
set_pdata_int(id, 382, 48, 5);
fm_give_item(id, "weapon_usp");
}
if (get_pcvar_num(pbgun))
fm_give_item(id, "weapon_mp5navy");
if (get_pcvar_num(pbnade))
{//w tym miejscu g_has_kill = 1, gracz jest w CT, oto co się dzieje:
if ((get_user_team(id) == 1) && get_pcvar_num(gnade) == 1 || g_has_kill[id] == 1)//jest w CT, cvar jest 1, g_has_kill =1, wchodzi do środka, bo wystarczy, ze g_has_kill jest 1 (uzyles || ) daje he oraz fb
{
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
}
}
if (get_pcvar_num(pbdef))
{
if ((get_user_team(id) == 2) && get_pcvar_num(pbdef1) == 1 || g_has_kill[id] == 1)//tutaj nadal g_has_kill = 1 więc znowu cała reszta warunku jest nieistotna
{
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "item_thighpack");
g_has_kill[id] = 0;
}
}
remove_task(id);
}
Chociaż nie wnikałem do czego ta zmienna g_has_kill to na moje ta część powinna wyglądać tak:
if (get_pcvar_num(pbnade))
{
if ((get_user_team(id) == 1) && get_pcvar_num(gnade) == 1 && g_has_kill[id] == 1)
{
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
//tu zapomniałeś g_has_kill ustawić na 0 tak jak niżej
g_has_kill[id] = 0;
}
}
if (get_pcvar_num(pbdef))
{
if ((get_user_team(id) == 2) && get_pcvar_num(pbdef1) == 1 && g_has_kill[id] == 1)
{
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "item_thighpack");
g_has_kill[id] = 0;
}
}