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

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

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

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

2 страниц V   1 2

Дописать бан админов в plmenu

Статус пользователя JekaPro
сообщение 22.7.2017, 12:30
Сообщение #1


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

Использую систему amxban , в plmenu нужно дописать что бы игрок с флагом l мог банить админов/ випов, у них есть иммунитет , не нужно говорить убирай у всех иммунитет и бань сколько нужно.
P.S в исходнике уже есть кик на игроков с привилегиями.
Исходник прикрепил

Отредактировал: JekaPro, - 22.7.2017, 12:30
Прикрепленные файлы:
Прикрепленный файл  plmenu1.sma ( 22,7 килобайт ) Кол-во скачиваний: 24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя JekaPro
сообщение 24.7.2017, 11:29
Сообщение #2


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

/del
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 24.7.2017, 11:51
Сообщение #3


Стаж: 12 лет

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

В исходниках amxbans копаться надо, там заменяются менюшки. plmenu тут не причем.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 24.7.2017, 20:57
Сообщение #4


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

JekaPro, попробуй этот с флагом L может банить всех у кого иммунитет и кикать
Прикрепленные файлы:
Прикрепленный файл  plmenu.sma ( 23,46 килобайт ) Кол-во скачиваний: 11


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 24.7.2017, 21:42
Сообщение #5


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

Цитата(energydance @ 24.7.2017, 20:57) *
JekaPro, попробуй этот с флагом L может банить всех у кого иммунитет и кикать


не работает вообще)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 24.7.2017, 22:06
Сообщение #6


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

JekaPro, флаги какие выдал?


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 24.7.2017, 22:53
Сообщение #7


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

Цитата(energydance @ 24.7.2017, 22:06) *
JekaPro, флаги какие выдал?

сервер тест, все выдал себе,и ркон так же, забыл сказать,стоит амхбан, с веб мордой ксбана, наверное из за этого,вроде нельзя для амхбана настроить такое в plmenu

Отредактировал: JekaPro, - 24.7.2017, 22:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя adva
сообщение 24.7.2017, 23:07
Сообщение #8


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

Стаж: 12 лет

Сообщений: 2543
Благодарностей: 1676
Полезность: 819

Меценат Меценат

Цитата(JekaPro @ 22.7.2017, 13:30) *
Использую систему amxban , в plmenu нужно дописать что бы игрок с флагом l мог банить админов/ випов, у них есть иммунитет , не нужно говорить убирай у всех иммунитет и бань сколько нужно.
P.S в исходнике уже есть кик на игроков с привилегиями.
Исходник прикрепил

Plmenu
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 25.7.2017, 12:16
Сообщение #9


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

adva, да кикнуть у меня и было.а нужно что бы и банить можно было.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 25.7.2017, 14:45
Сообщение #10


Стаж: 12 лет

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

Правки под:
Код:
#define VERSION "Gm 1.6"
#define DATE "14:25 26.04.2011"


Придерживаясь стиля написания...
include\amxbans\global_vars.inl
Ищем Код:
#define PDATA_IN_FLAGGING 10
Ниже добавляем Код:
#define PDATA_SUPER_ADMIN 11

================================================

Ищем Код:
new pcvar_hostname
Ниже добавляем Код:
new pcvar_flag_superadmin
amxbans_main.sma
Ищем Код:
pcvar_hostname = get_cvar_pointer("hostname")
Ниже добавляем Код:
pcvar_flag_superadmin = register_cvar("amxbans_flag_superadmin", "l")

================================================

Ищем Код:
public get_admin_mole_access_flag() 
{
new flags[24]
get_pcvar_string(pcvar_admin_mole_access, flags, 23)

return read_flags(flags)
}
Ниже добавляем Код:
public get_super_admin_access_flag() 
{
new flags[24]
get_pcvar_string(pcvar_flag_superadmin, flags, 23)

return read_flags(flags)
}

================================================

Ищем такой блок Код:
if(is_user_admin(id))
{
add_user_state(id, PDATA_ADMIN)
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
add_user_state(id, PDATA_IMMUNITY)
}
}

