![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
Как исправить сбой подсчета чисел?
Вот система подсчета
И если передавать значение больше 150, то возвращает далеко не верное значаение.
» code
Если это внутри игровая ошибка, то можно ее как то избежать?
Отредактировано DragonSpirit, 28.03.2013 в 17:02. |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
Есть мнение, что это какая-то ущербная система, что она делает? |
![]() |
#2
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
ScorpioT1000, Высчитывает скорость анимации в зависимости скорости атаки |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Variecs
![]() ![]() offline
Опыт:
2,508Активность: |
а AnSpeed зачем?
|
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
Variecs, Скорость анимации у юнита. Чтоб не было лишний информации я поставил какое уже задано юниту, 0.350 Отредактировано Borodach, 29.03.2013 в 00:19. |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
agentex
![]() offline
Опыт:
34,834Активность: |
лол? ну хз я это делал в одно действие когдато, зачем тут цикл вобще |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
это обычно синусом делается идк
ScorpioT1000 добавил: кароче говоря, напиши мат. формулу, мне лень разгребать, что должно быть |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
agentex:
Так напиши каким ScorpioT1000: Суть в том, что каждое следующие число, будет меньше на 1% предыдущего. 0.350 * 1% = 0.0035, 0.350 - 0.0035 = 0.3465 Я так понимаю что так превышается лимит чисел. Отредактировано Borodach, 29.03.2013 в 08:07. |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
хорошо, спрошу иначе
покажи на нескольких примерах, что ты передаешь в функцию и что хочешь получить |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
ScorpioT1000, AtSpeed - текущая скорость атаки, AnSpeed - Анимация точки повреждения У "Гороного короля" стандартная скорость точки повреждения равна 0.350, а при получении предметов повышающих скорость атаки, это число уменьшается. В начале атаки, я передаю "Анимацию точки повреждения" атакующего и его текущую скорость атаки. Это вычисление должно возвращать через какое время Атакованый получит урон. Но если скорость атаки превышает ~150, то вычисления уже не верные. |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
так тут математика, причем тут циклы я так и не понял) |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
ScorpioT1000, Я в математике не силен, мне в голову не пришла математическая формула. Если не сложно, скажи каким образом мне высчитать. |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
тебе просто надо 3 входных параметра:
и тогда уже можно делать вычисления, простая зависимость
и тогда будет так
она возвращает Анимация точки повреждения, которая действительно сейчас у юнита |
![]() |
#13
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
ScorpioT1000:
То есть юнит с скоростью атаки 150 будет медленнее юнита со скоростью 110? Или я снова туплю и не уловил твою мыслю? |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ScorpioT1000
Работаем
![]() ![]() offline
Опыт: отключен
|
ну например у него изначально скорость анимации 0.35, атаки 100, но в игре она стала 150, ты вызвал эту функцию (100, 0.35, 150), функция отдаст тебе 0.525, т.е. да, скорость быстрее получается
если надо медленней, то вот (делим наоборот):
|
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
ScorpioT1000, Все равно возвращает не те числа которые нужны.
Для примера Горный король с Анимацией точки повреждения = 0.350 При атаке к примеру с перчатками скорости +15%, Анимация точки повреждения уже = 0.302
При атаке к примеру с перчатками скорости +30%, Анимация точки повреждения уже = 0.267
Вот мне нужно узнать формулу, уменьшения времени, Анимации точки повреждения, в зависимости скорости атаки. Может карта, даст тебе больше информации, какая именно формула нужна. Отредактировано Borodach, 29.03.2013 в 21:07. |
![]() |
#16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Variecs
![]() ![]() offline
Опыт:
2,508Активность: |
Borodach, это замечательно, но в функции НЕ ИСПОЛЬЗУЕТСЯ AnSpeed.
|
![]() |
#17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
Variecs, Я просто уже написал значение которое передается как AnSpeed, 0.350 |
![]() |
#18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Variecs
![]() ![]() offline
Опыт:
2,508Активность: |
Borodach, это для теста или для наглядности сделано? Потому что выглядит как типичный индусский код.
Формула записывается гораздо проще: умножаешь AnSpeed на 0,99 в степени AtSpeed, благо для степени есть нативка. Глядишь, и ошибка пропадёт. Да и кода заметно меньше. |
![]() |
#19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Borodach
![]() offline
Опыт:
5,837Активность: |
Variecs, Пробовал умножать на 0.99. Сбоя не дает, но считает с небольшим уклонением (хотя логически одинаковые должны быть) |
![]() |
#20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|