[Plugin] Pawn.CMD
|
|
urShadow |
Дата: Вторник, 05.07.2016, 13:08 | Сообщение # 1
|
Новичок
Сообщений: 10
Статус: Offline
|
Pawn.CMD 3.1.1
Описание: Pawn.CMD - новый командный процессор, который работает через плагин. Плагин совместим с любой версией SA:MP, несмотря на работу с памятью.
Natives:
Код native PC_Init(bool:is_gamemode); // internal
native PC_RegAlias(const cmd[], const alias[], ...); native PC_SetFlags(const cmd[], flags); native PC_GetFlags(const cmd[]); native PC_EmulateCommand(playerid, const cmdtext[]); 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_FreeArray(&CmdArray:arr); native PC_GetCommandName(CmdArray:arr, index, dest[], size = sizeof dest);
Callbacks:
Код forward PC_OnInit(); // calls after Pawn.CMD initialization 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
- Linux
Пример команды:
Код #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>
enum(<<=1) { CMD_ADMIN = 1, CMD_MODER, CMD_USER };
flags:ban(CMD_ADMIN); cmd:ban(playerid, params[]) { // code here return 1; }
public OnPlayerCommandReceived(playerid, cmd[], params[], flags) { if ((flags & CMD_ADMIN) && !pAdmin[playerid]) return 0;
return 1; }
Полный пример:
Код #include <Pawn.CMD>
enum(<<=1) { CMD_ADMIN = 1, CMD_MODER, CMD_USER };
flags:ban(CMD_ADMIN); cmd:ban(playerid, params[]) { // code here return 1; } alias:ban("block");
public OnPlayerCommandReceived(playerid, cmd[], params[], flags) { if ((flags & CMD_ADMIN) && !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:
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. 3.1: - Добавлены нативы: PC_CommandExists, PC_GetCommandArray, PC_GetAliasArray, PC_GetArraySize, PC_FreeArray, PC_GetCommandName. - Добавлен макрос "PC_HasFlag". - Добавлен паблик "PC_OnInit". - Изменен натив "PC_GetFlags". - Совместимость с YSI. 3.1.1: - Исправлена ошибка в функции "PC_RenameCommand".
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
github.com/urShadow
Сообщение отредактировал urShadow - Вторник, 05.07.2016, 13:26 |
|
|
|
FryGames[CM] |
Дата: Вторник, 05.07.2016, 13:13 | Сообщение # 2
|
Боец
Сообщений: 130
Статус: Offline
|
Уже было
|
|
|
|
urShadow |
Дата: Вторник, 05.07.2016, 13:22 | Сообщение # 3
|
Новичок
Сообщений: 10
Статус: Offline
|
Цитата FryGames[CM Уже было В отличие от других, эта тема создана автором плагина, и в ней всегда последняя версия.
github.com/urShadow
Сообщение отредактировал urShadow - Вторник, 05.07.2016, 13:24 |
|
|
|
SeX-PrO-AdReNaLiN |
Дата: Вторник, 05.07.2016, 13:59 | Сообщение # 4
|
Авторитет
Сообщений: 1310
Статус: Offline
|
Цитата urShadow ( ) эта тема создана автором плагина
не фейк ли ты?
user N over 99999
|
|
|
|
urShadow |
Дата: Вторник, 05.07.2016, 14:39 | Сообщение # 5
|
Новичок
Сообщений: 10
Статус: Offline
|
Цитата SeX-PrO-AdReNaLiN ( ) не фейк ли ты? Это имеет значение?
github.com/urShadow
|
|
|
|
FryGames[CM] |
Дата: Вторник, 05.07.2016, 15:37 | Сообщение # 6
|
Боец
Сообщений: 130
Статус: Offline
|
Цитата urShadow ( ) и в ней всегда последняя версия. В той теме ссылка на github. Там всегда новая версия
|
|
|
|
urShadow |
Дата: Вторник, 05.07.2016, 16:37 | Сообщение # 7
|
Новичок
Сообщений: 10
Статус: Offline
|
Цитата FryGames[CM] ( ) В той теме ссылка на github. Там всегда новая версия Кончай посты набивать, в той теме описание и список изменений не обновляются.
github.com/urShadow
|
|
|
|
Capone[228] |
Дата: Среда, 06.07.2016, 18:06 | Сообщение # 8
|
Боец
Сообщений: 119
Статус: Offline
|
Спасибо взял
|
|
|
|
Плисс |
Дата: Вторник, 19.07.2016, 20:36 | Сообщение # 9
|
Боец
Сообщений: 70
Статус: Offline
|
Кросс
|
|
|
|