Скрыть команды в чате (rtv, timeleft, nominate)
|
|
MeDestroyer
|
Дата: Воскресенье, 01.02.2015, 14:57:10 | Сообщение # 1 |
|
Сообщений: 55
Репутация: -1 [ +/- ]
|
|
У меня есть плагин, он скрывает все команды в чате, у которых в начале знак восклицания. Как можно сделать чтобы скрывало команду rtv допустим? Код #include <sourcemod>
public Plugin:myinfo = { name = "Hide Commands", author = "Rop", description = "hides chat commands", version = ".1.0.0", url = "" } public OnPluginStart() { AddCommandListener(HideCommands,"say"); AddCommandListener(HideCommands,"say_team"); } public Action:HideCommands(client, const String:command[], argc) { if(IsChatTrigger()) return Plugin_Handled; return Plugin_Continue; }
Гости не могут скачивать файлы
|
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 15:12:53 | Сообщение # 2 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Код public OnPluginStart() { AddCommandListener(HideCommands,"say"); AddCommandListener(HideCommands,"say_team"); } public Action:HideCommands(client, const String:command[], argc) { GetCmdArgString(buffer, sizeof(buffer)); StripQuotes(buffer); if (StrEqual(buffer, "rtv")) return Plugin_Handled; return Plugin_Continue; }
|
|
| |
MeDestroyer
|
Дата: Воскресенье, 01.02.2015, 15:36:22 | Сообщение # 3 |
|
Сообщений: 55
Репутация: -1 [ +/- ]
|
|
А можно сделать масив, чтобы допустим где-то было Код hcmds { rtv, timeleft, nextmap, }
Ну или в какой-то .ini файл сохранять чат команды?
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 15:47:49 | Сообщение # 4 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Можно так, чтоб не париться:
Код #include <sourcemod>
new String:comms[][] = {"rtv", "timeleft", "nextmap"};
public OnPluginStart() { AddCommandListener(HideCommands,"say"); AddCommandListener(HideCommands,"say_team"); } public Action:HideCommands(client, const String:command[], argc) { GetCmdArgString(buffer, sizeof(buffer)); StripQuotes(buffer); for (new i=0;i<=2;i++) //Тут 2 заменяешь на "количество комманд - 1". { if (StrEqual(buffer, comms[i])) { break; return Plugin_Handled; } } return Plugin_Continue; }
В цикле 2 - это количество комманд в массиве - 1. Например, в моем коде 3 комманды: rtv, timelimit и nextmap. Я поставил в цикле 2 (3 - 1 = 2); Ну, ты понял :)
Сообщение отредактировал BarD - Воскресенье, 01.02.2015, 15:49:03 |
|
| |
Sallcom
|
Дата: Воскресенье, 01.02.2015, 16:44:39 | Сообщение # 5 |
|
Сообщений: 205
Репутация: 31 [ +/- ]
|
|
Цитата BarD ( ) //Тут 2 заменяешь на "количество комманд - 1". Зачем усложнять, если можно написать:
Код for(new i = 0; i < sizeof(comms); i++)
Сообщение отредактировал Sallcom - Воскресенье, 01.02.2015, 16:44:52 |
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 16:54:54 | Сообщение # 6 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Sallcom, верно) я сомневался насчёт этого, но теперь буду знать))
|
|
| |
Sallcom
|
Дата: Воскресенье, 01.02.2015, 17:39:39 | Сообщение # 7 |
|
Сообщений: 205
Репутация: 31 [ +/- ]
|
|
Лучше создать глобальную переменную и занести sizeof туда, чтобы все время не делать расчеты.
Сообщение отредактировал Sallcom - Воскресенье, 01.02.2015, 17:53:44 |
|
| |