28

» WarCraft 3 / Анимация

собственно сама функция
native SetUnitAnimationByIndex takes unit whichUnit, integer whichAnimation returns nothing
на джнгп есть кастом гуи
раскрыть
Загруженные файлы
28

» WarCraft 3 / Найти умирающего юнита

OxotniK1313, а я не шарю за мемхак от слова совсем, я просто знаю, что там есть то, чего нет в обычном джассе

В любом случае вариковские спеллы довольно легкие и их можно самостоятельно сделать
28

» WarCraft 3 / Найти умирающего юнита

Стандартными средствами никак, только свои триггерные писать, как указал Берги)
Хотя, возможно, мемхак должен помочь
28

» WarCraft 3 / Почему оно не работает?

Добавь действие ждать 0.00 сек

Перед отдачей приказа стоп

Вообще желательно через локальный таймер сделать, потому что "ждать" видна задержка 0.01-0.03 сек, медлительная функция
28

» WarCraft 3 / Определение чётности числа и рандом

я полностью не осилил текст, прости)
Я определял четное или нечётное число этой функцией
код
private function OddEven takes integer i returns boolean
    local integer ii = 0
    loop
        exitwhen ii >= i
        set ii = ii + 2
    endloop
    if ii != i then
        return true
    endif
    return false
endfunction
28

» WarCraft 3 / Вопрос по аргументу функции StopSound и утечкам памяти

Представь, что это вопрос, и переведи на русский
Kill when done - уничтожить по окончании, true/false - да/нет
28

» WarCraft 3 / Насколько триггер грузит карту?

Никак не грузит, от утечки ты уже избавился, если юнитов дочерта на карте или если бы спавнились каждую секунду, тогда пошла бы нагрузка

Если ты действительно хочешь проверять на наличие утечек триггеры, то установи счётчик хэндлов, точное кол-во не покажет, но если что-то будет без конца расти и не уменьшаться, значит утечки есть
28

» WarCraft 3 / Таймер и тренировка

Ну с таймером я хз, проверял раз 10 карту, никаких проблем не было, по поводу тренировочного лагеря, если без костылей, тут нужна хэш-таблица, а её я могу юзать только через код
код
define{void = nothing; int = integer; bool = boolean}
library mylib initializer init{
    private trigger trg = CreateTrigger()
    private hashtable H = InitHashtable()
    
    private void act(){
        unit u = GetEventDamageSource(); int i = GetHandleId(u), c = LoadInteger(H,i,0)+1
        texttag tt = CreateTextTag()
        
        SetTextTagText(tt,I2S(c)+"/3",.0276)
        SetTextTagPosUnit(tt,u,0)
        SetTextTagColor(tt,255,0,255,0)
        SetTextTagVelocity(tt,.05325*Cos(1.570788),.05325*Sin(1.570788))
        SetTextTagPermanent(tt,false)
        SetTextTagLifespan(tt,1.)
        SetTextTagFadepoint(tt,.0)
        
        if c >= 3{
            SetHeroStr(u,GetHeroStr(u,false)+10,true)
            DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Items\\AIsm\\AIsmTarget.mdl",u,"origin"))
            c = 0
        }
        SaveInteger(H,i,0,c)
        
        u = null; tt = null
    }
    
    private void eee(){
        TriggerRegisterUnitEvent(trg,GetEnumUnit(),EVENT_UNIT_DAMAGED)
    }
    private bool mycond1(){
        return IsUnitType(GetEventDamageSource(),UNIT_TYPE_HERO) && GetEventDamage() > 0
    }
    private bool mycond(){
        return GetUnitTypeId(GetFilterUnit()) == 'h000'
    }
    private void init(){
        group g = CreateGroup()
        boolexpr b = Condition(function mycond)
        
        GroupEnumUnitsInRect(g,bj_mapInitialPlayableArea,b)
        ForGroup(g,function eee)
        DestroyBoolExpr(b); b = Condition(function mycond1)
        TriggerAddCondition(trg,b)
        TriggerAddAction(trg,function act)
        
        DestroyBoolExpr(b)
        GroupClear(g); DestroyGroup(g)
        trg = null; b = null; g = null
    }
}
Загруженные файлы
28

» WarCraft 3 / Апгрейд предметов

SweetFox, я бы просто добавлял и удалял способность при получении/потери итема, там оно вроде уже без выкрутасов будет работать)
28

» WarCraft 3 / Сила Тьмы

На рефе для этого есть фреймы и возможность изменить параметры урона до его нанесения
На обычном варике я бы просто морфил юнита
28

» WarCraft 3 / World Editor тригерры

Когда юнит умирает, у него спадают все баффы/дебаффы, надо при получении баффа закинуть юнита в группу, а когда умрёт, проверить его наличие в группе
Но если тебе просто юнита создать нужно, чем не подойдёт проклятая стрела Сильваны? (или как там скилл называется)

ах да, чтобы удалить юнита из группы, достаточно при получении урона проверить наличие баффа, когда они спадают, юнит получает 0 урона
28

» WarCraft 3 / Анимация, мм

Дмитрий Ларионов, та у меня ж нет ретеры я про неё вообще ничего не знаю, с mdlvis'oм я бы смог помочь)

Нашел гайдик, может он тебе поможет?

Я бы на твоём месте даже без гайдов попробовал бы везде пощёлкать и поискать надпись "Stand", а если бы нашел, то попробовал бы как-нибудь переименовать
28

» WarCraft 3 / Зеленый мать его кубик

Если моделька с инета, то с ней наверняка есть текстуры, их тоже нужно скачать, импортировать и указать путь, который указан в самой модели)

если модель на стандартных текстурах, то ничего соответственно не нужно)
28

» WarCraft 3 / Анимация, мм

лел, норм надпись)
Хз как в рефе, но достаточно было просто переименовать анимацию на stand)
28

» WarCraft 3 / Постройка альянса

Никита29,
тю, та я шарю что-ли?)
Откуда мне знать как заменить постройку, я бы просто в раздел с модельками зашёл и попросил бы сделать мне анимку.
Если ты действительно интересуешься вопросом как заменить, то на хгм есть статьи по моделлингу, читаем и осваиваем)
28

» WarCraft 3 / Постройка альянса

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

» WarCraft 3 / Постройка альянса

У хуманов нет аттача, это только у андеадов и ночных эльфов


У хуманов полноценные анимки постройки
Загруженные файлы
28

» WarCraft 3 / нужно модел из 1.26


почему тайдхантер.. пришлось гуглить шо это значит
Загруженные файлы