add sborka
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
AddCSLuaFile()
|
||||
|
||||
ENT.Type = "anim"
|
||||
|
||||
ENT.Spawnable = false
|
||||
ENT.AdminSpawnable = false
|
||||
ENT.DoNotDuplicate = true
|
||||
|
||||
ENT._LVS = true
|
||||
|
||||
function ENT:SetupDataTables()
|
||||
self:NetworkVar( "Entity",0, "Base" )
|
||||
self:NetworkVar( "String", 1, "Sound" )
|
||||
|
||||
if SERVER then
|
||||
self:SetSound("^lvs/vehicles/generic/afterburner.wav")
|
||||
end
|
||||
end
|
||||
|
||||
if SERVER then
|
||||
function ENT:Initialize()
|
||||
self:SetMoveType( MOVETYPE_NONE )
|
||||
self:SetSolid( SOLID_NONE )
|
||||
self:DrawShadow( false )
|
||||
debugoverlay.Cross( self:GetPos(), 50, 5, Color( 255, 0, 255 ) )
|
||||
end
|
||||
|
||||
function ENT:Think()
|
||||
return false
|
||||
end
|
||||
|
||||
function ENT:UpdateTransmitState()
|
||||
return TRANSMIT_ALWAYS
|
||||
end
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
ENT._oldActive = false
|
||||
|
||||
function ENT:Initialize()
|
||||
end
|
||||
|
||||
function ENT:StopSounds()
|
||||
if not self._ThrusterSound then return end
|
||||
|
||||
self._ThrusterSound:Stop()
|
||||
self._ThrusterSound = nil
|
||||
end
|
||||
|
||||
function ENT:OnActiveChanged( Active )
|
||||
if not Active then self:StopSounds() return end
|
||||
|
||||
self:StopSounds()
|
||||
|
||||
self._ThrusterSound = CreateSound( self, self:GetSound() )
|
||||
self._ThrusterSound:SetSoundLevel( 90 )
|
||||
self._ThrusterSound:PlayEx(0,100)
|
||||
end
|
||||
|
||||
function ENT:HandleSounds( vehicle, throttle )
|
||||
|
||||
local thrust = vehicle:GetThrustStrenght()
|
||||
|
||||
if not self._ThrusterSound then return end
|
||||
|
||||
local volume = throttle * 0.5 + math.Clamp( thrust * 0.5, 0, 1 )
|
||||
|
||||
self._ThrusterSound:ChangeVolume( volume, 0.5 )
|
||||
self._ThrusterSound:ChangePitch( 100 + thrust * 20, 0.5 )
|
||||
end
|
||||
|
||||
function ENT:Think()
|
||||
local vehicle = self:GetBase()
|
||||
|
||||
if not IsValid( vehicle ) then return end
|
||||
|
||||
local Active = vehicle:GetEngineActive()
|
||||
|
||||
if self._oldActive ~= Active then
|
||||
self._oldActive = Active
|
||||
self:OnActiveChanged( Active )
|
||||
end
|
||||
|
||||
local Throttle = vehicle:GetThrottle()
|
||||
|
||||
if Active then
|
||||
self:HandleSounds( vehicle, Throttle )
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:OnRemove()
|
||||
self:StopSounds()
|
||||
end
|
||||
|
||||
function ENT:Draw()
|
||||
end
|
||||
|
||||
function ENT:DrawTranslucent()
|
||||
end
|
||||
Reference in New Issue
Block a user