Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

не выдаются права

, флаги
Статус пользователя Metal Messiah
сообщение 2.8.2012, 14:48
Сообщение #1


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
Сервер интегрирован с сайтом, при подключении игрока запрашивает инфу о нем, сайт возвращает строку, плагин обрабатывает.
Задача - если в строке есть слово VIP поставить пользователю h флаг который другие плагины воспринимают как вип.
Код
if (contain(status, "VIP") != -1)
{
    //vips[id]=1
    set_user_flags( id, read_flags( "h" ) )
}
раньше выдача оружия випам была сделано внутри плагина через массив vips, работало со сбоями, решил юзать чужие вип плагины, там функций больше и незачем изобретать велосипед.
Теперь оказалось что никому флаг не ставится хотя все остальное работает. Випами являются только админы кому в amxbans все подряд прописано.

Как поставить флаг пользователю независимо от того является ли он админом или он простой зашедший игрок?


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.8.2012, 15:03
Сообщение #2


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Код
set_user_flags( id, read_flags( "h" ) )


а не ADMIN_LEVEL_H?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 2.8.2012, 16:29
Сообщение #3
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Metal Messiah,
Код
set_user_flags( id, ADMIN_LEVEL_H )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
noskill
сообщение 2.8.2012, 16:35
Сообщение #4
Стаж: 14 лет

Сообщений: 3086
Благодарностей: 1493
Полезность: 0

флаг h и ADMIN_LEVEL_H разные вещи cbf1b2bfde1a.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 3.8.2012, 7:59
Сообщение #5
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

открой users.ini и посмотри какой флаг соответствует букве h


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 3.8.2012, 10:32
Сообщение #6


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
ну как бы я плагинами недели 2 занимаюсь. матчасть не учил извините

правильный ответ
Код
set_user_flags( id, ADMIN_LEVEL_H )

работает. спасибо.


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 3.8.2012, 10:44
Сообщение #7
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(iLLuSioN @ 3.8.2012, 9:59) *
открой users.ini и посмотри какой флаг соответствует букве h
Цитата
; h - amx_cfg command
h это и есть флаг.

Вот на что надо обращать внимание в таких случаях:
Код
ADMIN_IMMUNITY    /* flag "a" */
ADMIN_RESERVATION /* flag "b" */
ADMIN_KICK        /* flag "c" */
ADMIN_BAN         /* flag "d" */
ADMIN_SLAY        /* flag "e" */
ADMIN_MAP         /* flag "f" */
ADMIN_CVAR        /* flag "g" */
ADMIN_CFG         /* flag "h" */
ADMIN_CHAT        /* flag "i" */
ADMIN_VOTE        /* flag "j" */
ADMIN_PASSWORD    /* flag "k" */
ADMIN_RCON        /* flag "l" */
ADMIN_LEVEL_A     /* flag "m" */
ADMIN_LEVEL_B     /* flag "n" */
ADMIN_LEVEL_C     /* flag "o" */
ADMIN_LEVEL_D     /* flag "p" */
ADMIN_LEVEL_E     /* flag "q" */
ADMIN_LEVEL_F     /* flag "r" */
ADMIN_LEVEL_G     /* flag "s" */
ADMIN_LEVEL_H     /* flag "t" */
ADMIN_MENU        /* flag "u" */
ADMIN_ADMIN       /* flag "y" */
ADMIN_USER        /* flag "z" */
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 4.8.2012, 1:52
Сообщение #8


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
ок, первая проблема решена, но есть еще пара.

Смысл плагина вот в чем:
При подключении игрока (client_connect) на сервер отправляется статистика подключений (HTTP POST), создается set_task на получение ответа сервера. В этом самом таске получается ответ и обрабатывается. А именно в чат сообщается город и страна игрока (более точное определение чем GeoIP, реализовать смог только на PHP) и определяется VIP он или нет. В случае VIP ему ставится h флаг чтобы другие плагины это знали.

Проблемы такие:
1. В случае таймаута запроса на скрипт сервер наглухо виснет
Соединение устанавливается так:
Код
g_Socket = socket_open(PLUGIN_HOST, 80, SOCKET_TCP, error)

как задать таймаут подключения?
(не вдаваясь в технические подробности меня хостинг сайта локнул за сильно частые запросы своим анти-ддосом на уровне файрволла, SYN уходил ACK не было, т.е. насколько я понимаю соединение вешалось)

2. Иногда подключался VIP, об этом шло сообщение в чат, но права (флаг) не устанавливались хотя это все делается в той самой функции которая в set_task получает ответ сайта. Всегда после смены карты випы становились простыми игроками, несмотря на то что при смене карты отрабатывалось событие client_connect

3. Разок простой игрок получил VIP и спросил "какого х#ра он вип" (дословный перевод с английского) хотя логи ответов сайта хранятся на самом сайте и там ясно сказано что скрипту было отвечено что он не вип.

Как с этим бороться?

Компьютер не подчиняется законам физики. Баги появляются ниоткуда, данные пропадают в никуда, объем называется весом и измеряется в метрах.

Отредактировал: Metal Messiah, - 4.8.2012, 1:55


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: