All pastes #2131956 Raw Edit

zcmd 0.3.1

public cpp v1 · immutable
#2131956 ·published 2012-03-25 06:36 UTC
rendered paste body
/********************************** *                                * *   @Author:      ZeeX           * *   @Version:     0.3.1          * *   @Released:    31/10/2009     * *                                * **********************************/#if defined _zcmd_included	#endinput#endif	#define _zcmd_included#define MAX_FUNC_NAME (32)#define COMMAND:%1(%2)          \			forward cmd_%1(%2); \			public cmd_%1(%2)					#define CMD:%1(%2) \			COMMAND:%1(%2)#define command(%1,%2,%3) \			COMMAND:%1(%2, %3)            #define cmd(%1,%2,%3) \			COMMAND:%1(%2, %3)#if !defined isnull	#define isnull(%1) \				((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))#endifforward OnPlayerCommandReceived(playerid, cmdtext[]); forward OnPlayerCommandPerformed(playerid, cmdtext[], success); static	bool:zcmd_g_HasOPCS = false,	bool:zcmd_g_HasOPCE = false;#if defined FILTERSCRIPTpublic OnFilterScriptInit(){	zcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;	zcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;    return CallLocalFunction("zcmd_OnFilterScriptInit", "");}#if defined _ALS_OnFilterScriptInit    #undef OnFilterScriptInit#else    #define _ALS_OnFilterScriptInit#endif#define OnFilterScriptInit zcmd_OnFilterScriptInitforward zcmd_OnFilterScriptInit();#else /*not a filterscript*/public OnGameModeInit(){	zcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;	zcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;	if (funcidx("zcmd_OnGameModeInit") != -1)	{		return CallLocalFunction("zcmd_OnGameModeInit", "");	}		return 1;}#if defined _ALS_OnGameModeInit    #undef OnGameModeInit#else    #define _ALS_OnGameModeInit#endif#define OnGameModeInit zcmd_OnGameModeInitforward zcmd_OnGameModeInit();#endif /*if defined FILTERSCRIPT*/public OnPlayerCommandText(playerid, cmdtext[]){    if (zcmd_g_HasOPCS && !CallLocalFunction("OnPlayerCommandReceived", "is", playerid, cmdtext))    {        return 1;    }    new        pos,        funcname[MAX_FUNC_NAME];    while (cmdtext[++pos] > ' ') 	{		funcname[pos-1] = tolower(cmdtext[pos]); 	}	format(funcname, sizeof(funcname), "cmd_%s", funcname);    while (cmdtext[pos] == ' ') pos++;	if (!cmdtext[pos])	{		if (zcmd_g_HasOPCE)		{			return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));		}		return CallLocalFunction(funcname, "is", playerid, "\1");		}	if (zcmd_g_HasOPCE)	{		return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));	}	return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);}#if defined _ALS_OnPlayerCommandText    #undef OnPlayerCommandText#else    #define _ALS_OnPlayerCommandText#endif#define OnPlayerCommandText zcmd_OnPlayerCommandTextforward zcmd_OnPlayerCommandText(playerid, cmdtext[]);