Данил Яснев 864321997
Участник
- Сообщения
- 13
- Реакции
- 0
Могу ли я как-то больше команд сделать через запятую?
Не таким простым образом.через запятую
больше команд
if (!strcmp(command, "rtv") || !strcmp(command, "rtv2") || !strcmp(command, "rtv3")) return Plugin_Handled;
if (strcmp(command, "команда1") == 0 ||
strcmp(command, "команда2") == 0 ||
strcmp(command, "команда3") == 0 ||
strcmp(command, "команда4") == 0 ||
strcmp(command, "команда5") == 0) return Plugin_Handled;
Тоесть? Это где?R1KO, lexographically (strcmp) - это как?
#pragma semicolon 1
#include <sourcemod>
public OnPluginStart() RegConsoleCmd("status", Status);
public Action:Status(client, args)
{
if (client != 0 && !(GetUserFlagBits(client) & ADMFLAG_ROOT))
{
PrintToChat(client, "\x01\x05[SM] \x03Нет доступа.");
return Plugin_Handled;
}
return Plugin_Continue;
}
А ты проверь.Что сранивает strcmp? Уж не количество ли знаков? Неправильно тогда.
Хоть и не работает но RegAdminCmd("status", Status, ADMFLAG_ROOT); а не RegConsoleCmd("status", Status, ADMFLAG_ROOT);... : error 035: argument type mismatch <argument 3>
Ставишь отсюда http://hlmod.ru/forum/showthread.php?t=10104 "Фикс для серверного движка CS:S v34". Это убивает команду status, а дальше сам делаешь свою команду statusСледовательно решения нету?
Данил Яснев 864321997, нормально будет так:
PHP:public OnPluginStart() { AddCommandListener(Say, "say"); AddCommandListener(Say, "say_team"); } public Action:Say(client, const String:command[], args) { decl String:text[192]; GetCmdArgString(text, sizeof(text)); StripQuotes(text); if (!strcmp(text, "rec")) { if (GetUserFlagBits(client) & ADMFLAG_ROOT) { //Действие команды "rec"... PrintToChat(client, "\x01\x05[SM] \x03Доступ есть."); } else PrintToChat(client, "\x01\x05[SM] \x03Нет доступа."); return Plugin_Handled; } return Plugin_Continue; }
Лучше я тогда спрошу, чего ты конкретно хочешь? :lol: Только заблокировать написание команды в чат или таки для админов выполнить действие?Это для чего?
Данил Яснев 864321997,
AlmazON, работать всё равно не будет, это команда движка, каких бы ты return Plugin_Handled; не делал оно его не заблочит.
Данил Яснев 864321997,
AlmazON, работать всё равно не будет, это команда движка, каких бы ты return Plugin_Handled; не делал оно его не заблочит.
Охохохох ...
public OnPluginStart()
{
RegConsoleCmd("myid", PMBlock);
}
public Action:PMBlock(client, args)
{
decl String:steamid[64];
GetClientAuthString(client, steamid, sizeof(steamid));
{
PrintToChat(client, "\x04[SERVER] \x01Привет \x03%N \x01, твой SteamID - \x03%s", client, steamid);
}
return Plugin_Handled;
}
public Action:PMBlock(client, args)
{
decl String:steamid[64];
if(GetClientAuthString(client, steamid, sizeof(steamid)))
{
PrintToChat(client, "\x04[SERVER] \x01Привет \x03%N \x01, твой SteamID - \x03%s", client, steamid);
}
return Plugin_Handled;
}
public OnPluginStart() RegConsoleCmd("sm_myid", PMBlock);
public Action:PMBlock(client, args)
{
decl String:steamid[35];
if (GetClientAuthString(client, steamid, sizeof(steamid))) PrintToChat(client, "\x04[SERVER] \x01Привет \x03%N \x01, твой SteamID - \x03%s", client, steamid);
}
#pragma semicolon 1
#include <sourcemod>
public OnPluginStart()
{
new Handle:file = OpenFile("ccb_commands.txt", "r");
if (file == INVALID_HANDLE)
{
SetFailState("OpenFile error: cstrike/ccb_commands.txt");
return;
}
decl String:cmd[150]; new bool:found = false;
while (!IsEndOfFile(file) && ReadFileLine(file, cmd, 150))
{
if (TrimString(cmd) > 0)
{
found = true;
if (!AddCommandListener(Block1, cmd)) RegConsoleCmd(cmd, Block2);
}
}
CloseHandle(file);
if (!found) SetFailState("cstrike/ccb_commands.txt empty");
}
public Action:Block1(client, const String:command[], args) return Plugin_Handled;
public Action:Block2(client, args) return Plugin_Handled;