Lecimy gumową kaczuszką!
Twój warunek wygląda tak -
Jeśli użytkownik NIE JEST
- hltv
ORAZ
- Użytkownikiem steam
ORAZ
- Botem
ORAZ
- Nie ma flagi ADMIN_LEVEL_G
Użytkownik musi spełnić te wszystkie warunki i na nim negujesz.
Szybki test ze sprawdzania (js ale logiczne operatory są te same)
let isHltv = false;
let isSteam = false;
let isBot = false;
let hasFlag = false;
if(!isHltv && !isSteam && !isBot && !hasFlag) {
console.log('dupa');
}
// 'dupa'
Wszystkie flagi są ustawione na false (czyli użytkownik nie jest botem, nie jest steamem, nie jest hltv i nie ma flagi). Teraz jest, jak użytkownik spełnia wszystkie te warunki
let isHltv = true;
let isSteam = true;
let isBot = true;
let hasFlag = true;
if(!(isHltv && isSteam && isBot && hasFlag)) {
console.log('dupa');
}
// undefined - nic nie wypisało
zakładając, że zamieniamy console.log z dupą na uruchomienie taska, task się nie uruchomi. Ale jeśli przynajmniej jeden z tych warunków będzie true, task się uruchomi
let isHltv = true;
let isSteam = false;
let isBot = false;
let hasFlag = false;
if(!(isHltv && isSteam && isBot && hasFlag)) {
console.log('dupa');
}
// 'dupa'
W tej sytuacji, proponuję każdą flagę sprawdzać oddzielnie, nie grupować w nawiasach.
Przykładowo - Twój task ma się uruchomić dla użytkowników którzy
- Nie są botami
- nie są steam
- Nie są botem
- Nie mają fagi
Korzystając z tego samego kodu, tylko dodając sprawdzenie na każdym warunku
let isHltv = true;
let isSteam = false;
let isBot = false;
let hasFlag = false;
if(!isHltv && !isSteam && !isBot && !hasFlag) {
console.log('dupa');
}
// undefined - nie wyświetla się
let isHltv = false;
let isSteam = false;
let isBot = false;
let hasFlag = true;
if(!isHltv && !isSteam && !isBot && !hasFlag) {
console.log('dupa');
}
// undefined - nie wyświetla się
Więc, jeśli chcesz, aby task nie wykonywał się, dla osób, które są botem albo hltv albo steamem albo nie maja flagi (słowo klucz, w Twoim przypadku było i na głos Sobie przeczytaj to zdanie raz ze słowem albo a raz ze słowem "i") nie mają tej flagi warunek powinien wyglądać tak :
if(!is_user_hltv(id) && !is_steam(id) && !is_user_bot(id) && !(get_user_flags(id) & ADMIN_LEVEL_G))
PS - kod który podałem śmiało możesz wrzucić np w konsole js w przeglądarce i pobawić się tym sam.