Близы всегда могут ворваться в сценарий с криками "это была параллельная вселенная, драконы ворвались и пофиксили ход событий" и все. :D Главное - показали первую войну. Правда про саргераса и легион вообще ни слова, что малость смутило. Зато сколько персонажей) Планирую качнуть блю рей и узнать их всех. :D
>> юнита с 0.01 (покуда существуют 100Hz+ мониторы, я буду юзать период 0.01(хотя периодичность легко меняется, т..к. всё в дефайнах))
пока варкрафт перерисовывает экран не чаще 64 раз в секунду, ты просто выкидываешь на воздух процессорные тики ради неизвестно чего. юниты также передвигаются периодами бОльшими, чем 0.01. Согласно моим прикидкам - каждые 1/32 секунды, ибо именно так хранится скорость передвижения.
Но да, изобретать велосипед с таймерами в 2016 - только если тебе нужно что-то экзотическое. практика показывает, что обычно не нужно. Сперва наброски, потом оформление. не наоборт.
Юниты при естесственном передвижении адекватно интерполируются(или, быть может, дело только в анимации). В случае триггерного передвижения - оно выглядит рвано.
А вот про ограничение в фпс не слышал.
Мхм... В JNGP 5d exp2 тоже не вижу :) Однако переменная существует, хотя, согласно гуглу и не работает(все-равно обновляет вижн каждые 0.4 сек., как не крути) Вот, например, пост 2010 года с плейдоты
и ты про утечку переживаешь?
Я переживаю что вц3 в один прекрасный момент не успеет сделать то, что просят. Костыли на то и костыли, что в продакшн они, по-хорошему, не годятся. :)
Ты создаешь и уничтожаешь кучу модификаторов видимости каждые 0.01 сек. Альтернатива с созданием множества регионов - всяко меньше грузит проц. Если думаешь что это не так - задумайся, почему в игровых константах период обновления тумана войны стоит 0.4 сек.
globals
timer periodic
real period = 0.01
group restoreHP
endglobals
function restoreParamatersCallback takes nothing returns nothing
local integer iD = GetHandleId(GetEnumUnit())
local real hpRegen = LoadReal(Hash,iD,HASH_LIFE_REGENERATION_INDEX)
local real manaRegen = LoadReal(Hash,iD,HASH_MANA_REGENERATION_INDEX)
call SetUnitState(GetEnumUnit(),UNIT_STATE_LIFE,GetUnitState(GetEnumUnit(),UNIT_STATE_LIFE)+hpRegen*restorationPeriod)
call SetUnitState(GetEnumUnit(),UNIT_STATE_MANA,GetUnitState(GetEnumUnit(),UNIT_STATE_MANA)+manaRegen*restorationPeriod)
endfunction
function periodicActions takes nothing returns nothing //Тут просто вызовы всего что нужно
call ForGroup(restoreHP,function restoreHPCallback)
endfunction
function Initialization takes nothing returns nothing
set periodic = CreateTimer()
call TimerStart(periodic,period,true,function periodicActions)
endfunction
Система подразумевает что все действия, для которых кто-либо использовал бы таймер, реализуются через один глобальный таймер.
А вообще создать триггер и добавить событие - глобальный таймер истекает, не?
Таймер один. Он может на этом тике двинуть юнита, на следующем - двинуть юнита, ..... через 300 тиков сделать 10 действий и двинуть юнита.
Для таких целей моя "менее упоротая система" подходит, вроде как... Но во второй раз я мог не учесть что-то также как и в первый.
Элсо, твой гуишный вариант настолько не оптимален, как подход в целом, что я готов прожать кнопку NOPE.
До этого все выдвигали свои идеи. Я испытал функции работы с туманом и высказал свой вердикт. Я могу ошибаться, офк. Но без бубна такое не решается.
Повозился - мне кажется, что единственный вариант - создавать несколько мелких регионов и фогмодифаеров к ним. В теории - возможно автоматизировать процесс создания этой кучи регионов, но, в силу неюзабельности массами, это не имеет особого смысла.
Руна, кстати, относительно приятно смотрится в качестве АоЕ-курсора. Мб адаптирует кто с прямыми руками под это дело?)
Быть может, скрин на превьюшке сгодится в качестве адаптации?
Мхм... Триггерное изменение все-равно заставляет юнита вращаться. Вероятно, так работает движок. Однако, при триггерном изменении угла поворота и при значении угла поворота = 1 юнит может кастовать в любую точку сразу после приказа, не дожидаясь должного угла. Возможно на модельках весом 0 байт(пустые, да) поворот происходит мгновенно...
Попробовал также прятать юнита и паузить его. Все равно поворачивается не сразу.
При создании юнита он меняет угол поворота мгновенно, но это вряд ли вариант, т.к. для движка это нагрузка (хотя и вариант, если забить на все).
Если не ошибаюсь, пронзание(1 скилл жука нежити) или как там Impale переведен, при времени в воздухе = 0 изменяет угол поворота юнита на 0 мгновенно. Быть может при помощи каких-нибудь порнографических материалов это знание станет полезным, но я пас :)
Погуглил, проверил, максимальное значение - 1. Больше - приравнивается к 1. При этом значении юнит может сразу начать двигаться, получив приказ двигаться к точке в 180 градусах по отношении к его обзору. При этом разворачивается юнит как раз около секунды. При нуле не разворачивается вовсе.
На GUI без утечек оно, по-видимому, не делается вовсе, поскольку я не нашел аналога GetOrderPointX()
Вариант 1 - Shift+Enter по полю скорости поворота и выставить значение побольше (скорость поворота измеряется в радиан/сек). Траил только на невидимых даммиках, так что не знаю работает ли :D Но, вероятно, да.
Вариант 2 - триггерно
ИИ стандартный, полагаю? Стандартному ИИ вроде как вижн не важен, он и так знает где все находятся, если мне не изменяет память. Как от него не прячься, найдет сразу. Если уж очень хочется - давать юнитов нейтралам и делать их союзным всем ботам. (игроков 16, если не изменяет память). Или давать союзным игрокам, при наличии. По крайней мере не будут мчаться в след за армией. Однако вполне могут быть более качественные решения проблемы, я стандартный ИИ не изучал, не могу быть уверен в офигительности предложенного решения. :)
имхо круче вместо всплывающих окон тоже самое отображать без окна, как в стареньких бобреньких 2D ибо они не напрягают :)
идейка от Mihahail на счет более крутых прыжков мне больше по нраву, хотя можно при этом оставить и shift-джамп... Это, офк, банально(хотя бы даже из-за "No time to explain"
» WarCraft 3 / Альтернативный способ наложения карты путей
Лень качать архив, да.
» WarCraft 3 / Вселенная WarCraft
» WarCraft 3 / Линейно ли хештейбл жрет память?
» WarCraft 3 / Вселенная WarCraft
Ред. Diaboliko
» WarCraft 3 / Создание глобального таймера, к которому привязывается всё
А вот про ограничение в фпс не слышал.
» WarCraft 3 / Создание глобального таймера, к которому привязывается всё
» WarCraft 3 / Видимость и туман войны
» WarCraft 3 / Видимость и туман войны
Ред. Diaboliko
» WarCraft 3 / Создание глобального таймера, к которому привязывается всё
Для таких целей моя "менее упоротая система" подходит, вроде как... Но во второй раз я мог не учесть что-то также как и в первый.
» WarCraft 3 / Видимость и туман войны
До этого все выдвигали свои идеи. Я испытал функции работы с туманом и высказал свой вердикт. Я могу ошибаться, офк. Но без бубна такое не решается.
» WarCraft 3 / Видимость и туман войны
» WarCraft 3 / Включение/выключение атак
Ред. Diaboliko
» Модели из World Of WarCraft / Декорации Пылающего Легиона
Быть может, скрин на превьюшке сгодится в качестве адаптации?
» Блог Кета Голосова / Хандра
» WarCraft 3 / Сообщение из чата
Ред. Diaboliko
» WarCraft 3 / Скорость поворота боевой единицы
Попробовал также прятать юнита и паузить его. Все равно поворачивается не сразу.
При создании юнита он меняет угол поворота мгновенно, но это вряд ли вариант, т.к. для движка это нагрузка (хотя и вариант, если забить на все).
Если не ошибаюсь, пронзание(1 скилл жука нежити) или как там Impale переведен, при времени в воздухе = 0 изменяет угол поворота юнита на 0 мгновенно. Быть может при помощи каких-нибудь порнографических материалов это знание станет полезным, но я пас :)
Ред. Diaboliko
» WarCraft 3 / Скорость поворота боевой единицы
На GUI без утечек оно, по-видимому, не делается вовсе, поскольку я не нашел аналога GetOrderPointX()
» WarCraft 3 / Скорость поворота боевой единицы
» Блог Кета Голосова / Хандра
» WarCraft 3 / Скорость поворота боевой единицы
Вариант 2 - триггерно
» WarCraft 3 / Игнорирование юнитов ИИ
» Color Escape 2 / Привет Ньютон!
» XGM MCRPG Обитель легенды / XGM MCRPG Обитель легенды
» XGM MCRPG Обитель легенды / XGM MCRPG Обитель легенды