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

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

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

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

Kick player when connecting ADMIN

Статус пользователя Akushi
сообщение 4.9.2013, 23:31
Сообщение #1


Стаж: 16 лет

Сообщений: 883
Благодарностей: 313
Полезность: 604

Что за бред?
Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Kick player when connecting ADMIN"
#define VERSION "1.0"
#define AUTHOR "Sergey Krylov"

#define FLAG ADMIN_IMMUNITY
#define REASON "Ваш место на сервере занял Админ!"

public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
}

public client_connect(id)
if(get_user_flags(id) & FLAG && get_playersnum() == get_maxplayers())
kick_player()

public kick_player(){
new max_ping = 0
new ping, loss, id
for(new i = 1; i <= get_maxplayers(); i++){
if(get_user_flags(i) & FLAG)
return PLUGIN_HANDLED
get_user_ping(i, ping, loss)
if(ping > max_ping){
max_ping = ping
id = i
}
}
server_cmd("kick #%d ^"%s^"", get_user_userid(id), REASON)

return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя MvPRO Administrator
сообщение 4.9.2013, 23:34
Сообщение #2


Стаж: 15 лет

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

Видимо автор плагина думает, что без Orpheu можно сделать резервацию при 32/32.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 6.9.2013, 19:52
Сообщение #3


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

Стаж: 13 лет

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

HostGame.cf
при коннекте 32го игрока нужно выкидывать того кто с максимальным пингом.

get_playersnum() == get_maxplayers()
заменить на
get_playersnum() >= get_maxplayers()-1


P.S. get_user_ping - дурная идея.
нужно проверять пинг в отдельном потоке и считать средние за последние пару минут. Индивидуальный пинг может подскакивать.
искать макс.пинг по массиву сохраненных значений - иначе при большом потоке коннектов будут лаги инфа 100%

Вместо server_cmd("kick...
писать cliend_cmd("connect *****)
т.е. сливать игрока на другой сервер, актуально если у вас больше 1 серва и они в разных локациях. Я только так делаю.
Если кто допилит плагин с учетом этого - от общества спасибо. Если не допилит - сам допилю давно собирался нормальные резервации для вип игроков сделать...

Отредактировал: Metal Messiah, - 6.9.2013, 19:56


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 6.9.2013, 19:58
Сообщение #4


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

При клиент коннект еще не будет флагов. Да и не понятно вообще где тут смысл


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 6.9.2013, 20:03
Сообщение #5
Стаж: 16 лет

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

ну в целом идея верная, не кикать а перенаправять, в киеве лет 6-7 назад и до сих пор появились тогда первые на тот момент сервера так называемые
low ping / high ping
пингеров перекидывало на 2й сервер. а игроки с пингом до 30 оставались на 1м
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 6.9.2013, 20:13
Сообщение #6


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

плагин работает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lLeDoKl
сообщение 6.9.2013, 20:38
Сообщение #7


Стаж: 13 лет

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

тоже интересно работает ли он
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 6.9.2013, 22:06
Сообщение #8


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

Стаж: 13 лет

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

HostGame.cf
Цитата
При клиент коннект еще не будет флагов.

а где они есть если не секрет? лень тестировать. putinserver?

Цитата
Да и не понятно вообще где тут смысл

смысл прямой - чтобы випы и админы всегда могли зайти на сервер, а кикало не всех подряд по dropped due to slot reservation а того у кого макс.пинг, для этого 1 слот остается всегда резервным.

Отредактировал: Metal Messiah, - 6.9.2013, 22:10


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 6.9.2013, 23:25
Сообщение #9


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Честно не помню на что висит выдача админки в стандарте. В любом случае это не моментально. В амхбанс есть для этого дела форвард типа «админ коннектед» - удобно


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.9.2013, 8:24
Сообщение #10
Стаж: 16 лет

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

Цитата(Metal Messiah @ 7.9.2013, 0:06) *
а где они есть если не секрет? лень тестировать. putinserver?
public client_authorized(index)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 7.9.2013, 10:43
Сообщение #11


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

STR@TEG, тоже не факт, потому и вешают на ник + пароль + орфей


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 7.9.2013, 10:52
Сообщение #12


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

Стаж: 13 лет

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

HostGame.cf
амхбанс УГ которое спонтанно кладет сервер (segmentation fault) при смене карты
возможно, проблема в модуле работы с mysql, но его пока никто не взял и с нуля не переписал.

Цитата
public client_authorized(index)

спасибо. уже нашел инфу:
Цитата
Да и тем более что данная функция вызывается между функциями client_connect и client_putinserver.

видимо таки надо использовать client_putinserver

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


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