2
10
2 года назад
Отредактирован EviLInside
2

» WarCraft 3 / Как правильно ограничивать число итераций в unit group?

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

Так же у тебя абилка даммика имеет дальность меньше чем область пика юнитов.

короче от переизбытка безделья сделал на CS , на гуи забыл как делать , переменные не нужны, всё на локалках. Если что то не так напишешь в личку.
Загруженные файлы
0
10
2 года назад
0

» WarCraft 3 / Как правильно создать магазин? UI+vJass (reforged)

У предметов в магазине вроде таже привязка что у панели героя где находятся его скилы . www.hiveworkshop.com/threads/ui-v1-3.337753 вот посмотри.
Я не про стандартный магазин :)
0
10
2 года назад
0

» WarCraft 3 / Почему фрейм крашит wc3 (reforged) ?

Ну у меня без ошибки, а просто зависает на мертво, при загрузке этой части кода
Зависает из за строки
set Frame09 = BlzCreateFrame("CheckListBox", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0)
заменил её на
Frame09 = BlzCreateFrameByType("CheckListBox", "", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 0)
пока что ничего не происходит

В общем оно всё очень кривое, конкретно не создаётся этот "CheckListBox", попробуйте в этом месте создать любой прозрачный бекдроп визуаль будет тоже самое, по поводу REFORGEDUIMAKER, не пользовался, но слышал что вещь крайне кривая, да и судя по кода что она генерирует, там ничего особенного, лучше делать это без каких либо программ просто кодом, помог как смог, мб другой кто что подскажет
Не знаю что ставить в ответ но ты правильно сказал проблема в set Frame09 = BlzCreateFrame("CheckListBox", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0,0). И мне кажется это крашится если маленький размер далее выдаю. Если для себя интересно чекните в размере проблемы, либо тут я ошибся либо реально в этом дело, пока ответ не буду ставить, по сути какой то треш, но ранее у меня всё в порядке было с этой прогой , ничего не крашилось, делал куда более мощные фреймы)

МрачныйВорон, у тебя крутая статья, но полностью пока её не вывожу, слишком много инфо ) я имел ввиду во время старта карты (сказал загрузки , может смутило)
0
10
2 года назад
0

» WarCraft 3 / Почему фрейм крашит wc3 (reforged) ?

а если убрать call BlzFrameSetScale(Frame010, 1.00)?
не помогло
3
10
2 года назад
3

» Гейминг / Warcraft Arclight Rumble

Редактор карт мощнее чем вариковский в ней?
0
10
2 года назад
0

» WarCraft 3 / Reforged / battle.net / Загрузка карты

Вы всё правильно делаете, оба должны полностью перезапустить игру, а твой друг должен удалить у себя все старые версии, иногда нужно ещё удалять папки, внутри dowloads, но чаще всего достаточно просто перезахода
А почему когда выходила новая версия какой нибудь Dota, всегда нормально качалось, и у себя ничего не надо было чистить?
И да у нас видимо случай запущеный, сегодня начали нормально, перезаходы помогали , под конец уже ничего не помогало, по сто раз перезаходили, всё сто раз чистили, так и не законнектились, забили на время пока я на xgm не узнаю что то ))

И ещё, как батла видит что карта одинаковая ? Я просто не особо шарю в этих серверных фишках и тп, но я даже название менял (и файла и название внутри настроек карты в редакторе) - не помогает. Он не по весу ли смотрит ? :))) я просто не догоняю как это работает
0
10
2 года назад
0

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

Здрасте, есть ли возможность достать и изменить стандартную модель "Abilities\Spells\Undead\FreezingBreath\FreezingBreathMissile.mdl" ?
Нужна только часть death анимации этой модели без самого "снаряда"
0
10
2 года назад
0

» WarCraft 3 / Выкидывает

Возможно это из случая который бывает у меня иногда. Зайди в варик в игру, запусти карту какую нибудь 1 на 1 стандартную, выйди. Или же в редакторе создай новую карту пустую запусти проверку. Маловероятно , но может это из того же репертуара что и у меня бывало.
0
10
2 года назад
Отредактирован EviLInside
0

» WarCraft 3 / Нерабочие нативки?

На счёт скрыть/показать это не помогает. На счёт уничтожить, и создать заново - это опять же будет тот предмет со стандартным именем/иконкой которое я должен поменять.
0
10
2 года назад
0

» World of WarCraft / Простая установка сервера Trinity (гайд)

Было бы круто если бы сделал гайд как добавлять новые предметы на сервак (хз можно ли добавлять без добавления в свободные не занятые ID ) ну или хотя бы по свободным
0
10
2 года назад
0

» WarCraft 3 / Cliff levels

Изменил if dy < dx and z < (dx - GetMapCliffLevel())*bj_CLIFFHEIGHT then на if dy < dx and z < (GetTerrainCliffLevel(nextX, nextY))*bj_CLIFFHEIGHT then. Всё работает. Почему сам не понял, но да ладно ))
0
10
3 года назад
0

» WarCraft 3 / CastBar, модель анимация.

rsfghd:
Сама функция timescale кривая
Понятно, видимо одно из решений это найти модель кастбара со 100 индексами анимаций.
0
10
3 года назад
0

» WarCraft 3 / Вопрос по коду

Lord_Teo:
EviLInside:
Можешь глянуть карту мою про Свина. Там есть умение "Ужасающий крик". Суть в том, что часть урона по любому юниту с оцепенением, передается всем другим юнитам, кто находится под оцепенением. Если я правильно тебя понял, то это как раз почти тоже самое, что и у тебя. Код на гуи без утечек. Суть поймешь и переделаешь на любой код.
Спасибо за отклик, но суть то я понимаю. Тут вопрос как раз в том что я не могу это реализовать под jass/vjass.
0
10
3 года назад
0

» WarCraft 3 / Вопрос по коду

quq_CCCP:
Ну код связки варлока из доты кинуть, там все так просто и работает =)
?
Там эта система не к дебафу случайно привязана который этот спелл накладывает? Если да то не подходит скорее всего

rsfghd:

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

саму структуру нужно в юнита сохранять само собой, и при получении урона доставать её
На практике в vjass не хватает у меня опыта составление кода такого типа. Когда экземпляр структуры можно привязать к таймеру или просто юниту это легко. Как бы выразится правильно ...наверное типо всё что последовательно я могу делать. Всё что с отложенными действиями до какого то другого события после первого события , тут мои полномочия всё )
0
10
3 года назад
0

» WarCraft 3 / Вопрос по коду

Гуванч:
Говорю яснее
Юниты A, B, C
Если один из них получит урон то урон идет на других в таком случае
Юнит А наносит урон Б и С
Юнит Б наносит урон А и С
Юнит С нанлсит А и Б
И так бесконечно по этому и умирают
Я понял тебя. Что бы случилось то, о чём ты говоришь мне надо хотя бы код до этого момента сделать (в чём я и прошу помощи)
0
10
3 года назад
Отредактирован EviLInside
0

» WarCraft 3 / Вопрос по коду

Гуванч:
EviLInside:
Гуванч:
Вот ты сохранил в группу юнитов и они получили урон и в этот момент этот урон вызывается еще тоесть реагирует на нанесения урон это получается как бесконечный цикл по этому и умирают с одного раза
Вопрос не в этом, смерть это для проверки я сам поставил , что бы понять что у меня получилось опознать юнитов из группы, а дальше я туплю что делать. Мне нужно правильно переделать или изменить что то в структуре DeadlyLinkX (верхней). что бы работало как я описал в вопросе.
Могу сделать на джассе

Сделать?
Я просто не знаю правильно ли ты понял меня, мне надо что бы код был почище, надо что бы экземпляры структур были под каждый каст свои, подчищать при окончании экземляры и тд и тп. В общем продолжить именно так как у меня сделано. А Просто сделать что бы из 5 юнитов каких то , если получает 1 урон , остальные 4 получают столько же это я знаю как сделать.
По сути я тут не пойму как в первую структуру перекинуть инфу о группе правильно, правильно взять эти данные и сделать то что нужно с ними, а потом всё подчистить. В общем именно в метод OnDamage передать инфу о группе не могу..Как сделалал - это какие то костыли через отдельного юнита. В общем ересь получилась
0
10
3 года назад
0

