Комментатор выше не упомянул ещё одну утечку, которая создаётся в функции энума, где локальная переменная не обнуляется. Тут действительно только кастомскриптом закидывать юнитов в группу
LastUchiha, структуры очень сильно облегчат тебе работу с кодом. Лучше выгрузить структуру и сразу работать со значениями, нежели выгружать каждое значение, изменять его и снова сохранять.
Вот тебе простой пример:
globals
constant hashtable H = InitHashtable( )
endglobals
struct MyStruct
unit caster
real x
real y
real z
endstruct
function FuncForTimer takes nothing returns nothing
local MyStruct A = LoadInteger( H, GetHandleId( GetExpiredTimer( ) ), 0 )
set A.x = A.x + 5.00
set A.y = A.y + 5.00
set A.z = A.z + 5.00
call SetUnitPositition( A.caster, A.x, A.y )
set A.caster = null
call A.destroy( ) // удаление структуры
call FlushChildHashtable( H, GetHandleId( GetExpiredTimer( ) ) )
call DestroyTimer( GetExpiredTimer( ) )
endfunction
function MyFunc takes nothing returns nothing
local timer t = CreateTimer( )
local MyFunc A = MyFunc.create( ) // создание структуры
set A.caster = GetTriggerUnit( )
set A.x = GetUnitX( A.caster )
set A.y = GetUnitY( A.caster )
set A.z = GetUnitFlyHeight( A.caster )
call SaveInteger( H, GetHandleId( t ), 0, A ) // структура это целочисленная
call TimerStart( t, 0.00, false, function FuncForTimer )
set t = null
endfunction
решил чисто из спеллмейкерского любопытства заценить и открыть карту, и был разочарован, ты бы хоть удосужился плавное сгасание добавить молниям, дополнительные эффекты от нанесения урона, не по земле молнию волочить, а с оффсетом (выше упомянули ImpactZ, но хотя бы для покрытия половины нужд тыкнуть +50/60 к Z, чтобы оторвать от земли)
ну и надеюсь у тебя включена оптимизация кода, иначе очень хреново, что ты юзаешь вспомогательные функции, по сути создал свой арсенал близзардовских бжшек
Unryze, м, а почему работы не поступило? кем является тогда Таренас? он мне в личку писал, я думал это судья и он принял мои работы
противненько конечно вышло, но да ладно
время дебаффа обновляется, сам дебафф плюсуется, по окончанию времени все дебаффы (стаки) спадают
чтобы каждый бафф спадал отдельно - добавь просто дополнительные параметры времени дебаффа и его количества, обновление дебаффа можно тогда удалить
mistwood, два варианта. Первый заблокирован ибо работает криво - не учитывает существующий дебафф. Т.е. если ты не можешь наложить дебафф на юнита, у которого уже есть этот дебафф - то всё оке, если же ты хочешь обновление продолжительности дебаффа повторным кастом - следует юзать второй вариант, отделённый комментарием. Там всё на гуи, так что разберёшься
» WarCraft 3 / Утечка памяти
» WarCraft 3 / Чужие модели
» Unryze Jass API / [UjAPI] Конкурс Наработок 2024
» WarCraft 3 / Какие ошибки допущены в данной способности? Jass.
» WarCraft 3 / Простые огненные способности (визуал)
» WarCraft 3 / [UjAPI] Bahisa Spellpack
» WarCraft 3 / Закрывается JNGP
» WarCraft 3 / Какие ошибки допущены в данной способности? Jass.
» WarCraft 3 / Какие ошибки допущены в данной способности? Jass.
» WarCraft 3 / Какие ошибки допущены в данной способности? Jass.
» WarCraft 3 / Какие ошибки допущены в данной способности? Jass.
» WarCraft 3 / Ошибка "В программе произошел сбой" в созданной карте
» WarCraft 3 / Снижение брони за атаку
» WarCraft 3 / Какие ошибки допущены в данной способности? Jass.
» Unryze Jass API / [UjAPI] Конкурс Наработок 2024
противненько конечно вышло, но да ладно
» WarCraft 3 / Снижение брони за атаку
» WarCraft 3 / Снижение брони за атаку
» WarCraft 3 / Снижение брони за атаку
Ред. rsfghd
» WarCraft 3 / Снижение брони за атаку
чтобы каждый бафф спадал отдельно - добавь просто дополнительные параметры времени дебаффа и его количества, обновление дебаффа можно тогда удалить
» WarCraft 3 / Снижение брони за атаку
» WarCraft 3 / Не работает триггер
» WarCraft 3 / Не работает триггер
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Формула получения exp
Ред. rsfghd
» WarCraft 3 / Как изменить тип перемещения юнита и тип его цели?