Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 15.02.2012, 10:54   #1
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию Каст

Пасаны падскажите как вычислить реальное время каста хотябы примерно зная hittime скила и стат меджик спид.

то что придет в пакете не вариант, задача прогнозировать и отсеивать долгие касты. Типа чтоб не кастовать клан рес с снятой пухой или чтоб свм после смерти без нобла денсил а не бафал себе всякие селфы типа на бег/защиту с кастом в 5 сек.
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 15.02.2012, 11:00   #2
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

delphi Код:
if skill.isSkillTimePermanent then //зависит ли от каста перса или статичное значение     skillTime := skill.hitTime   else     skillTime := uCommonFuncs.CalcMAtkSpd(Self, skill, skill.hitTime); //вот тут считаем   if skill.isMagic then // считаем время запуска скила, после каста которое должно пройти чебы скилл заюзался     skillInterruptTime := uCommonFuncs.CalcMAtkSpd(Self, skill,       skill.skillInterruptTime)   else     skillInterruptTime := 0;   animationEndTime := currentTimeMillis + skillTime;   if skill.isMagic and not skill.isSkillTimePermanent and (ChargedSpiritShot > 0)   then //учитываем соски если маг скилл   begin     skillTime := Round(0.7 * skillTime);     skillInterruptTime := Round(0.7 * skillInterruptTime);   end; function calcMAtkSpd(const attacker:TL2Character; const skill:TL2Skill; const skilltime:integer) : Integer; begin   if skill.isMagic then     result:=Round(skillTime * 333 / Math.max(attacker.MAtkSpd, 1))   else     result:=Round(skillTime * 333 / Math.max(attacker.PAtkSpd, 1)); end;
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
За это сообщение supernewbie нажился 3 спасибками от:
Старый 15.02.2012, 18:28   #3
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

все норм получилось

смутил этот момент на тему когда соска заряжена
Код:
skillTime := Round(0.7 * skillTime);
уж не 1.7 ли там? то получитса каст с соской упадет)

Добавлено через 2 минуты
а блин туплю. время каста и должно снижатса =)))
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 15.02.2012 в 18:28. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 10:03.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!