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

Проблема setCustomization is not a function

Lertex

Новый участник
27 Июл 2024
47
3
20
Есть клиентский код, однако тот пишет, что setCustomization is not a function


JavaScript:
let CharacterWindow;
var camera;

const LocalPlayer1 = mp.players.local;
var fathers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 42, 43, 44];
var mothers = [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 45];

global.hairIDList = [
    // male
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 30, 31, 32, 33, 34, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85],
    // female
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 31, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91]
];

var validTorsoIDs = [
    // male
    [0, 0, 2, 14, 14, 5, 14, 14, 8, 0, 14, 15, 12],
    // female
    [0, 5, 2, 3, 4, 4, 5, 5, 5, 0]
];

var outClothes = 1;
var pants = 0;
var shoes = 1;
var gender = 1;
var father = 0;
var mother = 21;
var similarity = 0.5;
var skin = 0.5;
var features = [];
for (var i = 0; i < 20; i++) features[i] = 0.0;
var MotherBlend = 0;
var FatherBlend = 0;
var hair = 0;
var hairColor = 0;
var eyeColor = 0;
var appearance = [];
for (var i = 0; i < 11; i++) appearance[i] = 255;


mp.events.add("showCharacter", () =>
{
    mp.gui.cursor.show(true, true);
    camera = mp.cameras.new('default', new mp.Vector3(-75.55048, -819.6527, 326.8687), new mp.Vector3(0, 0, -21.989697), 70);
    camera.setActive(true);
    mp.gui.chat.activate(false);
    mp.game.cam.renderScriptCams(true, false, 0, true, false);
    LocalPlayer1.taskPlayAnim("amb@world_human_guard_patrol@male@base", "base", 8.0, 1, -1, 1, 0.0, false, false, false);
    CharacterWindow = mp.browsers.new("package://web/character/Character/character.html");
});

mp.events.add("characterGender", (value) =>
{
    mp.players.local.model = value === 1 ? mp.game.joaat('mp_m_freemode_01') : mp.game.joaat('mp_f_freemode_01')
});

mp.events.add('editorList', (param, value) => {
    var hairParam = (gender) ? "hairM" : "hairF";
    var browParam = (gender) ? "eyebrowsM" : "eyebrowsF";
    var lvl = parseFloat(value);
    //mp.gui.chat.push(lvl);
    switch (param) {
        case "similar":
            similarity = lvl;
            updateCharacterParents();
            return;
        case "skin":
            skin = lvl;
            updateCharacterParents();
            return;
        case "noseWidth": LocalPlayer1.setFaceFeature(0, lvl); features[0] = lvl; return;
        case "noseHeight": LocalPlayer1.setFaceFeature(1, lvl); features[1] = lvl; return;
        case "noseTipLength": LocalPlayer1.setFaceFeature(2, lvl); features[2] = lvl; return;
        case "noseDepth": LocalPlayer1.setFaceFeature(3, lvl); features[3] = lvl; return;
        case "noseTipHeight": LocalPlayer1.setFaceFeature(4, lvl); features[4] = lvl; return;
        case "noseBroke": LocalPlayer1.setFaceFeature(5, lvl); features[5] = lvl; return;
        case "eyebrowHeight": LocalPlayer1.setFaceFeature(6, lvl); features[6] = lvl; return;
        case "eyebrowDepth": LocalPlayer1.setFaceFeature(7, lvl); features[7] = lvl; return;
        case "cheekboneHeight": LocalPlayer1.setFaceFeature(8, lvl); features[8] = lvl; return;
        case "cheekboneWidth": LocalPlayer1.setFaceFeature(9, lvl); features[9] = lvl; return;
        case "cheekDepth": LocalPlayer1.setFaceFeature(10, lvl); features[10] = lvl; return;
        case "eyeScale": LocalPlayer1.setFaceFeature(11, lvl); features[11] = lvl; return;
        case "lipThickness": LocalPlayer1.setFaceFeature(12, lvl); features[12] = lvl; return;
        case "jawWidth": LocalPlayer1.setFaceFeature(13, lvl); features[13] = lvl; return;
        case "jawShape": LocalPlayer1.setFaceFeature(14, lvl); features[14] = lvl; return;
        case "chinHeight": LocalPlayer1.setFaceFeature(15, lvl); features[15] = lvl; return;
        case "chinDepth": LocalPlayer1.setFaceFeature(16, lvl); features[16] = lvl; return;
        case "chinWidth": LocalPlayer1.setFaceFeature(17, lvl); features[17] = lvl; return;
        case "chinIndent": LocalPlayer1.setFaceFeature(18, lvl); features[18] = lvl; return;
        case "neck": LocalPlayer1.setFaceFeature(19, lvl); features[19] = lvl; return;
        case "father":
            father = fathers[value];
            updateCharacterParents();
            return;
        case "mother":
            mother = mothers[value];
            updateCharacterParents();
            return;
        case `${hairParam}`:
            hair = value;
            updateCharacterHairAndColors();
            return;
        case `${browParam}`:
            appearance[2] = value;
            updateAppearance();
            return;
        case "beard":
            var overlay = (value == 0) ? 255 : value - 1;
            appearance[1] = overlay;
            updateAppearance();
            return;
        case "hairColor":
            hairColor = value;
            updateCharacterHairAndColors();
            return;
        case "eyeColor":
            eyeColor = value;
            updateCharacterHairAndColors();
            return;
    }
});

function updateCharacterParents() {
    LocalPlayer1.setHeadBlendData(
        mother,
        father,
        0,

        mother,
        father,
        0,

        similarity,
        skin,
        0.0,

        true
    );
}

function updateCharacterHairAndColors() {
    let currentGender = (gender) ? 0 : 1;
    // hair
    LocalPlayer1.setComponentVariation(2, hairIDList[currentGender][hair], 0, 0);
    LocalPlayer1.setHairColor(hairColor, 0);

    // appearance colors
    LocalPlayer1.setHeadOverlayColor(2, 1, hairColor, 100); // eyebrow
    LocalPlayer1.setHeadOverlayColor(1, 1, hairColor, 100); // beard
    LocalPlayer1.setHeadOverlayColor(10, 1, hairColor, 100); // chesthair

    // eye color
    LocalPlayer1.setEyeColor(eyeColor);
}

function updateAppearance() {
    for (var i = 0; i < 11; i++) {
        LocalPlayer1.setHeadOverlay(i, appearance[i], 100, 0, 0);
    }
}


//mp.events.add("characterLoad", () => {


//});

mp.events.add("characterSave", () =>
{
    camera.setActive(false);
    mp.gui.chat.activate(true);
    mp.game.cam.renderScriptCams(false, false, 0, false, false);
    mp.gui.cursor.show(false, false);
    mp.game.ui.displayHud(true);
    mp.game.ui.displayRadar(true);
    mp.gui.chat.show(true);

    if (CharacterWindow != null) {
        CharacterWindow.destroy();
        CharacterWindow = null;
    }
    LocalPlayer1.stopAnim("amb@world_human_guard_patrol@male@base", "base", 0.0);
    let currentGender = (gender) ? false : true;

    var appearance_values = [];
    for (var i = 0; i < 11; i++) appearance_values.push({ Value: appearance[i], Opacity: 100 });

    var hair_or_colors = [];
    hair_or_colors.push(hairIDList[gender][hair]);
    hair_or_colors.push(hairColor);
    hair_or_colors.push(0);
    hair_or_colors.push(hairColor);
    hair_or_colors.push(hairColor);
    hair_or_colors.push(eyeColor);
    hair_or_colors.push(0);
    hair_or_colors.push(0);
    hair_or_colors.push(hairColor);
    mp.events.callRemote("CharacterSave", gender, mother, father, similarity, skin, hairColor, hair_or_colors[2], features[0],
    features[1], features[2], features[3], features[4], features[5], features[6], features[7], features[8], features[9], features[10],
    features[11], features[12], features[13], features[14], features[15], features[16], features[17], features[18], features[19]);
    LocalPlayer1.setCustomization(currentGender, mother, father, 0, mother, father, 0, similarity, skin, 0, eyeColor, hairColor, hair_or_colors[2],
        [
            features[0], features[1], features[2], features[3], features[4], features[5], features[6], features[7], features[8], features[9], features[10],
        features[11], features[12], features[13], features[14], features[15], features[16], features[17], features[18], features[19]
        ]
    );
});
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,395
237
100
Кажется, ошибка "setCustomization is not a function" возникает потому, что метод setCustomization не существует для объекта LocalPlayer1. Вместо этого, возможно, вам следует использовать другой метод или проверить правильность имени метода.
 

xtrasupra

Активный участник
FrontEnd developer
Designer
29 Сен 2022
123
40
85
Ну вроде это не существующий метод, можешь попробовать прописать вот так:

JavaScript:
LocalPlayer1.setHeadBlendData(mother, father, 0, mother, father, 0, similarity, skin, 0.0, true);

Вообще вот сам метод, пиши примерно по этому примеру ниже


Сама ошибка вообще из-за того что такого метода как бы нету, там надо по отдельности настраивать: setHeadBlendData – настраивает смешение родителей, setFaceFeature – черты лица, setEyeColor – цвет глаз, setComponentVariation – прическа, setHairColor – волосы

Ошибка когда ты сохраняешь перса (characterSave)

JavaScript:
// Черты лица
for (let i = 0; i < features.length; i++) {
    LocalPlayer1.setFaceFeature(i, features[i]);
}

// Цвет глаз
LocalPlayer1.setEyeColor(eyeColor);

// Прическа и цвет волос
let currentGender = gender ? 0 : 1;
LocalPlayer1.setComponentVariation(2, hairIDList[currentGender][hair], 0, 0);
LocalPlayer1.setHairColor(hairColor, 0);

Примерно так должно выглядеть и ищи всё через вики
 
Реакции: Lertex и XDeveluxe

Lertex

Новый участник
27 Июл 2024
47
3
20
Спасибо большое <3