FingerMyAnus

please kill me

Feb 6th, 2017
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. local function MakeLuaVehicleDarkRP( Player, Pos, Ang, Model, Class, VName, VTable, data )
  2. if !SERVER then return end
  3. if (!file.Exists( Model, "GAME" )) then
  4. Player:PrintMessage( HUD_PRINTTALK, "ERROR: \""..Model.."\" does not exist! (Class: "..VName..")")
  5. return
  6. end
  7.  
  8.  
  9. local Ent = ents.Create( "gmod_sent_vehicle_fphysics_base" )
  10. if ( !Ent ) then return NULL end
  11.  
  12. duplicator.DoGeneric( Ent, data )
  13.  
  14. Ent:SetModel( Model )
  15. Ent:SetAngles( Ang )
  16. Ent:SetPos( Pos )
  17.  
  18. DoPropSpawnedEffect( Ent )
  19.  
  20. Ent:Spawn()
  21. Ent:Activate()
  22.  
  23. Ent.VehicleName = VName
  24. Ent.VehicleTable = VTable
  25. Ent.EntityOwner = Player
  26. Ent:SetSpawn_List( VName )
  27.  
  28. if ( IsValid( Player ) ) then
  29. gamemode.Call( "PlayerSpawnedVehicle", Player, Ent )
  30. end
  31.  
  32. return Ent
  33.  
  34. end
  35.  
  36.  
  37. function SpawnSimfphysVehicleDarkRP( Player, vname, tr )
  38. if !SERVER then return end
  39. if ( !vname ) then return end
  40.  
  41. local VehicleList = list.Get( "simfphys_vehicles" )
  42. local vehicle = VehicleList[ vname ]
  43.  
  44. if ( !vehicle ) then return end
  45.  
  46. if ( !tr ) then
  47. tr = Player:GetEyeTraceNoCursor()
  48. end
  49.  
  50. local Angles = Player:GetAngles()
  51. Angles.pitch = 0
  52. Angles.roll = 0
  53. Angles.yaw = Angles.yaw + 180 + (vehicle.SpawnAngleOffset and vehicle.SpawnAngleOffset or 0)
  54.  
  55. local pos = tr.HitPos + Vector(0,0,25) + (vehicle.SpawnOffset or Vector(0,0,0))
  56. local Ent = MakeLuaVehicleDarkRP( Player, pos, Angles, vehicle.Model, vehicle.Class, vname, vehicle )
  57. if ( !IsValid( Ent ) ) then return end
  58.  
  59. if ( vehicle.Members ) then
  60. table.Merge( Ent, vehicle.Members )
  61. duplicator.StoreEntityModifier( Ent, "VehicleMemDupe", vehicle.Members )
  62. end
  63.  
  64. if (Ent.ModelInfo) then
  65. if (Ent.ModelInfo.Bodygroups) then
  66. for i = 1, table.Count( Ent.ModelInfo.Bodygroups ) do
  67. Ent:SetBodygroup(i, Ent.ModelInfo.Bodygroups[i] )
  68. end
  69. end
  70.  
  71. if (Ent.ModelInfo.Skin) then
  72. Ent:SetSkin( Ent.ModelInfo.Skin )
  73. end
  74.  
  75. if (Ent.ModelInfo.Color) then
  76. Ent:SetColor( Ent.ModelInfo.Color )
  77.  
  78. local Color = Ent.ModelInfo.Color
  79. local dot = Color.r * Color.g * Color.b * Color.a
  80. Ent.OldColor = dot
  81.  
  82. local data = {
  83. Color = Color,
  84. RenderMode = 0,
  85. RenderFX = 0
  86. }
  87. duplicator.StoreEntityModifier( Ent, "colour", data )
  88. end
  89. end
  90.  
  91. Ent:SetTireSmokeColor(Vector(180,180,180) / 255)
  92.  
  93. Ent.Turbocharged = Ent.Turbocharged or false
  94. Ent.Supercharged = Ent.Supercharged or false
  95.  
  96. Ent:SetEngineSoundPreset( Ent.EngineSoundPreset )
  97. Ent:SetSteerSpeed( Ent.TurnSpeed )
  98. Ent:SetMaxTorque( Ent.PeakTorque )
  99. Ent:SetDifferentialGear( Ent.DifferentialGear )
  100. Ent:SetFastSteerConeFadeSpeed( Ent.SteeringFadeFastSpeed )
  101. Ent:SetEfficiency( Ent.Efficiency )
  102. Ent:SetMaxTraction( Ent.MaxGrip )
  103. Ent:SetTractionBias( Ent.GripOffset / Ent.MaxGrip )
  104. Ent:SetPowerDistribution( Ent.PowerBias )
  105.  
  106. Ent:SetBackFire( Ent.Backfire or false )
  107. Ent:SetDoNotStall( Ent.DoNotStall or false )
  108.  
  109. Ent:SetIdleRPM( Ent.IdleRPM )
  110. Ent:SetLimitRPM( Ent.LimitRPM )
  111. Ent:SetRevlimiter( Ent.Revlimiter or false )
  112. Ent:SetPowerBandEnd( Ent.PowerbandEnd )
  113. Ent:SetPowerBandStart( Ent.PowerbandStart )
  114.  
  115. Ent:SetTurboCharged( Ent.Turbocharged )
  116. Ent:SetSuperCharged( Ent.Supercharged )
  117. Ent:SetBrakePower( Ent.BrakePower )
  118.  
  119. Ent:SetLights_List( Ent.LightsTable or "no_lights" )
  120.  
  121. Ent:SetBulletProofTires( Ent.BulletProofTires or false )
  122. return Ent
  123. end
  124.  
  125. DarkRP.createEntity("Test Car AAAAAAAAA", {
  126. ent = "sim_fphys_pwvolga",
  127. model = "models/props_vehicles/car001b_phy.mdl",
  128. price = 20,
  129. max = 1,
  130. cmd = "buyshitbox",
  131. category = "Other",
  132. sortOrder = 3,
  133. spawn = function(ply, tr, tblEnt) return SpawnSimfphysVehicleDarkRP( ply, "sim_fphys_pwvolga", tr ) end,
  134. })
Advertisement
Add Comment
Please, Sign In to add comment