add sborka
This commit is contained in:
108
garrysmod/addons/swbombs/lua/entities/sw_heli_wheel_v3.lua
Normal file
108
garrysmod/addons/swbombs/lua/entities/sw_heli_wheel_v3.lua
Normal file
@@ -0,0 +1,108 @@
|
||||
AddCSLuaFile()
|
||||
|
||||
ENT.Type = "anim"
|
||||
|
||||
ENT.Spawnable = false
|
||||
ENT.AdminSpawnable = false
|
||||
ENT.DoNotDuplicate = true
|
||||
|
||||
if SERVER then
|
||||
function ENT:Initialize()
|
||||
self:SetModel( "models/props_vehicles/tire001c_car.mdl" )
|
||||
self:PhysicsInit( SOLID_VPHYSICS )
|
||||
self:SetMoveType( MOVETYPE_VPHYSICS )
|
||||
self:SetSolid( SOLID_VPHYSICS )
|
||||
self:DrawShadow( false )
|
||||
self:AddEFlags( EFL_NO_PHYSCANNON_INTERACTION )
|
||||
end
|
||||
|
||||
function ENT:SetBrakes( active )
|
||||
if not self._CanUseBrakes then
|
||||
actuve = false
|
||||
end
|
||||
|
||||
if active ~= self._BrakesActive then
|
||||
self._BrakesActive = active
|
||||
|
||||
if active then
|
||||
self:StartMotionController()
|
||||
else
|
||||
self:StopMotionController()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function ENT:SetBrakeForce( force )
|
||||
self._BrakeForce = force
|
||||
end
|
||||
|
||||
function ENT:GetBrakeForce()
|
||||
return (self._BrakeForce or 60)
|
||||
end
|
||||
|
||||
function ENT:Define( data )
|
||||
local bbox = Vector(data.radius,data.radius,data.radius)
|
||||
|
||||
self:PhysicsInitSphere( data.radius, data.physmat )
|
||||
self:SetCollisionBounds( -bbox, bbox )
|
||||
|
||||
local PhysObj = self:GetPhysicsObject()
|
||||
if IsValid( PhysObj ) then
|
||||
PhysObj:SetMass( data.mass )
|
||||
PhysObj:Wake()
|
||||
PhysObj:SetBuoyancyRatio(0)
|
||||
PhysObj:EnableGravity( false )
|
||||
end
|
||||
|
||||
self._CanUseBrakes = data.brake
|
||||
end
|
||||
|
||||
function ENT:PhysicsSimulate( phys, deltatime )
|
||||
local BrakeForce = Vector( -phys:GetAngleVelocity().x, 0, 0 ) * self:GetBrakeForce()
|
||||
|
||||
return BrakeForce, Vector(0,0,0), SIM_LOCAL_ACCELERATION
|
||||
end
|
||||
|
||||
function ENT:SetBase( ent )
|
||||
self._baseEnt = ent
|
||||
end
|
||||
|
||||
function ENT:GetBase()
|
||||
return self._baseEnt
|
||||
end
|
||||
|
||||
function ENT:Use( ply )
|
||||
end
|
||||
|
||||
function ENT:Think()
|
||||
return false
|
||||
end
|
||||
|
||||
function ENT:OnRemove()
|
||||
end
|
||||
|
||||
function ENT:PhysicsCollide( data, physobj )
|
||||
end
|
||||
|
||||
function ENT:OnTakeDamage( dmginfo )
|
||||
local base = self:GetBase()
|
||||
|
||||
if not IsValid( base ) then return end
|
||||
|
||||
base:TakeDamageInfo( dmginfo )
|
||||
end
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
function ENT:Initialize()
|
||||
end
|
||||
|
||||
function ENT:Think()
|
||||
end
|
||||
|
||||
function ENT:Draw()
|
||||
end
|
||||
|
||||
function ENT:OnRemove()
|
||||
end
|
||||
Reference in New Issue
Block a user