32

» WarCraft 3 / Как через Триггеры поставить урон юниту в зависимости от золота?

Принятый ответ
Качаем систему ссыль и каждые 0.5 сек. проверяем кол-во золота у игрока и устанавливаем ему бонус урона, таймер и триггер следящий за смертью персонажа (нельзя модифицировать параметры мертвым) который включается при изучении умения.
32

» WarCraft 3 / Не работает IsUnitIllusion

Proshel_Doty, говорю же, код в студию, так же советую ловить иллюзии событием - EventUnitSummon
32

» WarCraft 3 / Не работает IsUnitIllusion

Код в студию, то что то вы там накосячили, эта нативка работает исправно.
If (IsUnitIllusion( unit ) ) then // и не надо никаких == true, еще != false and == true напишите.

endif
Вот вам пример, все прекрасно работает.
Загруженные файлы
32

» WarCraft 3 / Помогите закончить тригер

Amer90, это не будет так работать как вы это пытались сделать, никакие вейты вам не помогут.
Нужно двигать юнита таймером, каждые 0.03125 или 0.02 сек. (что эквивалентно 32 и 50 раз в секунду соответственно) и так же менять ему высоту, с помощью функции пораболы. Неплохо было бы еще проверять не умер ли юнит пока летит, многие манипуляции с мертвыми юнитами могут закончится багами или фатальными ошибками (игра вылетит на рабочий стол).
Если вы пока не знаете что такое jass, а на гуи (триггеры) вы только только начинаете, нестоит делать такие способности, для вас это пока сложновато.
Для начала нужно:
  1. оглушить или паузить юнита при полете, т.к он сможет ходить и это будет некрасиво.
  2. перемещать юнита по коордиантам отключив ему коллизию, чтобы не стопил других юнитов и не застревал в скалах, деревьях.
  3. сделать приземление с учетом непроходимости некоторых мест, т.е чтобы юнита не могли закинуть на гору или в яму, он должен упать рядом, или это будет очень действовать на нервы игроков.
Могу показать пример на jass, но если вы заядлый гуишник - увы, ищите милису или читайте стати, создание простого стомп спелла кажется называется...
32

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

Doc:
Это не список планируемых обновлений, это объединенный и обновляемый список пользовательских пожеланий.
Да, но т.к. запощено близард человеком и уже часть вещей обещаны к завозу то я бы сказал что шанс увидеть это довольно неплохой.
Близзарды еще ничего не сделали и официально ничего не сказали по этому поводу
Т.е.? Какое еще официальное объявление нужно? Гейм продюсер запостил тред и он же отписал что часть хотелок уже на подвозе.
На своем сайте близзарды постат новость, и делятся скринами где мы видим смену кд, на лету у какой-нить волны силы таурена, а то они там чето вводят, а остальное все хотелки, нет никакого внятного списка что будет сделано, или делается.
32

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

Уже делят шкуру не убитого медведя, мда...
Близзарды еще ничего не сделали и официально ничего не сказали по этому поводу, на хайве все делятся своими хотелками по поводу редактора, мне вот лично кажется что у близзардов челюсть отпала когда они посмотрели все хотелки и сказали - "Ну нахер, пусть сами себе делают че хотят на мемхаке".
Все чето на хайве, а не на blizzard.com, нет что то представителей близзард, только пару людей которые пишут что они сказали про это близзардам...
Ждем и сильно не надеемся, если и что то сделают то уж явно не завтра и явно все что там описано за 1 патч не добавят.
32

» WarCraft 3 / Полет снаряда по дуге

Есть же функция параболы в библиотеке функций + тосс тиника из доты в опен доте.
32

» WarCraft 3 / Как на Jass быстро посчитать количество боевых единиц?

ну та же GroupEnumUnitsInRange, берет болекспр, это тот самый фильтр. В отдельной функции описываешь кого нужно выбрать
вот пример фильтра:
function EnemyFilter takes nothing returns boolean
    set bj_lastFilterUnit = GetFilterUnit( )
    return GetUnitState( bj_lastFilterUnit, UNIT_STATE_LIFE ) > 0.405 and IsUnitEnemy( bj_lastFilterUnit, bj_groupEnumOwningPlayer ) and not( IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MAGIC_IMMUNE ) or IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MECHANICAL ) or IsUnitInvulnerable( bj_lastFilterUnit ) or IsUnitWard( bj_lastFilterUnit ) )
endfunction
))
32

» WarCraft 3 / ОЧЕНЬ СРОЧНО ПРИЧИНЫ ФАТАЛА ПРОШУ

