Funkcja dla flagi i gracza z danym ID
AztekHQS 31.12.2012
Witam,
Mam pewien problem, nie wiem czemu jak zrobię tak:
To ta funkcja nie chce działać dla gracza z daną flagą oraz dla gracza z danym ID.
Mam pewien problem, nie wiem czemu jak zrobię tak:
if(((!(get_user_flags(id) & 8)) || Prowadzacy != id)) return 1;
//jakis kod
To ta funkcja nie chce działać dla gracza z daną flagą oraz dla gracza z danym ID.
speedkill
01.01.2013
Sprawdź:
if((get_user_flags(id) & 8 == 8) && Prowadzacy == id){ //Kod } return 1;
d0naciak
01.01.2013
Sprawdź:
if((get_user_flags(id) & 8 == 8) && Prowadzacy == id){ //Kod } return 1;
Zamiast || daj && w if() ;]
@up poprawił się ;]
Edited by d0n tHe Pr0oo, 01.01.2013 02:52.
AztekHQS 01.01.2013
Czemu ADMIN_BAN == ADMIN_BAN ?
ID gracza (Prowadzący) to CT a z flagą ADMIN_BAN to TT, czyli nie będzie działać.
ID gracza (Prowadzący) to CT a z flagą ADMIN_BAN to TT, czyli nie będzie działać.
Gość_21977_* 07.01.2013
Iloczyn bitowy jest wykonywany w pierwszej kolejności.
Dopiero potem dokonywane jest porównanie wartości.
Porównywanie iloczynu uprawnień gracza i sumy flag z potęgą dwójki faktycznie jest zbędne.
Warunek Prowadzacy == id warto podać na lewą stronę koniunkcji.
Dopiero potem dokonywane jest porównanie wartości.
Porównywanie iloczynu uprawnień gracza i sumy flag z potęgą dwójki faktycznie jest zbędne.
Warunek Prowadzacy == id warto podać na lewą stronę koniunkcji.
if(Prowadzacy == id && get_user_flags(id) & 8){
//Kod
}
return 1;
GwynBleidD
10.01.2013
Zacznijmy od tego jaką flagą jest 8 Jest to 4ty bit zaświecony, czyli flaga d.
Wszystkie z kodów zadziałają poprawnie, łącznie z Twoim (tylko dałeś w nim o jedną parę nawiasów za dużo, ale to nie ma znaczenia). W Twoim kodzie dobrze sobie jest rozbić to na 2 warunki:
Wtedy możesz lepiej kontrolować na którym warunku Ci się wysypuje. Myślę, że problem leżał w tym, iż nie do końca wiesz jaka flaga kryje się pod tą ósemką
Wszystkie z kodów zadziałają poprawnie, łącznie z Twoim (tylko dałeś w nim o jedną parę nawiasów za dużo, ale to nie ma znaczenia). W Twoim kodzie dobrze sobie jest rozbić to na 2 warunki:
if (!(get_user_flags(id) & ADMIN_BAN))
return 1;
if (Prowadzacy != id)
return 1;
Wtedy możesz lepiej kontrolować na którym warunku Ci się wysypuje. Myślę, że problem leżał w tym, iż nie do końca wiesz jaka flaga kryje się pod tą ósemką