This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
734
280
141
28
Здравствуйте! Сам недавно задался вопросом можно ли добавить свою кастомную модель скина для своего персонажа в RAGE:MP, теперь хочу поделиться решением с вами.

1. Скачиваем понравившийся нам скин (я лично искал тут - https://ru.gta5-mods.com/player/tags/add-on),
в папке должны быть 4 файла (.ydd, .ymt, .yft, .ytd) разархивируйте их на рабочий стол.

Будьте внимательны, наш персонаж должен иметь формат - Add-On!

Скриншот файлов:



2. Для работы с архивами DLC нам понадобится программа - OpenIV.

3. Теперь нам необходимо скачать эти файлы (на выбор одну из ссылок):
1) Yandex Disk
2) Google Drive
3) Резервная ссылка

4. С помощью OpenIV открываем папку где находятся наши DLC - server-files/client_resources/game_resources/dlcpacks, создаём новый dlc.rpf архив и закидываем туда скаченные выше файлы (appdata, setup2, x64), далее создаем там-же в dlc.rpf еще один архив с названием нашего скина и приписываем на конец "_ped" (пример - kratos_ped.rpf).
Внутрь архива - kratos_ped.rpf мы перекидываем те самые 4 файла из первого пункта!

Так должна выглядеть папка в конце:



Ура! Вы почти закончили!

5. Теперь редактируем файлы .xml скаченные выше, заменяем значения "Skin Name" на название своего скина и сохраняем.

Так должны выглядеть файлы после редактирования:



Завершающий этап!

6. Мы загрузили на сервер наш скин и теперь мы должны выдать его себе. Открываем папку - server-files/packages (в данном случае покажу пример на JavaScript серверной стороне, если у вас C# действия будут другие) и создаем файл index.js где объявляем глобальную переменную в которой будем хранить названия наших моделей.
Далее создаём команду - /giveskin в аргументе которой будет id игрока и название скина!

JavaScript:
// Массив со списком скинов
global.skin = [
        'skin_rachel',
        ''
];

// Наша новая команда для выдачи скина
mp.events.addCommand('giveskin', (player, target, skin) => {
    if (skin == undefined || target == undefined) return player.outputChatBox('/giveskin [id] [skin_name]');
    var t = mp.players.at(target);
    if (t == null) return player.notify('Игрок не в сети')
    t.model = mp.joaat(skin);
});

console.log('[CMD] /giveskin has been loaded.')

7. Заходим на сервер вводим команду - "/giveskin 0 skin_rachel" делаем скриншот и отправляем в комменты что получилось
(http://imgur.com/a/f2OSICF)

Надеюсь урок был полезен, если вдруг где-то неправильно высказался, прошу палками не бить.
Буду рад если поясните где что не так.

P.S. Работает на сборках RedAge
 
Последнее редактирование:

DaVilka

Старожил
BackEnd developer
16 Сен 2020
761
276
128

casta142

Новый участник
26 Фев 2022
21
0
13
Мне тоже интересно другое решение, так как первое решение у меня не сработало(
 

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
734
280
141
28
upd

Обновил код. Теперь вы можете выдать определенному игроку скин. Так-же добавил пару проверок.
 

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
734
280
141
28
Если вы про /giveskin -> [ID]
Это id игрока который выдается ему пока он находится на сервере, по умолчанию он начинается с 0

сделано это в команде для того чтобы выдать определенному игроку скин.
 
28 Янв 2023
68
-2
45
Спам
напиши мне в дс есть предложение Sayman#6666
 

kalikmamado

Новый участник
4 Апр 2023
10
1
12
Способ актуальный? Я уже 4 скина попробовал, ни один не отображается :/ (не redage)
Код:
player.mp.model = mp.joaat(model);
Код со стандартными педами из базы рейджа работает (typescript)
rpf в dlc_packs кинул
 

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
734
280
141
28
способ актуальный.

Свяжись со мной. (В подписи дискорд) Я помогу.