я давно уже это заметил
любое изображение на превью как будто в jpg качестве со сжатием
поэтому если хочу качества - открываю в новой вкладке каждый png пик
обновление:
работает только если закинуть mdx + blp всей кучей разом, причём 1й раз моргнёт и не покажет а если второй раз сразу перетащить всю кучу поверх первой то уже загрузится нормально модель
оставил Stand и Stand 3, остальные поменял на токены - при загрузке в WE стали чередоваться только Stand и Stand 3
оставил только Stand, остальные поменял на токены - при загрузке в WE чередование прекратилось
бонусом текст из картинки:
Appendix A - Animation Tokens
Primary Animations
Attack
Birth
Cinematic
Death
Decay
Dissipate
Morph
Portrait
Sleep
Spell
Stand
Walk
Animation Properties
Alternate
Alternateex
Chain
Channel
Complete
Critical
Defend
Drain
Eattree
Fast
Fill
Flail
Flesh
Fifth
Fire
First
Five
Four
Fourth
Gold
Hit
Large
Left
Light
Looping
Lumber
Medium
Moderate
Off
One
Puke
Ready
Right
Second
Severe
Slam
Small
Spiked
Spin
Swim
Talk
Third
Three
Throw
Two
Turn
Victory
Work
Wounded
Upgrade
рарити стоит везде 0, а есть 4 "Stand *" при этом проигрывается только одна из них при добавлении модельки на карту (а ведь должны тогда 4 сменяться)
хотя на тестовом переименовании модели из шапки из "Stand 12345" в "Stand abcd" - ничего не изменило и ротация всех стендов сохранилась, т.е. "Stand A-z" должно браться в авторотацию (а не только номерные "Stand 1-9"), но в этой модели из этого поста не берётся
poisoNDealer красава
не могу выбрать какой ответ из твоих трёх поставить в ответ - они все разные, правильные, и каждый друг друга дополняет
poisoNDealer: увидишь как у него периодически проигрываются Stand 1, Stand 2, Stand 3, с учётом редкости
так может как раз где то и выставляется дефолтный набор анимаций при добавлении на карту - и там можно выбрать или только одну или 10 любых с редкостью
если это зависит от названия - тогда почему в этой модели показывается только 1 из 4 стендов
на остальные 3 выставлена редкость 0/100 ? где выставлять эту редкость тогда?
poisoNDealer: Все анимации с названием Stand будут "дефолтными"
так там не "Stand"
а "Stand 12345"
анимация "Stand" только одна
тем более у меня есть модель, где 4 штуки "Stand*", но по дефолту проигрывается только первая (нулевая) (с двумя blp, как и указано на таймлайне)
переименовал в двух разных редакторах и сохранил в 2 разных файла - xgm.guru/files/100/316703/comments/521179/rename.zip
в обоих вариантах в WE и игре вообще пропали анимации кроме Stand и Death
а в обоих редакторах показываются все 7 анимаций как и ожидалось
какая же запара это ваше картоделание хосспаде
по итогу просмотровщик на сайте смог сделать больше чем спец софт предназначенный для редактирования моделей
надо было Stand и Death поставить в раскадровке перед всеми остальными анимациями
вариант 1 имеет кучу ограничений:
SetUnitState - сначала идёт проверка по свойствам юнита в WE, и нельзя поставить значения вне рамок заданных в WE
SetUnitMoveSpeed - от 25 до 400
SetHeroStr SetHeroAgi SetHeroInt SetHeroXP SetHeroLevel - только героям
SetResourceAmount - тоже зависит от WE вроде
т.е. наиболее простые и оптимальные это варианты 0 3 4
SAND: Также можно сохранять и Real и Group и Unit, Str и тд, что позволяет сохранять хештаблица
так LoadInteger returns integer - как ты там сохранишь что-то кроме целого числа?
это который вместо расширенной ASCII-256 показывает точки?
или который не даёт редактировать значения?
и при этом который занимает 150 метров?
круто круто, мы как нить без такой годноты лучше посидим
nazarpunk: для хранения данных именно на грибах идеально подойдут паралельные массивы по индексу игрока
ага, там изначально вся инфа (кроме координат) и хранится в таких массивах - направление, нажатые стрелки, ускорение, гравитация, цвет, имя, коды, наблюдение, статус финиша, фон, музыка
nazarpunk: Очищать глобальную группу G дешевле, чем дрочить создание/удаление локалки.
Глобальная группа очищается через ClearGroup
исправлено, на фпс не сказалось, но код стал на несколько строк меньше
nazarpunk: На каждого юнита вызывается UnitIndex. Тоесть лишний цикл на количество игроков. Можно просто каждому грибу записать его индекс через SetUnitUserData. Будет дешевле.
после переработки UnitIndex и переноса номера юнита в его хп - количество фпс увеличилось в разы
теперь можно с 30 коробками бегать в 64 фпс
и даже заспавнить 50 коробок двумя лесенками на 30 фпс
подробности на графике
nazarpunk: На каждого юнита вызывается UnitIndex. Тоесть лишний цикл на количество игроков. Можно просто каждому грибу записать его индекс через SetUnitUserData. Будет дешевле
в версии 1.5 не вылечил это место, т.к. через SetUnitUserData и GetUnitUserData можно хранить только 1 значение на каждого юнита
и это значение уже занято в функции Propelly__Main
Propelly__Main
function Propelly__Main takes nothing returns nothing
local integer i=1
local integer j=1
if GetUnitTypeId(GetTriggerUnit())=='orai' then
loop
exitwhen Propelly__CompareRect[i]==null
if GetTriggeringRegion()==Propelly__Rects[i]then
loop
exitwhen j>Stage_BoxsCount
if GetUnitTypeId(OrangeMushroom[PLAYER_MAXINUM+j])=='orai' and GetTriggerUnit()==OrangeMushroom[PLAYER_MAXINUM+j]and GetUnitUserData(GetTriggerUnit())!=i then
call SetUnitUserData(GetTriggerUnit(),i)
if Propelly__Angle[i]=="Left" then
if GravityChanger_State==false then
call SetUnitAnimation(GetTriggerUnit(),"Stand First")
else
call SetUnitAnimation(GetTriggerUnit(),"Stand Second")
endif
set LeftArrow[PLAYER_MAXINUM+j]=true
set RightArrow[PLAYER_MAXINUM+j]=false
elseif Propelly__Angle[i]=="Right" then
if GravityChanger_State==false then
call SetUnitAnimation(GetTriggerUnit(),"Stand Second")
else
call SetUnitAnimation(GetTriggerUnit(),"Stand First")
endif
set LeftArrow[PLAYER_MAXINUM+j]=false
set RightArrow[PLAYER_MAXINUM+j]=true
else
set LeftArrow[PLAYER_MAXINUM+j]=false
set RightArrow[PLAYER_MAXINUM+j]=false
endif
set gravity[PLAYER_MAXINUM+j]=Propelly__FlyGravity[i]
endif
set j=j+1
endloop
return
endif
set i=i+1
endloop
endif
endfunction
function Propelly__SetRect takes trigger t,integer i,rect r,real g,string a returns nothing
set Propelly__Rects[i]=CreateRegion()
call RegionAddRect(Propelly__Rects[i],r)
set Propelly__FlyGravity[i]=g
set Propelly__CompareRect[i]=r
set Propelly__Angle[i]=a
call TriggerRegisterEnterRegion(t,Propelly__Rects[i],null)
endfunction
function Propelly__init takes nothing returns nothing
local trigger t=CreateTrigger()
call Propelly__SetRect(t,1,gg_rct_PropellyMove001,10,"none")
call TriggerAddAction(t,function Propelly__Main)
set t=null
endfunction
буду искать какими способами можно хранить в юнитах числовую информацию
т.к. на тестах после замены UnitIndex(u) на GetUnitUserData(u) фпс поднялся в разы
например 40 фпс наступает не при -box1 20 , а уже при -box1 37
а если сделать две лесенки: -ladder2 20 + 30 раз -box - итого 50 коробок двумя лесенками - то будет 30 фпс
а в текущей версии на 50 коробках фпс упадёт до 0 из-за UnitIndex
nazarpunk: Очищать глобальную группу G дешевле, чем дрочить создание/удаление локалки.
потестировать это пока не удалось, т.к. коллизии всегда выдавали true и коробки проваливались - наверное неправильно очищал группу через дестрой, покурю ещё это место
Ред. host_pi
» WarCraft 3 / Сыграйте в Warcraft: Orcs & Humans прямо сейчас!
Ред. host_pi
» WarCraft 3 / Низкий фпс на карте в начале игры
Ред. host_pi
» Администрация XGM / Плохо прогружаются изображения при просмотре
любое изображение на превью как будто в jpg качестве со сжатием
поэтому если хочу качества - открываю в новой вкладке каждый png пик
Ред. host_pi
» WarCraft 3 / Visual Studio Code: WarCode
» WarCraft 3 / как открыть свойства звука? WE
» Survivor Challenge TD / Релиз в СТИМЕ
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
работает только если закинуть mdx + blp всей кучей разом, причём 1й раз моргнёт и не покажет а если второй раз сразу перетащить всю кучу поверх первой то уже загрузится нормально модель
Ред. host_pi
» WarCraft 3 / как выключить(задать) анимацию при добавлении модели на ланд ?
Appendix A - Animation Tokens
Birth
Cinematic
Death
Decay
Dissipate
Morph
Portrait
Sleep
Spell
Stand
Walk
Alternateex
Chain
Channel
Complete
Critical
Defend
Drain
Eattree
Fast
Fill
Flail
Flesh
Fifth
Fire
First
Five
Four
Fourth
Gold
Hit
Large
Left
Light
Looping
Lumber
Medium
Moderate
Off
One
Puke
Ready
Right
Second
Severe
Slam
Small
Spiked
Spin
Swim
Talk
Third
Three
Throw
Two
Turn
Victory
Work
Wounded
Upgrade
Ред. host_pi
» WarCraft 3 / как выключить(задать) анимацию при добавлении модели на ланд ?
в этой модели
хотя на тестовом переименовании модели из шапки из "Stand 12345" в "Stand abcd" - ничего не изменило и ротация всех стендов сохранилась, т.е. "Stand A-z" должно браться в авторотацию (а не только номерные "Stand 1-9"), но в этой модели из этого поста не берётся
не могу выбрать какой ответ из твоих трёх поставить в ответ - они все разные, правильные, и каждый друг друга дополняет
Ред. host_pi
» WarCraft 3 / как выключить(задать) анимацию при добавлении модели на ланд ?
если это зависит от названия - тогда почему в этой модели показывается только 1 из 4 стендов
на остальные 3 выставлена редкость 0/100 ? где выставлять эту редкость тогда?
Ред. host_pi
» WarCraft 3 / как выключить(задать) анимацию при добавлении модели на ланд ?
а "Stand 12345"
анимация "Stand" только одна
в обоих вариантах в WE и игре вообще пропали анимации кроме Stand и Death
а в обоих редакторах показываются все 7 анимаций как и ожидалось
какая же запара это ваше картоделание хосспаде
Ред. host_pi
» WarCraft 3 / как починить? - blp текстура отображается полосами
Ред. host_pi
» WarCraft 3 / не отображается анимация в игре - как починить?
надо было Stand и Death поставить в раскадровке перед всеми остальными анимациями
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
Ред. host_pi
» WarCraft 3 / Demon Retera Model Studio 0.4.5m PTR
версия ретеры 0.04.5h
помимо самих текстур - надо было ещё их из анимаций удалить
Ред. host_pi
» WarCraft 3 / WarCraft3 Viewer
Ред. host_pi
» WarCraft 3 / Как можно хранить значения в юнитах? Аналог SetUnitUserData
SetUnitState - сначала идёт проверка по свойствам юнита в WE, и нельзя поставить значения вне рамок заданных в WE
SetUnitMoveSpeed - от 25 до 400
SetHeroStr SetHeroAgi SetHeroInt SetHeroXP SetHeroLevel - только героям
SetResourceAmount - тоже зависит от WE вроде
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
или который не даёт редактировать значения?
и при этом который занимает 150 метров?
круто круто, мы как нить без такой годноты лучше посидим
ректы добавляются хорошо
» WarCraft 3 / Всем привет. Как найти путь до модели *mdx ?
Ред. host_pi
» WarCraft 3 / Всем привет. Как найти путь до модели *mdx ?
Ред. host_pi
» WarCraft 3 / Как можно оптимизировать этот код с 2D коллизиями?
Ред. host_pi
» WarCraft 3 / Как можно оптимизировать этот код с 2D коллизиями?
теперь можно с 30 коробками бегать в 64 фпс
и даже заспавнить 50 коробок двумя лесенками на 30 фпс
подробности на графике
EN xgm.guru/files/100/315886/comments/520944/OMS_BoxLab_1.7_EN.w3x
RU xgm.guru/files/100/315886/comments/520944/OMS_BoxLab_1.7_RU.w3x
Ред. host_pi
» WarCraft 3 / Как можно оптимизировать этот код с 2D коллизиями?
и это значение уже занято в функции Propelly__Main
т.к. на тестах после замены UnitIndex(u) на GetUnitUserData(u) фпс поднялся в разы
например 40 фпс наступает не при -box1 20 , а уже при -box1 37
а если сделать две лесенки: -ladder2 20 + 30 раз -box - итого 50 коробок двумя лесенками - то будет 30 фпс