Что нового

Мануал Создание команд / Работа с командами RAGE:MP

Gregor

Участник
Владелец
R-Коины
395
logo.png
Чтобы зарегистрировать новую команду мы используем функцию mp.events.addCommand Она позволяет привязать к указанной команде функцию-обработчик.

JavaScript:
mp.events.addCommand(commandName, handlerFunction);
commandName - название команды
handlerFunction - функция-обработчик, которая будет вызвана когда кто-то введет эту команду. В эту функцию передаются следующие аргументы:
Код:
player, fullText [, arg1, arg2, ...]
player - игрок который ввел команду
fullText - массив всех аргументов введенных после команды
[, arg1, arg2, ...] - аргументы введенные после самой команды

Теперь для примера создадим несколько простых команды.

Пример 1 - Команда /me
JavaScript:
mp.events.addCommand("me", (player, message) => {
    mp.players.broadcast(`* ${player.name}: ${message}`);
});

Пример 2 - Команда /weapon
Команда выдает игроку выбранное оружие с указанным количеством патронов (если не указано, то 1000). Например, /weapon weapon_revolver 500 выдаст 500 патронов пистолета Heavy Revolver.
JavaScript:
mp.events.addCommand("weapon", (player, fullText, weapon, ammo) => {
    var weaponHash = mp.joaat(weapon);

    player.giveWeapon(weaponHash, parseInt(ammo) || 10000);

});


Также можно отслеживать ввод команд при помощи события playerCommand. Оно срабатывает для команд, которые не были зарегистрированы при помощи mp.events.addCommand.


Пример 3 - Отслеживание ошибочных команд
JavaScript:
mp.events.add('playerCommand', (player, command) => {     
    player.outputChatBox(`${command} не правильная команда. Введите /help для помощи.`);
});


Пример 4 - Команда /hello
Команда просто выводит в чат игроку фразу "Привет!"
JavaScript:
mp.events.add("playerCommand", (player, command) => {
    const args = command.split(/[ ]+/); // получаем список аргументов команды
    const commandName = args.splice(0, 1)[0]; // получаем название команды
      
    if (commandName === "hello") {
        player.outputChatBox("Привет!");
    }
});
 
Назад
Верх