32

» WarCraft 3 / Способность Celestial Hammer из Доты 2

SсRealm, код топоров рексара в доте фрога убог, сложен для понимания еще и утечки плодит, никогда не приводите в примерах пуджа, тини, бриста, рексара - максимально ущербно сделаны.
32

» WarCraft 3 / Способность Celestial Hammer из Доты 2

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

» WarCraft 3 / Помогите, пожалуйста, с оптимизацией карты

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

» WarCraft 3 / Проблема с тригерром предмета

А стандартная аура регена фонтана не канает? Цели установить на только сам воин?
32

» WarCraft 3 / Проблема с тригерром предмета

EugeAl, 1 триггер и 4события, время вышло, юнит поднял предмет, юнит выложил предмет, юнит продал предмет.
По eventid событие ветвление, и помещение\удаление в группу, при переборе проверка на то жив ли юнит.
32

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

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

» WarCraft 3 / Dota 1 | Почему Повелитель Огня черный?

Принятый ответ
TTRaDTT, молча, ищем в папке карты Units файл UnitUI.slk, в нем ищем Nfir - это id файрлорда, который в доте в невермора переделан. 38,39.40 - это RGB раскраски модели, в доте там нули, если выставить 255, 255, 255 - и все обратно в карту упаковать, расцветка станет дефолтной а не как в доте чёрной.
32

» WarCraft 3 / Как отследить какой игрок нажал кнопку?

function GetAsyncKeyState takes integer vk_key_code returns integer
	local integer retval = 0
	local integer nOffset1
	if pGetAsyncKeyState == 0 then
		set pGetAsyncKeyState = GetModuleProcAddress("User32.dll", "GetAsyncKeyState" )
	endif
	if pGetAsyncKeyState != 0 then 
		return CallStdcallWith1Args(pGetAsyncKeyState,vk_key_code)
	endif
	return retval
endfunction
Я думаю этот код сразу даёт понять, сингл плеер онли!
Для игр по сети там другой код используется...
32

» WarCraft 3 / Запихнуть "Три Стихии" в руну

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

» WarCraft 3 / Запихнуть "Три Стихии" в руну

Принятый ответ
Увы не получится,три стихии как и вызов волков проверяет наличие абилки, поэтому она падает если её удалить.
32

» WarCraft 3 / Unlock .mdx MDLBX

OVOgenez, анрайз уже демонстрировал модель в формате DLL, как она в, памяти игры есть, так её выколупывают, это чтобы обходить всякие защиты на архивы. Китайцы могли пойти дальше и подобным образом модель сделать чтобы без спец инжектора такую модель в карту себе не утановить...
В, целом уже кидали примеры карт с конвертом скрипта в байт-код.
32

» WarRaft / Функции

EugeAl, лучше не удалять триггер, а создать отдельный глобальный, как и не юзать экшены, а только TriggerCondition() и EvaluateTrigger().
В любом случае костыли...
32

» WarCraft 3 / Как найти максимальное число в массиве

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

» WarCraft 3 / Боевая единица атакована

Ну как насчет xgm.guru/p/wc3/fervor-criticalstrike-evade ?
Не трогая 100500 других наработок и рассказов на тему как же детектить атаки?
32

» WarCraft 3 / Оживший огонь

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

» WarCraft 3 / бесконечная молния

nazarpunk, я все не дождался от тебя красивых молний в твоих спеллах, блин ну уже же жевали, сделай крассивый спелл с молниями где они как дефолтные летят в центр модельки из руки кастера а не из ног в ноги, по земле тащются....
32

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

Extremator, у бх - они кароче пошли костылем, у виндвалка выключили урон от подлого удара и ждут пока бх кого то начнет атаковать, имея бафф ВВ, после создают еще 1 триггер и ждут пока бх нанесёт любой урон цели или цель сдохнет, или время выйдет 2 сек. Если бх промажет, или дагон тут же после замаха кастанёт - появятся красивые красные циферки и цель получит немного физ урона, который наносят триггерно.
У Ланаии чуть получше, но так же костыльно. Ждут приказа атаки из инвиза, после плодят триггер ждущие урона или отмены приказа, чтобы не абузили, то было такое.
32

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

Ой и геморно это, в идеале по флагу и детекту урона с помощью мемхака, там сразу видно что юниту прилетел крит на фикс урон.
Удар из виндвалка это спец атака, типа крита, это что то вроде каста огненной или ядовитой стрелы. Амулет защиты срабатывает на удар из виндвалка, блокируя его - тогда цель ваще урона не получит, и событие урона не сработает.
32

» WarCraft 3 / Как эффективно реализовать полиморфизм? (мемхак+)

ScorpioT1000, ну это в UJAPI, с мемхаком в калбеки аргументы передавать можно, че дальше то?
Ни в хт, никуда не записать, code чисто для калбеков и никуда в jass его не запихать. ExecuteFunc не очень в плане производительности, нет конечно в обычных условиях похер, но вот 70000 вызовов наверное кончатся фаталом. Там создается новый поток и вычисляется событие которое его вызвало для того чтобы из потока родителя, в дочерний поток перешли все GetTrigger*** нативки, его можно представить как создание еще 1 триггера, добавления ему указанной функции и подцеплению к событию что вызвало поток родитель.