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

Помощь с одеждой.

ghostnuller

Мошенник
21 Июл 2025
64
-29
18
Нужна помощь с одеждой, а конкретнее с шапками.
При попытке установить текстурку шапки через серверный метод NAPI.Player.SetPlayerAccessory(player, slot, drawable, texture); больше 255 все модельки просто зацыкливается ничего не отображается правильно, текстурки начинают заного идти с 256 как будто это 0 и так до бессконечности.
При этом через клиентский метод player.setPropIndex(componentId, drawableId, TextureId, attach); всё отображается, в итоге вопрос как быть?
 
Последнее редактирование:

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,887
291
100
Проблема в ограничении сервера на значения texture, обычно максимум 255. Чтобы обойти это, лучше делать изменение текстур на клиенте через player.setComponentVariation, как вы и заметили — это работает корректно. Серверный метод NAPI.Player.SetPlayerAccessory подходит для простых случаев с небольшими ID. Рекомендую синхронизировать изменения через клиентский скрипт, вызываемый с сервера, чтобы корректно менять текстуру шапки без зацикливания.
 

nafanych!

naffanch
BackEnd developer
FrontEnd developer
25 Ноя 2023
345
66
65
сервер не поддерживает больше 255, доставай текстурку и кидай ее в клиент, ставь методом который ты написал и синхронизируй прост эту текстуру между другими игроками
 

ghostnuller

Мошенник
21 Июл 2025
64
-29
18
Я если честно не имею вообще понимая как сделать синхронизацию, пробовал по примеру такого сделать https://rage.mp/files/file/285-synced-player-component-variations/
Но не получается что-то.
 

nafanych!

naffanch
BackEnd developer
FrontEnd developer
25 Ноя 2023
345
66
65
ну просто цикл по игрокам делай) и в цикле кидай самого игрока на которого надо поставить текстуру
 

Vermilion

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,742
1,090
181
35
Ага, а потом удивляются а почему их сборки так тормозят. Больше циклов, больше рендеров. Желательно еще это все дело в интервал оборачивать, что бы на верняка
 

nafanych!

naffanch
BackEnd developer
FrontEnd developer
25 Ноя 2023
345
66
65
ниче не тормозит
 

Vermilion

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,742
1,090
181
35
Это так, если в общих чертах, логику думаю поймешь. И зачем это все в циклы какие то не понятные добавлять?

Server-side
JavaScript:
player.setVariable("clothes", {
    componentId: 1,
    drawableId: 2,
    textureId: 0,
    attach: true,
});

Client-side
JavaScript:
mp.events.add("entityStreamIn", async (target: PlayerMp) => {
    if (target.type !== "player") return;
    const clothes = target.getVariable("clothes");
    if (clothes) {
        target.setPropIndex(
            clothes.componentId,
            clothes.drawableId,
            clothes.textureId,
            clothes.attach,
        );
    }
});
 
Реакции: ounezz77