28

» WarCraft 3 / Редактирование приказов

Так, а куда это писать, простите за невежество?
Ну так ты открой игру каском, вытащи этот файл, про который написана статья, замени позиции иконок и импортируй новый файл по нужному пути в карту. А ещё, насколько я помню, добавляли нативку по скрытию этих иконок.
pro100master:
есть же нативка скрыть абилку а также и команду.

А куда писать "Buttonpos"?
Ты файл найди, там уже увидишь.
28

» WarCraft 3 / Оформление древовидного развития в игре.

(но так, чтобы эти команды все равно работали в здании)
Насчёт работы сказать не могу, но скрыть можно.
Статья и комментарий.
28

» WarCraft 3 / Оформление древовидного развития в игре.

Отмена (3/2) и Флаг (3/1)
Это если оно что-то производит, а также эти иконки можно скрыть. Потому в распоряжении 12 позиций.
28

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

Но всё равно на них же не столько памяти уходит
Любая конкатенация создаёт новую строку. То есть операция "a + "b" + "c" создаст строки "a", "b", "c", "ab", "abc".
28

» WarCraft 3 / Деструктиблы, смерть, анимация

Принятый ответ
Алсо, вопрос: можно ли деструктиблу дать лайфтаймер, как юниту? <
Нативного инструмента нет.

Я думаю, что дело в самой модельке, анимация смерти очень быстрая. Но скорость анимаций можно замедлить специальной функцией.
native          SetDestructableAnimationSpeed takes destructable d, real speedFactor returns nothing
28

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

Survival Chaos
Если там используется мемхак, то дело вполне может быть в нём (забыли что-то где-то почистить). Если нет, то дело может быть в импортируемых звуках и шрифтах, которые подгружаются в память, но не очищаются после выхода из игры (и это не JASS объекты).

Сам вопрос-то решён?
28

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

Год или два назад читал, причём здесь конкурс мини-игр?
Потому что только там в комментариях я такое увидел.
PT153:
Про утечки это как минимум бред потому, что тогда все триггеры, юниты и прочие объекты висят в памяти после выхода карты.
Всё же очень глупо оставлять объекты карты после выхода из неё, разрабы вк3 не кретины же.

Прикрепил карту. В ней во время инициализации создаётся 250000 групп.
Скриншоты потребления игры во время работающей карты и после выхода из неё.

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

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

Слышал звон, да не знаю, где он.
8gabriel8:
Вряд ли
Под конкурсом мини-игр как раз-таки такое было про карты с мемхаком.

Про утечки это как минимум бред потому, что тогда все триггеры, юниты и прочие объекты висят в памяти после выхода карты.
28

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

По-моему, после выхода из карты (не вк3), то все объекты, созданные на этой карте, удаляются и никак не влияют на производительность других карт.
28

» WarCraft 3 / Телепортация по областям в соответствии с координатами

Если Darknessay не устраивает узконаправленный вариант, который я дал в комментарии выше, то ниже выкладываю общий.
раскрыть
scope RelationalTeleporter initializer init
globals
    constant group EmptyGroup = CreateGroup()
    
    real RatioX
    real RatioY
    real MinX_A
    real MinX_B
    real MinY_A
    real MinY_B
    
    private boolexpr filter
endglobals

function TeleportAllUnitsFromRectAToRectB takes rect a, rect b returns nothing
    // X
    set MinX_A = GetRectMinX(a)
    set MinX_B = GetRectMinX(b)
    set RatioX = (GetRectMaxX(b) - MinX_B) / (GetRectMaxX(a) - MinX_A)
    // Y
    set MinY_A = GetRectMinY(a)
    set MinY_B = GetRectMinY(b)
    set RatioY = (GetRectMaxY(b) - MinY_B) / (GetRectMaxY(a) - MinY_A)
    
    call GroupEnumUnitsInRect(EmptyGroup, a, filter)
endfunction

function TeleportFromAToB_Filter takes nothing returns boolean
    local unit u = GetFilterUnit()
    call SetUnitX(u, (GetUnitX(u) - MinX_A) * RatioX + MinX_B)
    call SetUnitY(u, (GetUnitY(u) - MinY_A) * RatioY + MinY_B)
    set u = null
    return false
endfunction

function init takes nothing returns nothing
    set filter = Filter(function TeleportFromAToB_Filter)
endfunction

endscope
Загруженные файлы
28

» WarCraft 3 / Как заменить молот на сторожевую змею?

а разве нельзя (мной не пробовалось) именно змеёй кидаться?
Может и можно, но, из того, что я понял, у Esea не вышло.
28

» WarCraft 3 / Как заменить молот на сторожевую змею?

Я указал сторожевую змею
Ты орёшь?
Змея - это юнит, у которого есть атака. Тебе нужно скопировать снаряд (projectile art) у змеи (а не саму модель змеи) и заменить у молота бурь соответствующее поле.
28

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

А вообще, я не понимаю бугурта, сказали же, что начнут присылать с понедельника, но вот с какого, уточнено не было. Так что ждём.
28

» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?

Здесь запамятовал и ошибся, надо:
Надо вот так.
call DestroyGroup(bj_lastCreatedGroup)
28

» WarCraft 3 / Телепортация по областям в соответствии с координатами

И ворлдбоундс здесь не в тему, потому что.
GetWorldBound() возвращает рект в границах всей карты, независимо от того, какой центр. Вместо всей карты можно поставить ту область, что надо.
если мне понадобится тепать юнита обратно из области по той же схеме?
Ну камон, я дал ссылку на комментарий, там есть обратная функция.

Формулы из области А в область Б и наоборот. Вместо C можно подставить любое измерение. Вместо "какой-то точки" можно взять центр или левую нижнюю точку, тогда соответствующие им точки также центр и также левая нижняя точка другой области.
// Из А в Б
call SetUnitC(u, (GetUnitC(u) - <Координата C какой-то точки A>) * (отношение области А к области Б по координате C) + <Координата C соответствующей точки в области Б>)

// Из Б в А
call SetUnitC(u, (GetUnitC(u) - <Координата C какой-то точки Б>) * (отношение области Б к области А по координате C) + <Координата C соответствующей точки в области А>)
Принцип таков: находим разницу в координатах между позицией и "особой" точкой области А, умножаем на коэффициент, прибавляем координату точки области Б, что соответствует "особой" точке области А.
какие то свои топовые функции и методики
Да тут все об одном и том же, просто то точки разные, то ещё что-то.
28

» WarCraft 3 / Телепортация по областям в соответствии с координатами

SetUnitX(u,(_*_)*(_*_))
Я так и сделал в этом комментарии.
На всякий случай напишу в 1 строчку.
function TeleportToSmallUniverse tales unit u returns nothing
    call SetUnitX(u, (GetUnitX(u) - GetRectCenterX(GetWorldBounds())) * 0.1 + GetRectCenterX(SmallUniverse_Rect))
    call SetUnitY(u, (GetUnitY(u) - GetRectCenterY(GetWorldBounds())) * 0.1 + GetRectCenterY(SmallUniverse_Rect))
endfunction
28

» Мир безумного / Сотрудники Blizzard «плачут и обнимаются»

То есть вон оно как, можем не увидеть Рефорджа
Иммортал и рефордж будет. Не будет чего-то крупного.
N7 Molot:
Хорошие новости, разработчиков не тронули - варику быть!
Ну так да, людей, что напрямую разрабатывают игры, и не собирались трогать.
28

» WarCraft 3 / Телепортация по областям в соответствии с координатами

Это заблуждение, real в JASS это float из C++ в чистом виде.
Я это знаю, но есть одно но.
Впрочем, 0.1 JASS должен нормально прочитать.
28

» WarCraft 3 / Телепортация по областям в соответствии с координатами

На Ratio, кстати, умножают.
В данном случае надо делить, потому что телепортация происходит в область, что в 10 раз меньше, а константа равна 10. Если же придирка к тому, что константа должна быть равна 0.1, то я так не сделал, потому что real в JASS абсолютно непредсказуемо.
упаковал формулы без каких-либо пояснений
Они весьма очевидны: находим разницу между центром карты и текущей позицией, уменьшаем её в 10 раз и прибавляем центр маленькой вселенной.
>использует центральные координаты
Ну я подумал, что origin есть центр.
28

» WarCraft 3 / Телепортация по областям в соответствии с координатами

использовал кучу ненужных элементов, например
И какие же? Я сделал всё в точности тоже самое, что и ты, но без определения и назначения ненужных локалок.