28

» WarCraft 3 / Юнит как Герой + его позиция

Чтобы сделать обычного юнита героем, достаточно дать ему равкод с прописными (большими) буквами.
8gabriel8:
Тоже такое предполагал сначала, но скрытые юниты не выбираются и триггерно выбор не отлавливается. Аналогично с Москитами не выбрать героя.
Зачем такие сложности, просто модель убираем, в способностях оставляем неяузвимость.
В карте делаем триггер: событие - каждые 0.03 секунды, действия - выбрать всех юнитов в группе (Все юниты типа юнит-пустышка) и сделать дейсвия:
Если Picked Unit выбран своим владельцем то убрать его выделение и выбрать юнита непустышку.

Делаем именно через периодический триггер, потому что события "Юнит выбран" и "Юнит перестают быть выбранным" работают с задержкой.
28

» WarCraft 3 / Проблемы утечек

Но это не работает с выбором всех юнитов определённого типа на карте.
Pick every unit in group and do actions вызывает ForGroupBJ(), в которой при bj_wantDestroyGroup == true группа удаляется.
ForGroupBJ
function ForGroupBJ takes group whichGroup, code callback returns nothing
    // If the user wants the group destroyed, remember that fact and clear
    // the flag, in case it is used again in the callback.
    local boolean wantDestroy = bj_wantDestroyGroup
    set bj_wantDestroyGroup = false

    call ForGroup(whichGroup, callback)

    // If the user wants the group destroyed, do so now.
    if (wantDestroy) then
        call DestroyGroup(whichGroup)
    endif
endfunction
Не работает как раз-таки способ с удалением GetLastCreatedGroup(), потому что все BJ функции групп используют локалки.
Функции
function GetUnitsInRangeOfLocMatching takes real radius, location whichLocation, boolexpr filter returns group
    local group g = CreateGroup()
    call GroupEnumUnitsInRangeOfLoc(g, whichLocation, radius, filter)
    call DestroyBoolExpr(filter)
    return g
endfunction

function GetUnitsInRectMatching takes rect r, boolexpr filter returns group
    local group g = CreateGroup()
    call GroupEnumUnitsInRect(g, r, filter)
    call DestroyBoolExpr(filter)
    return g
endfunction

function GetUnitsInRectOfPlayer takes rect r, player whichPlayer returns group
    local group g = CreateGroup()
    set bj_groupEnumOwningPlayer = whichPlayer
    call GroupEnumUnitsInRect(g, r, filterGetUnitsInRectOfPlayer)
    return g
endfunction

function GetUnitsOfPlayerAndTypeId takes player whichPlayer, integer unitid returns group
    local group g = CreateGroup()
    set bj_groupEnumTypeId = unitid
    call GroupEnumUnitsOfPlayer(g, whichPlayer, filterGetUnitsOfPlayerAndTypeId)
    return g
endfunction

function GetUnitsOfPlayerMatching takes player whichPlayer, boolexpr filter returns group
    local group g = CreateGroup()
    call GroupEnumUnitsOfPlayer(g, whichPlayer, filter)
    call DestroyBoolExpr(filter)
    return g
endfunction

function GetUnitsOfTypeIdAll takes integer unitid returns group
    local group   result = CreateGroup()
    local group   g      = CreateGroup()
    local integer index

    set index = 0
    loop
        set bj_groupEnumTypeId = unitid
        call GroupClear(g)
        call GroupEnumUnitsOfPlayer(g, Player(index), filterGetUnitsOfTypeIdAll)
        call GroupAddGroup(g, result)

        set index = index + 1
        exitwhen index == bj_MAX_PLAYER_SLOTS
    endloop
    call DestroyGroup(g)

    return result
endfunction

function GetUnitsSelectedAll takes player whichPlayer returns group
    local group g = CreateGroup()
    call SyncSelections()
    call GroupEnumUnitsSelected(g, whichPlayer, null)
    return g
endfunction
Так что самый верный способ будет через присвоение.
set bj_wantDestroyGroup = true

Локации удалять через RemoveLocation(), а группы через set bj_wantDestroyGroup = true.
28

» WarCraft 3 / Проблемы утечек

По поводу групп: можно не удалять группу через Destroy Group, а перед вызовом (выбрать всех юнитов в группе и сделать то-то) написать в Custom Script
set bj_wantDestroyGroup = true
Тогда группа сама удалится.

Счётчикам особо доверять не стоит, но если что-то постоянно утекает, то они это заметят.
28

» WarCraft 3 / Как запретить выкладывать предмет на землю или отдавать др юниту

Я сделал вот что.
Юзаем спел на юнита и его самый первый предмет продаётся. Юнит должен быть рядом с магазином и быть повёрнутым прямо к нему.
Загруженные файлы
28

» WarCraft 3 / Как запретить выкладывать предмет на землю или отдавать др юниту

Разве нужно спел для этого делать, а не просто продавать невыпадаемые предметы?
А как ты собираешься продать предмет, который нельзя выкинуть?
28

» WarCraft 3 / Как запретить выкладывать предмет на землю или отдавать др юниту

Такого приказа нет.
Можно сделать спел в лавках, который продаёт предмет, а сам предмет сделать невыпадаемым. Выбираешь лавку, используешь спел на предмет, предмет продаётся.
Такого приказа нет.
Он, скорее всего, есть, но его никак нельзя отловить.
28

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

что мне .exe файл разблокировать надо чтобы запустить...
Так делает Windows 10 для всех скачанных .ехе.
28

» WarCraft 3 / мини карта

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

» WarCraft 3 / TerrainId

потом перезапустить редактор
Достаточно закрыть и открыть карту вновь.
28

» WarCraft 3 / Проверка Скорости боя героя

Принятый ответ
Name Legion:
а формула какая? integer A это цикл как и integer B
Я тебе сказал формулу. При чём тут циклы? Я просто назвал числа, чтобы было короче писать.

Напишу в твоих буквах.
Result = BaseAs / (1 + AGI * 0.01).
Result -- скорость перезарядки, не путать со скоростью атаки! Скорость атаки величина обратная.
28

» WarCraft 3 / Про Тайники

Так ты открой карту кампании и посмотри, как это сделано, комментарии там есть.
28

» WarCraft 3 / Юнит не сохраняется в структе

Принятый ответ
зачем внешние очишаеш структуру?
Порой это нужно.

Замени GetTriggerUnit() на GetSpellAbilityUnit().
ApaxHoqpuJL:
call SetUnitAnimationReverseFollowed(u, 3, 1, 1, true, FollowUpFunc.AnimationTimerFollowup, animData)
А это что такое? Что за FollowUpFunc.AnimationTimerFollowup?
28

» WarCraft 3 / Проверка Скорости боя героя

У героя есть базовая скорость перезарядки (число А), все процентные бонусы скорости атаки складываем (число В). Тогда новая скорость перезарядки будет А / (1 + B%).
28

» WarCraft 3 / Почему число увеличивается !?

Значит, подчищать эти объекты, что бы хендл не увеличивался возможности нет ?
Они создаются внутри движка игры, их никак нельзя достать без мемхака.
28

» WarCraft 3 / Почему число увеличивается !?

Принятый ответ
Ну так-то при касте создаются некоторые объекты. Если поставить конечную длительность спелу, то через несколько активаций хендл опять упадёт в 92.
28

» JackCraft / WarFortress (Mini-Game Contest-2018-WIP)

Еще кнопки приказов раздражают.
Так их можно убрать.
Вот тут сказано, как убрать приказы. Нежелательным иконкам ставим в координаты 0,-11.
Не работает на иконки строительства, им нужно поставить 0,-11 в способностях в РО.
28

» XGM Конкурсы / Warcraft III Mini-Game Contest-2018

счетчик с сайта + загрузка оперативки (сверка со средним приростом при учке 10 локаций/с).
Про счётчик я уже высказал своё фи, а вот загрузка оперативки - другое дело. Но тут тоже стоит быть аккуратным, ведь порой нужно много объектов создать сразу. Так что я думаю, что особо этим увлекаться не стоит, карта не лагает - и хорошо.
Версия игры не ограничивается правилами. Прекращайте пожалуйста с такими вопросами.
Это нормальный вопрос с целью уточнить. Если версия не ограничивается, то это стоит указать в правилах, а не в комментариях. Как минимум в правилах стоит указать, что "Все что *явно* не ограничивается правилами - разрешено" и слово "явно" выделить.

Как говорится, без нормального тз - результат хз)
тз - техническое задание.

У меня тут идейка появилась для простенькой игры, так что может быть тоже приму участие.
28

» WarCraft 3 / Способность которая действует по все карте

Для начала local unit - мусорка
Локальный юнит -- это нормальная практика. Если не можешь в локалки, иди читать статьи.
Далее, ты вызываешь условие через condition у группы
А должно быть Filter
Без разницы. Можно Filter, можно Condition, если используешь jasshelper, то можно вообще не писать (jasshelper сам обернёт в Condition). На работоспособность никак это не повлияет.
28

» XGM Конкурсы / Warcraft III Mini-Game Contest-2018

Работы в которых утекает более 10-ти хэндлов в секунду не принимаются.
Очень странное правило, как это вы будете отслеживать? Хендл каутер, что есть на XGM, крайне ненадёжный (он может в минус уйти, если быстро удалить много объектов). Разве что только с мемхаком.
Я не думаю, что вы будете вчитываться в код.

Также нигде не указано, для какой версии игры делаются карты.
Raised:
Нет.
Да. IQ тесты вещи спорные, потому что многие люди с высоким IQ безработные. Да и с каких пор сделать карту для WC3 является IQ тестом?

Определение из вики, что такое мини-игра: ру, en.
В общем, мини-игра -- это игра в игре, попроще и короче, чем основная, то есть любая карта для WC3, что проще и короче melee карты, будет мини-игрой.

Правило не запрешает ли мемхак?
Никогда не задавай вопросы с "не", ибо если дадут краткий ответ (да или нет), то ответ ты не поймёшь, как сейчас и случилось.
28

» WarCraft 3 / Спец символы war3

Вместо |n можно использовать просто перенос строки, он делается (насколько помню) Ctrl+Enter.