All pastes #1570499 Raw Edit

zcmd

public cpp v1 · immutable
#1570499 ·published 2009-09-18 05:26 UTC
rendered paste body
/*********************************** *                                 * *   - Coded by:    ZeeX           * *   - Version:     0.2.3          * *   - Last update: 18/09/2009     * *                                 * ***********************************/#if defined _zcmd_included	#endinput#endif#define _zcmd_included#define MAX_COMM_FUNC_NAME (32)#define zcmd(%1,%2,%3)               \			forward zcmd_%1(%2, %3); \			public zcmd_%1(%2, %3)#if !defined isnull	#define isnull(%1) \		((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))#endif#if !defined ZCMD_NO_CALLBACKstatic    gHasOPCT = false;#if defined FILTERSCRIPTpublic OnFilterScriptInit(){    if (funcidx("ZCMD_OnPlayerCommandText") != -1)    {        gHasOPCT = true;    }    return CallLocalFunction("ZCMD_OnFilterScriptInit", "");}#define OnFilterScriptInit ZCMD_OnFilterScriptInitforward ZCMD_OnFilterScriptInit();#elsepublic OnGameModeInit(){    if (funcidx("ZCMD_OnPlayerCommandText") != -1)    {        gHasOPCT = true;    }    return CallLocalFunction("ZCMD_OnGameModeInit", "");}#define OnGameModeInit ZCMD_OnGameModeInitforward ZCMD_OnGameModeInit();#endifpublic OnPlayerCommandText(playerid, cmdtext[]){    if (gHasOPCT && CallLocalFunction("ZCMD_OnPlayerCommandText", "is", playerid, cmdtext))    {        return 1;    }#elseZCMD_ProcessCommand(playerid, cmdtext[]){#endif    new        pos,        funcname[MAX_COMM_FUNC_NAME];    while (cmdtext[pos] && cmdtext[pos] != ' ') cmdtext[pos++] |= 0x20;    if (!cmdtext[pos])    {        format(funcname, sizeof (funcname), "zcmd_%s", cmdtext[1]);    }    else    {        format(funcname, sizeof (funcname), "zcmd_%.*s", pos-1, cmdtext[1]);        while (cmdtext[++pos] == ' ') {}        if (cmdtext[pos])        {            return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);        }    }    return CallLocalFunction(funcname, "is", playerid, "\1");}#if !defined ZCMD_NO_CALLBACK#define OnPlayerCommandText ZCMD_OnPlayerCommandTextforward ZCMD_OnPlayerCommandText(playerid, cmdtext[]);#endif