Софт [Plugin] Pawn.CMD - самый быстрый и функциональный командный процессор.

Тема в разделе "PAWN", создана пользователем kaZax, 11 июн 2016.

Статус темы:
Закрыта.
  1. kaZax

    kaZax samp.work
    Проверенный

    Регистрация:
    18.03.13
    Сообщения:
    158
    Лайки:
    19
    Репутация:
    26
    Pawn.CMD 3.0​


    Описание:
    Pawn.CMD - новый командный процессор, который работает через плагин.
    Плагин совместим с любой версией SA:MP, несмотря на работу с памятью.

    [​IMG]

    Natives:
    native PC_Init(bool:is_gamemode);
    native PC_RegAlias(const cmd[], const alias[], ...);
    native PC_SetFlags(const cmd[], flags);
    native PC_GetFlags(const cmd[], &flags);
    native PC_EmulateCommand(playerid, const cmdtext[]);
    native PC_RenameCommand(const name[], const newname[]);
    native PC_DeleteCommand(const name[]);
    Callbacks:
    
    forward OnPlayerCommandReceived(playerid, cmd[], params[], flags); // calls before a command
    forward OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags); // calls after a command
    
    Установка:
    Распакуйте "pawncmd.zip" в папку вашего сервера. Отредактируйте"server.cfg":

    - Windows
    plugins pawncmd
    - Linux
    plugins pawncmd.so
    Пример команды:
    #include <Pawn.CMD>
    
    cmd:help(playerid, params[]) // к тому же возможно использовать CMD и COMMAND
    {
    	// код
    	return 1;
    }
    
    Регистрация альтернативных названий (псевдонимов):
    
    #include <Pawn.CMD>
    
    cmd:help(playerid, params[])
    {
    	// код
    	return 1;
    }
    alias:help("commands", "cmds", "menu"); // нечувствительно к регистру
    
    Использование флагов:
    
    #include <Pawn.CMD>
    
    #define ADMIN_CMD   1
    #define VIP_CMD     2
    #define USER_CMD    4
    
    flags:ban(ADMIN_CMD);
    cmd:ban(playerid, params[])
    {
    	// код
    	return 1;
    }
    
    public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
    {
    	if ((flags & ADMIN_CMD) && !pAdmin[playerid])
    		return 0;
    
    	return 1;
    }
    
    Полный пример:
    
    #include <Pawn.CMD>
    
    #define ADMIN_CMD   1
    #define VIP_CMD     2
    #define USER_CMD    4
    
    flags:ban(ADMIN_CMD);
    cmd:ban(playerid, params[])
    {
    	// код
    	return 1;
    }
    alias:ban("block");
    
    public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
    {
    	if ((flags & ADMIN_CMD) && !pAdmin[playerid])
    		return 0;
    
    	return 1;
    }
    
    public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
    {
    	if(result == -1)
    	{
    		SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Unknown command.");
    		return 0;
    	}
    
    	return 1;
    }
    
    Если вы хотите использовать Pawn.CMD в filterscript, вставьте этот define перед include:
    #define FILTERSCRIPT
    Pawn.CMD.inc должен быть подключен после остальных include!

    Changelog:
    1.0:
    - Первый релиз.
    2.0:
    - Теперь плагин полностью совместим с синтаксисом zcmd.
    2.1:
    - Были исправлены баги.
    3.0:
    - Добавлен макрос "callcmd" для вызова команды. Пример: callcmd::ban(playerid, "42");
    - Добавлены нативы: PC_SetFlags, PC_GetFlags, PC_EmulateCommand, PC_RenameCommand, PC_DeleteCommand.
    - Добавлен макрос "isnull" для проверки параметров команды.
    - Удалена запись в консоль о регистрации команды.
    - "cmdtext" был разделен на "cmd" и "params".
    - Потеряна совместимость с синтаксисом zcmd.

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

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

    Source code of the benchmark:
    https://gist.github.com/urShadow/14da06af69232657e017088cf2f23cbe
     
    #1
    Последнее редактирование: 23 июн 2016
    Vovich нравится это.
  2. Vovich

    Проверенный

    Регистрация:
    21.12.14
    Сообщения:
    454
    Лайки:
    161
    Репутация:
    53
    Чем он лучше от того же ZCMD?
     
    #2
  3. kaZax

    kaZax samp.work
    Проверенный

    Регистрация:
    18.03.13
    Сообщения:
    158
    Лайки:
    19
    Репутация:
    26
    Работает непосредственно с памятью. От того и быстрее.
    Функционал шире чем у ZCMD.
     
    #3
  4. kaZax

    kaZax samp.work
    Проверенный

    Регистрация:
    18.03.13
    Сообщения:
    158
    Лайки:
    19
    Репутация:
    26
    Updated.
     
    #4
  5. Sire

    Sire vk.com/sire_lol
    Друг

    Регистрация:
    20.10.14
    Сообщения:
    411
    Лайки:
    267
    Репутация:
    39
    Юзал и буду юзать zcmd, а ту что быстрей эт все ерунда
     
    #5
  6. kraft1k

    kraft1k {$CLEO .cs}
    Проверенный

    Регистрация:
    29.09.14
    Сообщения:
    428
    Лайки:
    97
    Репутация:
    49
    сделай мне читерский сервачок.
     
    #6
  7. Sire

    Sire vk.com/sire_lol
    Друг

    Регистрация:
    20.10.14
    Сообщения:
    411
    Лайки:
    267
    Репутация:
    39
    Ты дастал меня уже!дай мне спокойно жиьб!отвалите!
     
    #7
  8. kraft1k

    kraft1k {$CLEO .cs}
    Проверенный

    Регистрация:
    29.09.14
    Сообщения:
    428
    Лайки:
    97
    Репутация:
    49
    200р отдай падла.
     
    #8
Статус темы:
Закрыта.