В теме про мемхак есть. lll_Kirito_lll, сразу забыл сказать, мемхак не для детсадовцев, не знаем jass что такое мемхак, эксперементальный p.jass.exe, no cjass, JNGP, а так же не умеем читать долгие и нудные инструкции то сразу идем лесом, ибо вы не заставите мемхак работать в вашей карте.
Все там работает, откуда эта ахинея? Каждый может хостить, ваще неважно какой варик и где, на офф. серверах нужны тока ключи, при этом насрать какие, с кейгена можно вполне проскользнуть. Нужен открытый порт 6112, что ни имеет уже отношения к происхождению варкравта.
Открываем порт и улыбаемся.
/ 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 а так же константы которые они назначают.
Hate, Они типо элита, видимо это перевод "Эльфы крови" понимается довольно буквально, а там подразумевалось что они все потомки высоко рожденных, своего рода аристократия эльфов, как выражение "голубая кровь"
Clamp, про доту очень много мифов, в доте часть кода переписывали умные дяденьки, вроде векса (ну не мог фрог такое осилить, да и подчерк явно не его), которые и фиксили самое основное, по мере того как фрог плодил новые костыли и баги, в последсвии фрогу никто нистал помогать и он забросил доту, побежал к валвам.
Все работает исправно, экзекут как и фор.груп (и некоторые болекспры) наследуют параметры потока, в котором их запустили, т.е GetTriggerUnit() или GetExpiredTimer() будут работать исправно.
quq_CCCP, давайте вашу карту посмотрю может разберусь...
Брошу в лс. Steal nerves, в кондишине проверяешь что по этому адресу есть код, в акшене делаешь екзекут.
Ну все просто, у тебя примитивная база данных где каждому ро коду спелла соответствует своя функция, при касте срабатывает триггер и вызывает функцию. Нужны проверки в кондишине чтобы триггер не срабатывал на даммиков, крипов да и вовсе юнитов у которых нет триггерных способностей.
С чего в доте? Там как раз 100500 разных функций и триггеров.
Делается это с помощью хештаблицы и екзекута или ретурн бага на code, не сказать чтобы быстрее но как по мне удобнее.
Могу предоставить свою карту (если вы разберётесь).
Надо будет описать, то мы с Личем раскалупали одну абилку:
'Amec' mechanical critter - создает крипа нейтрала, под вашим контролем, вам он кажется своим юнитом но врагам кажется нейтралом, по критеру отключена авто атака, а так же вы можите применять вредные способности в вашего критера, при этом неважно что эти способности недопустимо применять в союзников (хз зачем это сделали).
Можно сделать любого юнита криттером - call WriteMemory( ConvertHandle( unit ) + 0x60 )
Нечего не пойму, что тебе надо? Создать по юниту для игрока? Ну и создавай по 1 юниту для каждого игрока + вручай им инвиз мины, таким образом игроки друг друга не увидят, что еще нужно?
Зачем алтарь для каждого игрока? Че за глупости, поставить магазин за нейтралов который продает крипов не судьба? Крип с иконкой твоего героя и описанием - "Воскресить моего героя", и ставиш лимит найма 0 когда герой жив, и 1 когда мертрв! При покупке крипа мгновенно его удаляешь и воскрешаешь героя.
Сам алтарь сделай из лагеря наёмных нейтралов.
Hate, ну мемхаком лич убирал долгое махание руками у смки в доте и у фуриона, хз как. Тебя напрягает именно то что канал заставляет юнита проиграть некую анимацию? Пробуй по завершению каста ставить юниту другую аниму.
Viktor19, Нееет, нильзя локально менять глобальные параметры, только тексты, цвета и прозрачность, никакой контроль, ты ваще думаешь?
У тебя ты контролишь юнитом, в второго игрока нейтрал? Десинх мгновенно!
Хочешь чтобы юнитов ни видели другие, юзай морф пауков - закопатся, они не видны союзникам.
» WarCraft 3 / Определить рядом ли вода или нет!
» WarCraft 3 / Смена атаки через Мемхак
» WarCraft 3 / Смена атаки через Мемхак
» WarCraft 3 / MapHack для реплея
» WarCraft 3 / Смена атаки через Мемхак
» WarCraft 3 / Memory Hack (отлов урона)
lll_Kirito_lll, сразу забыл сказать, мемхак не для детсадовцев, не знаем jass что такое мемхак, эксперементальный p.jass.exe, no cjass, JNGP, а так же не умеем читать долгие и нудные инструкции то сразу идем лесом, ибо вы не заставите мемхак работать в вашей карте.
» WarCraft 3 / Событие получает предмет
» WarCraft 3 / Событие получает предмет
» WarCraft 3 / Можно ли хостить если купить Warcraft 3 в батле нете?
Открываем порт и улыбаемся.
» WarCraft 3 / MapHack для реплея
Странно, ни у кого не было фатала при закрытии игры?
» WarCraft 3 / Memory Hack (отлов урона)
» WarCraft 3 / Магия крови
» WarCraft 3 / Анимация канала
» WarCraft 3 / Одна функция для всех спелов
» WarCraft 3 / Одна функция для всех спелов
» WarCraft 3 / Одна функция для всех спелов
Steal nerves, в кондишине проверяешь что по этому адресу есть код, в акшене делаешь екзекут.
Ну все просто, у тебя примитивная база данных где каждому ро коду спелла соответствует своя функция, при касте срабатывает триггер и вызывает функцию. Нужны проверки в кондишине чтобы триггер не срабатывал на даммиков, крипов да и вовсе юнитов у которых нет триггерных способностей.
» WarCraft 3 / Одна функция для всех спелов
Делается это с помощью хештаблицы и екзекута или ретурн бага на code, не сказать чтобы быстрее но как по мне удобнее.
Могу предоставить свою карту (если вы разберётесь).
» WarCraft 3 / Как сделать спелл луч?
» WarCraft 3 / Почему десихронит от GetLocalPlayer()
'Amec' mechanical critter - создает крипа нейтрала, под вашим контролем, вам он кажется своим юнитом но врагам кажется нейтралом, по критеру отключена авто атака, а так же вы можите применять вредные способности в вашего критера, при этом неважно что эти способности недопустимо применять в союзников (хз зачем это сделали).
Можно сделать любого юнита криттером - call WriteMemory( ConvertHandle( unit ) + 0x60 )
» WarCraft 3 / Почему десихронит от GetLocalPlayer()
» WarCraft 3 / Почему десихронит от GetLocalPlayer()
Зачем алтарь для каждого игрока? Че за глупости, поставить магазин за нейтралов который продает крипов не судьба? Крип с иконкой твоего героя и описанием - "Воскресить моего героя", и ставиш лимит найма 0 когда герой жив, и 1 когда мертрв! При покупке крипа мгновенно его удаляешь и воскрешаешь героя.
Сам алтарь сделай из лагеря наёмных нейтралов.
» WarCraft 3 / Анимация канала
» WarCraft 3 / Почему десихронит от GetLocalPlayer()
У тебя ты контролишь юнитом, в второго игрока нейтрал? Десинх мгновенно!
Хочешь чтобы юнитов ни видели другие, юзай морф пауков - закопатся, они не видны союзникам.