Сделать кастомный аналог, и никак больше, механику работы дефолтных способностей варкравта изменить никак нельзя, пассива ауры возмездия так и будет аурой возмездия, и точка. Собственно опишите подробнее, что вы собрались делать?
Код в студию, приказ способности можно узнать банальным дебагом, просто триггер с событием юнит отдал приказ, и дебаг сообщением с номером приказа, берем юзаем свиток защиты ручками и смотрим.
Varzik, в мемхаке есть, 'Amov' называется, она как и прочие базовые абилки лежит по одному и тому же оффсету от адреса юнита.
/pointer to 'Amov' is located at offset 123 of unit object, Aatk is at offset 122, and AInv is offset 124
//Hides all command buttons and sets the Ward flag. Unit will keep its current order, and player can’t give new orders
//Notice the the unit can’t be ordered with triggers as well. To issue an order you need to temporarily reenable control
function DisableUnitControl takes unit u returns nothing
local integer pUnit = ConvertHandle(u)
local integer flags
local integer Amov
local integer Aatk
local integer AInv
if pUnit > 0 then
set flags = RMem(pUnit+0x248)
set Amov = RMem(pUnit+0x1EC)
set Aatk = RMem(pUnit+0x1E8)
set AInv = RMem(pUnit+0x1F8)
// call echo("disabled on "+GetUnitName(u))
if not IsFlagBitSet(flags,512) then
call WMem(pUnit+0x248, flags + 512)
endif
if Amov >0 then
call WMem(Amov+0x40, RMem(Amov+0x40) + 1)
endif
if Aatk >0 then
call WMem(Aatk+0x40, RMem(Aatk+0x40) + 1)
endif
if AInv >0 then
call WMem(AInv+0x3C, RMem(AInv+0x3C) + 1)
endif
endif
endfunction
В игре одна функция нанесения урона -
UnitDamageTarget - её юзает что jass что остальная игра, все абилки и атаки юнитов. Ты указываешь кто источник урона а кто цель, какого количество этого урона, является урон атакой ближнего боя, или дальнего, а так же тип атаки, тип урона, тип оружия. Если источник урона еще существует в игре на момент смерти другого юнита от этого урона, то убийца будет источник этого урона.
Насчет подсчетов - непонял, а что вы там считаете и как?
Ну вот, тут код без сжатия имен, и все имена функуций и переменных на месте, отлично подъходит для изучения, эта версия доты без правки вряд-ли взлетит на 1.26а, но оно и не нужно, открываем и изучаем ИИ код, как проверяется может ли кастануть скилл юнит, и кастует ли он его в данный момент.
Начин, ну а что ты забыл тогда в чужой карте, меня это убивает, нет ну я ниче незнаю и не понимаю, то точно знаю что сделал бы карту лучше (нет), прежде чем что то собираться делать неплохо бы поучится, а еще есть карты которые изначально пишутся на jass и там привычных вам триггеров нету, и код весьма сложен, тот же пудж варс взять. Поэтому берем и учимся, за все все ваши хотелки никто не сделает, не говоря про то что если у тебя будет уровень чуть выше среднего - тебе не усрется ни одна чужая карта, сам сел и сделал с нуля за недельку, просто посмотрев что и как в игре работает.
Потом будьте оригинальны, сделайте что то свое, подсмотреть некоторые идеи у других, не стыдно, стыдно ломать чужие карты.
Ну только переодическим триггером, который смотрит чем занят конкретно работник в данный момент. Посмотри ИИ скрипты на jass для той же доты, древних версий, поймешь как там отслеживают занят ли юнит выполнением задания, ну и так далее.
У тебя вейты, в том числе длинные, после которых идет создания юнитов и прочее, так вот вейты неточны, это может приводить к дисинхам, когда разница между игроками станет критичной.
Так же из причин - длина звукового файла, почему то GetSoundFileDuration не точный, у разных игроков почему то он дает иногда разную длинну файла, поэтому длинну звука всегда задаем вручную.
Проверяем.
Начин, ну во взломанной карте ты ничего не восстановишь, ты только можешь ручками переиминовать имена функций и переменных согласно твоему мнению исходя из того что они делают в карте. Это обычно не имеет смысла, т.к можно исправить код и так, достаточно только разбиратся что к чему, я так в доте фрога делал модификации на заказ...
Это событие что войска союзника, перешли под твой контроль. Вспомни в кампании где там база готовая пренадлежит компу, как ты к ней подходишь - она твоей становится.
Они стандартные же, есть по умолчанию в каждой новой созданной карте, проигрывает тот игрок у кого не осталось здания или прошло больше (вроде бы 3х) минут с момента последнего добытого ресурса или смерти здания.
Ну морф в земноводного юнита, руной или вручением и удалением морфа медведя друида, где нормальная форма боевой еденицы - этот тот в кого ты хочешь морфнутся, а альтернативная форма боевой единицы - тот кем являлся до морфа. Естественно 2 типа юнита - один из них чисто наземный, второй земноводный.
Ну думаю очевидно что нужно делать детект физического урона, а далее все просто,любые собственные абилки на удар, там и баши и криты и яды...
Тема заезженная , так что гуглим.
» WarCraft 3 / Как сделать пассивную способность активной?
» WarCraft 3 / IssueImmediateOrderById
» WarCraft 3 / Адресса кнопок
» WarCraft 3 / KillUnit
» WarCraft 3 / KillUnit
» WarCraft 3 / Нанесение урона триггерным способом
UnitDamageTarget - её юзает что jass что остальная игра, все абилки и атаки юнитов. Ты указываешь кто источник урона а кто цель, какого количество этого урона, является урон атакой ближнего боя, или дальнего, а так же тип атаки, тип урона, тип оружия. Если источник урона еще существует в игре на момент смерти другого юнита от этого урона, то убийца будет источник этого урона.
Насчет подсчетов - непонял, а что вы там считаете и как?
» WarCraft 3 / Отслеживание статуса выполнения приказа юнита
» WarCraft 3 / Как восстановить триггеры
Потом будьте оригинальны, сделайте что то свое, подсмотреть некоторые идеи у других, не стыдно, стыдно ломать чужие карты.
» WarCraft 3 / Отслеживание статуса выполнения приказа юнита
» WarCraft 3 / Десинхроны в карте
Так же из причин - длина звукового файла, почему то GetSoundFileDuration не точный, у разных игроков почему то он дает иногда разную длинну файла, поэтому длинну звука всегда задаем вручную.
Проверяем.
» WarCraft 3 / Протект
» WarCraft 3 / Кольцо Инженера
» WarCraft 3 / Как восстановить триггеры
» WarCraft 3 / о том как сделать...один скилл в редакторе
» WarCraft 3 / Считывание файла при запуске карты
» WarCraft 3 / Событие "спасен" ("rescued") в редакторе Warcraft 3
» WarCraft 3 / Создать условие победы/поражения в melee
» WarCraft 3 / Изменение типа юнита героя
» WarCraft 3 / Вопрос по модели
» WarCraft 3 / Очередная триггерная способность
Тема заезженная , так что гуглим.
» WarCraft 3 / Удаление текста из журнала сообщений
» WarCraft 3 / Что пришло на замену Гарене?
» WarCraft 3 / Как сделать скилл для предмета?
» WarCraft 3 / Bergi's Nightmare
» WarCraft 3 / Сделать вражеского героя видимым (Волшебный огонь)