32

» WarCraft 3 / Способность Earthbind героя Meepo из DotA

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

» WarCraft 3 / Скейл

Стас Орлов, по подробнее, что вы хотите сделать? Что значит "скейлющуюся от чего либо?", куда что и как должно расстягиватся?
Вам хочется сделать полет молнии в цель или что?
32

» WarCraft 3 / Не могу создать систему отлова урона при атаке, событии-Атакован

~~
Мне просто срочно нужно это, так я хоть буду иметь большое и дальнейшей представление о том как он отлавливается, разжуйте мне пожалуйста
Что значит как? Это помойму разжевано везде, но блин в сотый раз...
Нельзя просто так узнать кто кого ударил, вот нету такой функции, о том что один юнит ударил руками другого мы можем узнать лишь косвенно (в коде), т.к у нас есть событие - юнит атакован, которое срабатывает когда юнит начал атаку, еще даже не махнул ручками а просто сагрился на цель - уже сработало событие, при этом неважно ударит он или промажет, или цель вовсе к тому моменту умрет...
Ну у нас еще есть событие - юнит получает урон, оно не так удобно - т.к требует конкретно указанного юнита в отличии от события "юнит атакован", которе можно повешать на всех юнитов игрока ( EVENT_PLAYER_UNIT_ATTACKED), что удобнее т.к такое событие будет работат на всех юнитов указанного игрока и существующих и созданных в процессе игры.... Ну вернемся к событию - "юнит получает урон", оно срабатывает на фрейм ранее от того момента как юнит потеряет хп от урона, срабатывает на любой урон полученный указанным юнитом, проверить приэтом мы можем лишь кол-во урона (функция GetEventDamage()), источник урона (GetEventDamageSource()) ну и тот кто получил урон (GetTriggerUnit()), понять прост так нельзя урон это от атаки, от спелла или от баффа (вредные баффы наносят 0 урона при появлении и потере).
Далее уже люди реализуют проверки на тип урона с помощью костылей, тот пример что я тебе дал использует оба событие, когда юнит атакован - включается событие юнит получает урон, если после события атаки сработает событие урона - считай был удар, но это слишком багано, т.к сущетсуют промахи и другие источники урона.
Еще есть способ отличить физический урон от магического - сделать его отрицательным, вручая тому у кого будем отлавливать физ атаки, суть - рунные браслеты с фактором сниженного урона 2, весь магический урон полученный юнитом будет отрецательным, а положительным будет только чистый и физический (чистый в стандартных способностях практически не втречается, как и физический) ну а далее все просто, лечение от маг урона уберается так же триггерно, сначала ждем таймером 0.00 сек, потом возвращаем юниту хп которое было до отрец урона и тут же наносим ему еще урон маг типа, забирая пассивку резиста и отключая триггер, таким образом мы вернем все наместо и юнит получит маг урон в полном размере, как и должен без лечения (т.е мы блокируем лечение от отрец урона), ну а далее снова вручаем пассивку и врубаем триггер, дейтсвуем поновой....
32

» WarCraft 3 / Способность Earthbind героя Meepo из DotA

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

» WarCraft 3 / Функция, к-рая по выходу из вара чистит данные скиллов из таблиц

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

» WarCraft 3 / Дефолтные аттачи с кастов

Принятый ответ
Канал просто кнопка для прицела, никаких баффов и снарядов он сделать неможет, это делается триггерно, при касте канала...
32

» WarCraft 3 / Ещё немного интересных фишек

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

» WarCraft 3 / Способность Earthbind героя Meepo из DotA

Чето совсем не похоже на фрога, какая то отсебятина...
Если у вас фильтр выглядит вот так:

	function earthbind_Filter takes nothing returns boolean
        
        local boolean array b
        
        set b[0] = IsUnitEnemy( GetFilterUnit(), GetOwningPlayer( udg_earthbind_u ) )
        set b[1] = IsUnitVisible( GetFilterUnit(), GetOwningPlayer( udg_earthbind_u ) )
        set b[2] = GetUnitState( GetFilterUnit(), UNIT_STATE_LIFE) > .5
        set b[3] = IsUnitType( GetFilterUnit(), UNIT_TYPE_STRUCTURE ) == false
        set b[4] = GetUnitAbilityLevel( GetFilterUnit(), 'A04R') == 0
        
		return b[0] and b[1] and b[2] and b[3] and b[4]
        
	endfunction
То в оригинале совсем иначе, конечно весь копировать не стоило но и ваш вариант отпад...
код фрога
function ZJ4 takes nothing returns boolean
    return SPI(GetFilterUnit()) == false and IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(XO)) and (A31(GetFilterUnit()) == false or IsUnitVisible(GetFilterUnit(), GetOwningPlayer(XO)) == true) and GetUnitState(GetFilterUnit(), UNIT_STATE_LIFE) > 0.5 and IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false and GetUnitAbilityLevel(GetFilterUnit(), 'A04R') == 0 and GetUnitTypeId(GetFilterUnit()) != 'n00L'
endfunction
У фрога я что то таймеров в абилках не припомню, уже довольно интересно.
Потом вот это зачем?
//...
	call DestroyBoolExpr( bE )
//...
Если что болекспры не утекают, нужно никаких локалок и удалений, это лишние дейтсвия которые бесполезны.
Bergi_Bear, просто удобство чтобы не запутатся, но хеш от строки медленне чем просто целое число.
32

» WarCraft 3 / Как отловить удар с орбом?

8gabriel8, руками и динамическими триггерами. Которые создаются в месте с объектом а затем удаляются, счетчик хендлов сначала растет, потом падает, и так по кругу, специально пррводил тесты со счетчиком хендлов.
32

» WarCraft 3 / Мемхак и аналитика

Ну статистику еще дата менеджером делали давным давно, ну а взаимодесвие с сайтом лич уже сделал в своей доте с мемхаком, прост длл пишем там вирус который следит во что и когда юзер играет, время от времени сливаем инфу куда надо.
32

» WarCraft 3 / Как отловить удар с орбом?

8gabriel8, мою карту дать? не, Там крипы лупят другдруга и плодятся, у них орб автоатака и пассивка по типу Reactive Armor из доты, работает и не лагает по 40 минут играли ни 1 намёка на просадку фпс.
32

» WarCraft 3 / Не блокируется способность + не реагирует на зависимости.

8gabriel8, не салом не блокируются, под домом у вас будет бафф ауры, после смерти тоже вы будите распроостранять ауру до разложения...
32

» WarCraft 3 / Не блокируется способность + не реагирует на зависимости.

Нет списка нету, т.к у каждой абилки описано взпимодествие со всеми типами сайленса \блокировки, на вскидку не блокируются все ауры, перерождение, все статы и прямые бонусы.
32

» WarCraft 3 / Wait в циклах

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

» WarCraft 3 / Формат файла сохранения игры.

Replay sekker и аналоги могут такое, ну реплей считай список команд что и когда делать на карте % весь чат за игру, подробнее где то было на сайте описание формата если найду кину ссылку позже.
32

» WarCraft 3 / Сброс перезарядки предмета.

У итемов мнимый кулдауниндикатор, а не собственный как у абилок , предмет одого типа с параметром способность чето там (забыл как называется это поле) , будет шарить кулдаун на все такие предметы независимо от их ид абилок. Удалять предметы бестолку кд хранится у владельца, сбросить кулдаун у одного предмета нельзя без мемхака, удалите инвентарь - выпадут на землю все итемы, вручите снова - кд тут как тут, так что не ищите способы, они уже найдены - start ability cooldown на мемхаке.
32

» WarCraft 3 / Возможно Ли В передаче параметров передать лишь часть параметров

Сударь вы очем, экстрасенсы в отпуске. Подробно что хотите сделать и код сюда,то вы какую-то ахинею пишите, какие параметры, какие триггеры, что? Зачем? Ничего не понятно....
32

» WarCraft 3 / Не могу создать систему отлова урона при атаке, событии-Атакован

Кирилл4, так то они уже созданы, но пока не выучил что к чему - забудь, кода много он сложный и ресусоёмкий.
32

» WarCraft 3 / Сброс перезарядки предмета.

ClotPh, не катит, перезарядка связана с абилкой, а она атачится к юниту а не предмету, сам то предмет абилки не юзает.
Мемхак в помощь.