SсRealm, код топоров рексара в доте фрога убог, сложен для понимания еще и утечки плодит, никогда не приводите в примерах пуджа, тини, бриста, рексара - максимально ущербно сделаны.
Ну а в чем проблема, обычный кастомный скилл, герой учит 1 способность на основе канала, при касте её запрещают и вручают способность без указания цели. Молот - даммик, ну и триггерное движение, в целом не особо сложная способность. Да в доте там сложнее из за всяких тонкостей механики и взаимодействий с другими способностями из доты.
Огонь - тупо спецэффекты в координатах, отдельным триггером собираем в группу всех вокруг координат огня и группируем под условие (в доте это враг, живой, не маркер (курьер, катапульты, варды и тому подобное), не здание, не екшент но медведь силлабира.) и если такие цели найдены наносим им урон и замедление применяем даммиком к примеру.
EugeAl, 1 триггер и 4события, время вышло, юнит поднял предмет, юнит выложил предмет, юнит продал предмет.
По eventid событие ветвление, и помещение\удаление в группу, при переборе проверка на то жив ли юнит.
TTRaDTT, молча, ищем в папке карты Units файл UnitUI.slk, в нем ищем Nfir - это id файрлорда, который в доте в невермора переделан. 38,39.40 - это RGB раскраски модели, в доте там нули, если выставить 255, 255, 255 - и все обратно в карту упаковать, расцветка станет дефолтной а не как в доте чёрной.
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
Я думаю этот код сразу даёт понять, сингл плеер онли!
Для игр по сети там другой код используется...
STALKERfree, нет эта абилка уникальная, она не морф а призыв, за земляной пандой ездит скрытый и оглушенный герой, бафф следит за попыткой выбрать героя и выбирает земляную панду. На самом деле её можно в стандартном редакторе реализовать, без мемхака и прочего.
Зачем близарды добавили проверки на абилки - хз, есть мнение что из за баланса, в мили картах есть лавка гоблина с книжкой забвения, чтобы нельзя было вызвать юнита и переучится на другие спеллы, добавили такие проверки.
OVOgenez, анрайз уже демонстрировал модель в формате DLL, как она в, памяти игры есть, так её выколупывают, это чтобы обходить всякие защиты на архивы. Китайцы могли пойти дальше и подобным образом модель сделать чтобы без спец инжектора такую модель в карту себе не утановить...
В, целом уже кидали примеры карт с конвертом скрипта в байт-код.
EugeAl, лучше не удалять триггер, а создать отдельный глобальный, как и не юзать экшены, а только TriggerCondition() и EvaluateTrigger().
В любом случае костыли...
nazarpunk, я все не дождался от тебя красивых молний в твоих спеллах, блин ну уже же жевали, сделай крассивый спелл с молниями где они как дефолтные летят в центр модельки из руки кастера а не из ног в ноги, по земле тащются....
Extremator, у бх - они кароче пошли костылем, у виндвалка выключили урон от подлого удара и ждут пока бх кого то начнет атаковать, имея бафф ВВ, после создают еще 1 триггер и ждут пока бх нанесёт любой урон цели или цель сдохнет, или время выйдет 2 сек. Если бх промажет, или дагон тут же после замаха кастанёт - появятся красивые красные циферки и цель получит немного физ урона, который наносят триггерно.
У Ланаии чуть получше, но так же костыльно. Ждут приказа атаки из инвиза, после плодят триггер ждущие урона или отмены приказа, чтобы не абузили, то было такое.
Ой и геморно это, в идеале по флагу и детекту урона с помощью мемхака, там сразу видно что юниту прилетел крит на фикс урон.
Удар из виндвалка это спец атака, типа крита, это что то вроде каста огненной или ядовитой стрелы. Амулет защиты срабатывает на удар из виндвалка, блокируя его - тогда цель ваще урона не получит, и событие урона не сработает.
ScorpioT1000, ну это в UJAPI, с мемхаком в калбеки аргументы передавать можно, че дальше то?
Ни в хт, никуда не записать, code чисто для калбеков и никуда в jass его не запихать. ExecuteFunc не очень в плане производительности, нет конечно в обычных условиях похер, но вот 70000 вызовов наверное кончатся фаталом. Там создается новый поток и вычисляется событие которое его вызвало для того чтобы из потока родителя, в дочерний поток перешли все GetTrigger*** нативки, его можно представить как создание еще 1 триггера, добавления ему указанной функции и подцеплению к событию что вызвало поток родитель.
» WarCraft 3 / Способность Celestial Hammer из Доты 2
» WarCraft 3 / Способность Celestial Hammer из Доты 2
Огонь - тупо спецэффекты в координатах, отдельным триггером собираем в группу всех вокруг координат огня и группируем под условие (в доте это враг, живой, не маркер (курьер, катапульты, варды и тому подобное), не здание, не екшент но медведь силлабира.) и если такие цели найдены наносим им урон и замедление применяем даммиком к примеру.
» WarCraft 3 / Помогите, пожалуйста, с оптимизацией карты
» WarCraft 3 / Проблема с тригерром предмета
» WarCraft 3 / Проблема с тригерром предмета
По eventid событие ветвление, и помещение\удаление в группу, при переборе проверка на то жив ли юнит.
» WarCraft 3 / Как запретить использование предметов?
» WarCraft 3 / Dota 1 | Почему Повелитель Огня черный?
» WarCraft 3 / Dota 1 | Почему Повелитель Огня черный?
Ред. quq_CCCP
» WarCraft 3 / Как отследить какой игрок нажал кнопку?
Для игр по сети там другой код используется...
» WarCraft 3 / Запихнуть "Три Стихии" в руну
» WarCraft 3 / Почему эффект создаётся под персонажем не ровно? World Editor.
» WarCraft 3 / Запихнуть "Три Стихии" в руну
Зачем близарды добавили проверки на абилки - хз, есть мнение что из за баланса, в мили картах есть лавка гоблина с книжкой забвения, чтобы нельзя было вызвать юнита и переучится на другие спеллы, добавили такие проверки.
» WarCraft 3 / Запихнуть "Три Стихии" в руну
» WarCraft 3 / Unlock .mdx MDLBX
В, целом уже кидали примеры карт с конвертом скрипта в байт-код.
» WarRaft / Функции
В любом случае костыли...
» WarCraft 3 / Где можно скачать мод для зума на картах без него?
» WarCraft 3 / Как найти максимальное число в массиве
» WarCraft 3 / Оживший огонь
» WarCraft 3 / Боевая единица атакована
Не трогая 100500 других наработок и рассказов на тему как же детектить атаки?
» WarCraft 3 / Оживший огонь
» WarCraft 3 / бесконечная молния
» WarCraft 3 / Как отследить удар из невидимости?
У Ланаии чуть получше, но так же костыльно. Ждут приказа атаки из инвиза, после плодят триггер ждущие урона или отмены приказа, чтобы не абузили, то было такое.
» WarCraft 3 / Как отследить удар из невидимости?
Удар из виндвалка это спец атака, типа крита, это что то вроде каста огненной или ядовитой стрелы. Амулет защиты срабатывает на удар из виндвалка, блокируя его - тогда цель ваще урона не получит, и событие урона не сработает.
Ред. quq_CCCP
» WarCraft 3 / Как эффективно реализовать полиморфизм? (мемхак+)
Ни в хт, никуда не записать, code чисто для калбеков и никуда в jass его не запихать. ExecuteFunc не очень в плане производительности, нет конечно в обычных условиях похер, но вот 70000 вызовов наверное кончатся фаталом. Там создается новый поток и вычисляется событие которое его вызвало для того чтобы из потока родителя, в дочерний поток перешли все GetTrigger*** нативки, его можно представить как создание еще 1 триггера, добавления ему указанной функции и подцеплению к событию что вызвало поток родитель.