По гайду решил добавить кастомный звук (правда почему то перезагрузить не могу. Только рекомпильнуть) который будет проигрываться во время каста абилки
список всех звуков в soundevents так же есть
абилка
"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 так же есть