Проблема такая - есть аддон на радио, надо чтобы он воспроизводил конкретную песню из папки, но в игре когда нажимаю на Е пишется только информация из local names, сама музыка не воспроизводиться, и ошибок не выдает, код ниже, кто знает как пофиксить?
PHP:
AddCSLuaFile("shared.lua")
include('shared.lua')
ENT.SongNr = 0
ENT.NxtDelay = CurTime()
------------------------------------VARIABLES END
local Sounds = {
[1] = {
path = "sound/radio_sounds/military_music.mp3",
sound = nil
}
}
local Names = {
[1] = "123"
}
function ENT:SpawnFunction( ply, tr )
if ( !tr.Hit ) then return end
local SpawnPos = tr.HitPos + tr.HitNormal * 16
local ent = ents.Create( self.ClassName )
ent:SetPos( SpawnPos )
ent:Spawn()
ent:Activate()
return ent
end
--------------
function ENT:Initialize( )
self:SetModel( "models/props/cs_office/st_radiola_01.mdl" )
self:PhysicsInit( SOLID_VPHYSICS )
self:SetMoveType( MOVETYPE_VPHYSICS )
self:SetSolid( SOLID_VPHYSICS )
local phys = self:GetPhysicsObject()
if(phys:IsValid()) then phys:Wake() end
-- Создание звуковых источников для каждого элемента в таблице "Sounds"
for _, soundData in pairs(Sounds) do
soundData.sound = CreateSound(self.Entity, soundData.path)
end
end
--------------
function ENT:Use(activator, caller)
if self.NxtDelay < CurTime() then
self.NxtDelay = CurTime()+0.5
self.SongNr = self.SongNr + 1
self.Entity:EmitSound("buttons/lightswitch2.wav", 100, 100)
if self.SongNr > table.Count(Sounds) then
self.SongNr = 0
self.Entity:EmitSound("buttons/button18.wav", 100, 100)
end
if self.SongNr ~= 0 then
activator:ChatPrint( "Играет: ".. Names[self.SongNr] )
else
activator:ChatPrint( "Радио выключено." )
end
end
end
-------------------
function ENT:Think()
if self.SongNr == 0 then
StopSound(nil)
else
NextSound(self.SongNr)
end
end
-------------------
function ENT:OnRemove()
StopSound(nil)
end
function StopSound(sound)
if sound == nil then
for _, soundData in pairs(Sounds) do
soundData.sound:Stop()
end
else
Sounds[sound].sound:Stop()
end
end
function NextSound(sound)
if sound == table.Count(Sounds) or sound == nil then
StopSound(nil)
else
Sounds[sound].sound:Stop()
Sounds[sound+1].sound:Play()
end
end