Скрытие команд в чате. Проблема с "hidecommands"

vb

Участник
Сообщения
385
Реакции
31
Скрытие команд в чате. Проблема с "hidecommands" Раньше "hidecommands" работал, но теперь выдаёт ошибку :
[SM] Failed to load plugin "hidecommands.smx": Unable to load plugin (no debug string table).
Вот сам код :

C-подобный:
public OnPluginStart()
{
    RegConsoleCmd("say", hidetrigger);
    RegConsoleCmd("say_team", hidetrigger);
}
public Action:hidetrigger(userid, args)
{
    decl String:command[32];
    GetCmdArg(1, command, 32);
    if (StrContains(command, "!admin") == 0 ||
    StrContains(command, "!Admin") == 0 ||
    StrContains(command, "!ADMIN") == 0) return Plugin_Handled;
    return Plugin_Continue;
}
Прошу строго не судить за создание темы, а помочь. Что именно в данном коде не так ? Ведь раньше - работал. Компиляция проходит успешно.
 

BaFeR

Добрый человек
Сообщения
721
Реакции
216
Хм, а вот так будет разве не правильнее?

PHP:
public void OnPluginStart()
{
   AddCommandListener(hidetrigger, "say");
   AddCommandListener(hidetrigger, "say_team");
}

public Action hidetrigger(int client, const char[] command, int args)
{
   char sText[64]
   GetCmdArgString(sText, sizeof(sText));
   if (StrContains(sText, "!admin") == 0 || StrContains(sText, "!Admin") == 0 || StrContains(sText, "!ADMIN") == 0) return Plugin_Handled;
   return Plugin_Continue;
}
 

vb

Участник
Сообщения
385
Реакции
31
Хм, а вот так будет разве не правильнее?

PHP:
public void OnPluginStart()
{
   AddCommandListener(hidetrigger, "say");
   AddCommandListener(hidetrigger, "say_team");
}

public Action hidetrigger(int client, const char[] command, int args)
{
   char sText[64]
   GetCmdArgString(sText, sizeof(sText));
   if (StrContains(sText, "!admin") == 0 || StrContains(sText, "!Admin") == 0 || StrContains(sText, "!ADMIN") == 0) return Plugin_Handled;
   return Plugin_Continue;
}
Такая же ошибка :
Unable to load plugin (no debug string table).
 

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Зачем лишние проверки с разным регистром, если 3 аргумент StrContains решает эту проблему, да и вообще здесь больше StrEqual подойдет.
PHP:
#include <sourcemod>
#pragma newdecls required
public void OnPluginStart()
{
   AddCommandListener(hidetrigger, "say");
   AddCommandListener(hidetrigger, "say_team");    // Сомневаюсь, что прослушивается.
}

public Action hidetrigger(int client, const char[] command, int args)
{
   char sText[192];
   GetCmdArgString(sText, sizeof(sText)); StripQuotes(sText); TrimString(sText);
   if (StrEqual(sText, "!admin", false) ) return Plugin_Handled;
   return Plugin_Continue;
}
 

vb

Участник
Сообщения
385
Реакции
31
Зачем лишние проверки с разным регистром, если 3 аргумент StrContains решает эту проблему, да и вообще здесь больше StrEqual подойдет.
PHP:
#include <sourcemod>
#pragma newdecls required
public void OnPluginStart()
{
   AddCommandListener(hidetrigger, "say");
   AddCommandListener(hidetrigger, "say_team");    // Сомневаюсь, что прослушивается.
}

public Action hidetrigger(int client, const char[] command, int args)
{
   char sText[192];
   GetCmdArgString(sText, sizeof(sText)); StripQuotes(sText); TrimString(sText);
   if (StrEqual(sText, "!admin", false) ) return Plugin_Handled;
   return Plugin_Continue;
}
Ошибок нет, но команда "!admin" видна всем.
 

suremiur

♂ overlay master ♂
Сообщения
538
Реакции
588
@vb, в чем сложность использовать /admin либо бинд sm_admin? Придумываете кашу какую-то ради одной команды.
 

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Ошибок нет, но команда "!admin" видна всем.
Вы плагин то подгрузили? У меня все работает.
Почему одной ? тут просто, пример на "!admin", а далее заменяй/подставляй.
Не проще отследить первый символ "!" и воздержаться от ваших подстановок, аля первый пост, т.к. команды чувствительны к регистру...
 

CAH4E3

Сосанчез.
Сообщения
1,597
Реакции
779
@vb, Компилишь на см 1.10? попробуй собрать на см 1.9
 
  • Мне нравится
Реакции: vb
Сверху Снизу