#include forward OnGameModeInit(); forward OnPlayerCommandText(playerid, cmdtext[]); #define cmd(%1) if((strcmp(cmdtext,%1,true,strlen(%1))==0)&&(((cmdtext[strlen(%1)]==0)&&(d%1(playerid,"")))||((cmdtext[strlen(%1)]==32)&&(d%1(playerid,cmdtext[strlen(%1)+1]))))) return 1 new cmd_test[] = "/a"; main() print("\nThis is a test script."); public OnGameModeInit() { print("\n\n"); print("test: /"); OnPlayerCommandText(0,"/"); print("test: /a"); OnPlayerCommandText(0,"/a"); print("test: /a b"); OnPlayerCommandText(0,"/a b"); print("test: /a b 0"); OnPlayerCommandText(0,"/a b 0"); print("test: /a b 1"); OnPlayerCommandText(0,"/a b 1"); print("test: /a b 2"); OnPlayerCommandText(0,"/a b 2"); return 1; } dcmd_test(playerid, param[]) { #pragma unused playerid if (!param[0]) { print("no: need a parameter\n"); return 1; } else if (!strcmp(param,"b")) { new pos = strval(param[strfind(param," ")]); if (!pos) { printf("no: %d\n",pos); return 1; } printf("ok: %d\n",pos); return 1; } return 0; } public OnPlayerCommandText(playerid, cmdtext[]) { cmd(cmd_test); print("no: bad command\n"); return 0; }