-
Notifications
You must be signed in to change notification settings - Fork 2
Player Commands RU
dev2alert edited this page Jan 26, 2022
·
1 revision
Главная ▸ Команды игрока
Прежде чем начать создавать команды, необходимо инициализировать их работу:
Player.command.init();Создание команды:
Player.command("veh", "nnn", (player, model: number, color1: number, color2: number) => {
const {x, y, z}: Position = player.pos;
const rotation: number = player.angle;
const vehicle: Vehicle = Vehicle.create({x, y, z, model, colors: [color1, color2], rotation});
if(player.isInAnyVehicle())
player.vehicle.destroy();
player.put(vehicle);
});Где veh - это имя команды, nnn - типы параметров.
А третьим аргументом принимается обработчик команды.
Типы параметров:
-
b- Булевой. 0 или 1. -
i- Целое число. Например: 89. -
f- Число с плавающей запятой. Например: 1,23 или 1.23. -
n- Любое число. Например: 89, 1.23. -
s- Строка. Например: Hello, world! -
w- Слово. Например: Hello.
Создание альтернативного имени команде:
Player.command.alt("veh", "vehicle");Где veh - имя команды, которой создается альтернативное имя, а vehicle - это альтернативное имя команды.
Событие, если команда введена некорректно:
Player.on("command-invalid", (player) => {
player.send("[Error]{FFFFFF} Command invalid.", 0xe04010AA);
player.retval = 1;
});Событие, если команды не существует:
Player.on("command-not-found", (player, name) => {
player.send(`[Error]{FFFFFF} Command {dbce12}${name}{FFFFFF} not found.`, 0xe04010AA);
player.retval = 1;
});Событие, если не соответствует типизация параметров команды:
Player.on("command-params-mismatch", (player, cmdList) => {
if(cmdList.desc) {
player.send(cmdList.desc, 0xdbdbdbAA);
player.send();
}
for(const cmd of cmdList)
player.send(`{b3afaf}/${cmd.name} {dbce12}${cmd.params.map(({name, type}) => `<${name}: ${Player.command.paramTypeNames[type]}>`).join(" ")}`);
player.retval = 1;
});Указание описания и имён параметров команды:
Player.command.desc("veh", "Create vehicle.");
Player.command("veh", [["n", "model"], ["n", "color1"], ["n", "color2"]], (player, model: number, color1: number, color2: number) => {
/* <...> */
});Перегрузка команды:
Player.command("health", "", (player) => {
player.health = 100;
});
Player.command("health", [["n", "health"]], (player, health: number) => {
player.health = health;
});- Getting started [RU]
- Configuration [RU]
- Command line interface (CLI) [RU]
- Examples [RU]
- Player commands [RU]
- Keyboard [RU]
- Dialogs [RU]
- Groups [RU]
- Context API [RU]
- AMX API [RU]