Nie, absolutnie nie powinno działać tak jak myślisz. Działa tak jak jest zaprogramowane.
if(get_user_flags(id) & FLAGA_USERA && get_user_team(id) == 1 && get_user_team(id) == 2)
Taki oto if oznacza:
Jeżeli gracz ma falage_usera i jest jego drużyna to 1 i jego drużyna to 2
Nie możliwym jest spełnienie warunku bycia w drużynie 1 i bycia w drużynie 2 w tym samym czasie.
To czego szukasz to nie AND tylko OR
Potrzebujesz napisać if który sprawdzi czy gracz posiada flagę i ( drużyna = 1 lub drużyna = 2 )
Ważne jest to aby zrozumieć różnice pomiędzy
"AND" czyli ,,i", "oraz" - &&
a
"OR" czyli "lub" - ||
Taki warunek będzie wyglądać następująco
if( get_user_flags(id) & FLAGA_USERA && ( get_user_team(id) == 1 || get_user_team(id) == 2 ) )
lub:
if( get_user_flags(id) & FLAGA_USERA ){
if( get_user_team(id) == 1 || get_user_team(id) == 2 ){
//Tu instrukcje
}
}
Warunek w warunku to jak AND
Polecam używać zamiast
get_user_flags(id)
to:
has_flag(id, "abce")
has_flag(id, "a")
Użytkownik Zuzza edytował ten post 25.02.2021 00:48