Ну так ты открой игру каском, вытащи этот файл, про который написана статья, замени позиции иконок и импортируй новый файл по нужному пути в карту. А ещё, насколько я помню, добавляли нативку по скрытию этих иконок. pro100master:
Если там используется мемхак, то дело вполне может быть в нём (забыли что-то где-то почистить). Если нет, то дело может быть в импортируемых звуках и шрифтах, которые подгружаются в память, но не очищаются после выхода из игры (и это не JASS объекты).
Если 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
Ты орёшь?
Змея - это юнит, у которого есть атака. Тебе нужно скопировать снаряд (projectile art) у змеи (а не саму модель змеи) и заменить у молота бурь соответствующее поле.
GetWorldBound() возвращает рект в границах всей карты, независимо от того, какой центр. Вместо всей карты можно поставить ту область, что надо.
если мне понадобится тепать юнита обратно из области по той же схеме?
Ну камон, я дал ссылку на комментарий, там есть обратная функция.
Формулы из области А в область Б и наоборот. Вместо C можно подставить любое измерение. Вместо "какой-то точки" можно взять центр или левую нижнюю точку, тогда соответствующие им точки также центр и также левая нижняя точка другой области.
// Из А в Б
call SetUnitC(u, (GetUnitC(u) - <Координата C какой-то точки A>) * (отношение области А к области Б по координате C) + <Координата C соответствующей точки в области Б>)
// Из Б в А
call SetUnitC(u, (GetUnitC(u) - <Координата C какой-то точки Б>) * (отношение области Б к области А по координате C) + <Координата C соответствующей точки в области А>)
Принцип таков: находим разницу в координатах между позицией и "особой" точкой области А, умножаем на коэффициент, прибавляем координату точки области Б, что соответствует "особой" точке области А.
какие то свои топовые функции и методики
Да тут все об одном и том же, просто то точки разные, то ещё что-то.
В данном случае надо делить, потому что телепортация происходит в область, что в 10 раз меньше, а константа равна 10. Если же придирка к тому, что константа должна быть равна 0.1, то я так не сделал, потому что real в JASS абсолютно непредсказуемо.
упаковал формулы без каких-либо пояснений
Они весьма очевидны: находим разницу между центром карты и текущей позицией, уменьшаем её в 10 раз и прибавляем центр маленькой вселенной.
Ред. PT153
» WarCraft 3 / Редактирование приказов
pro100master:
» WarCraft 3 / Оформление древовидного развития в игре.
Статья и комментарий.
Ред. PT153
» WarCraft 3 / Оформление древовидного развития в игре.
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
» WarCraft 3 / Деструктиблы, смерть, анимация
Ред. PT153
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
PT153:
Скриншоты потребления игры во время работающей карты и после выхода из неё.
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
8gabriel8:
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
» WarCraft 3 / Как сделать чтобы триггер юзался если спел равен такому-то лвлу
Ред. PT153
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
Ред. PT153
» WarCraft 3 / Телепортация по областям в соответствии с координатами
» WarCraft 3 / Как заменить молот на сторожевую змею?
» WarCraft 3 / Как заменить молот на сторожевую змею?
Змея - это юнит, у которого есть атака. Тебе нужно скопировать снаряд (projectile art) у змеи (а не саму модель змеи) и заменить у молота бурь соответствующее поле.
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» WarCraft 3 / Возможна ли без JASS автоматическая добыча древесины?
Ред. PT153
» WarCraft 3 / Телепортация по областям в соответствии с координатами
» Мир безумного / Сотрудники Blizzard «плачут и обнимаются»
Ред. PT153
» WarCraft 3 / Телепортация по областям в соответствии с координатами
На всякий случай напишу в 1 строчку.
Ред. PT153
» Мир безумного / Сотрудники Blizzard «плачут и обнимаются»
N7 Molot:
» WarCraft 3 / Телепортация по областям в соответствии с координатами
» WarCraft 3 / Телепортация по областям в соответствии с координатами
Впрочем, 0.1 JASS должен нормально прочитать.
Ред. PT153
» WarCraft 3 / Телепортация по областям в соответствии с координатами
Ред. PT153
» WarCraft 3 / Телепортация по областям в соответствии с координатами