Совместимость с RAGE:MP 0.3.7 (oldprerelease) 1.1 (prerelease)
Этот ресурс дополняет объект mp.events новыми функциями на стороне клиента.
Это позволяет создавать команды на клиентской части еще проще, без использования if/else или switch/case в обертке playerCommand.
Установка:
- Распаковать папку из архива по пути в client_packages
- Добавить импорт нового скрипта в client_packages/index.js:
JavaScript:require('mp-commands');
JavaScript:
mp.events.addCommand(name, handlerFn); // Добавить команду с вызовом определенной функции
mp.events.getCommandNames(); // Возвращает все имена созданных команд
mp.events.removeCommand(name); // Удалить определенную команду
mp.events.removeAllCommands(); // Удалить все команды
// Добавлено в версии 2.0
mp.console.addCommand(name, handlerFn); // Добавить консольную команду с вызовом определенной функции
mp.console.getCommandNames(); // Возвращает все имена созданных консольных команд
mp.console.removeCommand(name); // Удалить консольную команду
mp.console.removeAllCommands(); // Удалить все консольные команды
Пример использования:
JavaScript:
// Команда для выдачи денег (условный пример)
mp.events.addCommand("updmoney", function (amount) {
amount = Number(amount);
if (!Number.isInteger(amount)) {
mp.gui.chat.push("Invalid amount.");
return;
}
mp.game.stats.statSetInt(mp.game.joaat("SP0_TOTAL_CASH"), amount, false);
});
// Выводит список всех доступных команд
mp.events.addCommand("cmds", function () {
mp.gui.chat.push(`Commands: ${mp.events.getCommandNames().join(", ")}`);
});
// Телепортация игрока по координатам
mp.events.addCommand("xyz", function (x, y, z) {
x = parseFloat(x);
y = parseFloat(y);
z = parseFloat(z);
mp.players.local.position = new mp.Vector3(x, y, z);
mp.gui.chat.push(`Teleport to X:${x}, Y:${y}, Z:${z}!`);
});
JavaScript:
// Команда для выдачи головного убора
mp.console.addCommand("hat", function (drawable, texture = 0) {
drawable = Number(drawable);
texture = Number(texture);
if (!Number.isInteger(drawable) || !Number.isInteger(texture)) {
mp.console.logError("Invalid drawable/texture.");
return;
}
if (drawable < 0) {
mp.players.local.clearProp(0);
} else {
mp.players.local.setPropIndex(0, drawable, texture, true);
}
});
// Список всех консольных команд
mp.console.addCommand("cmds", function() {
mp.console.logInfo(`Console commands: ${mp.console.getCommandNames().join(", ")}`);
})
Автор: rootcause