All pastes #1645170 Raw Edit

zcmd 0.3

public cpp v1 · immutable
#1645170 ·published 2009-10-27 14:27 UTC
rendered paste body
/********************************** *                                * *   @Author:      ZeeX           * *   @Version:     0.3            * *   @Released:    27/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)			#if !defined isnull	#define isnull(%1) \				((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))#endifforward OnPlayerCommandReceived(playerid, cmdtext[]); forward OnPlayerCommandPerformed(playerid, cmdtext[], success); static	zcmd_g_HasOPCS = false,	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])	{		cmdtext[--pos] = '\1';	}		if (zcmd_g_HasOPCE)	{		return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));	}	return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);}#define OnPlayerCommandText zcmd_OnPlayerCommandTextforward zcmd_OnPlayerCommandText(playerid, cmdtext[]);