Нам необходимо его отредактировать, а значит после Код:
add_user_state(id, PDATA_ADMIN)
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
add_user_state(id, PDATA_IMMUNITY)
}
Добавляем Код:
static flags;
flags = get_super_admin_access_flag();
if((get_user_flags(id) & flags) == flags) // если вдруг значением квара было указано несколько флагов, проверяем наличие всех
{
add_user_state(id, PDATA_SUPER_ADMIN)
}
в итоге получим
Код:
if(is_user_admin(id))
{
add_user_state(id, PDATA_ADMIN)
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
add_user_state(id, PDATA_IMMUNITY)
}

static flags;
flags = get_super_admin_access_flag();
if((get_user_flags(id) & flags) == flags) // если вдруг значением квара было указано несколько флагов, проверяем наличие всех
{
add_user_state(id, PDATA_SUPER_ADMIN)
}
}

================================================

Ищем блок Код:
public client_putinserver(id)

Нам же не надо пускать админов с иммунитетом, если тот был забанен? Коль необходимо, чтобы админ с флагом "супербана" мог зайти даже если по каким-то причинам был забанен, заменяем в этом блоке Код:
if(get_user_state(id, PDATA_IMMUNITY))
{
return PLUGIN_HANDLED
}
На Код:
if(get_user_state(id, PDATA_SUPER_ADMIN))
{
return PLUGIN_HANDLED
}

================================================

Ищем и заменяем Код:
if(!get_user_state(id, PDATA_KICKED) && !get_user_state(id, PDATA_IMMUNITY))
На Код:
if(!get_user_state(id, PDATA_KICKED) && !get_user_state(id, PDATA_SUPER_ADMIN))
include\amxbans\cmd_ban.inl
Ищем и заменяем Код:
if(get_user_state(player, PDATA_IMMUNITY))
На Код:
if(get_user_state(player, PDATA_IMMUNITY) && !get_user_state(id, PDATA_SUPER_ADMIN) && id || get_user_state(player, PDATA_SUPER_ADMIN))
include\amxbans\menu_stocks.inl
Ищем и заменяем Код:
if(get_user_state(pid, PDATA_IMMUNITY) || get_user_state(pid, PDATA_BOT) || get_user_state(pid, PDATA_BEING_BANNED) || is_user_disconnected(pid)) return ITEM_DISABLED
На Код:
if (get_user_state(pid, PDATA_IMMUNITY) && !get_user_state(id, PDATA_SUPER_ADMIN)
|| get_user_state(pid, PDATA_SUPER_ADMIN)
|| get_user_state(pid, PDATA_BOT)
|| get_user_state(pid, PDATA_BEING_BANNED)
|| is_user_disconnected(pid))
{
return ITEM_DISABLED
}
include\amxbans\check_player.inl
Ищем и заменяем Код:
if(!get_user_state(id, PDATA_CONNECTED) || get_user_state(id, PDATA_BOT) || get_user_state(id, PDATA_IMMUNITY) || !get_pcvar_num(pcvar_show_prebanned))
На Код:
if(!get_user_state(id, PDATA_CONNECTED) || get_user_state(id, PDATA_BOT) || get_user_state(id, PDATA_SUPER_ADMIN) || !get_pcvar_num(pcvar_show_prebanned))

================================================

Ищем и заменяем Код:
if(is_user_disconnected(id) || get_user_state(id, PDATA_IMMUNITY))
На Код:
if(is_user_disconnected(id) || get_user_state(id, PDATA_SUPER_ADMIN))


Вроде самое основное учел

Отредактировал: JIuXeP, - 25.7.2017, 14:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя energydance
сообщение 25.7.2017, 14:51
Сообщение #11


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

JekaPro, у меня фреш банс на сервере веб морда cs bans и все прекрастно работает и банит и кикает людей с иммунитетом , значит проблема на стороне сервера


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 25.7.2017, 15:10
Сообщение #12


Стаж: 12 лет

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

energydance, интересно.. чего бы это? dntknw.gif

Cкрытый текст
Код
fb_adminrcon_flag "l" - Флаг доступа Администратора, для возможности бана всех в т.ч. и Администраторов с иммунитетом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 25.7.2017, 15:11
Сообщение #13


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

