so the trucks are welded in scripts, they are also parented to the player and character. after I spawn my truck from a store I will attempt to enter it but it flings my character away over and over. if I move my character left and right without being in the vehicle the truck will turn and move left and right, this issue is similar to the old mining inc game I have not been able to solve. This 1st script is the shop script of how and where the truck spawns after purchasing in game to the player. ive tampered with this in a few geusses and found myself reverting back to default.
BaseParts = {} SecParts = {}
function Touched(Part) if Part.Parent:FindFirstChild("Humanoid") ~= nil then if game.Players:FindFirstChild(Part.Parent.Name) ~= nil then if game.Players:FindFirstChild(Part.Parent.Name).PlayerGui:FindFirstChild("Shopping") == nil then local NewVal = Instance.new("BoolValue") NewVal.Name = "Shopping" NewVal.Value = true NewVal.Parent = game.Players:FindFirstChild(Part.Parent.Name).PlayerGui
local NewShop = game.ReplicatedStorage.ShopGui:clone()
NewShop.Parent = game.Players:FindFirstChild(Part.Parent.Name).PlayerGui
end
end
end
end
function Shopping(Player,Val) if Val == false and Player.PlayerGui:FindFirstChild("Shopping") ~= nil then Player.PlayerGui.Shopping:Destroy() end end
function LookForParts(Model) local AllModel = Model:GetChildren() for A = 1,#AllModel do if AllModel[A]:IsA("BasePart") then if AllModel[A].BrickColor == BrickColor.new("Dark stone grey") then table.insert(BaseParts,AllModel[A]) elseif AllModel[A].BrickColor == BrickColor.new("Medium stone grey") then table.insert(SecParts,AllModel[A]) end elseif AllModel[A].ClassName == "Model" then LookForParts(AllModel[A]) end end end
function SpawnTruck(Player,TruckName,BaseColor,SecColor) if Player.Character:FindFirstChild("TruckVal") ~= nil then Player.Character.TruckVal.Value:Destroy() Player.Character.TruckVal:Destroy() end
local NewTruck = game.ReplicatedStorage.Trucks:FindFirstChild(TruckName):Clone()
NewTruck.Parent = Player.Character
BaseParts = {}
SecParts = {}
LookForParts(NewTruck)
if BaseColor ~= BrickColor.new("Deep blue") then
for A = 1,#BaseParts do
if BaseParts[A] then
BaseParts[A].BrickColor = BaseColor
end
end
end
if SecColor ~= BrickColor.new("Deep blue") then
for A = 1,#SecParts do
if SecParts[A] then
SecParts[A].BrickColor = SecColor
end
end
end
local NewTruckVal = Instance.new("ObjectValue")
NewTruckVal.Parent = Player.Character
NewTruckVal.Name = "TruckVal"
NewTruckVal.Value = NewTruck
NewTruck.Script.Disabled = false
wait()
if TruckName == "Mammoth" then
NewTruck:SetPrimaryPartCFrame(CFrame.new(script.Parent.MammothSpawn.Position)*CFrame.Angles(0,math.rad(180),0))
else
NewTruck:SetPrimaryPartCFrame(CFrame.new(script.Parent.Spawns:FindFirstChild("Spawn"..script.Parent.SpawnInUse.Value).Position+Vector3.new(0,12,0))*CFrame.Angles(0,math.rad(180),0))
end
local Angle = math.rad(180)
NewTruck.Base.BodyGyro.cframe = CFrame.Angles(0,Angle,0)
Player.Character.UpperTorso.CFrame = CFrame.new(NewTruck.Driver.Position+Vector3.new(0,4,0))
script.Parent.SpawnInUse.Value = script.Parent.SpawnInUse.Value + 1
if script.Parent.SpawnInUse.Value > 4 then
script.Parent.SpawnInUse.Value = 1
end
end
script.Parent.ShopButton.Touched:connect(Touched) Workspace.Shopping.OnServerEvent:connect(Shopping) Workspace.SpawnTruck.OnServerEvent:connect(SpawnTruck)

3 comments
We need to see scripts
give me a few and ill round some up
im unsure why the page has them separated but ive psted the entire 1st script from the shop where the problem may be coming from