32

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

Близзарды сделали способ для ленивых,
call PreloadGenClear()
call PreloadGenStart()
call CreateUnit(Player(0), ваш герой, 0.00, 0.00, 0.00 )
call TriggerSleepAction( 5.00 )
call PreloadGenEnd( "save\\MyData.pld" )
Этот код запишит в файл mydata.pld все что загружает в память движёк при создании этого юнита, далее этот код можно запустить функцией Preloader( путь до *.pld файла ), таким образом мы можем сделать N скриптов погрузки для каждого героя, в тавернах продавать даммиков и при покупке даммиков вызвать этот скрипт, потом через пару секунд создать героя.
Способности можно подгружать таким же способом, только нужно заставить героя выиучить их и пременить, очень быстро (кодом, а не руками) и в файл попадет все что грузил движок.
32

» WarCraft 3 / Вопрос о функциях

Diaboliko, если учитывать что движок ищет переменные методом перебора с конца, то последняя добавленная переменная будет найдена быстрее первой.
32

» WarCraft 3 / Использование SetUnitFlyHeight

Clamp:
щяс есть мемхак можно бы и заменить паузу
Нельзя бы, одним из важных моментов для фрога является независимость доты от патча.
Да с фрогом понятно, ему вовсе пох, ему кастом шипы кто то писал, там код явно не детсадовский конверт гуи в jass фрога, я про тех кто делает карты сейчас и собрался тоже избавится от дефолтных шипов (уж больно это корявый спелл, не стак, делает неуязвимым юнита).
32

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

Принятый ответ
AntiMage, айсфрог больше не фаворит, не?
Создай их на карте изначально, потом удали при старте удали, время загрузки карты увеличится, зато не будет просадок фпс при выборе нового героя и так далее. Способности прелоадят с помощью preload, постепенно, как только появился герой которому нужны эти способности, то потихонечку подгружаются эффекты скиллов, создаются даммики которым по очереди с некоторым интервалов вручают по 1 скиллу героя + так же все вспомогательные дамми способности.
32

» WarCraft 3 / Как сделать систему талантов?(прокачка так же как скилы у героя)

Чтоб в красном плюсе были таланты (типа на 11 лв можно апнуть силу) просто добавляй канал юниту в список доступных геройских скиллов *(Редактор обьектов), где ниче нету кроме описания, триггерно лови выучку канала и вручай герою спеллбук с нужными скиллами.
32

» WarCraft 3 / как без потери обьектов из w3o конвентировать в slk таблицу?

Принятый ответ
Очень просто, на эти скиллы нужно сделать ссылки в коде, что их что то использует, ибо отключить галочку - Удалять не используемые способности, оптимизаторы таким образом удаляют мусор, который не где не прменяется, это как у фрога доте - 400+ юнитов говна, вроде альтернативных ультов феникса, старого сикера, и так далее.
Самый верный способ, создайте на карте всех нужных вам юнитов в некой области из которой они будут удалены при старте игры, легко и просто?
32

» WarCraft 3 / Как сделать атаку юнита по области?

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

» WarCraft 3 / Кулдаун абилки буквально замораживается

Вот она самая
    function StartAbilityCooldown takes unit whichUnit, integer abilityId, real cd returns boolean
        local integer pAbility = 0
        
        if whichUnit == null or GetUnitAbilityLevel( whichUnit, abilityId  ) < 1 or cd == 0.00  then
            return false
        endif
        
        set pAbility = GetUnitAbility(whichUnit, abilityId)
        if pAbility < 1 then
            return false
        else
            if ReadRealMemory(pAbility+0x134)==-1 and ReadRealMemory(pAbility+0x138)==-1 then
                call WriteRealMemory(pAbility+0x134,0)
                call WriteRealMemory(pAbility+0x138,0)
            endif
            set Memory[pReserverdIntArg1 / 4] = SetRealIntoMemory(cd)
            call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
            return IsAbilityOnCooldown( pAbility )
        endif
        return false
    endfunction
32

» WarCraft 3 / Вопросы по функциям

У героя всегда можно узнать количество силы ловкости и разума, как основной так и дополнительной от предметов, функции находятся в разделе герой (ГУИ)
32

» WarCraft 3 / способ оглушить

