Sprawdź, czy zmienna logiczna "zyczenie" nie zmienia się w na true/false gdzieś indziej w kodzie. CTRL + F > "zyczenie". Dobrze by też było widzieć cały kod.
Nigdzie więcej nie jest to wykorzystywane.
Public odpowiedzialny za zliczanie życzeń oraz buntów.
public OnLastPrisonerShowWish(id) //Zliczanie zyczen > Wywołuje się podczas wybrania zyczenie przez ostatniego więźnia.
{
zyczenie = true;
if(ilosc_terro() > 2) {
new id_straznik = jail_get_prowadzacy();
user_zyczenia[id]++; user_zyczenia[id_straznik]++;
SQL_FormatQuery("UPDATE `JailUsers` SET `Zyczenia` = (`Zyczenia` + 1) WHERE `Name` = '%s';", nazwa_gracza[id]);
SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
ColorChat(id, id, "^4[Jail]^3 Zyczenie dodane do statystyk.");
SQL_FormatQuery("UPDATE `JailUsers` SET `Zyczenia` = (`Zyczenia` + 1) WHERE `Name` = '%s';", nazwa_gracza[id_straznik]);
SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
ColorChat(id_straznik, id_straznik, "^4[Jail]^3 Zyczenie dodane do statystyk.");
}
}
public OnRemoveData() // Wywołuje się podczas zakonczenia kazdego dnia (rundy), przeznaczony do resetowania zmiennych.
{
zyczenie = false;
}
public bunt(id, attacker, shouldgib) // Zliczanie buntow
{
if(!is_user_connected(id) || !is_user_connected(attacker) || attacker == id)
return HAM_IGNORED;
if(cs_get_user_team(id) == CS_TEAM_CT && cs_get_user_team(attacker) == CS_TEAM_T && !zyczenie && ilosc_terro() > 2)
{
user_bunty[attacker]++;
ColorChat( attacker, attacker, "^4[Jail]^3 Bunt dodany do statystyk.");
SQL_FormatQuery("UPDATE `JailUsers` SET `Bunty` = (`Bunty` + 1) WHERE `Name` = '%s';", nazwa_gracza[attacker]);
SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
}
return HAM_IGNORED;
}
Opis forward'ow jest obok (cypisa). U jednych graczy to działa i dodaje, a u innych nie.
Co do postu wyżej jeszcze: gdy ktoś zabije strażnika to bool nie ulega zmianie. Ulega on tylko zmianie, gdy więzień wybierze życzenie, ponieważ wywoła się forward OnLastPrisonerShowWish oraz na koniec rundy czyli bez względu czy był bunt, czy zostało wybrane życzenie - OnRemoveData. Tylko w tych miejscach co przedstawiłem jest użyty ten bool, nigdzie więcej. Ostatni więzień dostaje możliwość wybrania życzenia, gdy prowadzący wydzieli na to zgodę, więc bool do czasu wyboru życzenia jest na false przez forward wywołany pod koniec wcześniejszej rundy. Uwzględnienie konkretnego gracza raczej nie pomoże.
Jak ten wycinek nie wystarcza co umieściłem to wybaczcie i dajcie znać - jw pisałem zielony w to jeszcze jestem.
Użytkownik vercode edytował ten post 19.08.2019 19:39