Итак, обозначим шаги решения проблемы
Перейдем к этапам
1. Для поиска конфига нам необходимо найти файлик ClothesComponents.cs
Он находится по следующему пути:
NeptuneEvo/Chars/ClothesComponents.cs
Видим внутри него следующие словари
Собственно эти значения мы и будем изменять. Если коротко - этот конфиг отвечает за то, чтоб показать нам ID последней нативной(гташной) шмотки в конкретной вариации
2. Для поиска новых значений существует 1000 и 1 способ. Но самый простой - поднять голый сервер и прогнать скрипт, который автоматом вам выпишет номера. Так же можете поклянчить у кого либо. Я бы дал свои значения, но они у меня не используются все типы одежды на сервере(типо браслетов и т.п)
Пример скрипта:
3. После того, как мы нашли нужные нам значения, идём в базу и ищем таблицу ClothesBugs . В ней и вставляем нужные нам значения.
Чтобы вам было полегче, скину сюда свои текущие значения, которые решат 95% ваших проблем, починив вам верхнюю одежду и т.п
- Найти конфиг
- Найти новые значения
- Вставить значения
- Наслаждаться и собирать донейшены
Перейдем к этапам
1. Для поиска конфига нам необходимо найти файлик ClothesComponents.cs
Он находится по следующему пути:
NeptuneEvo/Chars/ClothesComponents.cs
Видим внутри него следующие словари
Собственно эти значения мы и будем изменять. Если коротко - этот конфиг отвечает за то, чтоб показать нам ID последней нативной(гташной) шмотки в конкретной вариации
2. Для поиска новых значений существует 1000 и 1 способ. Но самый простой - поднять голый сервер и прогнать скрипт, который автоматом вам выпишет номера. Так же можете поклянчить у кого либо. Я бы дал свои значения, но они у меня не используются все типы одежды на сервере(типо браслетов и т.п)
Пример скрипта:
JavaScript:
function getOffsets() {
let data = {
male: {},
female: {}
}
// set male model first
mp.players.local.model = mp.game.joaat('mp_m_freemode_01')
mp.game.wait(100)
let i = 0;
for (let key in clothesTypes) {
let type = clothesTypes[key]
if (i < 3) data.male[key] = mp.players.local.getNumberOfPropDrawableVariations(type)
else data.male[key] = mp.players.local.getNumberOfDrawableVariations(type)
i++;
}
// set female model
mp.players.local.model = mp.game.joaat('mp_f_freemode_01')
mp.game.wait(100)
i = 0;
for (let key in clothesTypes) {
let type = clothesTypes[key]
if (i < 3) data.female[key] = mp.players.local.getNumberOfPropDrawableVariations(type)
else data.female[key] = mp.players.local.getNumberOfDrawableVariations(type)
i++;
}
mp.console.logInfo("MALE::", true)
for (let key in data.male) {
mp.console.logInfo(`{ ClothesCategory.ClothesType.${key} , ${data.male[key]},`, true)
}
mp.console.logInfo("FEMALE::", true)
for (let key in data.female) {
mp.console.logInfo(`{ ClothesCategory.ClothesType.${key} , ${data.female[key]},`, true)
}
}
const clothesTypes = {
Hats: 0,
Glasses: 1,
Earrings: 2,
Mask: 1,
Accessories: 7,
Top: 11,
Undershirt: 8,
Pants: 4,
Shoes: 6
}
3. После того, как мы нашли нужные нам значения, идём в базу и ищем таблицу ClothesBugs . В ней и вставляем нужные нам значения.
Чтобы вам было полегче, скину сюда свои текущие значения, которые решат 95% ваших проблем, починив вам верхнюю одежду и т.п
C#:
public static Dictionary<Gender.GenderType, Dictionary<ClothesCategory.PartCategory, int>> ItemOffset =
new Dictionary<Gender.GenderType, Dictionary<ClothesCategory.PartCategory, int>>()
{
{
Enums.Gender.GenderType.Male, new Dictionary<ClothesCategory.PartCategory, int>()
{
{ ClothesCategory.PartCategory.Hats, 195 },
{ ClothesCategory.PartCategory.Glasses, 53 },
{ ClothesCategory.PartCategory.Earrings, 42 },
{ ClothesCategory.PartCategory.Mask, 226 },
{ ClothesCategory.PartCategory.Accessories, 175 },
{ ClothesCategory.PartCategory.Top, 495 },
{ ClothesCategory.PartCategory.Undershirt, 199 },
{ ClothesCategory.PartCategory.Pants, 177 },
{ ClothesCategory.PartCategory.Shoes, 135 },
}
},
{
Enums.Gender.GenderType.Female, new Dictionary<ClothesCategory.PartCategory, int>()
{
{ ClothesCategory.PartCategory.Hats, 194 },
{ ClothesCategory.PartCategory.Glasses, 55 },
{ ClothesCategory.PartCategory.Earrings, 23 },
{ ClothesCategory.PartCategory.Mask, 227 },
{ ClothesCategory.PartCategory.Accessories, 145 },
{ ClothesCategory.PartCategory.Top, 534 },
{ ClothesCategory.PartCategory.Undershirt, 245 },
{ ClothesCategory.PartCategory.Pants, 191 },
{ ClothesCategory.PartCategory.Shoes, 142 },
}
}
};