SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Plugin] Pawn.CMD

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031971
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Plugin] Pawn.CMD Empty [Plugin] Pawn.CMD

    Mensagem por Weslley_Script Qua 22 Mar 2023 - 11:23

    Pawn.CMD 3.3.3


    Description:

    The fastest command processor for SA:MP server.

    This plugin is compatible with any SA:MP version despite memory hacking.
    [Plugin] Pawn.CMD V43AinV
    Natives:
    PHP Code:

    Código:
    native PC_RegAlias(const cmd[], const alias[], ...);
    native PC_SetFlags(const cmd[], flags);
    native PC_GetFlags(const cmd[]);
    native PC_RenameCommand(const cmd[], const newname[]);
    native PC_CommandExists(const cmd[]);   
    native PC_DeleteCommand(const cmd[]);
    native CmdArray:PC_GetCommandArray();
    native CmdArray:PC_GetAliasArray(const cmd[]);
    native PC_GetArraySize(CmdArray:arr);
    native PC_GetCommandName(CmdArray:arr, index, dest[], size = sizeof dest);
    native PC_FreeArray(&CmdArray:arr);
    native PC_EmulateCommand(playerid, const cmdtext[]); 

    Callbacks:
    PHP Code:

    Código:
    forward PC_OnInit();
    forward OnPlayerCommandReceived(playerid, cmd[], params[], flags);
    forward OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags); 

    How to install:
    Extract archive in server folder. Update your server.cfg.

    - Windows


    Código:
    plugins pawncmd.dll


    - Linux


    Código:
    plugins pawncmd.so


    Configuration (pawncmd.cfg in plugins folder)

    The values in parentheses are default values
    • CaseInsensitivity (true)

    • LegacyOpctSupport (true)

    • LocaleName ("C")

    • UseCaching (true)


    Example command:
    PHP Code:

    Código:
    #include <Pawn.CMD>
    cmd:help(playerid, params[]) // you can also use 'CMD' and 'COMMAND' instead of 'cmd'
    {
        // code here
        return 1;


    Registering aliases:
    You can register aliases for a command.
    PHP Code:

    Código:
    #include <Pawn.CMD>
    cmd:help(playerid, params[])
    {
        // code here
        return 1;
    }
    alias:help("commands", "cmds") 

    Using flags:
    You can set flags for a command.
    PHP Code:

    Código:
    #include <Pawn.CMD>
    enum (<<= 1)
    {
        CMD_ADMIN = 1, // 0b00000000000000000000000000000001
        CMD_MODER,     // 0b00000000000000000000000000000010
        CMD_JR_MODER   // 0b00000000000000000000000000000100
    };
    new pPermissions[MAX_PLAYERS];
    flags:ban(CMD_ADMIN)
    cmd:ban(playerid, params[])
    {
        // code here
        return 1;
    }
    alias:ban("block")
    flags:kick(CMD_ADMIN | CMD_MODER)
    cmd:kick(playerid, params[])
    {
        // code here
        return 1;
    }
    flags:jail(CMD_ADMIN | CMD_MODER | CMD_JR_MODER)
    cmd:jail(playerid, params[])
    {
        // code here
        return 1;
    }
    public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
    {
        if (!(flags & pPermissions[playerid]))
        {
            printf("player %d doesn’t have access to command '%s'", playerid, cmd);
            return 0;
        }
        return 1;
    }
    public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
    {
        if (result == -1)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Unknown command.");
            return 0;
        }
        return 1;
    }
    public PC_OnInit()
    {
        const testAdminPlayerId = 1, testModerPlayerId = 2, testJrModerPlayerId = 3, testSimplePlayerId = 4;
        pPermissions[testAdminPlayerId] = CMD_ADMIN | CMD_MODER | CMD_JR_MODER;
        pPermissions[testModerPlayerId] = CMD_MODER | CMD_JR_MODER;
        pPermissions[testJrModerPlayerId] = CMD_JR_MODER;
        pPermissions[testSimplePlayerId] = 0;
        PC_EmulateCommand(testAdminPlayerId, "/ban 4 some reason"); // ok
        PC_EmulateCommand(testModerPlayerId, "/ban 8 some reason"); // not ok, moder doesn’t have access to 'ban'
        PC_EmulateCommand(testModerPlayerId, "/kick 15 some reason"); // ok
        PC_EmulateCommand(testModerPlayerId, "/jail 16 some reason"); // ok, moder can use commands of junior moderator
        PC_EmulateCommand(testJrModerPlayerId, "/jail 23 some reason"); // ok
        PC_EmulateCommand(testSimplePlayerId, "/ban 42 some reason"); // not ok


    If you want to use Pawn.CMD in a filterscript, put this define before including:
    PHP Code:

    Código:
    #define FILTERSCRIPT 

    Changelog:
    1.0:
    - First release
    2.0:
    - Now plugin is fully compatible with zcmd command style
    2.1:
    - Fixed bugs
    3.0:
    - Added macros "callcmd" to call a command. Example: callcmd::ban(playerid, "42");
    - Added natives PC_SetFlags, PC_GetFlags, PC_EmulateCommand, PC_RenameCommand, PC_DeleteCommand
    - Added macros "isnull"
    - Parameter "cmdtext" splitted into "cmd" and "params"
    - Pawn.CMD is not compatible with zcmd style anymore
    3.1:
    - Added natives PC_CommandExists, PC_GetCommandArray, PC_GetAliasArray, PC_GetArraySize, PC_FreeArray, PC_GetCommandName
    - Added macros PC_HasFlag
    - Added public PC_OnInit
    - Changed native PC_GetFlags
    - Compatibility with YSI
    3.1.1:
    - Fixed bug in native PC_RenameCommand
    3.1.2:
    - Fixed bug in scripts queue
    3.1.3:
    - Fixed error "File or function is not found"
    3.1.4:
    - Added support for OPCT
    3.2.0:
    - Increased stability
    3.3.0:
    - Fixed YSI (y_hooks) incompatibility
    - Fixed multibyte strings
    Semicolons at the end of alias and flags declarations not allowed now
    - Added pawncmd.cfg file (More info in README.md)
    - Completely rewritten using samp-ptl
    3.3.1:
    - Fixed Windows issues
    3.3.2 (hotfix):
    - Fixed UB (server crashing)
    3.3.3:
    - Fixed "bad conversion" error
    - Updated samp-ptl to the latest version

    Download binaries:
    https://github.com/urShadow/Pawn.CMD/releases

    Source code:
    https://github.com/urShadow/Pawn.CMD

    Creditos: YourShadow



    [Plugin] Pawn.CMD D07Xwqb
    [Plugin] Pawn.CMD Yjab9HN

      Data/hora atual: Qui 2 maio 2024 - 1:14