Чтобы зарегистрировать новую команду мы используем функцию mp.events.addCommand Она позволяет привязать к указанной команде функцию-обработчик.
commandName - название команды
handlerFunction - функция-обработчик, которая будет вызвана когда кто-то введет эту команду. В эту функцию передаются следующие аргументы:
player - игрок который ввел команду
fullText - массив всех аргументов введенных после команды
[, arg1, arg2, ...] - аргументы введенные после самой команды
Теперь для примера создадим несколько простых команды.
Пример 1 - Команда /me
Пример 2 - Команда /weapon
Команда выдает игроку выбранное оружие с указанным количеством патронов (если не указано, то 1000). Например, /weapon weapon_revolver 500 выдаст 500 патронов пистолета Heavy Revolver.
Также можно отслеживать ввод команд при помощи события playerCommand. Оно срабатывает для команд, которые не были зарегистрированы при помощи mp.events.addCommand.
Пример 3 - Отслеживание ошибочных команд
Пример 4 - Команда /hello
Команда просто выводит в чат игроку фразу "Привет!"
JavaScript:
mp.events.addCommand(commandName, handlerFunction);
handlerFunction - функция-обработчик, которая будет вызвана когда кто-то введет эту команду. В эту функцию передаются следующие аргументы:
Код:
player, fullText [, arg1, arg2, ...]
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("Привет!");
}
});