JIuXeP, вот это то что нужно , но версия у меня AMXBans 6.13 , под нее нету ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 25.7.2017, 15:22
Сообщение #14


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

JIuXeP, да я знаю что в фреше это есть, но у меня амхбан, менять систему не хочу )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 25.7.2017, 15:33
Сообщение #15


Стаж: 12 лет

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

include\amxbans\cmdBan.inl
Код:
if (get_user_flags(player) & ADMIN_IMMUNITY) {
->>
Код:
if(get_user_flags(player) & ADMIN_IMMUNITY && ~get_user_flags(id) & ADMIN_RCON && id || get_user_flags(player) & ADMIN_RCON) {
include\amxbans\check_player.inl
Код:
if(get_user_flags(id) & ADMIN_IMMUNITY)
return PLUGIN_HANDLED
->>
Код:
if(get_user_flags(id) & ADMIN_RCON)
return PLUGIN_HANDLED
include\amxbans\menu_stocks.inl
Код:
if(get_user_flags(pid) & ADMIN_IMMUNITY || is_user_bot(pid) || g_being_banned[pid] || !is_user_connected(pid)) return ITEM_DISABLED
->>
Код:
if(get_user_flags(pid) & ADMIN_IMMUNITY && ~get_user_flags(id) & ADMIN_RCON || get_user_flags(pid) & ADMIN_RCON || is_user_bot(pid) || g_being_banned[pid] || !is_user_connected(pid)) return ITEM_DISABLED


Отредактировал: JIuXeP, - 25.7.2017, 15:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 25.7.2017, 15:49
Сообщение #16


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

JIuXeP, изменил все, инклуды закинул с заменой, в plmenu ничего не нужно менять?
а то почему-то не работает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 25.7.2017, 15:53
Сообщение #17


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

JIuXeP, открою секрет , я как то писал в тему фреш банса что у меня стоит этот параметр fb_adminrcon_flag "l" но почему то админ с rcon доступом банить не могли , долго искал причину так и не нашел , потом наткнулся на Эту тему после установки все стало на свои места


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 25.7.2017, 15:59
Сообщение #18


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

energydance, вот даже не знаю , похожая ситуация, все изменил в инклудах что было сказано выше.поставил plmenu с темы которую скинул ты, но все равно доступа к бану администраторов нету, бред какой-то..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 25.7.2017, 16:19
Сообщение #19


Стаж: 12 лет

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

Цитата(JIuXeP @ 25.7.2017, 16:33) *
Код:
if (get_user_flags(player) & ADMIN_IMMUNITY) {
->>
Код:
if(get_user_flags(player) & ADMIN_IMMUNITY && ~get_user_flags(id) & ADMIN_RCON && id || get_user_flags(player) & ADMIN_RCON) {

Торопился, и в копирке не заметил. В "консольном" режиме (командном режиме со стороны сервера) и так есть все права, поэтому, пожалуй, проверку на id можно убрать:
Код:
if(get_user_flags(player) & ADMIN_IMMUNITY && ~get_user_flags(id) & ADMIN_RCON || get_user_flags(player) & ADMIN_RCON) {


JekaPro, amxbans_main перекомпилирован и залит на сервер? Я тоже возможно не все учел, просто поиском пробежался по файлам. Проверю позже и отпишу.

energydance, я и там тоже засветился, как ни странно... https://c-s.net.ua/forum/topic79042.html?vi...st&p=907961. надеюсь, ты не его юзаешь ? :D
Кое-что можно сделать, и делал по другому, но не обновлял в связи с тем, что в 1.8.3 это реализовано лучше, да и перейти на него уже можно давно было)
Говорю же, plmenu не причем. Просто совпало так у тебя. Бан-системы заменяют менюшки (с plmenu) и команды бана (с admincmd) своими, и там же с ними работают. Главное чтобы плагины бансов были подключены выше остальных плагинов.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JekaPro
сообщение 25.7.2017, 16:21
Сообщение #20


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

JIuXeP, а что в нем менять нужно? amxbans_main
Ведь все менялось в инклудах
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: