Очень удобный командный препроцессор.
Для того что бы добавить команду, нам потребуются в основном коллбэки OnFilterScriptInit или OnGameModeInit.
Пример команды с параметрами: Code rCmd:command(playerid, success, randomparam1, Float: randomparam2, stringparam[], ...) { // код return 1; }
public OnGameModeInit() { rCmd_Init(command, "ifs"); }
Пример команды без параметров: Code rCmd:command(playerid) { // код return 1; }
public OnGameModeInit() { rCmd_Init(command, ""); }
Готовый пример: Code rCmd:addcar(playerid, success, iModel, Float: fX, Float: fY, Float: fZ, Float: fA, iColor1, iColor2) { if(!success) return SendClientMessage(playerid, 0xFF0000FF, "<> Синтаксис: /addcar [model] [x] [y] [z] [angle] [color1] [color2]"); if(!(400 <= iModel <= 611)) return SendClientMessage(playerid, 0xFF0000FF, "<> Неверный номер модели авто!"); CreateVehicle(iModel, fX, fY, fZ, fA, iColor1, iColor2, 60); SendClientMessage(playerid, 0x00FF00FF, "<> Вы создали авто!"); return 1; }
Коллбэки: Code forward OnPlayerCommandPerformed(playerid, cmdtext[], success); // Если команда отключена public OnPlayerCommandReceived(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/setname", true, strlen("/setname"))) { SendClientMessage(playerid, 0xFF0000FF, "<!> Эта команда отключена!"); return 0; } return 1; } Code public OnPlayerCommandPerformed(playerid, cmdtext[], success) { if(!success) { return SendClientMessage(playerid, 0xFF0000FF, "<!> Такая команда отсутствует!"); } return 1; }
Автор: RyDeR
|