Привет, было нечего делать и сделал вполне удобную систему для татуировок для вашего сервера (полностью готовый файл со всем кодом внизу)
Для начала нам нужно создать и записать список доступных татуировок на сервере, я это сделал отдельным файлом
Затем, при входе на сервер, нам нужно определить массив татуировок для игрока:
Далее нужно создать функцию для обновления всех татуировок на персонаже:
Затем сделаем команды для добавление и удаления татуировок:
И вот наша система готова, вы можете её переделать как угодно для своего сервера
Для поиска татуировок есть таблица со всеми татуировками из гта: https://github.com/root-cause/v-tattoos
Использование команды: /addTattoo [Индекс из массива tattoosList]
Если что, весь файл на сервере
Для начала нам нужно создать и записать список доступных татуировок на сервере, я это сделал отдельным файлом
JavaScript:
const tattoosList = [
{
collection: "mpbiker_overlays",
overlayMale: "MP_MP_Biker_Tat_000_M", // Это татуировка на торс персонажа, её не будет видно в футболке
overlayFemale: "MP_MP_Biker_Tat_000_F"
}
]
Затем, при входе на сервер, нам нужно определить массив татуировок для игрока:
JavaScript:
mp.events.add("playerReady", (player) => {
player.tattoos = [];
});
Далее нужно создать функцию для обновления всех татуировок на персонаже:
JavaScript:
const updateTattoos = (player) => {
// Убираем все татуировки с тела
player.clearDecorations();
// Получаем пол персонажа
const characterGender = player.model == mp.joaat("mp_m_freemode_01");
// Добавляем их всех заново по массиву
player.tattoos.forEach((tattooIndex) => {
const tattooData = tattoosList[tattooIndex];
player.setDecoration(mp.joaat(tattooData.collection), mp.joaat(characterGender ? tattooData.overlayMale : tattooData.overlayFemale));
})
};
Затем сделаем команды для добавление и удаления татуировок:
JavaScript:
mp.events.addCommand("addTattoo", (player, index) => {
index = Number(index);
// Проверяем есть ли эта татуировка у персонажа
if (player.tattoos.indexOf(index) >= 0)
return player.outputChatBox("У вас уже есть эта татуировка");
// Добавляем татуировку в массив
player.tattoos.push(index);
// Вызываем функцию для обновление татуировок
updateTattoos(player);
});
mp.events.addCommand("removeTattoo", (player, index) => {
index = Number(index);
const arrayIndex = player.tattoos.indexOf(index);
// Проверяем есть ли эта татуировка у персонажа
if (arrayIndex < 0)
return player.outputChatBox("У вас нет этой татуировки");
// Удаляем татуировку из массива
player.tattoos.splice(arrayIndex, 1);
// Вызываем функцию для обновление татуировок
updateTattoos(player);
});
И вот наша система готова, вы можете её переделать как угодно для своего сервера
Для поиска татуировок есть таблица со всеми татуировками из гта: https://github.com/root-cause/v-tattoos
Использование команды: /addTattoo [Индекс из массива tattoosList]
Если что, весь файл на сервере
JavaScript:
const tattoosList = [
{
collection: "mpbiker_overlays",
overlayMale: "MP_MP_Biker_Tat_000_M",
overlayFemale: "MP_MP_Biker_Tat_000_F"
}
]
mp.events.add("playerReady", (player) => {
player.tattoos = [];
});
const updateTattoos = (player) => {
// Убираем все татуировки с тела
player.clearDecorations();
// Получаем пол персонажа
const characterGender = player.model == mp.joaat("mp_m_freemode_01");
// Добавляем их всех заново по массиву
player.tattoos.forEach((tattooIndex) => {
const tattooData = tattoosList[tattooIndex];
player.setDecoration(mp.joaat(tattooData.collection), mp.joaat(characterGender ? tattooData.overlayMale : tattooData.overlayFemale));
});
};
mp.events.addCommand("addTattoo", (player, index) => {
index = Number(index);
// Проверяем есть ли эта татуировка у персонажа
if (player.tattoos.indexOf(index) >= 0)
return player.outputChatBox("У вас уже есть эта татуировка");
// Добавляем татуировку в массив
player.tattoos.push(index);
// Вызываем функцию для обновление татуировок
updateTattoos(player);
});
mp.events.addCommand("removeTattoo", (player, index) => {
index = Number(index);
const arrayIndex = player.tattoos.indexOf(index);
// Проверяем есть ли эта татуировка у персонажа
if (arrayIndex < 0)
return player.outputChatBox("У вас нет этой татуировки");
// Удаляем татуировку из массива
player.tattoos.splice(arrayIndex, 1);
// Вызываем функцию для обновление татуировок
updateTattoos(player);
});
Последнее редактирование: