• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Сетка редактирования персонажа

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
Появился вопрос, перед тем как написать сюда, я даже гуглил, но так и не понял. Суть:

При регистрации тебе дается выбор редактирования персонажа, и там есть сетка настройки параметров (см. скрин), как ее реализовать? Я так понимаю что по x y координатам? Но все равно не очень понимаю

изображение_2021-12-29_131851.png
 

UchihaMadara

Старожил
FrontEnd developer
27 Окт 2020
572
212
121
"Знания из школы мне не пригодятся в жизни"
1640776301310.png
 

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
"Знания из школы мне не пригодятся в жизни"
Посмотреть вложение 3460
та я понимаю это, я хотел понять как это интерпретировать в код

В моем понимании берется переменная x и ее значение, грубо говоря это теже ползунки просто наложенные друг на друга
 
Последнее редактирование:

qwerty12355

Участник портала
27 Мар 2021
27
7
28
та я понимаю это, я хотел понять как это интерпретировать в код

В моем понимании берется переменная x и ее значение, грубо говоря это теже ползунки просто наложенные друг на друга
делаешь контейнер и ползунок в контейнере

задаешь х/y интервалы и отслеживаешь движение ползунка
 

Рикардо

Начинающий специалист
15 Сен 2020
147
60
82
та я понимаю это, я хотел понять как это интерпретировать в код

В моем понимании берется переменная x и ее значение, грубо говоря это теже ползунки просто наложенные друг на друга
Держи, думаю помог с вопросом
 
Реакции: qwerty12355

qwerty12355

Участник портала
27 Мар 2021
27
7
28
та я понимаю это, я хотел понять как это интерпретировать в код

В моем понимании берется переменная x и ее значение, грубо говоря это теже ползунки просто наложенные друг на друга
накидал за полчаса реакт компонент
UPD: можно навесить маусдаун хендлер на контейнер, чтоб отслеживать клик на контейнер
 
Последнее редактирование:

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
Сразу тогда вопрос: Вот ты двигаешь полунок, как сделать чтобы внешность менялась сразу же как двигаешь ползунок? Через render?
Пожалуйста, не делай так.
Крайний случай - отправлять при любом изменении ползунка на клиент ивент, в котором он изменит этот параметр.
Еще можно отлавливать только когда игрок отпустил клавишу мыши и значение поменялось "окончательно" - тогда отправлять такой же ивент на клиент.
Render это худшее, что только можно представить для данной опции, потому что render это ивент, который отрабатывает каждый отдельный кадр, вот есть у тебя, например, 60 кадров в секунду игра - зачем тебе 60 раз в секунду обновлять лицо персонажа, ты успеешь его 60 раз в секунду поменять? Очень сомневаюсь.
 

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
Пожалуйста, не делай так.
Крайний случай - отправлять при любом изменении ползунка на клиент ивент, в котором он изменит этот параметр.
Еще можно отлавливать только когда игрок отпустил клавишу мыши и значение поменялось "окончательно" - тогда отправлять такой же ивент на клиент.
Render это худшее, что только можно представить для данной опции.
А спидометр и худ? Я их сделал через рендер, можно ли сделать как нибудь по другому?
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
А спидометр и худ? Я их сделал через рендер, можно ли сделать как нибудь по другому?
Изменения в худе не происходят 60 раз в секунду, поэтому, логичный ответ, проверять худ на изменения внутри рендера - неправильно. Спидометр немного более сложная тема, потому что скорость может меняться много раз в секунду, но я бы всё равно не делал его в рендере, лучше сделать какой-то интервал (таймер), который бы определенное количество раз в секунду проверял скорость, но не рендер. Если у меня 200 кадров в секунду в гта, то рендер отработает 200 раз, зачем? Думаю, что ~10 раз в секунду обновлять спидометр будет достаточно (что уже в 6 раз меньше, чем если использовать рендер при 60 fps), но ты можешь варьировать это временем. setInterval на 100 мс = 10 раз в секунду, на 50 мс = 20 раз в секунду и т.д, подстраивай под себя, смотри как тебе комфортнее.
 

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
Изменения в худе не происходят 60 раз в секунду, поэтому, логичный ответ, проверять худ на изменения внутри рендера - неправильно. Спидометр немного более сложная тема, потому что скорость может меняться много раз в секунду, но я бы всё равно не делал его в рендере, лучше сделать какой-то интервал (таймер), который бы определенное количество раз в секунду проверял скорость, но не рендер. Если у меня 200 кадров в секунду в гта, то рендер отработает 200 раз, зачем? Думаю, что ~10 раз в секунду обновлять спидометр будет достаточно (что уже в 6 раз меньше, чем если использовать рендер при 60 fps), но ты можешь варьировать это временем. setInterval на 100 мс = 10 раз в секунду, на 50 мс = 20 раз в секунду и т.д, подстраивай под себя, смотри как тебе комфортнее.
Т.е. логичнее будет использовать всегда таймер, нежели рендер?
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
Т.е. логичнее будет использовать всегда таймер, нежели рендер?
Если хочешь - тебе никто не запретит использовать рендер, но это плохое решение.
Может ты захочешь что-то, что должно обновляться каждый кадр, тогда, очевидно, рендер - твой выбор, но в противном случае на вряд ли нужно будет обновлять что-то по ~60 раз в секунду, а значит и для такой задачи рендер использовать не нужно.
 

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
Если хочешь - тебе никто не запретит использовать рендер, но это плохое решение.
Может ты захочешь что-то, что должно обновляться каждый кадр, тогда, очевидно, рендер - твой выбор, но в противном случае на вряд ли нужно будет обновлять что-то по ~60 раз в секунду, а значит и для такой задачи рендер использовать не нужно.
Сделал я значит таймер, но очень тупой как по мне, как сделать более грамотно? Меня смущает что он вызывает как бы сам себя. Конечно, все работает, но меня все таки что-то смущает
Код:
mp.events.add('hudRender', (player) => {
    setTimeout(() => {
        mp.gui.chat.push("тест")
        mp.events.call('hudRender')
    }, 1000)
})
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
Сделал я значит таймер, но очень тупой как по мне, как сделать более грамотно? Меня смущает что он вызывает как бы сам себя. Конечно, все работает, но меня все таки что-то смущает
Код:
mp.events.add('hudRender', (player) => {
    setTimeout(() => {
        mp.gui.chat.push("тест")
        mp.events.call('hudRender')
    }, 1000)
})
setTimeout - одноразовый таймер.
Помимо этого чуть-чуть погуглив узнал бы, что есть еще setInterval, который как раз таки является бесконечным (до тех пор, пока не удалишь его сам через clearInterval), запускать его нужно 1 раз.
 
Последнее редактирование: