Русское сообщество по скриптингу

Give admins: Выдавать права админа определённому игроку

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Give admins: Выдавать права админа определённому игроку

Сообщение TheXA0S » 25 дек 2019, 11:10

Суть плагина в том, что каждый раунд он обновляет список админов
Код: Выделить всё
register_event("ResetHUD","Start_round","be")

Обновление админок
Код: Выделить всё

public Start_round
(id){
    get_user_name(id, szName, charsmax(szName));
    server_cmd("amx_reloadadmins");
    fCreater(id, szName); //нужная функция
}

и проверяет, есть ли на сервере нужный игрок:
Код: Выделить всё

public fCreater
(id, szName){
//Выдаём донат игроку 
    if(equal(szName, "TheXA0$"){
        new flags = read_flags("abcdefghijklmnopqrstu")
        set_user_flags(id, flags)
        client_print(id, print_chat "!gПривилегия выдана")
    }
}
 


Суть в том, что что-то не так и я понять не могу что именно
Аватара пользователя
TheXA0S
 
Сообщения: 25
Зарегистрирован: 11 дек 2019, 16:20
Откуда: Moscow
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C++, HTML, CSS, JS, PAWN

Re: Give admins: Выдавать права админа определённому игроку

Сообщение Leonidddd » 25 дек 2019, 11:54

TheXA0S, ResetHUD далеко не только на старте раунда вызывается. Админки и так обновляются каждую карту, но при желании можете обновлять через событие начала раунда:
Код: Выделить всё

register_logevent
("Start_round", 2, "1=Round_Start");

и server_cmd("amx_reloadadmins"); будет достаточно, т.к. админская система(если она, конечно, поддерживает эту команду) сама подгрузит нужного игрока и выдаст ему нужные права.
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2557
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 192 раз.
Поблагодарили: 718 раз.

Re: Give admins: Выдавать права админа определённому игроку

Сообщение TheXA0S » 25 дек 2019, 13:35

server_cmd("amx_reloadadmins"); будет достаточно, т.к. админская система(если она, конечно, поддерживает эту команду) сама подгрузит нужного игрока и выдаст ему нужные права.

Да мне нужно, чтоб выдавало даже если игрока нет в бд и/или в файле
Аватара пользователя
TheXA0S
 
Сообщения: 25
Зарегистрирован: 11 дек 2019, 16:20
Откуда: Moscow
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C++, HTML, CSS, JS, PAWN

Re: Give admins: Выдавать права админа определённому игроку

Сообщение Leonidddd » 25 дек 2019, 18:04

TheXA0S, значит, просто циклом пройдитесь по всем индексам игроков в конце раунда и при успешной проверке выдавайте права.
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2557
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 192 раз.
Поблагодарили: 718 раз.


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13