ClotPh, тоже очень долго побеждал несовместимость абилкок с функцией кд, после того как `IceFog, не дал немного другую функцию старта кулдауна.

из инита мемхака:
set pStartAbilityCD = (GameDLL + $050B70) // раньше было GameDLL + 0x126990 и фаталило, теперь нет.

 function StartAbilityCooldown takes unit whichUnit, integer abilityId, real cd returns boolean
        local integer pAbility = 0
        local integer offset1
        local integer offset2
        local boolean bRes = false
        
        if GetUnitAbilityLevel( whichUnit, abilityId ) == 0 or cd == 0.00 then
            return bRes
        endif
        
        set pAbility = GetUnitAbility( whichUnit, abilityId )
        
        if pAbility < 1 then
            return bRes
        else
            set offset1 = RMem( pAbility + 0x134 )
            set offset2 = RMem( pAbility + 0x138 )
          
            if offset1 > 0 or offset1 < 0 or offset2 > 0 or offset2 < 0 then
                call WMem( pAbility + 0x134, mR2I( cd ) )
                call WMem( pAbility + 0x138, mR2I( 10.00 ) )
                if not InGame then // дебаг для детекта несовместимых абилок, можно удалить.
                    call BJDebugMsg( "Start Cooldown WARNING!" ) 
                    call BJDebugMsg( "ADRESS-VAL1-VAL2" )
                    call BJDebugMsg( Int2Hex(pAbility)+" - "+Int2Hex(offset1)+" - "+Int2Hex(offset2))
                    call BJDebugMsg( "abil-"+Id2String(abilityId) +" owner-"+ Int2Hex(pAbility)  )
                endif
            endif
            set Memory[pReserverdIntArg1 / 4] = mR2I( cd )
            call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
            set bRes =  IsAbilityOnCooldown( pAbility )
            call WMem( pAbility + 0x134, offset1 )
            call WMem( pAbility + 0x138, offset2 )
        endif
        return bRes
    endfunction
Несовместимые абилки - блинк\берсерк. Но функция выше корректно запускает их в кд.
32

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

ScopteRectuS, У них есть исходники, но нету тех людей которые понимают как это работает. В случаи с jass. в Игре есть виртуальная машина, которая работает на подобии ассемблера, jass интерпритируется в байткоды, а после уже выполняется. Они очень долго не могли понять что нетак в этой виртуальной машине (это вроде как движок внутри движка), что такое ретурн баг. Щяс до них стало доходить, но понять и вспомнить все что было сделано нереально - при разработке в движке были вылючены, вырезанны некоторые функции, что с ними не так и будут ли они работать корректно - никто не знает... Почему были краши на их последних патчах?
32

» WarCraft 3 / Типы атаки

Принятый ответ
Всего 6 типов атаки и 22 вида урона, больше никак не сделать. Да и зачем, стандартных не хватает?
32

» WarCraft 3 / Влияние абилок на мапу

Proshel_Doty, каждый уровень - считай что отдельное место, память занимается + поиск мало того что абилки ищатся перебором а тут еще и левелы перебиратся будут. Еще раз - абилки на 100500 уровней в карте быть не должны, это плохо. Что еще то нужно?
32

» WarCraft 3 / Влияние абилок на мапу

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

» WarCraft 3 / Убрать предмет из магазина

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

» WarCraft 3 / Спелл Темная стая

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

» WarCraft 3 / юнит возвращается после IssuePointOrderLoc

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

» WarCraft 3 / юнит возвращается после IssuePointOrderLoc

Нейтрально враждебыный? Почти никак, постоянно отдавтаь приказ идти куда нужно...
32

» WarCraft 3 / Триггерные заклинания

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

» WarCraft 3 / Триггерные заклинания

Любые морфы, смотри перевоплощение охотника на демонов и превращение у обсидиановой статуи в сфинкса.
32

» WarCraft 3 / Способности Бары из доты.

Ну только на jass, по какой версии тебе нужен разгон и баш?
Кстати -бара есть в опен доте.
Вот карта
Загруженные файлы
32

» WarCraft 3 / Способности Бары из доты.

Ну можно как в доте (при замехе на цель проверяется замахнулся ли бара и есть ли у него баш, шанс выпал, ну и молоток бурь в рыло цель и толкаем таймером).
Разгон = канал, и триггер который ждет пока бара одаст любой другой приказ, умрет, цель умрет, а так же таймер который толкает бару к цели.
Мог бы сделать его спеллы, там примитив по большей части.