Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function MakeLuaVehicleDarkRP( Player, Pos, Ang, Model, Class, VName, VTable, data )
- if !SERVER then return end
- if (!file.Exists( Model, "GAME" )) then
- Player:PrintMessage( HUD_PRINTTALK, "ERROR: \""..Model.."\" does not exist! (Class: "..VName..")")
- return
- end
- local Ent = ents.Create( "gmod_sent_vehicle_fphysics_base" )
- if ( !Ent ) then return NULL end
- duplicator.DoGeneric( Ent, data )
- Ent:SetModel( Model )
- Ent:SetAngles( Ang )
- Ent:SetPos( Pos )
- DoPropSpawnedEffect( Ent )
- Ent:Spawn()
- Ent:Activate()
- Ent.VehicleName = VName
- Ent.VehicleTable = VTable
- Ent.EntityOwner = Player
- Ent:SetSpawn_List( VName )
- if ( IsValid( Player ) ) then
- gamemode.Call( "PlayerSpawnedVehicle", Player, Ent )
- end
- return Ent
- end
- function SpawnSimfphysVehicleDarkRP( Player, vname, tr )
- if !SERVER then return end
- if ( !vname ) then return end
- local VehicleList = list.Get( "simfphys_vehicles" )
- local vehicle = VehicleList[ vname ]
- if ( !vehicle ) then return end
- if ( !tr ) then
- tr = Player:GetEyeTraceNoCursor()
- end
- local Angles = Player:GetAngles()
- Angles.pitch = 0
- Angles.roll = 0
- Angles.yaw = Angles.yaw + 180 + (vehicle.SpawnAngleOffset and vehicle.SpawnAngleOffset or 0)
- local pos = tr.HitPos + Vector(0,0,25) + (vehicle.SpawnOffset or Vector(0,0,0))
- local Ent = MakeLuaVehicleDarkRP( Player, pos, Angles, vehicle.Model, vehicle.Class, vname, vehicle )
- if ( !IsValid( Ent ) ) then return end
- if ( vehicle.Members ) then
- table.Merge( Ent, vehicle.Members )
- duplicator.StoreEntityModifier( Ent, "VehicleMemDupe", vehicle.Members )
- end
- if (Ent.ModelInfo) then
- if (Ent.ModelInfo.Bodygroups) then
- for i = 1, table.Count( Ent.ModelInfo.Bodygroups ) do
- Ent:SetBodygroup(i, Ent.ModelInfo.Bodygroups[i] )
- end
- end
- if (Ent.ModelInfo.Skin) then
- Ent:SetSkin( Ent.ModelInfo.Skin )
- end
- if (Ent.ModelInfo.Color) then
- Ent:SetColor( Ent.ModelInfo.Color )
- local Color = Ent.ModelInfo.Color
- local dot = Color.r * Color.g * Color.b * Color.a
- Ent.OldColor = dot
- local data = {
- Color = Color,
- RenderMode = 0,
- RenderFX = 0
- }
- duplicator.StoreEntityModifier( Ent, "colour", data )
- end
- end
- Ent:SetTireSmokeColor(Vector(180,180,180) / 255)
- Ent.Turbocharged = Ent.Turbocharged or false
- Ent.Supercharged = Ent.Supercharged or false
- Ent:SetEngineSoundPreset( Ent.EngineSoundPreset )
- Ent:SetSteerSpeed( Ent.TurnSpeed )
- Ent:SetMaxTorque( Ent.PeakTorque )
- Ent:SetDifferentialGear( Ent.DifferentialGear )
- Ent:SetFastSteerConeFadeSpeed( Ent.SteeringFadeFastSpeed )
- Ent:SetEfficiency( Ent.Efficiency )
- Ent:SetMaxTraction( Ent.MaxGrip )
- Ent:SetTractionBias( Ent.GripOffset / Ent.MaxGrip )
- Ent:SetPowerDistribution( Ent.PowerBias )
- Ent:SetBackFire( Ent.Backfire or false )
- Ent:SetDoNotStall( Ent.DoNotStall or false )
- Ent:SetIdleRPM( Ent.IdleRPM )
- Ent:SetLimitRPM( Ent.LimitRPM )
- Ent:SetRevlimiter( Ent.Revlimiter or false )
- Ent:SetPowerBandEnd( Ent.PowerbandEnd )
- Ent:SetPowerBandStart( Ent.PowerbandStart )
- Ent:SetTurboCharged( Ent.Turbocharged )
- Ent:SetSuperCharged( Ent.Supercharged )
- Ent:SetBrakePower( Ent.BrakePower )
- Ent:SetLights_List( Ent.LightsTable or "no_lights" )
- Ent:SetBulletProofTires( Ent.BulletProofTires or false )
- return Ent
- end
- DarkRP.createEntity("Test Car AAAAAAAAA", {
- ent = "sim_fphys_pwvolga",
- model = "models/props_vehicles/car001b_phy.mdl",
- price = 20,
- max = 1,
- cmd = "buyshitbox",
- category = "Other",
- sortOrder = 3,
- spawn = function(ply, tr, tblEnt) return SpawnSimfphysVehicleDarkRP( ply, "sim_fphys_pwvolga", tr ) end,
- })
Advertisement
Add Comment
Please, Sign In to add comment