Полезное

Мы Вконтакте

Discord канал

#
Пред.
12
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 78
Нужно округлять значения в меньшую сторону. Подскажите какую функцию использовать для этого, че-то найти не могу.

например есть флоат 46.865, надо чтобы округлялось до 46
Аватара пользователя
Администратор
Сообщения: 1581
Floor
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.
Аватара пользователя
Пользователь
Сообщения: 78
Flakky писал(а):
Floor

Округляет в большую сторону :(
хотя в мануале написано что в меньшую. ща бум разбираться где я не прав

нашел ошибку, не в ту функцию вставил Floor и смотрел на другие значения )))

все отлично работает!

Как хорошо что есть Flakky. Спасибо большое!

Когда сделаю игру, подарю тебе отдельный VIP аккаунт ))))))))))
Аватара пользователя
Администратор
Сообщения: 1581
Спасибо)
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.
Аватара пользователя
Пользователь
Сообщения: 78
Бро, подскажи куда копать, или может функция какая есть.

Есть переменная, например 0.2, и надо вернуть правду, когда переменная каждый раз обновляет целое число свое. Например была 0.2, стала 1.5, получили правду, или была 1.5, стала 2.0, получили правду.

я знаю как это можно сделать, например создать 2 переменные и писать в них значения "было" "стало" и потом их сравнивать, но может уже есть готовые решения в движке? вроде это стандартная ситуевина и должно быть решение встроенное ))
Аватара пользователя
Администратор
Сообщения: 1581
vanfunko, не очень понятно, если честно, как это должно работать.
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.
Аватара пользователя
Тех. администратор
Сообщения: 367
vanfunko писал(а):
я знаю как это можно сделать, например создать 2 переменные и писать в них значения "было" "стало" и потом их сравнивать, но может уже есть готовые решения в движке? вроде это стандартная ситуевина и должно быть решение встроенное ))

В сетевой подсистеме есть нечто похожее, но, скорее всего, это не то, что вам нужно. Проще будет реализовать требуемый функционал самостоятельно. Хотя, это всё очень странно, я могу предположить что вы хотите сделать что-то не очень правильное.

PS: можно по-честному запустить спинлок с атомик-проверкой, но это - точно не то, что вам нужно.
Аватара пользователя
Пользователь
Сообщения: 78
Flakky писал(а):
vanfunko, не очень понятно, если честно, как это должно работать.



делаю систему прокачки персонажа. Есть стат Сила, у него значение допустим 1, и каждый раз когда он повышается на целую единицу, с 1 до 2, с 2 до 3, и т.д. должен срабатывать ивент который в свою очередь будет прибавлять другие параметры, например жизни. Так вот Значение силы растет например на 0.1 каждую секунду. И мне надо чтобы когда значение силы получало новое целое свое значение, ивент срабатывал )) Либо Чтобы значение Сила каждый раз давала правду при изменении целого значения.
Аватара пользователя
Пользователь
Сообщения: 18
vanfunko писал(а):
Есть стат Сила, у него значение допустим 1, и каждый раз когда он повышается на целую единицу, с 1 до 2, с 2 до 3, и т.д. должен срабатывать ивент который в свою очередь будет прибавлять другие параметры, например жизни. Так вот Значение силы растет например на 0.1 каждую секунду. И мне надо чтобы когда значение силы получало новое целое свое значение, ивент срабатывал )) Либо Чтобы значение Сила каждый раз давала правду при изменении целого значения.


Можно после каждого изменения "Силы" копировать новое значение во временную переменную, отбрасывать дробную часть и сравнивать с текущим значением "Силы". Таким образом, если они равны, то значит наступило то самое событие ивента :)

Str=1, Temp=floor(Str)=1, Str==Temp > True
Str=1.5, Temp=floor(Str)=1, Str==Temp > False
Str=2, Temp=floor(Str)=2, Str==Temp > True
Аватара пользователя
Пользователь
Сообщения: 78
Elmikitos писал(а):
vanfunko писал(а):
Есть стат Сила, у него значение допустим 1, и каждый раз когда он повышается на целую единицу, с 1 до 2, с 2 до 3, и т.д. должен срабатывать ивент который в свою очередь будет прибавлять другие параметры, например жизни. Так вот Значение силы растет например на 0.1 каждую секунду. И мне надо чтобы когда значение силы получало новое целое свое значение, ивент срабатывал )) Либо Чтобы значение Сила каждый раз давала правду при изменении целого значения.


Можно после каждого изменения "Силы" копировать новое значение во временную переменную, отбрасывать дробную часть и сравнивать с текущим значением "Силы". Таким образом, если они равны, то значит наступило то самое событие ивента :)

Str=1, Temp=floor(Str)=1, Str==Temp > True
Str=1.5, Temp=floor(Str)=1, Str==Temp > False
Str=2, Temp=floor(Str)=2, Str==Temp > True


да все верно, но я думал, что наверное все-таки есть какое-то встроенное решение для такого макроса.

даже переменных не нужно создавать никаких, все реализовал в макросе


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница