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

Проблема Не меняется FaceFeature.

asdassad322323

Новый участник
5 Май 2022
33
1
10
Cef:
JavaScript:
document.getElementById("nose").oninput = function(){
    index = 1
    scale = document.getElementById("nose").value
    mp.trigger('faceFuture',index,scale);
Client-Side:
Код:
mp.events.add('faceFuture',(index,scale) =>
{
    mp.players.local.setFaceFeature(index, scale);
})
nose - это input range, изменяю его(соответственно должна изменяться высота носа)

но она не изменяется.
HTML:
<input type="range" id="nose" class="range" min="-1.0" max="1.0" value="0" step="0.1"></input>
В чём проблема?
 

og sofly

Начинающий специалист
29 Янв 2022
149
60
106
Первое, scale в document.getElementById дефал раньше? Если нет напиши
JavaScript:
 let scale = document.getElementById("nose").value

Второе, думаю будет лучше если ты напишешь так:

JavaScript:
<div oninput="func()" id="nose">123</div>

function func(){
    index = "1"
    let scale = document.getElementById("nose").value
    mp.trigger('faceFuture',index,scale);
}
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,584
211
28
Полагаю, что тема названа неверно. Скорее всего с твоего CEF'а просто не доходит ивент, потому что и не вызывается вовсе. Как решить - написали выше.
 
Последнее редактирование:

asdassad322323

Новый участник
5 Май 2022
33
1
10
Доходит, сделал вывод передаваемых значений в консоль(выводятся правильно), но лицо персонажа не изменяется.

Код:
mp.events.add('faceFuture',(index,scale) =>
{
    mp.players.local.setFaceFeature(index, scale);
    mp.console.logInfo(`index: ${index} scale: ${scale}`, true, true);
})
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,770
1,584
211
28
А если использовать не точку, а запятую? Мысль по типу бредовой, но всё же.
Попробуй другие индексы тоже. В моём коде работает без проблем.
Как вариант так же попробуй, например, раздели на 3 ивента и задай скейлы заранее и примени каждый по отдельности, чтобы понять применяются ли настройки лица или нет. Попробуй все 3 и покажи консоль с лицом, при котором все 3 варианта имеют одинаковый вид.

JavaScript:
mp.events.add('setFace1', () =>
{
    SetPedFaceFeature(-1.0);
});

mp.events.add('setFace2', () =>
{
    SetPedFaceFeature(1.0);
});

mp.events.add('setFace3', () =>
{
    SetPedFaceFeature(0.0);
});

function SetPedFaceFeature(scale)
{
    const localPlayer = mp.players.local;
    for (let i = 0; i < 20; i++) localPlayer.setFaceFeature(i, scale);
    mp.console.logInfo(`face set with scale ${scale}`, true, true);
}
 
Реакции: asdassad322323

asdassad322323

Новый участник
5 Май 2022
33
1
10
Я решил проблему.
В cef умножил значение scale на 10
JavaScript:
document.getElementById("nose").oninput = function(){
    index = 1
    let scale = document.getElementById("nose").value
    mp.trigger('faceFuture',index,scale*10)
    console.log(`index: ${index} scale: ${scale}`)
}
А на клиенте разделил.



JavaScript:
mp.events.add('faceFuture',(index,scale) =>
{
    mp.players.local.setFaceFeature(index, scale/10);
    mp.console.logInfo(`index: ${index} scale: ${scale}`, true, true);
})

Спасибо тем кто пытался помочь

Теперь я могу создавать красивых мужчин еееееееее
 
Последнее редактирование: