[INC] rCMD
Очень удобный командный препроцессор.
Для того что бы добавить команду, нам потребуются в основном коллбэки OnFilterScriptInit или OnGameModeInit.
Пример команды с параметрами:
Code
200?’200px’:»+(this.scrollHeight+5)+’px’);»>rCmd:command(playerid, success, randomparam1, Float: randomparam2, stringparam[], …) {
// код
return 1;
}
public OnGameModeInit() {
rCmd_Init(command, «ifs»);
}
Пример команды без параметров:
Code
200?’200px’:»+(this.scrollHeight+5)+’px’);»>rCmd:command(playerid) {
// код
return 1;
}
public OnGameModeInit() {
rCmd_Init(command, «»);
}
Готовый пример:
Code
200?’200px’:»+(this.scrollHeight+5)+’px’);»>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
200?’200px’:»+(this.scrollHeight+5)+’px’);»>forward OnPlayerCommandPerformed(playerid, cmdtext[], success); // Если команда отключена
public OnPlayerCommandReceived(playerid, cmdtext[]) {
if(!strcmp(cmdtext, «/setname», true, strlen(«/setname»))) {
SendClientMessage(playerid, 0xFF0000FF, «<!> Эта команда отключена!»);
return 0;
}
return 1;
}
Code
200?’200px’:»+(this.scrollHeight+5)+’px’);»>public OnPlayerCommandPerformed(playerid, cmdtext[], success) {
if(!success) {
return SendClientMessage(playerid, 0xFF0000FF, «<!> Такая команда отсутствует!»);
}
return 1;
}
Автор: RyDeR