Решено Проблемы со звуком

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
По гайду решил добавить кастомный звук (правда почему то перезагрузить не могу. Только рекомпильнуть) 1693982482854.pngкоторый будет проигрываться во время каста абилки
абилка

"green_slark"
{
"BaseClass" "ability_datadriven"
"AbilityTextureName" "slark"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"AbilityUnitTargetFlags" ""
"MaxLevel" "1"
"RequiredLevel" "1"
"AbilityCastRange" "500"
"AbilityCastPoint" "0.65"
"AbilityCooldown" "20"
"AbilityManaCost" "0"
"precache"
{
"soundfile" "soundevents/sounds_custom1.vsndevts"
}
"OnSpellStart"
{
"FireSound"
{
"EffectName" "sounds/echo_slam_arcana1.vsnd"
"Target" "CASTER"
}
"RunScript"
{
"ScriptFile" "scripts/vscripts/abilities/slark_ability.lua"
"Function" "AddHeroPickAbilities"
}
}
}
код

function AddHeroPickAbilities(keys)
local caster = keys.caster
local heroName = "npc_dota_hero_slark"
if caster:GetUnitName() ~= heroName then

local hero = PlayerResource:ReplaceHeroWith(caster:GetPlayerID(), heroName, 0, 0)
Timers:CreateTimer(0.1, function()

hero:RemoveAbility("green_slark")

local particle = ParticleManager:CreateParticle("particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_start.vpcf", PATTACH_CUSTOMORIGIN, hero)
ParticleManager:SetParticleControl(particle, 0, hero:GetAbsOrigin()) -- Устанавливаем позицию партикла
ParticleManager:SetParticleControl(particle, 3, hero:GetAbsOrigin()) -- Устанавливаем позицию партикла
ParticleManager:ReleaseParticleIndex(particle) -- Освобождаем ресурсы партикла

EmitSoundOn("sounds/echo_slam_arcana1.vsnd_c", hero)
end)
else

caster:SetLevel(1)
local xp_to_remove = caster:GetCurrentXP()
caster:AddExperience(-1 * xp_to_remove, DOTA_ModifyXP_Unspecified, false, false)
end
end
вообщем разное перебробовал но звука так и нет
список всех звуков в soundevents так же есть
 

iia3uk666

Друзья CG
18 Дек 2021
411
70
Проект
Ушел с CG
1) Ты звук проверял вообще работает в доте после добавления его в игру?
2) Форматы - не нужно указывать в файле если это не партикл или модель
3) hero - у тебя это не кастер и не таргет, кому ты звук воспроизодишь?
 
