26

» WarCraft 3 / Не знаю какую ульту дать.

IIIНекромантIII, в таком случае клич должен ещё и на врагов производить угнетающий эффект. Типа космодесантник и окружающие союзники стали на время сильнее, быстрее и скоростнее с повышением регенерации, а враги ослабли, замедлились, скорость убавилась и регенерация уменьшилась.
26

» WarCraft 3 / Как сделать способность?

Borodach, чего-то не понял, всем юнитам на карте давать рунные браслеты -100 что ли? При этом для всех заклинаний делать триггерное нанесение урона?
26

» WarCraft 3 / Не знаю какую ульту дать.

KaneThaumaturge, превращение в терминатора?
Хотя мне идея с орбитальной бомбардировкой понравилась.
26

» WarCraft 3 / Как сделать способность?

quq_CCCP, конечно, интересно же)
P. S. Мне для мемхака устанавливать ничего не надо, просто обычный запуск карты сделаю?
P. P. S. А как, кстати, в данном случае отличить физический урон от магического при атаке жаром преисподней или другим заклинанием?
26

» WarCraft 3 / Как сделать способность?

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

» WarCraft 3 / Исчезающие текстуры

FrigatPlay, это для строительства были слои, теперь анимация birth просто ни о чём стала, а здание нужно для расы, а не просто как декор.
26

» WarCraft 3 / Как сделать способность?

Он имеет ввиду, чтобы ты проверил способность вместе с предметом Огненный плащ или способностью Жар преисподней, не будет ли это считаться атакой юнита, как будет работать, когда много юнитов к тебе подбегает, ведь часть из них как бы будет атакована не в первый раз, а часть в первый одновременно, если эффект будет считаться атакой, естественно.
26

» WarCraft 3 / Москиты

Nikson12, перечитай сам, у него способности нет в редакторе. Он в самом начале просто орфографическую ошибку допустил, вместо "негеройской" указал "не геройской".
26

» WarCraft 3 / Как сделать способность?

Давай, только поскорее. Эта пассивка, наверное, самое маленькое из того, что потребуется сделать, а уже около недели с ней не могу справиться.
26

» WarCraft 3 / Как сделать способность?

molot39, я не знаю, я почти не разбираюсь в JASS и хеш-таблицах. Покажи свою наработку
26

» WarCraft 3 / Как сделать способность?

quq_CCCP, а мне другую реализацию скинули:
function Trig_Fervor_Conditions takes nothing returns boolean
    return GetUnitAbilityLevel(GetAttacker(),'A06C') > 0 and not IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE)
endfunction

function Trig_Fervor_Tick takes nothing returns nothing
    local unit u
    local unit targ
    local trigger t = GetTriggeringTrigger()
    local hashtable gc = udg_HashCache
    local integer s = GetHandleId(t)
    local integer lvl = GetUnitAbilityLevel(u,'A06C')
    local integer c = 0

    if GetTriggerEventId() == EVENT_UNIT_DAMAGED then
        set u = LoadUnitHandle(gc,s,1)

        if GetEventDamageSource() == u then
            set targ = GetTriggerUnit()
            set c = GetUnitAbilityLevel(u,'A08T')

            if targ != LoadUnitHandle(gc,GetHandleId(u),StringHash("trollfervor")) then
                set c = R2I(c/2)
                call SaveUnitHandle(gc,GetHandleId(u),StringHash("trollfervor"),targ)
            else
                set c = c+1
                if c > lvl+1 then
                    set c = lvl+1
                endif
            endif
            call SetUnitAbilityLevel(u,'A08T',c)
            set targ = null
        endif
        set u = null
    endif
    call TriggerRemoveAction(t,LoadTriggerActionHandle(gc,s,2))
    call FlushChildHashtable(gc,s)
    call KillTrigger(t)
    set t = null
    set gc = null
endfunction

function Trig_Fervor takes nothing returns nothing
    local unit u = GetAttacker()
    local unit targ = GetTriggerUnit()
    local trigger t = CreateTrigger()
    local integer s = GetHandleId(t)
    local hashtable gc = udg_HashCache
    local triggeraction ta
    if GetUnitAbilityLevel(u,'A08T') == 0 then
        call UnitAddAbility(u,'A08T')
    endif
    call SaveUnitHandle(gc,s,1,u)
    call TriggerRegisterUnitEvent(t,targ,EVENT_UNIT_DAMAGED)
    call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_ORDER)
    call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_POINT_ORDER)
    call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_ISSUED_TARGET_ORDER)
    call TriggerRegisterTimerEvent(t,2.5,false)
    set ta = TriggerAddAction(t,function Trig_Fervor_Tick)
    call SaveTriggerActionHandle(gc,s,2,ta)
    set u = null
    set targ = null
    set t = null
    set gc = null
    set ta = null
endfunction

function InitTrig_Fervor takes nothing returns nothing
    set gg_trg_Fervor = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Fervor, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_Fervor, Condition( function Trig_Fervor_Conditions ) )
    call TriggerAddAction( gg_trg_Fervor, function Trig_Fervor)
endfunction
И в инициализации создаётся хеш-таблица udg_HashCache.
26

» WarCraft 3 / Как сделать способность?

quq_CCCP, я раньше просил только на GUI триггеры, в этот раз не знаю, понадобятся ли они.
26

» WarCraft 3 / Как сделать способность?

molot39, ещё один гениальный коммент?
Чего-то нынче вопросы и ответы хгм тухнут, уже человек со стороны просто скинул мне ссылку на реализацию способностей тролля в DotA:
26

» WarCraft 3 / Москиты

Скачай редактор JNGP (JASS New Gen Pack), там есть способность москиты и в редакторе объектов, и в триггерах.
Загруженные файлы
26

» WarCraft 3 / Как сделать способность?

pro100master, в DotA это очень нужно, конечно, невероятно просто! Там все атакуют юнита один раз, потом часик где-то бегают, никого не атакуя, потом возвращаются к атакованному юниту, чтобы снова драться)))
26

» WarCraft 3 / Как сделать способность?

Valeera, вижу систему, которая показывает характеристики предметов. Может смысл в каком-то комментарии, но мне он не открылся.
quq_CCCP, там у Рексара самое близкое рёв медвежий, который прибавляет процент скорости атаки юнитам.
Нашёл другую OpenDotA, где эта способность есть, а значит и триггер к ней скорее всего тоже. Но выглядит для меня устрашающе, там более 700 неотсортированных триггеров, при этом в JASS я почти не понимаю. Попробую ориентироваться на raw-код способности.
Загруженные файлы
26

» WarCraft 3 / Как сделать способность?

pro100master, механику я понимаю, меня интересует, как именно это должно быть реализовано, чтобы потом не было разных конфликтов (в DotA об этом, наверное, позаботились). Увеличивать скорость стакающимся баффом, способностью или триггерно; отслеживать юнита через сравнение с целью предыдущего удара, либо иначе можно; с увеличением уровня способности во время атаки одного юнита, что будет?
26

» WarCraft 3 / Модель, свечения, тимколор

Короче, обнаружил просто ошибку в пути файла, вот нормальная версия:
Если кому-то ещё понадобится это, то там ошибка в пути текстуры розовой модели. Вместо Glow стоит Gloe.
Загруженные файлы
26

» WarCraft 3 / Способности и алгоритмы на заказ

FrigatPlay:
8gabriel8, Могу в принципе сделать
Чем скорее, тем лучше)
P. S. А как ты хочешь способность срздавать?