32

» WarCraft 3 / Ловим урон с Мемхаком

pro100master, дальше то что?
Нахрена вам там понадобился юнит?
pro100master, Мб я что то не понимаю, что собрались делать то?
32

» WarCraft 3 / Ловим урон с Мемхаком

Ige, зачем вам конвертор? Вы в кондишине триггера или экшине эти данные возьмете, нах вам лезть в DamageHandler?
Когда триггер сработал в условии триггер берешь GetTriggerUnit(), GetEventDamageSource() и так далее, тип урона берешь из глобалок. в глобалки данные пишутся перед срабатыванием условий и действий триггера.
32

» WarCraft 3 / Ловим урон с Мемхаком

Ige, смотрим кат Сам хак
Там сама наработка, это хук на событие внутри движка.
Собственно нам потребуется триггер, функцией InitializeDamageHandler мы лезим в структуру триггерна и ставим коверкаем его чтобы мы могли получать нужные нам данные.
Массив - дота код, рассчитан на то что юнитов получающих урон будет овер дофига как и кол-во инстансов урона, таким образом он гарантирует что при срабатывании 1 триггера, во время его потока, данные полученные с помощью функций не перезапишутся. Т.е представь что ты юзаешь GetTriggerUnit() в потоке триггера, первый раз оно вернет одного юнита, второй раз другое? Тебе оно надо, массив это вроде фикс этого эффекта.
В потоке триггера (в кондишине) ты получаешь всех кого хочешь, а значение урона берешь из глобалок, все ок?
Оффсет это офсет, не трогай чего не понимаешь -
Barrage missiles always have 0x8 == 0x10000000
call BJDebugMsg("Target" + Int2Hex(RMem(pDamageTarget))) адресс цели, не путать с хендлом и прочим говном, это адресс юнита в памяти игры, нужно для работы с адресом а не с юнитом.
call BJDebugMsg(Int2Hex(RMem(RMem(RMem(pDamageEspData)+0x8)+0x0)))source адресс источника урона, тоже самое.
call BJDebugMsg(Int2Hex(RMem(RMem(RMem(pDamageEspData)+0x8)+0x8)))proj or link onto something// адрес куда пишут флаги всякие орбы, или что то еще..

call BJDebugMsg(Int2Hex(RMem(RMem(RMem(pDamageEspData)+0x8)+0xC)))0x101 == ranged, 0x100 == melee адресс в котором хранится значение, 0x101, что означет что урон является уроном дальнего боя (UnitDamageTarget(a,b,100, false, true, null,null,null )), 0x100 урон от ближнего боя (UnitDamageTarget(a,b,100, true, false, null,null,null ))
call BJDebugMsg("Damage:" + R2S(mI2R(RMem(RMem(RMem(pDamageEspData)+0x8)+0x10))))damage val кол-во урона без учета брони, сколько было на момент успешного завершения снаряда или указанно в настройках способности которая нанесла урон.
32

» WarCraft 3 / Атака (запуск снаряда)

Принятый ответ
С помощью мемхака - внутригровое событие (юнит успешно завершил атаку)
32

» WarCraft 3 / Музыка с папкой

Можно насколько я помню проигрывать звуки локально, как и его останавливать... Звук а не музыку, учтите это при импорте и создании звуковых переменных.
32

» WarCraft 3 / Создание юнита для локального игрока

Будет всегда десинх, типы юнитов проверяются практически постоянно, у тебя будет несоответствие типов.
Локально создавать не локальные объекты не получится, будет десинх.
Максимум что можно, это сменить модельку с помощью мемхака.
Всякие там примеры про карты типа мафия, там юнитов создают как куклу, её не трогать ниче делать с ней низя...
32

» WarCraft 3 / Как сделать проверку Дальний/Ближний бой?

Steal nerves, Не проверял, но знаю что эта бага есть - яркий пример дота фрога, аура леорика сделана для мили обычной вампирик аурой, и триггерной для ренж юнитов (им вручали руну с абилкой зелья вампиризма, иконку баффа сменили под вампирик ауру) ну дык вот, там герои с орбами получали 2 баффа сразу.
32

» WarCraft 3 / Перезапись глобальных переменных