ClotPh:
quq_CCCP, я мб не так тебя понимаю, человек же вон выше написал, что у него триггерный крит...
Я так понял он хочет сделать триггерный крит, т.к щяс у него дефолт крит с башем и чем то не устраивает...
32

» WarCraft 3 / способ оглушить

Кстати а как гуру собрались отлавливать криты, срабатывание крита просто так не отследить.
32

» WarCraft 3 / способ оглушить

На мемхаке стан довольно геморойный, нет сама функция в 1 строчку, но вы не оберетесь багов, если не будите следить за юнитом, ибо если юнит умрет и это герой, который потом воскреснет то он не будет больше оглашаться хоть ты тресни. Нужно удалять кастом стан до смерти, юнита, но как вы это будите ловить, если у юнита есть крест перерождения (или аналог), то он тоже багнется....
Есть одно событие EVENT_WIDGET_DEATH - которое какраз срабатывает до смерти юнита, при падении хп меньше минимума и если его юзать то какраз можно удалить кастом стан, но это единичное событие, на конкретный виджет, для него придется создавать отдельный триггер, в общем с даммиками проще... Кроме редких исключений где длительность стана за ранее не известна да и этот стан может быть отменён спецефичискими действиями, пример - купол войда из доты, аналог ульта атропса (если че то магические сети не стак, пока висит одна вторую не повешать)..
ssbbssc, требования героя, скилл сделать для героя...
32

» WarCraft 3 / способ оглушить

Принятый ответ
ssbbssc, достаточно указать у молота бурь требование уровня больше 2 и в разрешенные цели добавить Уязвимые-Неуязвимые, то даммик сможет пулять стан в имунных к магии юнитов, с щитами проще пареной репы - даммика создавай за нейтрально пассивных и он не собьет амулет защиты, но нужно указать в допустимых целях союзников.
32

» WarCraft 3 / способ оглушить

Эмм у критов и так есть настройки баша, да и баша есть настройки крита, т.е баши могут множить урон как и криты, криты и баши - способности клоны, с разными ветками действий в коде...
32

» WarCraft 3 / Морф и потом удаление абилы морфа

DracoL1ch, ну рунами у меня удавалось повешать на юнита таймер длительности, наверное не все так однозначно.
32

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

Clamp, клик курсора или что под курсором уже выложили, есть функции..
32

» WarCraft 3 / Лаги из за способности

Ну вопрервых - 100500 спецэффектов не есть гуд, старайтесь юзать 1 обширный спецэффект чем 1000 маленьких, а так же гуи с вейтами и утеками не есть хорошо для таких способностей, удивительно что вовсе работает с таким кодом...
32

» WarCraft 3 / Как сделать герою дальнюю атаку через итем?

Darknessay, ну морфай юнита в другого, самое то 2 шамана, 1 мили, второй ренж с возможностью атаки летающих, суешь руну морфа и шаман стал ренжем, минимум кода для достижения результата, где я кинул линк есть тест мапы, скачай и посмотри.
32

» WarCraft 3 / Как сделать герою дальнюю атаку через итем?

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

» WarCraft 3 / Предмет сфера (атакует здания и летающие войска)

Принятый ответ
Fraps, в настройках сферы есть пунк - Атак включено, это индекс атаки которую она включает (ставим 1 или 0).
Так же в настройках второй атаки героя, пишем допустимые цели - нет, дальность 0, кд 3600 и все, можно юзать любой из способов.
32

» WarCraft 3 / Как сделать герою дальнюю атаку через итем?

Принятый ответ
Морф в другого героя, можно практически без кода, про руны и морфы была статья.
Так же мемхаком можно редактировать параметры атаки.
xgm.guru/p/wc3/powerups вот линк
32

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

ClotPh, нужно пилить быструю синхронизацию данных, но на jass через GameChache скорость синхронизации непредсказуема...
32

» WarCraft 3 / Альтернатива Вкл/выкл триггера

Принятый ответ
Ну глобалки в условия триггера, не? Самое то. Что на гуи что на jass одинакого реализуется, включение и выключение триггеров, особые стреленые воробьи могут добавлять, удалять условие триггеру (jass only) триггер выполнить действия если все его условия вернут true (внезапно у триггера может быть неограниченное кол-во условий (Trigger Condition) ) но в 99% случаев достаточно глобалок для решения этой задачи.