Нужно куда то записывать текущий размер и каждые скажем 0.20 сек. прибавлять к текущему размеру некое значение, к примеру 0.15, тогда юнит увеличится за секунду в 1.6 раза.
Amer90, Ненужно юзать это гомно с вейтами и утечками, это никому не пригодится более того нормально работать не будет...
Еще раз, высоту регулируют как и перемещение таймером, перемещая по координатам.
uranus, увы эти эффекты требуют баффа для слежения за состоянием юнита, поэтому вряд-ли добавят, тот же кастом стун в мх требует осторожного обращения и отдельного триггера. Бреак это ваще из д2, в варкравте есть silence, advanced silence и усе, у всех абилок в коде указано взаимодействие с сайленсами. Некоторые вещи не только галочки а еще и некий алгоритм который что то там делает, к примеру при смерти юнит получает продвинутое сало на все способности, а так же с него снимаются все баффы (оглушения обязаны быть сняты до смерти) или юнит больше не будет подвергаться соглашениям и слушаться владельца. Лучше бы сделали конструктор баффов с доступам к внутриигровым событиям, но это вряд-ли...
Doc, уж проще сделать на хт, побыстрее перебора будет.
Потом - есть такая прекрасная штука как ExecuteFunc("Имя функции"), т.к все параметры потока из которой был сделан экзекут наследуются, т.е в вызванной функции будут исправно работать GetTriggerUnit(), GetExpiredTimer() - разумеется если поток запустили соотвествующие события, для юнита какое то событие связанное с юнитом, например применил способность ну с таймером таймер истек, ну и так далее.
Картинка на земле, анимированая картинка на земле, вспомни столб огня у чародея крови, на земле кратер - это уберсплат. То же самое трещены после громовой поступи, их довольно много.
Это же тип метода (внутри стрктруной функции которая имеет доступ к this), отичается вроде наследованием, типа в разных структурах может быть один и тот же метод. в общем блаж, т.к в jass это все фикция можно забить.
На хайве об этом написано ссылка
Эмм зачем для групп еще и структуры? Они сами по себе структуры типа unit с счетчиком и всем чем нужно, если вв хотите сделать аналог на структурах - забейте, это небудет быстрее нативки.
Перебирать группы можно через ForGroup...
Какой такой программой? В редакторе чтобы карта открывалась юзают депротекторы, увы все раз и все не получится. Потребуются собственные познания по устройству карты и реализации в ней тех или иных вещей.
Она берет адресс абилки у юнита, т.е GetUnitAbility( unit, abilid) вернет число, смотрим что оно выше 1, тогда проверяем этой функцией в кд ли абилка, отмечу что данная функция возвращает буль а не кол-во сек. до конца кулдауна, если вам нужно время оставшегося до готовности абилки, есть другая функция GetAbilityCurrentCooldown или как то так.
А кстати есть новый мх на 1.28+
Не я код целиком уже вытащил док, прост вместо эироглифов в JASS craft крикозябры, немогу перевести гугл переводчиком + хотелось чтобы все было в vjass виде, есть идеи как убрать несовместимость для обычного JNGP?
Ну этим кодом высоту юнита не найдешь, нужна либо бд либо мемхак, насколько помню готовой функции нет, но нам нужно вот это поле из ро:
Ну у многих оно 60 по дефолту, но так же и много исключений, так что GetLocationZ + значение вот этого поля и молнии будут такие же живые как настоящие, от цепной молнии.
function IllusionFilter takes nothing returns boolean
local unit CLONE = GetFilterUnit()
local unit CASTer = LoadUnitHandle( udg_Hash, GetHandleId(GetExpiredTimer()), 2 )
if IsUnitIllusion( CLONE ) == true and IsPlayerAlly( GetOwningPlayer( CLONE ), GetOwningPlayer( CASTer ) ) and GetUnitTypeId( CLONE ) == GetUnitTypeId( CASTer ) then
set CLONE = null
set CASTer = null
return true
else
set CLONE = null
set CASTer = null
return false
endif
endfunction
Вот это чо за рак мозга? Какие еще локалки в фильтре с ифами? Ну с таким не удивительно что не работает.
globals
unit bj_lastFilterUnit = null
unit bj_lastCastedUnit = null
endglobals
function IllusionFilter takes nothing returns boolean
set bj_lastFilterUnit = GetFilterUnit( )
return ( GetUnitState( bj_lastFilterUnit, UNIT_STATE_LIFE ) > 0.405 and IsUnitIllusion( bj_lastFilterUnit ) and IsUnitOwnedByPlayer( bj_lastFilterUnit, bj_groupEnumOwningPlayer ) )
endfunction
Примерно так слабо?
Потом клонов от способностей ищут не так,
function Trig_GetLastCreatedIllusion_Conditions takes nothing returns boolean
return ( IsUnitIllusion( GetSummonedUnit( ) ) )
endfunction
function Trig_GetLastCreatedIllusion_Actions takes nothing returns nothing
set bj_lastCreatedUnit = GetSummonedUnit( )
endfunction
//===========================================================================
function InitTrig_GetLastCreatedIllusion takes nothing returns nothing
set gg_trg_GetLastCreatedIllusion = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_GetLastCreatedIllusion, EVENT_PLAYER_UNIT_SUMMON )
call TriggerAddCondition( gg_trg_GetLastCreatedIllusion, Condition( function Trig_GetLastCreatedIllusion_Conditions ) )
call TriggerAddAction( gg_trg_GetLastCreatedIllusion, function Trig_GetLastCreatedIllusion_Actions )
endfunction
// используется это вот так
call IssueTargetOrder( dummy, "wandofillusion", target )
set clone = bj_lastCreatedUnit
// и так для каждый раз для каждого клона.
DemonoiD,можно, в теме с мх прямо указаны эти функции.
Вот пример:
// source File in mpq, dest File in disk, libname File name without path
function ExportDllFromMpqAndInjectToWarcraft takes string source, string dest returns nothing
call ExportFileFromMpq(source,dest)
call LoadLibrary(dest)
endfunction
Свой длл выгружаем из архива и подключаем к вару.
Там еще очень большое API, список функций есть на хайве, в теме про детект урона ссылка
Я лично ничего из этого не использовал как и многие другие, подробнее по работе этих функций к DracoLich или IseFog
» WarCraft 3 / Увеличить юнита тригером
» WarCraft 3 / Увеличить юнита тригером
» WarCraft 3 / Помогите закончить тригер
Еще раз, высоту регулируют как и перемещение таймером, перемещая по координатам.
» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3
» WarCraft 3 / Вызов триггера через строчную переменную...
» WarCraft 3 / подмена способностей "техникой"
» WarCraft 3 / Вызов триггера через строчную переменную...
Потом - есть такая прекрасная штука как ExecuteFunc("Имя функции"), т.к все параметры потока из которой был сделан экзекут наследуются, т.е в вызванной функции будут исправно работать GetTriggerUnit(), GetExpiredTimer() - разумеется если поток запустили соотвествующие события, для юнита какое то событие связанное с юнитом, например применил способность ну с таймером таймер истек, ну и так далее.
» WarCraft 3 / ubersplat
» WarCraft 3 / Высота юнита GetUnitZ
» WarCraft 3 / static/stub
На хайве об этом написано ссылка
Ред. quq_CCCP
» WarCraft 3 / Пример обертки для group
Перебирать группы можно через ForGroup...
» WarCraft 3 / Возможна ли ядовитая атака по нескольким целям?
» WarCraft 3 / Переключение атаки через улучшение.
» WarCraft 3 / Переключение атаки через улучшение.
» WarCraft 3 / Как сделать полный разбор/декомпиляцию карты?
» WarCraft 3 / Хак на память Warcraft3
А кстати есть новый мх на 1.28+
» WarCraft 3 / Кастом гуи и прочие говно функци UMSWE
» WarCraft 3 / Кастом гуи и прочие говно функци UMSWE
» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3
» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3
» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3
Ред. quq_CCCP
» WarCraft 3 / Высота юнита GetUnitZ
» WarCraft 3 / Не работает IsUnitIllusion
» WarCraft 3 / Не работает IsUnitIllusion
Потом клонов от способностей ищут не так,
» WarCraft 3 / Возможно ли отправить или скачать запрос/файл меморихаком?
Вот пример:
Там еще очень большое API, список функций есть на хайве, в теме про детект урона ссылка
Я лично ничего из этого не использовал как и многие другие, подробнее по работе этих функций к DracoLich или IseFog