ScopteRectuS, в поиск вбиваем "Передача и хранение данных"
И ищем,подобное жевали уже не раз, помнится даже была древняя статья где все это описывалась, я привел краткое содержание.
32

» WarCraft 3 / Перезапись глобальных переменных

Блин, читайте статью про порядок действий в варкравте, глобалки не перезапишутся при грамотном Использования:
  1. никаких вейтов, задержек, все действия с глобалкой в 1 поток.
  2. при действиях с глобалкой не вызывать никаких событий триггеров, действия которые используют эту глобальную переменную.
32

» WarCraft 3 / Есть ли утечка?

avuremybe, ну а типо вы не знали что создание локальной переменной это действие, да и внезапно обнуление тоже действие...
Поэтому лепить 1005000 локалок, особенно в таких примитивных функциях не стоит, лучше по возможности использовать 1 темповую глобалку на много функций.
32

» WarCraft 3 / Как сделать проверку Дальний/Ближний бой?

Делать базу данных юнита, потому что юниты с орб эффектами будут считаться юнитами дальнего боя...
32

» WarCraft 3 / Как сравнить структуру???

В jass структура это псевдобьект, по сути это несколько массивов и код следящий за ними.
32

» WarCraft 3 / Есть ли утечка?

Принятый ответ
Никто не догодался?
if udg_example == 1 then
	call TimerStart( CreateTimer(), 1, false, function Example2)
endif
Нет ну рили, нахрена тут переменная?
32

» WarCraft 3 / Иконка способности в сфере замедления

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

» RenderEdge / [RenderEdge] Memory Hack

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

» WarCraft 3 / Москиты

avuremybe, смотреть их можно с помощью спец софта, просматривая память игры - а так же понять что они делают, та еще задачка...
32

» WarCraft 3 / Москиты

ArchOracle, вы дурные или как? Это способность флаг 0 их 100500 подобных, они указаны в стаблице для того чтобы вы могли ссылатся на их ро код и добавлять юнитам в редакторе обьектов, редактировать там нечего, способность либо есть либо нет, там нет никаких настроек и что бы вы не писали - ничего не изменится, москиты есть - движок добавляет эффект, нет - снимает.
Настроить служебные способности нельзя, они сделаны целиком в движке игры, avuremybe,
Зачем? Все бонусы от апгрейдов это такая способность, всякие там неуязвимости, состояния юнитов, ходить, стоять, атаковать - тоже способности, их нет в РО, там нечего настраивать.
32

» WarCraft 3 / Москиты

Принятый ответ
AlexSan, потому что это служебная способность - там нечего редактировать.
32

» WarCraft 3 / Как сделать мину невидимой, когда мне надо?

Принятый ответ
IcE_PLayER, Кароче у всех инвизов фейд тамй не стакается, если один начался, второй не начнется.
Добавляйте 'Amin' с временем перехода в инвиз когда вздумается, а не при создании мины.
Так же можно паузить юнита (точно помню что работало с инвизами волков) и юнит становится видим, минам же ненужно ходить или кастовать спеллы, на них не распространяются никакие баффы (как на все варды), так что пауза тоже зайдет без проблем...
32

» RenderEdge / [RenderEdge] Memory Hack

ADOLF, Нет, я не прошу перерабатывать весь сjass, а просто прошу пофиксить накопленные баги, и сделать совместимость с мемхаком, добавить настройку - исключить из оптимизации переменные (список).
Так же чтобы cjass переваривал базовые функции мемхака.
Мб прикрутить какой-нибудь набор, функций мемхака.
32

» WarCraft 3 / Хак на память Warcraft3

ClotPh, можно, но это несколько не очень, клонировать данные спелла и изменять, помню в начале ты жаловался что оно фаталило через раз.
Сделай лучше нулевой кулдаун, а стартом кулдауна делай нужный тебе кд. А так есть функции редактирования кулдауна, уже не помню фиксились ли их проблемы или нет.
32

» WarCraft 3 / Модели варкрафт 3

Принятый ответ
TeX13, ага, то то близарды их конвертировали?
Разумеется нет, они выпустили конверты множества дефолтных моделей варкравта...