Согласен, такое есть, адекватно работает лишь на самом последнем мемхаке, вот этом вот
На первом и втором мемхаке, мне не удавалось активировать сиджас и прочие фишки. Хотя в рендереже мемхак эдишен, всё снова прекрасно работало
Скрины ошибок, скрины настроек jngp, карту в студию
GetLocalPlayer, всё работает в последней версии блендера, но в версии с сайта, стимовская ругается
и + кто-то его подпиливал , можно ссылки найти в моих комментах и доказательства в дискорд сервере Xgm
(ноябрь 2020)
мемхак, это Контр C + контр V и у тебя гигансткое и функциональное API, тебе не надо понимать вектор. Ибо в функции для повотора можно также передать углы
Тебе нужен Pitch если снаряд эффект выглядит как самолёт в изначальном положении, а там хоть костылями забиваешь как хочешь, но ты можешь его кренить, UnitLookAt - сделан для поворота головы при диалогах в кампании, все его дальнейшие применения - извращение чистой воды, когда есть альтернативы, когда этого не было, то ещё ладно. Но не сейчас, не иди на дорожку инвалида, оставь это для сидящих на айкапе
function GetEffectRoll takes effect e returns real // X | returns Degrees!
return GetObjectRoll( ConvertHandle( e ) )
endfunction
function SetEffectRoll takes effect e, real angle returns nothing
call SetObjectRoll( ConvertHandle( e ), angle )
endfunction
function GetEffectPitch takes effect e returns real // Y | returns Degrees!
return GetObjectPitch( ConvertHandle( e ) )
endfunction
function SetEffectPitch takes effect e, real angle returns nothing // Y | In Degrees!
call SetObjectPitch( ConvertHandle( e ), angle )
endfunction
function GetEffectFacing takes effect e returns real // Z | Yaw | returns Degrees!
return GetObjectFacing( ConvertHandle( e ) )
endfunction
function SetEffectFacing takes effect e, real angle returns nothing // Z | Yaw | In Degrees!
call SetObjectFacing( ConvertHandle( e ), angle )
endfunction
Всё есть вертай не хочу
Дальше останется адаптировать готовый луа код и превратить его в jass
BlzSetSpecialEffectX(missile, x) -- устанавливаем положение эффекта
BlzSetSpecialEffectY(missile, y) -- устанавливаем положение эффекта
local zNew = GetParabolaZ(za, zb, distance * MISSILE_ARC, distance, way) -- считаем новую высоту эффекта
local zDiff = zNew - z -- считаем разницу высот
BlzSetSpecialEffectZ(missile, zNew) -- устанавливаем новую высоту эффекта
local zAngle = zDiff > 0 and math.atan(SPEED_INC / zDiff) - math.pi / 2 or math.atan(-zDiff / SPEED_INC) - math.pi * 2 -- считаем угол наклона снаряда
BlzSetSpecialEffectOrientation(missile, angle, zAngle, 0) -- устанавливаем направление эффекта
z = zNew -- запоминаем новую высоту эффекта
BlzSetSpecialEffectOrientation тут нет, но это по аналогии функий мемхака это Facing, Pitch, Roll
Забабахай 2 вместо одной
SetEffectFacing(missile,angle)
SetEffectPitch(missile,zAngle)
Только 1 самый важный момент - Назар вроде как в радианах работал, а функции мемхака берут угол, но это уже проще
Нужен мемхак или рефордж, чтобы поворачивать эффект по всем направлениям Yaw, Pitch, Roll
Всё остальное костыли 2005 года, оставьте их там же
(я про ту самую модель даммики с 360 анимациями для всех поворотов)
И разумеется 100% делать через эффект, никак юнитов
удалить, а везде в коде TotalReload заменять на udg_TotalFrameReloadSEC, а конкретно в этом месте
заменить на
function StartAllFrameCD(player)
local pid=GetPlayerId(player)
local data=AllAbilityFrames[pid]
for i=1,data.k do --#data.ReadyToReload[i]
StartFrameCD(udg_TotalFrameReloadSEC,data.ReadyToReload[i])
DisableTrigger(data.ClickTrig[i])
TimerStart(CreateTimer(),udg_TotalFrameReloadSEC, false, function()
EnableTrigger(data.ClickTrig[i])
end)
end
end
то я так и дальше бы имел 20 фпс при 90 единовременных снарядах в мапе.
И точно не метож перебора, вот у меня есть карта (ссылка не важна по ней никто не перейдёт и смотреть не будет), сделанная на 126, там юниты - снаряды, я тоже байтодрочил в своё время, и использовал и снаряд на отдельном таймере, и и все в группе и перебор через форгруп и перебор в булекспре , и снаряды отталкивалисб, проходили сковь, тонул в воде трассированные отскакивали от резины, друго от друга, расстраивались и не важно, не важно что я и как делал fps всегда был стабильны 60 для 126 патча. Всегда лишь одна проблема, когда fps падал это лишь число юнитов на экране, больше причин для падения производительности не было. Я эту карту делал на протяжении 4х лет и прохавал ну всё всё всё. Слушал всяких гуру советчиков, сам делал какие-то открытия. И снова приходил лишь к одному - ДАЖЕ ЕСЛИ НА ЭКРАНИЕ НИКТО НЕ ПЕРЕБИРАЕТСЯ в группах. то я испытываю только проблемы с числом юнитов на экране (энитов или декоров или доадов).
Тоже самое в рефордже сейчас благодаря анонимкам я делаю потом внутри потока на периодике внутрипериодика, вся на ультра малых периодах. И каким бы не был громоздким код - я ничего не теряю в производительности ну никак.
Всё что отбирает у вас производительность это юниты, декорации и доады
Я это написал в одном сообщении 3 раза, потому что реально, ну не факт перебора тут важен. И я это знаю уже 10 лет, и Назар это доказал, хоть какими-то бенчмарками, а то бы мне так никто бы и не верил
У меня 1800 сейчас без сталкивания(как у тебя), 380 со сталкиванием, при том что ты двигаешь каждые 0.1, а у меня 0.02, ы
Ясно даже не открывал, там 1/32 период, и снова не период важен а число материала на экране за экраном можно и 20к всего прокручивать, варкрафту всё так же по барабану будет
ещё раз откройте - "все способы переборы группы", разница в методах 1% максимум, 1% не повод для дискуссии
Всё байтодрочерство было актуально в 2003 году или для компов тех же годов. Допустим у вас 100 юнитов и реально комп с 512 метров первого ddr. И то производительность упадёт не от метода перебора, а уже от самого факта 100 юнитов.
Просто все эти "быстрее" реально не быстрее, каждый раз когда вам кто-то говорит, что вот это работает быстрее чем вон то - шлите его на фиг.
Ну тут такое дело, что рефордж не очень любят, я бы даже сказал вообще не любят. Обычного русификатора нет, но например я могу и знаю как не только русифицировать, но и добавить недостающий функционал, которого нет на гуи,
Вот пример того как это могло бы выглядеть
И то наверное по хорошему нужен не перевод, а очень хорошие и подробные комментарии на русском. А то Софтклаб в своё время на переводил, что пришлось выпускать англофикатор
алгоритмы поиска крашей для рефорджа такие же как и для 126 патча. И этому посвящено последние 15 лет этого
сайта. Советую начать xgm.guru/p/wc3/articles, если делать как там написано, то крашей у вас не будет
build, в данный момент они в архиве карты, эта карта как папка, так что я не стал отдельно прикладывать, вообще их обычно с нуля никто не делает, все редактируют дефолтные. Дефолтные же можно просто вытащить из игрового архива каском.
О структуре fdf есть целая статья
меня что смутило, моделька вместе с текстурой в мдлвисе то открылась, я тут и подумал что всё верно, потом когда уже целенаправленно пошел чекать все текстуры и тут наткнулся
Первый коммент на английском и написано что модель не работает, я проверил в обоих редакторах WE: рефордж и 126 - НЕ РАБОТАЕТ. проверил в вар3ме и мдлвисе - модель РАБОТАЕТ. Так что скорее всего ты всё делал правильно...
Rejuvenation, что за не создаётся? выкидывает из лобби? ну так у тебя просто проблемы с использованием jass кода, а не с самим мемхаком, его обрезать крайне сложно, если не понимаешь, используй вообще весь. Или у вас там лимиты в 127 по 8 метров?
Ред. Берги
» WarCraft 3 / Мемхак с включенным AdicParser
На первом и втором мемхаке, мне не удавалось активировать сиджас и прочие фишки. Хотя в рендереже мемхак эдишен, всё снова прекрасно работало
Скрины ошибок, скрины настроек jngp, карту в студию
» WarCraft 3 / Blender WarCraft 3
и + кто-то его подпиливал , можно ссылки найти в моих комментах и доказательства в дискорд сервере Xgm
(ноябрь 2020)
» WarCraft 3 / Варкрафт 3 Редактор
» WarCraft 3 / Реалистичный снаряд
» WarCraft 3 / Реалистичный снаряд
Ред. Берги
» WarCraft 3 / Реалистичный снаряд
Забабахай 2 вместо одной
SetEffectFacing(missile,angle)
SetEffectPitch(missile,zAngle)
Только 1 самый важный момент - Назар вроде как в радианах работал, а функции мемхака берут угол, но это уже проще
» WarCraft 3 / Реалистичный снаряд
Всё остальное костыли 2005 года, оставьте их там же
(я про ту самую модель даммики с 360 анимациями для всех поворотов)
И разумеется 100% делать через эффект, никак юнитов
Ред. Берги
» WarCraft 3 / Создаём и работаем с фреймами через ГУИ (CS)
» WarCraft 3 / Что лучше использовать?
Тоже самое в рефордже сейчас благодаря анонимкам я делаю потом внутри потока на периодике внутрипериодика, вся на ультра малых периодах. И каким бы не был громоздким код - я ничего не теряю в производительности ну никак.
Всё что отбирает у вас производительность это юниты, декорации и доады
Я это написал в одном сообщении 3 раза, потому что реально, ну не факт перебора тут важен. И я это знаю уже 10 лет, и Назар это доказал, хоть какими-то бенчмарками, а то бы мне так никто бы и не верил
» WarCraft 3 / Что лучше использовать?
» WarCraft 3 / Что лучше использовать?
Просто все эти "быстрее" реально не быстрее, каждый раз когда вам кто-то говорит, что вот это работает быстрее чем вон то - шлите его на фиг.
Ред. Берги
» WarCraft 3 / Проблема с редактором
Вот пример того как это могло бы выглядеть
» WarCraft 3 / По Кровавым Берегам
» WarCraft 3 / Последний батальон
Ред. Берги
» WarCraft 3 / Дебаггер Lua
Ред. Берги
» WarCraft 3 / Дебаггер Lua
сайта. Советую начать xgm.guru/p/wc3/articles, если делать как там написано, то крашей у вас не будет
Ред. Берги
» WarCraft 3 / Создаём и работаем с фреймами через ГУИ (CS)
О структуре fdf есть целая статья
» WarCraft 3 / По поводу импорта моделей (конкретный пример)
» WarCraft 3 / По поводу импорта моделей (конкретный пример)
» WarCraft 3 / Не могу найти папку с картами в WarCraft 3 Reforged
» WarCraft 3 / Добавление dll в mpq-архив (w3x)
» WarCraft 3 / Создаём и работаем с фреймами через ГУИ (CS)
» WarCraft 3 / Добавление dll в mpq-архив (w3x)
» WarCraft 3 / Не могу найти папку с картами в WarCraft 3 Reforged
» WarCraft 3 / Возврат кампаний в Reforged (почти да)