» WarCraft 3 / Вопрос по коду

Гуванч:
Вот ты сохранил в группу юнитов и они получили урон и в этот момент этот урон вызывается еще тоесть реагирует на нанесения урон это получается как бесконечный цикл по этому и умирают с одного раза
Вопрос не в этом, смерть это для проверки я сам поставил , что бы понять что у меня получилось опознать юнитов из группы, а дальше я туплю что делать. Мне нужно правильно переделать или изменить что то в структуре DeadlyLinkX (верхней). что бы работало как я описал в вопросе.
0
10
3 года назад
Отредактирован EviLInside
0

» WarCraft 3 / Условие - герой имеет не изученную способность X

(зачем тебе loop - просто используй переменную и засчитывай ее под номер игрока которому принадлежит герой)
Без этого ни как )) в vJass без прогонки ты никак не сделаешь MUI спеллы легко, там придётся добавлять array и индексы ( если не сможешь к таймеру привзяать) ,как говорят чуваки из LUA там ты забудешь о MUI , я не близок к программированию , но суть понимаю что мне сложновато это дерьмо делать.

Кстати а вдруг у игрока их может быть несколько таких юнитов)
0
10
4 года назад
Отредактирован EviLInside
0

» WarCraft 3 / Пассивка. Таймеры.

Extremator:
Тут на много проще будет изменить саму формулу подсчёт регена в зависимости от потеряного % здоровья.
Спасибо что откликнулся, но это было бы слишком просто (хотя то что я хочу наверное тоже не слишком проблемно ), но я не корректно задавал вопрос видимо. мне просто хочется для себя узнать как можно реализовать именно таймеры. Что бы и на будущее в других ситуациях уже знать как это выглядит.
По сути смысл ясен, чекаем героев которые входят на игровую карту
потом запускаем для каждого таймер №1
таймер №1 чекает хп и в зависимости от хп задаёт периодичность таймеру №2
Но типо как влезть в таймер №2 что бы его значение менялось на текущее актуальное
в этом моменте я и заступорился . Но это моё видение, может есть какие то другие решения попроще или т.п
0
10
4 года назад
Отредактирован EviLInside
0

» WarCraft 3 / Заклинания на заказ

Заказ
=
Название: Eye beam
Метод: Jass/cJass/vJass - без утечек особое пожелание
Версия: Reforged актуальная последняя
MUI: Обязательно
Цель: Нет цели
Количество уровней: 1
Описание: Подобие способности охотника на демонов из wow, При касте из героя вырывается луч на расстояние 1000 и шириной поражения 200 в направлении взгляда героя [луч естественно постоянно "привязан к положению героя и его взгляду", и наносит каждые 0.1 секунду 10 урона. в течении 3х секунд. Пока идёт каст герой либо не подвижен но может задавать направление взгляда (крутиться на одном месте). Либо просто замедляет свою скорость передвижения на 75%.
Огромная просьба сделать это именно с этим ЗЕЛЁНЫМ эффектом www.hiveworkshop.com/threads/accelerator-gate.315752/#resource-8.... Почему с ним? потому что там центр эффекта это середина луча и стандартный угол. А у меня с вращением и в целом геометрией проблемы
0
10
4 года назад
Отредактирован EviLInside
0

» WarCraft 3 / Order ID , flamingarrowstarg

Правильно, там же событие идёт на отлов приказа, а каст способности как отловить я написал выше )
call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_ORDER, function thistype.onOrder)
Да я тоже хотел предложить кое-что, но в том случае так же была бы проблема с включение/выключением автокаста при полёте стрелы
Я почти сделал всё так как нужно через call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER, function thistype.onOrderTarg) , и понял что flamingarrowtarg ID это как раз то что мне нужно для соло выстрела и это работает (о том что я спрашивал в начале темы), добавил логических что бы убрать проблемы при сменах цели (когда обычная автоатака летит и активируешь либо кидаешь таргетно способность, щас ещё поковыряюсь и скину код может кому то интересно будет [тем кто читал этот код абилки выше] может кто то подскажет что ещё можно сделать. И закрою тему, А так видимо да
Тут единственный вариант сделать идеально и как тебе надо это сделать кастомные снаряды стрел и атаки, а по другому только извращения
Это первое что пришло в голову для удобной работы с автокастами.

quq_CCCP:
Зачем вам это, у вас же не дота - где по балансу автокасты не должны мешать орбам?
Тут сложная реализация, помнится драколич долго бился чтобы сделать хускару стрелы из леденой брони, чтобы уж точно пахало как надо. Если система не под функционал рефаунда - то не удивительно, хрен ты без мемхака или детекта рефорджа сделаешь норм автокаст орбы, чтобы прямо как 1 в 1 близордовские но без орба.
Буду указывать версию игры всегда в вопросах в начале своих, мой косяк. Сижу в редакторе reforged. Зачем нужно что бы как у близов? не знаю, какой то перфекционист внутри меня хочет что бы было всё идеально что ли если возможно. И при любом желании для любой карты будь то нужен баланс или не нужен или просто для удобной игры я мог вставить это в карту. Мне нравиться сам процесс работы над картой или способностями и того как получается что то делать и работало без багов.
0
10
4 года назад
Отредактирован EviLInside
0

» WarCraft 3 / Order ID , flamingarrowstarg

Это уже от части будет оффтоп но надеюсь кто то в курсе того что я опишу. На Hiveworkshop есть такая система DamageInterface от chopinski (могу ошибаться в правильности никнейма), мне она понравилась , но т.к я далеко не мастер в кодинге, может быть это рутинная системка для вас опытных ребят. Потихоньку ковыряюсь в ней , тем более что у него там есть концепты героев сделанные при использовании его же системы. Есть там сильвана, с автокаст абилкой. Не знаю баги это или невозможность сделать лучше. Сначало код
library BlackArrow requires DamageInterface, RegisterPlayerUnitEvent, Utilities, optional WitheringFire
/* ---------------------- Black Arrow v1.0 by Chopinski --------------------- */
// Credits:
//     Magtheridon96 - RegisterPlayerUnitEvent
//     AZ            - Black Arrow model
//     Darkfang      - Arcane Arrow icon
//     YourArthas    - Skeleton Models
/* ----------------------------------- END ---------------------------------- */

/* ------------------------------ CONFIGURABLES ----------------------------- */
    globals
        // The raw code of the Black Arrow ability
        public  constant integer BLACK_ARROW       = 'A00C'
        // The raw code of the Black Arrow Curse debuff
        public  constant integer BLACK_ARROW_CURSE = 'A00D'
        // The raw code of the melee unit
        private constant integer SKELETON_WARRIOR  = 'u000'
        // The raw code of the ranged unit
        private constant integer SKELETON_ARCHER   = 'n001'
        // The raw code of the Elite unit
        private constant integer SKELETON_ELITE    = 'n000'
        // The effect created when the skelton warrior spawns
        private constant string  RAISE_EFFECT      = "Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl"
    endglobals

    // The curse duration
    public function GetCurseDuration takes integer level returns real
        return 10.
    endfunction

    // The damage bonus when Black Arrows is active
    private function GetBonusDamage takes unit u, integer level returns real
        return (5 + 5*level) + ((0.05*level)*GetHeroAgi(u, true))
    endfunction

    // The melee sketelon health amount
    private function GetSkeletonWarriorHealth takes integer level returns integer
        return 50*(level + 6)
    endfunction

    // The melee sketelon damage amount
    private function GetSkeletonWarriorDamage takes integer level returns integer
        return 5*(level + 3)
    endfunction

    // The ranged sketelon health amount
    private function GetSkeletonArcherHealth takes integer level returns integer
        return 50*(level + 3)
    endfunction

    // The ranged sketelon damage amount
    private function GetSkeletonArcherDamage takes integer level returns integer
        return 5*(level + 6)
    endfunction

    // The sketelon duration
    private function GetSkeletonDuration takes integer level returns real
        return 15.
    endfunction

    // The max amount of skeleton warriors a unit can have
    private function GetMaxSkeletonCount takes integer level returns integer
        return 11
    endfunction

    // The elite sketelon health amount
    private function GetEliteHealth takes integer level returns integer
        return 50*(level + 11)
    endfunction

    // The elite sketelon damage amount
    private function GetEliteDamage takes integer level returns integer
        return 5*(level + 11)
    endfunction

    // The elite sketelon duration
    private function GetEliteDuration takes integer level returns real
        return 60.
    endfunction

    // How long it takes to a unit to be able to spawn Elites again after it already has the max amount
    private function GetEliteCountReset takes integer level returns real
        return 30.
    endfunction

    // The Max amount of Elites a unit can have before going into cooldown
    private function GetMaxEliteCount takes integer level returns integer
        return 2
    endfunction

    /* --------------------------------- System --------------------------------- */
    struct BlackArrow
        private static integer array counter
        private static integer array elite
        private static integer array skeletons
        private static player        owner
        static boolean array         active

        timer   t
        integer idx

        private static method onPeriod takes nothing returns nothing
            local thistype this = GetTimerData(GetExpiredTimer())

            call ReleaseTimer(t)
            set elite[idx] = 0
            set t = null
            call deallocate()
        endmethod

        private static method onOrder takes nothing returns nothing
            local unit    source = GetOrderedUnit()
            //---------------------------------------------
            local integer id     = GetIssuedOrderId()
            local integer idx    = GetUnitUserData(source)
            //---------------------------------------------

            if id == 852174 or id == 852175 then
                set active[idx] = id == 852174
                static if LIBRARY_WitheringFire then
                    if GetUnitAbilityLevel(source, WitheringFire_WITHERING_FIRE) > 0 then
                        call WitheringFire.setMissileArt(source, active[idx])
                    endif
                endif
            endif

            set source = null
        endmethod

        static method onDamage takes nothing returns nothing
            local integer  level    = GetUnitAbilityLevel(DamageI.source, BLACK_ARROW)
            local integer  manaCost = BlzGetAbilityIntegerLevelField(BlzGetUnitAbility(DamageI.source, BLACK_ARROW), ABILITY_ILF_MANA_COST, level - 1)
            //----------------------------------------------
            local boolean  hasMana  = GetUnitState(DamageI.source, UNIT_STATE_MANA) > manaCost
            //----------------------------------------------
            local real     damage   = GetEventDamage()
            //----------------------------------------------
            local unit     u
            //----------------------------------------------
            local thistype this
            //----------------------------------------------

            if active[DamageI.sIdx] and DamageI.isEnemy and not DamageI.structure and hasMana and damage > 0 then
                set owner = DamageI.sourcePlayer

                call BlzSetEventDamage(damage + GetBonusDamage(DamageI.source, level))
                if DamageI.targetIsHero then
                    set counter[DamageI.sIdx] = counter[DamageI.sIdx] + 1

                    if counter[DamageI.sIdx] >= 5 then
                        set counter[DamageI.sIdx] = 0

                        if elite[DamageI.sIdx] < GetMaxEliteCount(level) then
                            set elite[DamageI.sIdx] = elite[DamageI.sIdx] + 1 
                            set u = CreateUnit(owner, SKELETON_ELITE, DamageI.targetX, DamageI.targetY, 0)

                            call BlzSetUnitMaxHP(u, GetEliteHealth(level))
                            call BlzSetUnitBaseDamage(u, GetEliteDamage(level), 0)
                            call SetUnitLifePercentBJ(u, 100)
                            call UnitApplyTimedLife(u, 'BTLF', GetEliteDuration(level))
                            call SetUnitAnimation(u, "Birth")
                            call DestroyEffect(AddSpecialEffectEx(RAISE_EFFECT, GetUnitX(u), GetUnitY(u), GetUnitFlyHeight(u), 2))
                            
                            if elite[DamageI.sIdx] == GetMaxEliteCount(level) then
                                set this = thistype.allocate()
                                set .t   = NewTimerEx(this)
                                set .idx = DamageI.sIdx
                                call TimerStart(.t, GetEliteCountReset(level), false, function thistype.onPeriod)
                            endif
                        endif
                    endif
                endif
                call UnitAddAbilityTimed(DamageI.target, BLACK_ARROW_CURSE, GetCurseDuration(level), true)
                call SetUnitAbilityLevel(DamageI.target, BLACK_ARROW_CURSE, level)
            endif

            set u = null
        endmethod

        private static method onDeath takes nothing returns nothing
            local unit    killed   = GetTriggerUnit()
            //---------------------------------------------
            local integer level    = GetUnitAbilityLevel(killed, BLACK_ARROW_CURSE)
            local integer idx      = GetPlayerId(owner)
            local integer id       = GetUnitTypeId(killed)
            //---------------------------------------------
            local boolean ranged   = IsUnitType(killed, UNIT_TYPE_RANGED_ATTACKER)
            local boolean skeleton = id == SKELETON_WARRIOR or id == SKELETON_ARCHER
            //---------------------------------------------
            local unit    u
            local real    x
            local real    y
            //---------------------------------------------

            if skeleton then
                set idx = GetPlayerId(GetOwningPlayer(killed))
                set skeletons[idx] = skeletons[idx] - 1
            elseif level > 0 and skeletons[idx] < GetMaxSkeletonCount(level) then
                set skeletons[idx] = skeletons[idx] + 1
                set x = GetUnitX(killed)
                set y = GetUnitY(killed)
                
                if ranged then
                    set u = CreateUnit(owner, SKELETON_ARCHER, x, y, 0)
                    call BlzSetUnitMaxHP(u, GetSkeletonArcherHealth(level))
                    call BlzSetUnitBaseDamage(u, GetSkeletonArcherDamage(level), 0)
                else
                    set u = CreateUnit(owner, SKELETON_WARRIOR, x, y, 0)
                    call BlzSetUnitMaxHP(u, GetSkeletonWarriorHealth(level))
                    call BlzSetUnitBaseDamage(u, GetSkeletonWarriorDamage(level), 0)
                endif
                
                call UnitApplyTimedLife(u, 'BTLF', GetSkeletonDuration(level))
                call SetUnitLifePercentBJ(u, 100)
                call SetUnitAnimation(u, "Birth")
                call DestroyEffect(AddSpecialEffectEx(RAISE_EFFECT, GetUnitX(u), GetUnitY(u), GetUnitFlyHeight(u), 1))
            endif

            set u      = null
            set killed = null
        endmethod   

        static method onInit takes nothing returns nothing
            call RegisterAttackDamageEvent(function thistype.onDamage)
            call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_DEATH, function thistype.onDeath)
            call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_ORDER, function thistype.onOrder)
        endmethod
    endstruct
