8gabriel8, и что? это Buff data - вести спецэффект и описание баффов, эффекты кое какие поправить, это совершенно не связано со сопособностью.
В ро вы только изменяете параметры способности и описание (+ спецэффекты) её баффа, больше ничего.
Все взаимодействия, что делает, чем рассеиватся чем нет, складыватеся - не складывается, все описано в коде способности, когда она срабатывает (если бафф есть) то она создает особый внутри игровой триггер (не путайте с тем что вы видите в радакторе триггеров) , в котором и есть весь код что должна делать способность, какой у нее ид баффа, показывать или нет иконку в статусе, и так далее.
Это описано внутри движка, для каждой способности что есть в варкравте, нет никакого особого движка способностей, каждая дефолтная способность описана описанна программистом внутри движка по своему, нету никакого шаблона, просто существовала задача - сделать то, то и вот то, и программисты близзард - которые все это делали, каждый делал как мог и как считал нужным.
Daniil18, ну это тот же самый код, его рили выкладывали и давно... А вот для быстрого синха потребуется скорее всего собственная библиотека, будет ли она или нет хз, но судя по тому что народ начел проявлять нарастающий интерес к мемхаку то будет.
Orange_Greenovi, Разумеется нет, иш ты размечталосо - сделать то что не было предусмотрено разработчиками.
Нельзя изменить стандартные способности юнитом как либо, кроме как тех вариантом что предусмотрели разработчики игры. Оглушающие способности будут только оглушать, с этим ничего нельзя поделать, замедлят или накладывать безмолвие они не могут в принципе по своей конструкции.
Так что используем редатор триггеров и пилим себе что хочем, да это не галочки в РО менять, нужно изучать язык сценариев варкравта и думать головой, но зато можно делать то что хочется а не то что есть...
Не надо трахать мозг LocalPlayer с сообщениями, они не синхронизируются,просто выводи сообщение для нужного игрока (GetLocalPlayer() вернет тому игроку на пк которого запущена игра), десинхов не будет, но в реплее ты их не увидишь.
vantuz9719, Никак, выбор рассы происходит до старта карты и в процессе игры не изменяется.
Есть вероятность что такое можно сделать подгрузкой собственной dll, но если вы задаёте такие вопросы - это явно не для вас.
ClotPh, считай каждый раз когда по юнит начинает атаку, запускается список ссылок, который и дергает триггеры. Событий огромное множество, близарды почти нехрена для jass и не реализовали, в самом движке гораздо больше прибабахов.
Оказывается все аое спеллы юзают UnitDamageTarget но они могут передавать ей фильр, группу... А мы нет, поэтому это почти юзлесс функция которая дамажит всех.
Тут все дело в том, что такое событие - это охиреть как удобно для мили юнитов, т.е событие - Юнит успешно завершил атаку, позволит больше не трахать себе мозг всякими детектами урона и изи делать пассивки на подобии башей, орбов. Но это будет выглядеть не так:
call TriggerRegisterUnitEvent( trig, unit, EVENT_UNIT_ATTACK_FINISH )
А скорее вот так:
local integer pUnitDamageHandler = pUnitVtable+0x120
local integer oldprotection = ChangeOffsetProtection(pUnitDamageHandler,4,0x40)
set Memory[pReservedMemoryForDamageHandler/4+0]=0xB890C08B
set Memory[pReservedMemoryForDamageHandler/4+1]=pDamageTarget
set Memory[pReservedMemoryForDamageHandler/4+2]=0xB8900889
set Memory[pReservedMemoryForDamageHandler/4+3]=pDamageEspData
set Memory[pReservedMemoryForDamageHandler/4+4]=0x68602089
set Memory[pReservedMemoryForDamageHandler/4+5]=pTriggerHandle
set Memory[pReservedMemoryForDamageHandler/4+6]=0xB890C08B
set Memory[pReservedMemoryForDamageHandler/4+7]=pTriggerExecute
set Memory[pReservedMemoryForDamageHandler/4+8]=0xC483D0FF
set Memory[pReservedMemoryForDamageHandler/4+9]=0xB8906104
set Memory[pReservedMemoryForDamageHandler/4+10]=pRealUnitDamageHandler
set Memory[pReservedMemoryForDamageHandler/4+11]=0xCCCCE0FF
//call BJDebugMsg(Int2Hex(pReservedMemoryForDamageHandler))
call WMem(pUnitDamageHandler,pReservedMemoryForDamageHandler)
set oldprotection = ChangeOffsetProtection(pUnitDamageHandler,4,oldprotection)
Код который бы брал хендл юнита и триггера и оставлял бы код на на этом внутреннем событии - Юнит успешно завершил атаку, который бы просто при срабатывании события запускал триггер и записывал в глобальные переменные необходимые данные...
Но увы где, что, как - еще не опубликовали. Ждемс...
Diaboliko, не там бьудет бага, дело в том что каст - создать скелета удаляет труп (точнее хайдит), хотя и не создаст скелета если в настройках способности указать - "кол-во призванных = 0", но это может аукнутся если юнит 1-2 (какой-нить минотавр с дикой атакой), а дефолтная гальванизация его не оживит. Для этого нужно пользоваться триггерами, как хорошо что способность - поднять скелета, является способностью требующей цель юнита (да знаю что она мгновенная, нужно всеголишь нажать на кнопку, указывать труп ненужно), GetSpellTargetUnit - вернет труп на которого применялась способность, ну а дальше все просто.
ClotPh, сплешь есть только у дракон кнайта, при промахе удар со сплешем наносит 50% урона по цели, накладывая на неё эффекты.
Все остальное клиф атака, что даёт баттл фьюри или пассивка свена, бафф магнуса. ПО цели вы будите промахиваться исправно, не нанося урона.
Motherde, Там несколько геморойно, сама ловушка это декорация.
Нужно создать область на земле в размер ловушки, и триггер.
Ну при инициализации заставы все ловушки на карте проиграть анимацию смерти, так будет гарантия что ловушка не будет срабатывать когда не надо (визуальный эффект).
Триггер с событием время прошло, периодический, раз в сколько сек. ты хочшеь чтобы срабатывала ловушка.
При срабатывании первого триггера, нужно либо наносить урон всем юнитам в области для ловушки...
Ну еще есть более замороченный вариант, так как огненная ловушка горит примерно 2 сек. То нам потребует периодический триггер.
» RenderEdge / [RenderEdge] Memory Hack
» WarCraft 3 / Вопрос про спелл ракетный удар
В ро вы только изменяете параметры способности и описание (+ спецэффекты) её баффа, больше ничего.
Все взаимодействия, что делает, чем рассеиватся чем нет, складыватеся - не складывается, все описано в коде способности, когда она срабатывает (если бафф есть) то она создает особый внутри игровой триггер (не путайте с тем что вы видите в радакторе триггеров) , в котором и есть весь код что должна делать способность, какой у нее ид баффа, показывать или нет иконку в статусе, и так далее.
Это описано внутри движка, для каждой способности что есть в варкравте, нет никакого особого движка способностей, каждая дефолтная способность описана описанна программистом внутри движка по своему, нету никакого шаблона, просто существовала задача - сделать то, то и вот то, и программисты близзард - которые все это делали, каждый делал как мог и как считал нужным.
» WarCraft 3 / Способности и алгоритмы на заказ
» RenderEdge / [RenderEdge] Memory Hack
» RenderEdge / [RenderEdge] Memory Hack
» RenderEdge / [RenderEdge] Memory Hack
Kind Ram, а где тут собственные типы переменных?
» WarCraft 3 / Вопрос про спелл ракетный удар
Нельзя изменить стандартные способности юнитом как либо, кроме как тех вариантом что предусмотрели разработчики игры. Оглушающие способности будут только оглушать, с этим ничего нельзя поделать, замедлят или накладывать безмолвие они не могут в принципе по своей конструкции.
Так что используем редатор триггеров и пилим себе что хочем, да это не галочки в РО менять, нужно изучать язык сценариев варкравта и думать головой, но зато можно делать то что хочется а не то что есть...
» WarCraft 3 / call DisplayTextToPlayer(Player(x), 0, 0, message)?
» WarCraft 3 / незанятый рабочий
» WarCraft 3 / Помощь с массивами переменных
» WarCraft 3 / Блокиратор пути
» WarCraft 3 / Интерфейс
Есть вероятность что такое можно сделать подгрузкой собственной dll, но если вы задаёте такие вопросы - это явно не для вас.
» WarCraft 3 / Канал
» WarCraft 3 / Лив игрока при игре в мултиплеере
» WarCraft 3 / Стены
» WarCraft 3 / Unit атакует?
Оказывается все аое спеллы юзают UnitDamageTarget но они могут передавать ей фильр, группу... А мы нет, поэтому это почти юзлесс функция которая дамажит всех.
» WarCraft 3 / Unit атакует?
Но увы где, что, как - еще не опубликовали. Ждемс...
» WarCraft 3 / Авто-каст
» WarCraft 3 / Авто-каст
» WarCraft 3 / Авто-каст
» Dota 2 / Результаты конкурса героев Dota 2
Все остальное клиф атака, что даёт баттл фьюри или пассивка свена, бафф магнуса. ПО цели вы будите промахиваться исправно, не нанося урона.
» WarCraft 3 / Авто-каст
» WarCraft 3 / Авто-каст
» WarCraft 3 / Как создать ловушку?
Нужно создать область на земле в размер ловушки, и триггер.
Ну при инициализации заставы все ловушки на карте проиграть анимацию смерти, так будет гарантия что ловушка не будет срабатывать когда не надо (визуальный эффект).
Триггер с событием время прошло, периодический, раз в сколько сек. ты хочшеь чтобы срабатывала ловушка.
При срабатывании первого триггера, нужно либо наносить урон всем юнитам в области для ловушки...
Ну еще есть более замороченный вариант, так как огненная ловушка горит примерно 2 сек. То нам потребует периодический триггер.
» Dota 2 / Результаты конкурса героев Dota 2