Как программно изменить флаги входящего игрока.
|
|
dArk | Дата: Воскресенье, 29.04.2007, 20:58:10 | Сообщение # 1 |
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Статус: Не в сети
| Подскажите плз, мне надо сделать, чтобы, допустим когда человек с ником WardeN, тегом пароля _reg, и самим паролем 123321 заходил на сервер, ему давались флаги b и j, всё это надо сделать без users.ini
|
|
| |
VEN | Дата: Воскресенье, 29.04.2007, 21:41:17 | Сообщение # 2 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| В 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
Статус: Не в сети
| А обязательно в client_authorized() или можно в client_putinserver()?
|
|
| |
dArk | Дата: Воскресенье, 29.04.2007, 22:07:27 | Сообщение # 4 |
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Статус: Не в сети
| И кстати, всегда задавался вопросом, почему все используют equal() а не скажем strcmp(), мне как С++ программисту второе ближе...
|
|
| |
VEN | Дата: Воскресенье, 29.04.2007, 22:17:22 | Сообщение # 5 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Для 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
Статус: Не в сети
| Спасибо за ответ, я узнал всё что хотел, тему можно close.
|
|
| |
VEN | Дата: Воскресенье, 29.04.2007, 22:47:53 | Сообщение # 7 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Еще одно немаловажное замечание. Если в своем плагине ты используешь client_authorized(), то в plugins.ini он должен быть "ниже", чем admin.amxx, иначе последний изменит "твои" флаги на "свои".
|
|
| |