-
Üdv, azzal a kérdéssel fordulnék hozzátok, hogy lehetséges e ZCMD-ben egy parancsnak több \"nevet\" adni, erre gondolok:
if(strcmp(cmd, \"/aaaaaa\", true) == 0 || strcmp(cmd, \"/aaaaa2\", true) == 0)
lehetséges e? az én elképzelésem ez:
CMD:xd(playerid, params || xdd(playerid, params)
nem tudom, hogy lehetne megoldani, ezért kérném a segítségeteket
Stuntzor
-
CMD:xd(playerid, params[]) || cmd_xdd(playerid, params[])
Azthiszem így
-
Tess ezt a kódot régebben láttam valahol, nem én csináltam. :D
#define Detour<%1,%2>; CMD:%1(playerid,params[])return cmd_%2(playerid,params);
Használat:
Detour<újparancs,régiparancs>;
azaz
Detour<aaa2,aaa>;
És ha azt írod be hogy /aaa2 akkor a /aaa játszódik le.
-
CMD:aaa( playerid, params[] )
{
return cmd_aaa2( playerid, params );
}
CMD:aaa2( playerid, params[] )
{
return 1;
}
Így a /aaa ugyanazt végzi el mint a /aaa2
-
CMD:bla(playerid,params[]) cmd_blaaa(playerid,params);
CMD:blabla(playerid,params[])
{
// Függvények
return 1;
}
-
CMD:bla(playerid,params[]) blaaa(playerid,params);
CMD:blabla(playerid,params[])
{
// Függvények
return 1;
}
Erre olyan hibát fog kapni, hogy nincs visszatérés.
-
Jah, tényleg.
-
Vagy maradhat strcmp-be, a ZCMD, és az STRCMP megfér egymás mellett, így...
CMD:parancs(playerid, params[])
{
SendClientMessage(playerid, 0xFF0606FF, \"Üzenet\");
return 1;
}
helyette
[pawn]COMMAND:parancs(playerid, params[])
{
SendClientMessage(playerid, 0xFF0606FF, \"Üzenet\");
return 1;
}[/pawn]
-
CMD:aaa( playerid, params[] )
{
return cmd_aaa2( playerid, params );
}
CMD:aaa2( playerid, params[] )
{
return 1;
}
Így a /aaa ugyanazt végzi el mint a /aaa2
Leírták a megoldást már.
-
de közvetlen ugyanolyan mint strcmp-nél nincs? :S (mert én nem tudok róla, amit leírtatok többen, az nem rossz de félreértettétek Gabor 1 válasza viszont reálisnak tûnik, dehát nem tom. :S)
Stuntzor
-
CMD:xd(playerid, params[]) || cmd_xdd(playerid, params[])
Ez? Nemtudom, hogy jó-e, nem teszteltem még ilyet :D
-
C:\\Documents and Settings\\xd\\Asztal\\x.pwn(4) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\xd\\Asztal\\x.pwn(4) : warning 203: symbol is never used: \"cmd_xdd\"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Ezek Szerint Szted jó?
-
Akkor nemjó, más ilyen fajta megoldást nemtudok, csak olyanokat, amiket a többiek írtak
-
de közvetlen ugyanolyan mint strcmp-nél nincs? :S (mert én nem tudok róla, amit leírtatok többen, az nem rossz de félreértettétek Gabor 1 válasza viszont reálisnak tûnik, dehát nem tom. :S)
Stuntzor
Közvetlen olyan nincs.
Csak így:
CMD:parancs( playerid, params[ ])
return cmd_parancslist( playerid, params );
CMD:cmd( playerid, params[ ])
return cmd_parancslist( playerid, params );
CMD:command( playerid, params[ ])
return cmd_parancslist( playerid, params );
CMD:vazze( playerid, params[ ])
return cmd_parancslist( playerid, params );
CMD:parancslist( playerid, params[ ])
{
SendClientMessage(playerid, -1, \"A parancsok a következõk:\");
SendClientMessage(playerid, -1, \"tészta\");
SendClientMessage(playerid, -1, \"bableves\");
SendClientMessage(playerid, -1, \"Magyaros Pizza\");
return 1;
}
Így 5 parancs beírása után ugyanazt írja a chatbe
/parancs
/cmd
/command
/vazze
/parancslist
-
Jah, csak hát magyar/angol módot írok, és oda kéne, na mind 1. Köszi, zárok.
Stuntzor