add sborka

This commit is contained in:
2026-03-31 10:27:04 +03:00
commit f5e5f56c84
2345 changed files with 382127 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
AddCSLuaFile()
ENT.Type = "anim"
ENT.PrintName = "TopSpeed Upgrade"
ENT.Author = "Luna"
ENT.Category = "[LVS]"
ENT.Information = "Edit Properties to change Max Speed"
ENT.Spawnable = true
ENT.AdminOnly = false
ENT.Editable = true
ENT.PhysicsSounds = true
function ENT:SetupDataTables()
self:NetworkVar( "Float",0, "MaxSpeed", { KeyName = "maxspeed", Edit = { type = "Float", order = 1,min = 1, max = 1000, category = "Upgrade Settings"} } )
if SERVER then
self:SetMaxSpeed( 300 )
end
end
if SERVER then
function ENT:SpawnFunction( ply, tr, ClassName )
if not tr.Hit then return end
local ent = ents.Create( ClassName )
ent:SetPos( tr.HitPos + tr.HitNormal * 5 )
ent:Spawn()
ent:Activate()
return ent
end
local function SaveVelocity( ply, ent, data )
if not duplicator or not duplicator.StoreEntityModifier then return end
if not IsValid( ent ) or not isfunction( ent.ChangeVelocity ) then return end
ent:ChangeVelocity( data.MaxVelocity )
duplicator.StoreEntityModifier( ent, "lvsSaveVelocity", data )
end
if duplicator and duplicator.RegisterEntityModifier then
duplicator.RegisterEntityModifier( "lvsSaveVelocity", SaveVelocity )
end
function ENT:Initialize()
self:SetModel( "models/props_wasteland/gear01.mdl" )
self:PhysicsInit( SOLID_VPHYSICS )
self:SetMoveType( MOVETYPE_VPHYSICS )
self:PhysWake()
end
function ENT:Think()
return false
end
function ENT:PhysicsCollide( data )
if self.MarkForRemove then return end
local ent = data.HitEntity
if not IsValid( ent ) or not ent.LVS or not ent.MaxVelocity or not isfunction( ent.ChangeVelocity ) then return end
local MaxVelocity = self:GetMaxSpeed() * (1 / 0.09144)
local ply = self:GetCreator()
if ent.MaxVelocity < MaxVelocity then
ent:EmitSound("ambient/machines/spinup.wav")
local effectdata = EffectData()
effectdata:SetOrigin( ent:GetPos() )
effectdata:SetEntity( ent )
util.Effect( "lvs_upgrade", effectdata )
else
ent:EmitSound("ambient/machines/spindown.wav")
local effectdata = EffectData()
effectdata:SetOrigin( ent:GetPos() )
effectdata:SetEntity( ent )
util.Effect( "lvs_downgrade", effectdata )
end
ent:ChangeVelocity( MaxVelocity )
duplicator.StoreEntityModifier( ent, "lvsSaveVelocity", { MaxVelocity = MaxVelocity } )
self.MarkForRemove = true
SafeRemoveEntityDelayed( self, 0 )
end
function ENT:OnTakeDamage( dmginfo )
end
else
function ENT:Draw( flags )
self:DrawModel( flags )
end
end