09.03.2012, 18:33
Код:
#if defined _drcmd_included #endinput #endif #define _drcmd_included #define DRCMD:%1(%2,%3) \ forward drcmd_%1(%2,%3); \ public drcmd_%1(%2,%3) #define DRCMD_%1(%2,%3) \ DRCMD:%1(%2,%3) #define drcmd(%1,%2,%3) \ DRCMD:%1(%2,%3) #define CMD:%1(%2,%3) \ DRCMD:%1(%2,%3) #define COMMAND:%1(%2,%3) \ DRCMD:%1(%2,%3) #if !defined isnull #define isnull(%1) \ ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1])))) #endif #if defined FILTERSCRIPT public OnFilterScriptInit() #else public OnGameModeInit() #endif { #if defined FILTERSCRIPT if(funcidx("OnFilterScriptInit") != -1) return CallLocalFunction("OnFilterScriptInit", ""); #else if(funcidx("OnGameModeInit") != -1) return CallLocalFunction("OnGameModeInit", ""); #endif return 1; } #if defined FILTERSCRIPT #if defined _ALS_OnFilterScriptInit #undef OnFilterScriptInit #else #define _ALS_OnFilterScriptInit #endif #define OnFilterScriptInit drcmd_OnFilterScriptInit forward drcmd_OnFilterScriptInit(); #else #if defined _ALS_OnGameModeInit #undef OnGameModeInit #else #define _ALS_OnGameModeInit #endif #define OnGameModeInit drcmd_OnGameModeInit forward drcmd_OnGameModeInit(); #endif public OnPlayerCommandText(playerid, cmdtext[]) { new function[32], szokozmeddig = -1; while(++szokozmeddig < strlen(cmdtext)) if((cmdtext[szokozmeddig] == ' ')) break; strmid(function, cmdtext, 1, szokozmeddig); format(function, sizeof(function), "drcmd_%s", function); while(cmdtext[szokozmeddig] == ' ') szokozmeddig++; if(funcidx(function) != -1) { if(szokozmeddig == strlen(cmdtext)) { return CallLocalFunction(function, "is", playerid, "\1"); } return CallLocalFunction(function, "is", playerid, cmdtext[szokozmeddig]); } return 0; } #if defined _ALS_OnPlayerCommandText #undef OnPlayerCommandText #else #define _ALS_OnPlayerCommandText #endif #define OnPlayerCommandText drcmd_OnPlayerCommandText forward drcmd_OnPlayerCommandText(playerid, cmdtext[]);