32

» WarCraft 3 / Memory Hack (отлов урона)

Есть, суть в кондишине для триггера.
/ WARNING!! IT CAN BE USED ONLY IN FIRST CONDITION AT FIRST POSITION
function GJ_GetRealDmg126a takes nothing returns real
	return mI2R(ReadEBP_offset(0x380))
endfunction

// WARNING!! IT CAN BE USED ONLY IN FIRST CONDITION AT FIRST POSITION
function GJ_GetRealDmg127a takes nothing returns real
	return mI2R(ReadEBP_offset(0x400))
endfunction

function GJ_SaveLastDmg126a takes nothing returns boolean
	if GetTriggerEventId()!=EVENT_UNIT_DAMAGED then
		return true
	endif
	
	set GJ_LastDmg = GJ_GetRealDmg126a( )
	
	set GJ_LastAttackType=ReadEBP_offset(0x37C)
	if ReadEBP_offset(0x368)!=0 or ReadEBP_offset(0x378)==0x3F800000 then
		set GJ_LastDamageType=0
	else
		set GJ_LastDamageType=ReadEBP_offset(0x378)
	endif
//	call BJDebugMsg("rewrote with "+R2S(GJ_LastDmg))
	return true
endfunction

function GJ_SaveLastDmg127a takes nothing returns boolean
	if GetTriggerEventId()!=EVENT_UNIT_DAMAGED then
		return true
	endif
	set GJ_LastDmg = GJ_GetRealDmg127a( )
	set GJ_LastAttackType=ReadEBP_offset(0x3B0)
	if ReadEBP_offset(0x3CC)!=0 then
		set GJ_LastDamageType=0
	else
		set GJ_LastDamageType=ReadEBP_offset(0x3F0)
	endif
	return true
endfunction
Там три глоблки, одна кол-во изначального урона, без учета резистов юнита, второе тип урона, третье тип атаки. В переменных хранятся целые числа а не типы, смотрите ConvertDamageType и ConvertAttackТype а так же константы которые они назначают.
32

» WarCraft 3 / Магия крови

Hate, Они типо элита, видимо это перевод "Эльфы крови" понимается довольно буквально, а там подразумевалось что они все потомки высоко рожденных, своего рода аристократия эльфов, как выражение "голубая кровь"
32

» WarCraft 3 / Анимация канала

Hate, ну совсем не сбивают анимации только всякие берсерки да веер ножей. А какой спелл надо, тип цели какой?
32

» WarCraft 3 / Одна функция для всех спелов

Clamp, про доту очень много мифов, в доте часть кода переписывали умные дяденьки, вроде векса (ну не мог фрог такое осилить, да и подчерк явно не его), которые и фиксили самое основное, по мере того как фрог плодил новые костыли и баги, в последсвии фрогу никто нистал помогать и он забросил доту, побежал к валвам.
32

» WarCraft 3 / Одна функция для всех спелов

Все работает исправно, экзекут как и фор.груп (и некоторые болекспры) наследуют параметры потока, в котором их запустили, т.е GetTriggerUnit() или GetExpiredTimer() будут работать исправно.
32

» WarCraft 3 / Одна функция для всех спелов

Nikolay36:
quq_CCCP, давайте вашу карту посмотрю может разберусь...
Брошу в лс.
Steal nerves, в кондишине проверяешь что по этому адресу есть код, в акшене делаешь екзекут.
Ну все просто, у тебя примитивная база данных где каждому ро коду спелла соответствует своя функция, при касте срабатывает триггер и вызывает функцию. Нужны проверки в кондишине чтобы триггер не срабатывал на даммиков, крипов да и вовсе юнитов у которых нет триггерных способностей.
32

» WarCraft 3 / Одна функция для всех спелов

С чего в доте? Там как раз 100500 разных функций и триггеров.
Делается это с помощью хештаблицы и екзекута или ретурн бага на code, не сказать чтобы быстрее но как по мне удобнее.
Могу предоставить свою карту (если вы разберётесь).
32

» WarCraft 3 / Как сделать спелл луч?

Ну либо эффект молнии, либо модель (лазер тинкера в доте), правда у модели длина будет ограничена...
32

» WarCraft 3 / Почему десихронит от GetLocalPlayer()

Надо будет описать, то мы с Личем раскалупали одну абилку:
'Amec' mechanical critter - создает крипа нейтрала, под вашим контролем, вам он кажется своим юнитом но врагам кажется нейтралом, по критеру отключена авто атака, а так же вы можите применять вредные способности в вашего критера, при этом неважно что эти способности недопустимо применять в союзников (хз зачем это сделали).
Можно сделать любого юнита криттером - call WriteMemory( ConvertHandle( unit ) + 0x60 )
32

» WarCraft 3 / Почему десихронит от GetLocalPlayer()

Нечего не пойму, что тебе надо? Создать по юниту для игрока? Ну и создавай по 1 юниту для каждого игрока + вручай им инвиз мины, таким образом игроки друг друга не увидят, что еще нужно?
Зачем алтарь для каждого игрока? Че за глупости, поставить магазин за нейтралов который продает крипов не судьба? Крип с иконкой твоего героя и описанием - "Воскресить моего героя", и ставиш лимит найма 0 когда герой жив, и 1 когда мертрв! При покупке крипа мгновенно его удаляешь и воскрешаешь героя.
Сам алтарь сделай из лагеря наёмных нейтралов.
32

» WarCraft 3 / Анимация канала

Hate, ну мемхаком лич убирал долгое махание руками у смки в доте и у фуриона, хз как. Тебя напрягает именно то что канал заставляет юнита проиграть некую анимацию? Пробуй по завершению каста ставить юниту другую аниму.
32

» WarCraft 3 / Почему десихронит от GetLocalPlayer()

Viktor19, Нееет, нильзя локально менять глобальные параметры, только тексты, цвета и прозрачность, никакой контроль, ты ваще думаешь?
У тебя ты контролишь юнитом, в второго игрока нейтрал? Десинх мгновенно!
Хочешь чтобы юнитов ни видели другие, юзай морф пауков - закопатся, они не видны союзникам.
32

» WarCraft 3 / Почему десихронит от GetLocalPlayer()

Принятый ответ
Блин нельзя скрывать \ показывать локально, десинх 100%.
32

» WarCraft 3 / Анимация канала

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

» WarCraft 3 / Чему равен texttag после его нативного исчезновения?

Принятый ответ
Хендл равен мусору какое то время, потом движок сам решит что с ним делать.
32

» WarCraft 3 / Memory Hack

awesomesk1ll, пока вроде научились коверкать саму миникарту, ну и в мемхаке видел события на пинг по карте, насчет динамической смены текстуры цветной точки на иконку героя хз, но вряд-ли что то мешает.
32

» WarCraft 3 / Создание текстового файла

awesomesk1ll, ну кому то хочется, делайте...
Щяс вам никто не мешает так сделать сейв, хоть в саму карту. Зезула довольно подробно расписал MPQ и сам storm.dll.
DracoL1ch, товарищ же загружает себе новую весрию доты, да и вовсе дллки создает, а тут уже все готовое есть, нужно только вызывать функции, функции редактирования mpq - вот этого точно не хватало в JASS =)
32

» WarCraft 3 / Проблема со способностью

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

» WarCraft 3 / Создание текстового файла

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

» WarCraft 3 / как найти утечки на jass?

AntiMage, карту в студию, ты уже надоел своими вокруг да около, как можно сказать наверняка что нетак, не увидев карту?
32

» WarCraft 3 / Создание текстового файла

awesomesk1ll, storm.dll => open mpq for update, все есть, кто тебе сказал что нету?
Адресс шторма найди, потом вызови функции апдейта архива, они вроде у зезулы описаны, ну и на гитхабе, далее перепаковываешь архив, устанавливаешь атрибуты и сингнатуры (вот эти опции в варовской либе возможно выпелены за ненадобностью, игра только проверяет эти данные но не записывает).