Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Помогите доделать плагин (fade_to_spec)
Помогите доделать плагин
www22 Дата: Понедельник, 23.08.2021, 19:08:12 | Сообщение # 1
Сообщений: 69
Репутация: -1 [ +/- ]
Помогите добавить в плагин для админов команду на откл. "черного" экрана для админов по команде .
Что то никак понять не могу плюс еще и опыта в таких делах маловато. Плагины 2 версии(оригинал, + моя реализация) во вложении.
А то что то , сделал , но похоже где то накосячил и похоже даже очень.. Да и опыта в таких делах маловат всё таки.
Смысл добавления добавить адм. команду в консоль , на откл. "черного экрана" для админов , которые в спектрах, а когда выбирают команду или по консольной команде, всё становится на своих местах, то есть "черный экран" опять активен.

Прикрепления: sm_dod_ftb_spec.sp(3.6 Kb) · 2224960.sp(4.2 Kb)
 
_wS_ Дата: Понедельник, 23.08.2021, 19:59:57 | Сообщение # 2
Добавь просто проверку на админ флаг.

Код
// Добавь функцию
bool:IsAdmin_(client)
{
    new flags = GetUserFlagBits(client);
    return (flags & ADMFLAG_ROOT) || (flags & ADMFLAG_BAN); // Вместо ADMFLAG_BAN можешь другой
}


В OnPlayerTeam и Event_round_start заменить:

Код
// Это
if(team == 1)

// На это
if (team == 1 && !IsAdmin_(client))

Только в Event_round_start не client, а i
 
www22 Дата: Понедельник, 23.08.2021, 20:43:40 | Сообщение # 3
Сообщений: 69
Репутация: -1 [ +/- ]
_wS_, а так ход мыслей моих правильный ?
Добавлено (23.08.2021, 20:45:05)
---------------------------------------------
Цитата _wS_ ()
Добавь просто проверку на админ флаг.

Это я хотел сделать , но что то по неопытности чутка запутался, да и вообще такие вещи правильно ли делать , как я сделал.А то решил взять по принципу bres ROOT-овского ,как у него с проверкой StopChain %)))
================
Спасибо !!!

Цитата _wS_ ()
(flags & ADMFLAG_ROOT) || (flags & ADMFLAG_BAN); // Вместо ADMFLAG_BAN можешь другой

Кстати вопросик по поводу "ADMFLAG_ROOT" и "ADMFLAG_BAN" .. А если у кого то только есть "ADMFLAG_BAN" или любой другой флаг , этот с флагом ADMFLAG_ROOT подхватится, то есть нужно указывать к ADMFLAG_ROOT и доп. флаг , или наоборот при проверке ?


Сообщение отредактировал www22 - Понедельник, 23.08.2021, 21:09:33
 
_wS_ Дата: Понедельник, 23.08.2021, 21:22:26 | Сообщение # 4
Цитата www22 ()
Кстати вопросик по поводу "ADMFLAG_ROOT" и "ADMFLAG_BAN" .. А если у кого то только есть "ADMFLAG_BAN" или любой другой флаг , этот с флагом ADMFLAG_ROOT подхватится, то есть нужно указывать к ADMFLAG_ROOT и доп. флаг , или наоборот ?

Это же начальный программинг, как работают операторы, условия.
Код
if (a || b) // Если 'a' или 'b' true, то
{
    // выполнится код тут.
    // Если 'a' правда, то 'b' не проверяется, т.к. уже нет смысла.
}

Поиск "как работает ||" сразу даёт ответ.
Если у игрока есть 'z' флаг, то это не значит, что у него есть 'ADMFLAG_BAN' (бан флаг).
И т.к. заведено что 'z' = полный доступ, то и проверяем есть ли 'z' флаг или тот, который ты хочешь.

Цитата www22 ()
да и вообще такие вещи правильно ли делать , как я сделал

За AllowAFSBUsage недостаточно следишь, вход/выход игрока не учтен. В Event_round_start ты всем принудительно делаешь AllowAFSBUsage true, даже тем, кто отключил, поэтому в начале раунда всех наблюдателей ослепит. Создавать таймер в цикле не совсем логично, достаточно одного, и уже в калбеке таймера запускать цикл по игрокам. По логике, в OnPlayerTeam проверка AllowAFSBUsage должна быть в строке "if(!client || IsFakeClient(client))" (оптимизация). В калбеке ScreenFadeRoundStart у тебя условие и после него 4 разные команды, такое огораживается { скобками }.

И лучше на новом синте пиши, он ближе к популярному c++ gut (сказал тот, у кого весь сайт в старом, не дошли руки).
 
www22 Дата: Вторник, 24.08.2021, 08:30:17 | Сообщение # 5
Сообщений: 69
Репутация: -1 [ +/- ]
_wS_,
Цитата _wS_ ()
кто отключил, поэтому в начале раунда всех наблюдателей ослепит.
Мне это и нужно , чтобы не всем принудительно , а по усмотрению , в данном случае по команде консольной, чтоб никто не догадался откл. ослепление %))
Попробую объяснить по другому. Есть снайперский сервер , на нем играют так же и админы , когда поставил этот плагин , мне тут же задали вопрос - "а как следить за читаками ?!!" , если постоянно у всех вкл. админов "черный экран" и в спектрах даже.
Вот и решил дополнить оригинал плагина админской консольной командой , чтоб можно было для админов, когда они ввели в консоль к примеру команду "xz", это ослепление как бы на время отключить, чтобы только для админы имеющие доступ к банам , могли это просмотреть/проследить за кем либо. Плюс еще когда они в спектрах , по другому они же никак не проследить за нехорошим игроком. Вообщем как то так, надеюсь понятно объяснил..

Добавлено (24.08.2021, 08:47:32)
---------------------------------------------

Добавлено (24.08.2021, 08:41:01)
---------------------------------------------
Цитата _wS_ ()
Если у игрока есть 'z' флаг, то это не значит, что у него есть 'ADMFLAG_BAN' (бан флаг).

Только сейчас заметил , это я и спрашивал... Понял спасибо ..

Добавлено (24.08.2021, 08:47:32)
---------------------------------------------
Цитата _wS_ ()
И лучше на новом синте пиши, он ближе к популярному c++ gut (сказал тот, у кого весь сайт в старом, не дошли руки).

бывает.. да я плохо еще в Си же , вон сам видишь по простенькому пишу, +- */ и текст , что то там делать.Пока на это способен.. никак еще. да и а ДоДс, уже никто плагины то не пишет же.Вот и приходится на старом писать или чуток прееделывать. С нуля пока тоже никак у меня %))

Добавлено (24.08.2021, 09:00:19)
---------------------------------------------
Цитата _wS_ ()
За AllowAFSBUsage недостаточно следишь, вход/выход игрока не учтен.

Блин, была тоже на этот счет мысля ... Хотел добавить всего лишь одно, а приходится весь плагин переписывать и дополнять %))


Сообщение отредактировал www22 - Вторник, 24.08.2021, 11:14:22
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Помогите доделать плагин (fade_to_spec)
  • Страница 1 из 1
  • 1
Поиск: