AMX MOD X
Понедельник, 29.04.2024, 18:39:07



Приветствую Вас Гость | RSS
[ Главная ] [ Как программно изменить флаги входящего игрока. - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Как программно изменить флаги входящего игрока. (Users.ini не предлогать!!!)
Как программно изменить флаги входящего игрока.
dArkДата: Воскресенье, 29.04.2007, 20:58:10 | Сообщение # 1
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Репутация: 1
Статус: Не в сети
Подскажите плз, мне надо сделать, чтобы, допустим когда человек с ником WardeN, тегом пароля _reg, и самим паролем 123321 заходил на сервер, ему давались флаги b и j, всё это надо сделать без users.ini
 
VENДата: Воскресенье, 29.04.2007, 21:41:17 | Сообщение # 2
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
В client_authorized() используй get_user_info(id, "_reg", ...), чтобы получить значение поля _reg. Затем if (equal(...)), чтобы проверить, эквивалентно ли значение необходимому.

Если перед присвоением данных флагов предыдущие флаги нужно удалить, используй remove_user_flags(index, -1).

Чтобы присвоить данные флаги, используй set_user_flags(index, read_flags("bj")).

 
dArkДата: Воскресенье, 29.04.2007, 21:42:56 | Сообщение # 3
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Репутация: 1
Статус: Не в сети
А обязательно в client_authorized() или можно в client_putinserver()?
 
dArkДата: Воскресенье, 29.04.2007, 22:07:27 | Сообщение # 4
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Репутация: 1
Статус: Не в сети
И кстати, всегда задавался вопросом, почему все используют equal() а не скажем strcmp(), мне как С++ программисту второе ближе...
 
VENДата: Воскресенье, 29.04.2007, 22:17:22 | Сообщение # 5
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Для steam версии очень желательно, т.к. steam авторизация может происходить позже захода на сервер, и установленные тобой флаги могут "затереться".
Для non-steam версии - только если необходимо полностью исключить возможность использования доступа, который клиент имеет до того, как будет изменен.

Для большинства AMX Mod X скриптеров, не знакомых с особенностями C++ strcmp() функции, equal() / equali() более понятны. Некоторые, например, не могут понять, почему strcmp() возвращает false, когда обе строки эквивалентны. Тем более, что, если я не ошибаюсь, strcmp() появилась позднее equal() / equali(). Но мы отклонились от темы.

 
dArkДата: Воскресенье, 29.04.2007, 22:23:50 | Сообщение # 6
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Репутация: 1
Статус: Не в сети
Спасибо за ответ, я узнал всё что хотел, тему можно close.
 
VENДата: Воскресенье, 29.04.2007, 22:47:53 | Сообщение # 7
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Еще одно немаловажное замечание.

Если в своем плагине ты используешь client_authorized(), то в plugins.ini он должен быть "ниже", чем admin.amxx, иначе последний изменит "твои" флаги на "свои".

 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Как программно изменить флаги входящего игрока. (Users.ini не предлогать!!!)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024