endlibrary
Ну так вот. Она не работает если не активную просто горячей клавишей кидать . Так же если активировать в момент полёта уже выпущеной обычной стрелы , она долетев (обычная стрела) сделает эффект как будто была выпущена уже с автокастом. Это невозможность сделать лучше или он просто не довёл до ума абилку"

я пытался добавить что бы сделать с одиночного выстрела что бы работало вот такое :
call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER, function thistype.onOrderTarg)


        private static method onOrderTarg takes nothing returns nothing
            local unit    source = GetOrderedUnit()
            //---------------------------------------------
            local integer id     = GetIssuedOrderId()
            local integer idx    = GetUnitUserData(source)
            //---------------------------------------------

            if id == 852173  then
                set active[idx] = id == 852173  // Тут типо order c flamingarrowtarg
            endif

            set source = null
        endmethod
но очевидно я делаю что то не так походу
0
10
4 года назад
0

» WarCraft 3 / Как "запаузить" любые действия с юнитом. (Не в прямом смысле)

Proshel_Doty:
Да ну какой таймер)
Просто отдавай один и тот же нужный приказ при получении любого приказа
А разве это отменит срабатывание приказа изначального? например мне кажется если спамить S "отставить" юнит всё равно будет стоять в "замешательстве" а не бить беспрерывно
0
10
4 года назад
0

» WarCraft 3 / Как "запаузить" любые действия с юнитом. (Не в прямом смысле)

DracoL1ch:
надежно - мемхак (1.26) и, возможно, какие-нибудь извраты в 1.31 найдутся
ненадежно - как щас
Ну я к сожалению (или к счастью) сижу только на ласт патче, в надежде на то что близы всё таки будут что то добавлять в редактор (учитывая что про СК2 вспомнили, может и про варик хотя бы планы есть сделать что то.) А по теме, как раз сижу и жду может знатоки актуала имеют полезную информацию.