Как скрыть команды в чате

Lima

Участник
Сообщения
159
Реакции
57
Здравствуйте, подскажите пожалуйста существует ли плагин скрывающий команды в чате, которые выполняются через знак "!" (например: !rs, !top и т.д). Знаю, что такой плагин был для 1.6, скрывал все команды выполняющиеся через "/", вот и решил спросить есть ли аналог для sourcemod.

P.S Хочу убрать сообщения из чата, которые записывает статистика в виде флуда из !rs, !top и т.д
 

Lima

Участник
Сообщения
159
Реакции
57
AlmazON, Спасибо большое, все работает)
 

rus0707

Участник
Сообщения
326
Реакции
43
Почти также. Но такое лучше делать в самом плагине. Если же установлен какой-либо специальный чат, то тут уже другая история.


public Action:OnClientSayCommand(client, const String:command[], const String:sArgs[]) return sArgs[0] != '!' ? Plugin_Continue:Plugin_Handled;


public Action:OnClientSayCommand(client, const String:command[], const String:sArgs[]) return sArgs[0] != 'кы' ? Plugin_Continue:Plugin_Handled;

public Action:OnClientSayCommand(client, const String:command[], const String:sArgs[]) return sArgs[0] != 'rs' ? Plugin_Continue:Plugin_Handled;

вот так

у меня все водно плагине
отдельных чатов нету
 

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
Тогда уж:
PHP:
(sArgs[0] == 'к' && sArgs[1] == 'ы') || (sArgs[0] == 'r' && sArgs[1] == 's')
И что же будет, если игрок напишет какое-нибудь сообщение, начинающиеся с этих букв?
Может, тогда уж, лучше использовать strcmp?
PHP:
!strcmp(sArgs, "кы") || !strcmp(sArgs, "rs")
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
если игрок напишет какое-нибудь сообщение, начинающиеся с этих букв
Он попытался составить из того, что было - я показал,
как возможно. Не очень практичный вариант, но можно - мало кто начнёт писать эти буквы, да ещё начиная с малого регистра.
Это решать в самом плагине - вот итоговый ответ.
!strcmp(sArgs, "кы") || !strcmp(sArgs, "rs")
Кто сказал, что с отрицанием лучше? И, кстати, говоря о регистре - тут тоже минус будет:
PHP:
public Action:OnClientSayCommand(client, const String:command[], const String:sArgs[])
return strcmp(sArgs, "rs", false) && strcmp(sArgs, "кы") ? Plugin_Continue:Plugin_Handled;
 

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
Кто сказал, что с отрицанием лучше?
М.б. потому, что strcmp возвращает 0, когда строки равны? :)
И, кстати, говоря о регистре - тут тоже минус будет.
В данном случае не критично, о регистре не было речи. А впрочем, почему бы и нет.
 

rom4s

Не понимает, что происходит  
Сообщения
214
Реакции
194
Оффтоп
 

rus0707

Участник
Сообщения
326
Реакции
43
Тогда уж:
PHP:
public Action:OnClientSayCommand(client, const String:command[], const String:sArgs[])
return (sArgs[0] == 'к' && sArgs[1] == 'ы') || (sArgs[0] == 'r' && sArgs[1] == 's') ? Plugin_Handled:Plugin_Continue;
В самом плагине сделать ещё проще и лучше, чем так. А вот команды с ! и / - тут да, не получится так просто.


не компилиться
 

rus0707

Участник
Сообщения
326
Реакции
43
Он попытался составить из того, что было - я показал,как возможно. Не очень практичный вариант, но можно - мало кто начнёт писать эти буквы, да ещё начиная с малого регистра.
Это решать в самом плагине - вот итоговый ответ.
Кто сказал, что с отрицанием лучше? И, кстати, говоря о регистре - тут тоже минус будет:
PHP:
public Action:OnClientSayCommand(client, const String:command[], const String:sArgs[])
return strcmp(sArgs, "rs", false) && strcmp(sArgs, "кы") ? Plugin_Continue:Plugin_Handled;


public Action:OnClientSayCommand(iClient, const String:command[], const String:sArgs[])
return strcmp(sArgs, "!", false) && strcmp(sArgs, "rs") && strcmp(sArgs, "кы") ? Plugin_Continue:Plugin_Handled;

всеровно в чате видно ! команда
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Оффтоп
всеровно в чате видно ! команда
Потому что экспериментируешь опять. Если у твоих команд, не важно каких, есть знак ! в начале - бери самый первый код и нет проблем.
Если с ! и две команды без этого знака:
PHP:
public Action:OnClientSayCommand(client, const String:command[], const String:sArgs[])
return sArgs[0] != '!' && strcmp(sArgs, "rs", false) && strcmp(sArgs, "кы") ? Plugin_Continue:Plugin_Handled;
Оффтоп
 

Region4iK_76

Участник
Сообщения
10
Реакции
1
Ребята я тут из написанного ничего не понял, дайте плагин готовый пожалуйста только мне для ксс
 

TRID

Участник
Сообщения
62
Реакции
33
Знаю, что такой плагин был для 1.6, скрывал все команды выполняющиеся через "/", вот и решил спросить есть ли аналог для sourcemod.

Sourcemod имеет данную функцию, загляни в core.cfg

* String to use as the silent chat trigger. Set an empty string to disable.
*/
"SilentChatTrigger" "/"
 

Malyava

Участник
Сообщения
198
Реакции
19
Sourcemod имеет данную функцию, загляни в core.cfg

* String to use as the silent chat trigger. Set an empty string to disable.
*/
"SilentChatTrigger" "/"
при чередовании нескольких команд, указывать через запятую?
C-подобный:
"SilentChatTrigger"        "/;!"
 

TRID

Участник
Сообщения
62
Реакции
33
@Malyava, К примеру есть команда sm_admin
Если "PublicChatTrigger" "!" - В чате работает !admin (Публичный чат триггер, введённая команда будет видна всем)
Если "SilentChatTrigger" "/" - В чате работает /admin ("Тихий" чат триггер, введённая команда будет скрыта)
 
Сверху Снизу