• Регистрация на форуме отключена.
    Она будет открываться первого числа каждого месяца на 24 часа.

    Если вы хотите поделиться чем-то интересным и полезным, то обратитесь к администраторам в >> телеграм <<

Поиск команда не доступна пока админ на сервере

Сообщения
15
Реакции
-2
всем привет
хотелось бы на определенную команду к примеру amx_rtv сделать ограничение , то есть когда гл админ на сервере то amx_rtv будет не доступна и оповещение в чат что команда не доступна так как гл админ на сервере
поделитесь кто нибудь кодом пожалуйста =)
 
Сообщения
152
Реакции
125
Помог
6 раз(а)
C++:
#include <amxmisc>

stock bool:AdminInTheGame(){

    new iPlayers[MAX_PLAYERS], iPlayerCount;
    get_players_ex(iPlayers, iPlayerCount, GetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);

    for(new i; i < iPlayerCount; i++){

        if(get_user_flags(iPlayers[i]) & ADMIN_BAN){
 
            return true;
        }
    }
    return false;
}

if(AdminInTheGame()){

    client_print_color(id, print_team_default, "^4* ^1На сервере присутствует ^4Администратор^1!");
    return;
}
 
Последнее редактирование:
Сообщения
622
Реакции
572
Помог
6 раз(а)
Jumper, мб лучше после первого "Трушного" условия прерывать выполнение цикла?
 

Ayk

Сообщения
306
Реакции
184
Предупреждения
1
Помог
7 раз(а)
Код:
            return true;
            break; // unreachable code
 
Сообщения
644
Реакции
129
Предупреждения
25
Помог
16 раз(а)
Eclipse, Тебе же на соседнем форуме ответили. Зачем здесь спрашиваешь?
 
Сообщения
37
Реакции
69
Помог
3 раз(а)
C++:
stock bool:AdminInTheGame(){

    new iPlayers[MAX_PLAYERS], iPlayerCount;
    get_players_ex(iPlayers, iPlayerCount, GetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);

    for(new i; i < iPlayerCount; i++){

        if(get_user_flags(iPlayers[i]) & ADMIN_BAN){
 
            return true;
        }
        break;
    }
    return false;
}
Если первый игрок не админ, то функция вернет false, break вообще тут не нужен
 
Сообщения
169
Реакции
13
Предупреждения
18
Помог
1 раз(а)
как по мне, достаточно простого цикла for

Код:
stock AdminInTheGame() {
    for(new i = 1; i <= iMaxClients; i++) {
        if (is_user_connected(i) && get_user_flags(i) & ADMIN_RCON) {
            return 1;
        }
    }
    return 0;
}
просьба поправить табуляцию. писал с телефона, не думал что так выйдет
 
Последнее редактирование:
Сообщения
677
Реакции
633
Предупреждения
23
Помог
7 раз(а)
kucklovod, а как же собирать всех игроков ради того чтобы сразу прервать цикл)0))
 
Сообщения
170
Реакции
206
Помог
11 раз(а)
fl0wer, ты вроде оптимизатор, но зачем оно тут?

Ладно, очередные оптимизаторы, которые боятся вызвать нативу.
 
Сообщения
169
Реакции
13
Предупреждения
18
Помог
1 раз(а)
Denzer, это не повод ставить дизы, неадекватище
то, что у тебя говнокод - не значит, что это свойственно другим

ты вызываешь кучу нативов, вместо 1 is_user_connected(), разве это оптимизация?
 
Сообщения
170
Реакции
206
Помог
11 раз(а)
То что ты "наоптимизировал" - вообще не в тех случаях нужно использовать, конкретно не в случае того, что нужно автору темы.

А ты что обиделся что ли? Аж 3 поста заминусил мне.
 
Сообщения
169
Реакции
13
Предупреждения
18
Помог
1 раз(а)
Denzer, я ничего не наоптимизировал, просто ты сговнокодил
 
Сообщения
170
Реакции
206
Помог
11 раз(а)
Ясно, обиделся.
 
Сообщения
15
Реакции
-2
Вот исходник, я просто не понимаю куда именно этот код вставлять :scratch_one-s_head:@Hypa_[KZ],прикрепил
 

Вложения

Сообщения
15
Реакции
-2
melfyk, у меня в 3 сообщении попросили исходник ...
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу