Elder_Shadow, я и имел ввиду, вытащи как раз СТАНДАРТНЫЕ звуки и импортируй их, чтобы к ним можно было обращаться, ни среди обычных триггеров, ни в мемхаке я не нашёл смены звука атаки юниту (я вроде хорошо искал, не знаю), может быть они есть в UjAPI, но это уже Мод, и это решение может не подойти
Предложу ещё 1 вариант - (Костыль)
Морф юнита через мемхаковскую функцию MorphUnitToTypeId, в юнита, созданого заранее, у которого установлен нужный звук
Вот хороший редактор карт xgm.guru/p/wc3/jngp-r-updated?ysclid=m7ng9pi972247185790
В WFE xgm.guru/p/wc3/wfetool с каким-нибудь параметром запуска -window варкрафт запустится в оконном режиме и норм будет
p.s. с чёрным экраном не сталкивался, не знаю как решить, но оконный режим в полный экран с шансом 90%+ это исправит (да-да это костыль, но хоть что-то)
Вот карта, там найдёшь триггер HeroPhantomAssasin , ну и собственно герой Фантомка, при её атаке звуки ударов фартомки из доты
Функция баганная и недоделанная, была выключена, включил для тебя, что-то там работает и ладно, думаю с ней тебе будет попроще разобраться
Да, можно, через JASS например, вытащи с помощью MPQ Editor звуки и импортируй их с правильными именами для своего кода в варкрафте, после чего создавай/заменяй звук во время эвента получения урона на нужный в позиции атакующего/атакуемого юнита
Я такое тоже делал, недоделал вот НЕдоделанная наработка
library SoundAttackLib
function soundAttackStringVariationCount_Func takes integer sAttack returns string
local integer variationCount = 1
local integer variationNumber = 0
if sAttack >= 0 and sAttack <= 11
variationCount = 3
variationNumber = GetRandomInt(1, variationCount)
endif
return I2S(variationNumber)
endfunction
Extremator, твой вариант для меня не потходит, функция D должна была просто ускорять "проверку кода на наличие ошибок", поэтому я хотел её перегрузить, чтобы я мог поместить в неё что угодно и оно мне это вывело как тескт
p.s. Спасибо за найденную опечатку, сейчас исправлю
Solar3584, Простыми словами - Утечки это когда что-то, что должно удалиться с карты не удаляется, или удаляется не до конца (как долбанные предметы), и остаётся в памяти (нагружает карту)
Есть такая программа Agent_Memory_Monitor, она позволяет отлеживать, чем конретно замусоривается карта, скачай её, поиграй в свою карту часик и посмотри, что там происходит вообще
EugeAl, Не, в скобках помоему сам метод, вот эта строчка добавления
void __thiscall CWorldFrameWar3::AddNewItem(CWorldFrameWar3 *this, CItem *pItem)
От неё надо избавляться
IceFog, Ну как не страшна, помоему страшна, когда у меня 2000 мобов на карте стоит, то всё чики-пуки
Но когда 2000 Мобов + 5000 этих "удалённых предметов", играть уже невозможно
Спасибо за ответ, но пока так и не понял как затирать код добавления, когда поумнею, пойму
У тебя вроде рефоржед, поэтому скорее всего правильного варианта ответа тут не будет, но вот что на обычной версии
На Обычной версии модель становится "Кашей" когда у неё в одном геосете +100500 полигонов
У меня при экспорте моделей из Блендера 3.4 тоже когда подобную дичь пишет, всегда решается установкой хотя бы одного ключевого кадра, может и тут он тоже самое просит
rsfghd, Большое спасибо что уделили мне время, я посмотрел, всё понял как работает, но у меня ещё остались вопросы (но уже немного другие), я сейчас занят немного и задам их ближе к ночи или завтра, ещё раз спасибо
» WarCraft 3 / Триггерная смена звука атаки
Предложу ещё 1 вариант - (Костыль)
Морф юнита через мемхаковскую функцию MorphUnitToTypeId, в юнита, созданого заранее, у которого установлен нужный звук
» WarCraft 3 / Как задетектить высоту полёта юнита?
GetUnitFlyHeight(u)
globals
location ALICE_TR_Location = Location(0, 0)
endglobals
MoveLocation(ALICE_TR_Location, x, y)
return GetLocationZ(ALICE_TR_Location)
endfunction
return GetUnitFlyHeight(u) + GetLocZ(GetUnitX(u), GetUnitY(u)) + 256
endfunction
» WarCraft 3 / Игра и карстостроение на новом ноутбуке
В WFE xgm.guru/p/wc3/wfetool с каким-нибудь параметром запуска -window варкрафт запустится в оконном режиме и норм будет
p.s. с чёрным экраном не сталкивался, не знаю как решить, но оконный режим в полный экран с шансом 90%+ это исправит (да-да это костыль, но хоть что-то)
» WarCraft 3 / Триггерная смена звука атаки
Функция баганная и недоделанная, была выключена, включил для тебя, что-то там работает и ладно, думаю с ней тебе будет попроще разобраться
» WarCraft 3 / Триггерная смена звука атаки
Я такое тоже делал, недоделал вот НЕдоделанная наработка
local integer variationCount = 1
local integer variationNumber = 0
if sAttack >= 0 and sAttack <= 11
variationCount = 3
variationNumber = GetRandomInt(1, variationCount)
endif
return I2S(variationNumber)
endfunction
function soundAttackString_Func takes integer sAttack returns string
local string soundAttackString = ""
if sAttack == 0
soundAttackString = "MetalHeavyBash"
elseif sAttack == 1
soundAttackString = "MetalHeavyChop"
elseif sAttack == 2
soundAttackString = "MetalHeavySlice"
elseif sAttack == 3
soundAttackString = "MetalLightChop"
elseif sAttack == 4
soundAttackString = "MetalLightSlice"
elseif sAttack == 5
soundAttackString = "MetalMediumBash"
elseif sAttack == 6
soundAttackString = "MetalMediumChop"
elseif sAttack == 7
soundAttackString = "MetalMediumSlice"
elseif sAttack == 8
soundAttackString = "RockHeavyBash"
elseif sAttack == 9
soundAttackString = "WoodHeavyBash"
elseif sAttack == 10
soundAttackString = "WoodLightBash"
elseif sAttack == 11
soundAttackString = "WoodMediumBash"
endif
return soundAttackString
endfunction
function soundDefenceString_Func takes integer sDefence returns string
local string soundDefenceString = ""
if sDefence == 0
soundDefenceString = "Flesh"
elseif sDefence == 1
soundDefenceString = "Metal"
elseif sDefence == 2
soundDefenceString = "Stone"
elseif sDefence == 3
soundDefenceString = "Wood"
endif
return soundDefenceString
endfunction
function SoundAttack takes integer sAttack, integer sDefence, boolean greatSound, boolean melee returns string
if melee == true
local integer variationCount = 0
local integer variationNumber = 0
if greatSound == true
return "Sound_"+soundAttackString_Func(sAttack)+soundDefenceString_Func(sDefence)+soundAttackStringVariationCount_Func(sAttack)+".wav"
else
if sDefence == 0
soundDefenceString = "Ethereal"
endif
endif
else
endif
return ""
endfunction
endlibrary
» WarCraft 3 / Есть ли перегрузка функций в jass/vjass/cjass или где-то ещё тут?
» WarCraft 3 / Есть ли перегрузка функций в jass/vjass/cjass или где-то ещё тут?
» WarCraft 3 / Есть ли перегрузка функций в jass/vjass/cjass или где-то ещё тут?
p.s. Спасибо за найденную опечатку, сейчас исправлю
» WarCraft 3 / Есть ли перегрузка функций в jass/vjass/cjass или где-то ещё тут?
DisplayTextToForce( GetPlayersAll(), s)
endfunction
DisplayTextToForce( GetPlayersAll(), I2S(i))
endfunction
DisplayTextToForce( GetPlayersAll(), R2S(r))
endfunction
function DU takes unit u returns nothing
DisplayTextToForce( GetPlayersAll(), I2S(U2I(u)))
endfunction
» WarCraft 3 / Вылетает игра если глава/карта затягивается
Есть такая программа Agent_Memory_Monitor, она позволяет отлеживать, чем конретно замусоривается карта, скачай её, поиграй в свою карту часик и посмотри, что там происходит вообще
» WarCraft 3 / Вылетает игра если глава/карта затягивается
» WarCraft 3 / Триггерное нанесение урона от способности
» WarCraft 3 / Как автоматически конвертировать vJass в Jass?
» WarCraft 3 / Функция RemoveItem() не удаляет предмет
» WarCraft 3 / Функция RemoveItem() не удаляет предмет
» WarCraft 3 / Автовоскрешение героя (через здание)
» WarCraft 3 / Автовоскрешение героя (через здание)
» WarCraft 3 / Динамическая дальность прорисовки (raw)
» WarCraft 3 / Автовоскрешение героя (через здание)
» WarCraft 3 / Функция RemoveItem() не удаляет предмет
Ред. Tredor46
» WarCraft 3 / Функция RemoveItem() не удаляет предмет
void __thiscall CWorldFrameWar3::AddNewItem(CWorldFrameWar3 *this, CItem *pItem)
От неё надо избавляться
» WarCraft 3 / Проблемы с экспортом из Blender
» WarCraft 3 / Функция RemoveItem() не удаляет предмет
Но когда 2000 Мобов + 5000 этих "удалённых предметов", играть уже невозможно
Спасибо за ответ, но пока так и не понял как затирать код добавления, когда поумнею, пойму
» WarCraft 3 / Проблемы с экспортом из Blender
» WarCraft 3 / Хэш-таблица и добавление юнита