zur technik;
am einfachsten geht es folgendermasen;
enspr. string als RegConsoleCMD() registrieren, und dann einfach prüfen ob "client" größer als 0 ist (0 ist server, alles darüber sind clients oder fakeclients).
dannach ensprechend dann entweder ein plugin handled oder plugin continue zurückgeben. tippe vom iföhn, kann morgen noch ein code snippet nachreichen.
auf diese weise lässt sich auch einfach eine "immunity" für bestimmte gruppen einrichten, so das admins z.b. weiterhin das command benutzen kann.
edit: verschoben nach SM -> hilfe
edit2:
es kann sein das das folgende, verlinkte, bsp. genügt
http://wiki.alliedmods.net/Commands_%28S…t-Only_Commands
bin mir nicht sicher da "sm" bereits ein alleinstehendes voregistriertes kommando ist, andernfalls sollte folgendes funktionieren
(theorie! ohne test wegend fehlendem server setup)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
public OnPluginStart() {
RegConsoleCmd("sm", DoHandle);
}
public Action:DoHandle(client, args)
{
if (client)
{
new String:text[192]
GetCmdArgString(text, sizeof(text))
new i = 0
if (text[0] == '"')
{
i = 1
new len = strlen(text);
if (text[len-1] == '"')
{
text[len-1] = '\0'
}
}
if (StrEqual(text[i], "plugins"))
{
return Plugin_Handled
}
}
return Plugin_Continue
}
|
http://wiki.alliedmods.net/Commands_%28S…ooking_Commands