32

» WarCraft 3 / Увеличить юнита тригером

Принятый ответ
Нужно куда то записывать текущий размер и каждые скажем 0.20 сек. прибавлять к текущему размеру некое значение, к примеру 0.15, тогда юнит увеличится за секунду в 1.6 раза.
32

» WarCraft 3 / Увеличить юнита тригером

Amer90, ну можно периодически увеличивать по немногу или юзать дамми каст кровожадности (бафф от кровожадности не складывается).
32

» WarCraft 3 / Помогите закончить тригер

Amer90, Ненужно юзать это гомно с вейтами и утечками, это никому не пригодится более того нормально работать не будет...
Еще раз, высоту регулируют как и перемещение таймером, перемещая по координатам.
32

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

uranus, увы эти эффекты требуют баффа для слежения за состоянием юнита, поэтому вряд-ли добавят, тот же кастом стун в мх требует осторожного обращения и отдельного триггера. Бреак это ваще из д2, в варкравте есть silence, advanced silence и усе, у всех абилок в коде указано взаимодействие с сайленсами. Некоторые вещи не только галочки а еще и некий алгоритм который что то там делает, к примеру при смерти юнит получает продвинутое сало на все способности, а так же с него снимаются все баффы (оглушения обязаны быть сняты до смерти) или юнит больше не будет подвергаться соглашениям и слушаться владельца. Лучше бы сделали конструктор баффов с доступам к внутриигровым событиям, но это вряд-ли...
32

» WarCraft 3 / подмена способностей "техникой"

Принятый ответ
Ну не совсем так, но в общем верно. Т.к основа спелла уже не меняется если он выучен, но изучения спелл меняется полностью...
32

» WarCraft 3 / Вызов триггера через строчную переменную...

Doc, уж проще сделать на хт, побыстрее перебора будет.
Потом - есть такая прекрасная штука как ExecuteFunc("Имя функции"), т.к все параметры потока из которой был сделан экзекут наследуются, т.е в вызванной функции будут исправно работать GetTriggerUnit(), GetExpiredTimer() - разумеется если поток запустили соотвествующие события, для юнита какое то событие связанное с юнитом, например применил способность ну с таймером таймер истек, ну и так далее.
32

» WarCraft 3 / ubersplat

Картинка на земле, анимированая картинка на земле, вспомни столб огня у чародея крови, на земле кратер - это уберсплат. То же самое трещены после громовой поступи, их довольно много.
32

» WarCraft 3 / static/stub

Принятый ответ
Это же тип метода (внутри стрктруной функции которая имеет доступ к this), отичается вроде наследованием, типа в разных структурах может быть один и тот же метод. в общем блаж, т.к в jass это все фикция можно забить.
На хайве об этом написано ссылка
32

» WarCraft 3 / Пример обертки для group

Принятый ответ
Эмм зачем для групп еще и структуры? Они сами по себе структуры типа unit с счетчиком и всем чем нужно, если вв хотите сделать аналог на структурах - забейте, это небудет быстрее нативки.
Перебирать группы можно через ForGroup...
32

» WarCraft 3 / Переключение атаки через улучшение.

Extremator, атаки изначально не должно быть + цели основной и второй атаки должны быть взаимоисключающими. Так что думаю не вариант
32

» WarCraft 3 / Как сделать полный разбор/декомпиляцию карты?

Какой такой программой? В редакторе чтобы карта открывалась юзают депротекторы, увы все раз и все не получится. Потребуются собственные познания по устройству карты и реализации в ней тех или иных вещей.
32

» WarCraft 3 / Хак на память Warcraft3

Она берет адресс абилки у юнита, т.е GetUnitAbility( unit, abilid) вернет число, смотрим что оно выше 1, тогда проверяем этой функцией в кд ли абилка, отмечу что данная функция возвращает буль а не кол-во сек. до конца кулдауна, если вам нужно время оставшегося до готовности абилки, есть другая функция GetAbilityCurrentCooldown или как то так.
А кстати есть новый мх на 1.28+
Разбираем его принципы работы...
32

» WarCraft 3 / Кастом гуи и прочие говно функци UMSWE

Не я код целиком уже вытащил док, прост вместо эироглифов в JASS craft крикозябры, немогу перевести гугл переводчиком + хотелось чтобы все было в vjass виде, есть идеи как убрать несовместимость для обычного JNGP?
32

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

ZlaYa1000, оно самое, осталось разобрать все и перевести иэроглифы на русский язык + сделать открываемым в редакторе.
32

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

Уже создал тему, осталось наладить открываем ость в наших редакторах, есть тест карта с китайским гуи + мемхаком работающим на все версии вара.
32

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

Ребята Китайцы изобрели мемхак на 1.28+, так что близзардов можно послать лесом.
32

» WarCraft 3 / Высота юнита GetUnitZ

Ну этим кодом высоту юнита не найдешь, нужна либо бд либо мемхак, насколько помню готовой функции нет, но нам нужно вот это поле из ро:
Ну у многих оно 60 по дефолту, но так же и много исключений, так что GetLocationZ + значение вот этого поля и молнии будут такие же живые как настоящие, от цепной молнии.
Загруженные файлы
32

» WarCraft 3 / Не работает IsUnitIllusion

Cвот так как я написал, никакого геморроя небудет, почитайте статьи про глобалки и прочее, тогда отпадут все вопросы - зачем?
32

» WarCraft 3 / Не работает IsUnitIllusion

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
// и так для каждый раз для каждого клона.
все легко и просто.
32

» WarCraft 3 / Возможно ли отправить или скачать запрос/файл меморихаком?

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