Последнее редактирование:

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
1) Ты звук проверял вообще работает в доте после добавления его в игру?
2) Форматы - не нужно указывать в файле если это не партикл или модель
3) hero - у тебя это не кастер и не таргет, кому ты звук воспроизодишь?
Звук сам есть и он играет. Так же лист с моими звуками я прикешил. По прежнему не робит(

"green_slark"
{
"BaseClass" "ability_datadriven"
"AbilityTextureName" "slark"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"MaxLevel" "1"
"RequiredLevel" "1"
"AbilityCastRange" "500"
"AbilityCastPoint" "0.65"
"AbilityCooldown" "20"
"AbilitySound" "hero_defense.echo_slam_arcana1"
"OnSpellStart"
{
"FireSound"
{
"EffectName" "sounds/echo_slam_arcana1"
"Target" "CASTER"
}
"RunScript"
{
"ScriptFile" "scripts/vscripts/abilities/slark_ability.lua"
"Function" "AddHeroPickAbilities"
}
}
}
function AddHeroPickAbilities(keys)
local caster = keys.caster
local heroName = "npc_dota_hero_slark"
if caster:GetUnitName() ~= heroName then
local hero = PlayerResource:ReplaceHeroWith(caster:GetPlayerID(), heroName, 0, 0)
Timers:CreateTimer(0.1, function()
hero:RemoveAbility("green_slark")
EmitSoundOn("sounds/echo_slam_arcana1", caster)
print("Звук есть!")
local particle = ParticleManager:CreateParticle("particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_start.vpcf", PATTACH_CUSTOMORIGIN, hero)
ParticleManager:SetParticleControl(particle, 0, hero:GetAbsOrigin())
ParticleManager:SetParticleControl(particle, 3, hero:GetAbsOrigin())
ParticleManager:ReleaseParticleIndex(particle)
end)
else
caster:SetLevel(1)
local xp_to_remove = caster:GetCurrentXP()
caster:AddExperience(-1 * xp_to_remove, DOTA_ModifyXP_Unspecified, false, false)
end
end
 
Последнее редактирование:

iia3uk666

Друзья CG
18 Дек 2021
411
70
Проект
Ушел с CG
Так погоди, а зачем ты указываешь папку sounds , если звук есть в пуле добавленный через event
Screenshot_2023-09-08-07-48-45-459_com.rhmsoft.edit.jpg
Вызов делается для всех в радиусе слышимости когда у меня бруда спавнится
Screenshot_2023-09-08-07-48-09-251_com.rhmsoft.edit.jpg
 

iia3uk666

Друзья CG
18 Дек 2021
411
70
Проект
Ушел с CG
Прекеш делается в функции


Lua:
function Precache( context )
PrecacheResource("soundfile", "soundevents/broodmother.vsndevts", context )
PrecacheResource("soundfile", "soundevents/sven.vsndevts", context )
end
 

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
всеравно не пойму. Мой звук в ассете есть. значит проблем в эвент листе нет
"hero_defense.echo_slam_arcana1"
{
"operator_stacks"
{
"update_stack"
{
"reference_operator"
{
"operator" "sos_reference_stack"
"reference_stack" "src1_2d"
"operator_variables"
{
"vsnd_files"
{
"value"
{
"value0" "sounds/echo_slam_arcana1.vsnd"
}
}
"volume" { "value" "10.00000" }
"pitch_rand_min" { "value" "-0.05000" }
"pitch_rand_max" { "value" "0.050000" }
"pitch" { "value" "1.000000" }
"soundlevel" { "value" "100.00000" }
"distance_min" { "value" "1500.000" }
"distance_max" { "value" "1600.000" }
"event_type" { "value" "1.000000" }
"duration" { "value" "5.000000" }
}
}
}
}
}
прикеш коректен в адон гейм мод
переделал скрипт в надежде решить проблему
function AddHeroPickAbilities(keys)
local caster = keys.caster
local heroName = "npc_dota_hero_slark"
if caster:GetUnitName() ~= heroName then
local hero = PlayerResource:ReplaceHeroWith(caster:GetPlayerID(), heroName, 0, 0)
Timers:CreateTimer(0.1, function()
hero:RemoveAbility("green_slark")
local soundName = "echo_slam_arcana1"
EmitSoundOn(soundName, caster)
print("Звук есть!")
Timers:CreateTimer(5, function()
StopSoundOn(soundName, caster)
print("Звук остановлен!")
end)
local particle = ParticleManager:CreateParticle("particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_start.vpcf", PATTACH_CUSTOMORIGIN, hero)
ParticleManager:SetParticleControl(particle, 0, hero:GetAbsOrigin())
ParticleManager:SetParticleControl(particle, 3, hero:GetAbsOrigin())
ParticleManager:ReleaseParticleIndex(particle)
end)
else
caster:SetLevel(1)
local xp_to_remove = caster:GetCurrentXP()
caster:AddExperience(-1 * xp_to_remove, DOTA_ModifyXP_Unspecified, false, false)
end
и вот те на ошибка:
Звук есть!

CSoundOpGameSystem::StopSoundEvent: Attempting to stop non-existent soundevent: echo_slam_arcana1
Звук остановлен!
тоесть кастомка звук не видит.
ну почему так *****?
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,150
196
www.dotabuff.com
Проект
Roshan defense
То что твой звук в ассете, это не значит что ты правильно оформил его по soundevents
названия звуков не совпадают
hero_defense.echo_slam_arcana1 и echo_slam_arcana1
 

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
То что твой звук в ассете, это не значит что ты правильно оформил его по soundevents
названия звуков не совпадают
hero_defense.echo_slam_arcana1 и echo_slam_arcana1
так в гайде говорил что без ризницы какое название
 

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
Не ну теперь сработало. Чудно. Спасибо вам всем;)
 
Реклама: