21

» WarCraft 3 / handle в unitpool - что не так

Cancel, 1.29 еще не вышел, а Вы уже карты на нём создаёте? ))
Ну тогда либо ждать, когда выйдет новый JNPG, либо через хеш-таблицу.
21

» WarCraft 3 / handle в unitpool - что не так

Зачем? юзай обычные глобалки с массивами
Проблема в том, что у человека нет JNPG, а в GUI-интерфейсе нельзя создать глобальную переменную типа unitpool (её в списке нету).
21

» WarCraft 3 / handle в unitpool - что не так

Cancel, этого сказать не могу. Но думаю местные умельцы и для 1.29 сделают свой JNGP.
21

» WarCraft 3 / handle в unitpool - что не так

Cancel, Вам не нужно учить новую утилиту, Вам всего лишь в своем коде надо написать:
globals
	unitpool myUnitPool
endglobals
Потому что без JNPG невозможно\сложно создать глобальную переменную типа unitpool.
21

» WarCraft 3 / handle в unitpool - что не так

Cancel, я понял в чем Ваша проблема. Думаю, что решить можно только через JNGP.
21

» WarCraft 3 / Memory Hack: SetAbilityCurrentCooldown( )

Мне кажется это невозможно, так как полоска перезарядки, которая крутится - это всего лишь анимация. Или мемхак даже это может?
ClotPh, нет, при использовании способности уменьшается перезарядка способностей, которые уже находятся на перезарядке.
- Описание:
Загруженные файлы
21

» WarCraft 3 / Триггерная способность без цели с присвоением переменных жертвам

Pick every unit in range [250] matching condition [бафф спелла]
Всё что находится внутри данного блока произойдёт столько раз, сколько воинов находится внутри выбранной группы. Обратиться к воину можно через Picked Unit ( GetEnumUnit( ) ). Если Вам нужно добавить событие на смерть именно этих воинов, то прямо здесь внутри блока добавляете их в событие триггера, выбрав их через Picked Unit, или сохраняете их в переменные.

Также можно не сохранять каждого воина, а занести их в отдельную группу. А вместо проверки:
Условие: Dying unit = Aim [Integer A]
проверяете, находится ли воин в группе.
21

» WarCraft 3 / Memory Hack: GetUnitAttackSpeed( )

DracoL1ch, 5.00 == 400 == max attack speed ?
А еще, почему можно поставить скорость на 99999.99, если максимальная скорость атаки 5.0? Или это специально с запасом сделано, чтобы замедления не замедляли столь большие значения скорости атаки?
21

» WarCraft 3 / Memory Hack: GetUnitIconPath( )

DracoL1ch, cпасибо, нашёл.
	globals
		constant integer DEF_ADR_UNIT_UI=3
	endglobals

	function GetUnitUIDefAddr takes integer id returns integer
		return GetDefAddrCaching(id,DEF_ADR_UNIT_UI,pUnitUIDefAddr,0x10)
	endfunction
21

» WarCraft 3 / Как удалить переменную типа юнит?

Alexey103, а как удаляли?
Нужно делать так:
	...
	Герой - Сreate Счастливая монетка and give it to actor
	Предмет - Remove (Last created item)
	...
21

» WarCraft 3 / Как триггерно дать монетку герою?

А что именно у Вас не работает? На скрине, вроде, выглядит всё правильно.
21

» WarCraft 3 / Как прикрепить спецеффект к заменяемому юниту?

Clamp, нет, ( 0.0 == бесконечность ) лишь в тех случаях, когда речь идёт о времени действия. В остальных случаях (здесь точно) - 0.0 считается как ноль, а не бесконечность.
21

» XGM Конкурсы / Результаты Fun Spell Contest 2018

Не ожидал, что займу второе место. А когда увидел такие эффектные работы, подумал, что меня вообще дисквалифицировали, особенно, если учесть, что моя работа не открывалась.
По непонятным мне причинам, код в карте не скомпилировался в чистый JASS, а остался на vJASS.
21

» WarCraft 3 / Уровневое ограничение способностей героя

PhysCraft, в таком случае при прокачивании способности в нем не будет написано, что требуется какой-то уровень. А нужно именно это.
21

» WarCraft 3 / Как прикрепить спецеффект к заменяемому юниту?

Функция воскрешения боевой единицы:
    function ReviveUnit takes unit whichUnit returns boolean
        if IsUnitType( whichUnit, UNIT_TYPE_HERO ) then
            return ReviveHero( whichUnit, GetUnitX( whichUnit ), GetUnitY( whichUnit ), false )

        elseif ( reviverUnit != null ) then
            call SetUnitX( reviverUnit, GetUnitX( whichUnit ) )
            call SetUnitY( reviverUnit, GetUnitY( whichUnit ) )
            return IssueImmediateOrderById( reviverUnit, 852094 )

        else
            set reviverUnit = CreateUnit( Player( PLAYER_NEUTRAL_PASSIVE ), DUMMY_UNIT_ID, GetUnitX( whichUnit ), GetUnitY( whichUnit ), 0.0 )
            call UnitAddAbility( reviverUnit, 'Aloc' )
            call SetUnitInvulnerable( reviverUnit, true )
            call UnitAddAbility( reviverUnit, 'A016' ) // Воскрешение Паладина.
            call SetUnitPathing( reviverUnit, false )

            return IssueImmediateOrderById( reviverUnit, 852094 )
        endif

        return false
    endfunction
Воскрешение Паладина:
Иначе:
Я бы не рекомендавал использовать Replace Unit, но если Вы этого так хотите, то замените "GetEnumUnit( )" на "bj_lastReplacedUnit" при создании эффекта. И перенесите это ниже функции Replace Unit.
P. S:
А еще эффекты можно удалять сразу же после их создания. В Вашем случае это будет выглядеть как:
	сall DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\Human\\Resurrect\\ResurrectTarget.mdl", bj_lastReplacedUnit, "origin" ) )
Загруженные файлы
21

» WarCraft 3 / Уровневое ограничение способностей героя

Прошло 3 года. Может уже кто-то придумал, как можно реализовать это без улучшений? Не хотелось бы для каждой способности создавать улучшение.
21

» XGM Конкурсы / Fun Spell Contest 2018

PrincePhoenix, ну автор же давал доп. время тем, кто не успел сдать в срок, соответственно, мы тоже должны дать ему время.
21

» WarCraft 3 / Нужна модель? - Вам сюда!

Может кто-нибудь у эффекта (Abilities\Spells\Orc\HealingWave\HealingWaveTarget.mdl) удалить анимацию "death" оставив лишь анимацию "birth".
Чтобы при вызове этого кода проигрывалась "birth" анимация:
DestroyEffect( AddSpecialEffect( "Abilities\\Spells\\Orc\\HealingWave\\HealingWaveTarget.mdl", x, y ) )
21

» WarCraft 3 / Как отлавливается событие использования "огненных стрел"?

Если какой-нибудь воин на карте получил урон и при этом имеет тот самый бафф, значит Вы успешно отловили момент применения той самой способности с тем самым бафом.