local c=bike.FrontSection.TripleTreeHinge:Clone()c.Parent=bike.FrontSection c.Name="\070\114\111\110\116\083\117\115\112\101\110\115\105\111\110\066\097\115\101"if _Tune.FBricksVisible or _Tune.Debug then c.Transparency=.75 else c.Transparency=1 end c.Orientation=bike.FrontSection.TripleTreeHinge.Orientation c.CFrame=c.CFrame+Vector3.new(_Tune.FBaseOffset[1],_Tune.FBaseOffset[1],_Tune.FBaseOffset[1])*c.CFrame.rightVector c.CFrame=c.CFrame+Vector3.new(_Tune.FBaseOffset[2],_Tune.FBaseOffset[2],_Tune.FBaseOffset[2])*c.CFrame.upVector c.CFrame=c.CFrame+Vector3.new(_Tune.FBaseOffset[3],_Tune.FBaseOffset[3],_Tune.FBaseOffset[3])*c.CFrame.lookVector local X=axle2:Clone()X.Parent=bike.FrontSection X.Name="\070\114\111\110\116\083\117\115\112\101\110\115\105\111\110\065\120\108\101"if _Tune.FBricksVisible or _Tune.Debug then X.Transparency=.75 else c.Transparency=1 end X.Orientation=bike.FrontSection.TripleTreeHinge.Orientation X.CFrame=X.CFrame+Vector3.new(_Tune.FAxleOffset[1],_Tune.FAxleOffset[1],_Tune.FAxleOffset[1])*X.CFrame.rightVector X.CFrame=X.CFrame+Vector3.new(_Tune.FAxleOffset[2],_Tune.FAxleOffset[2],_Tune.FAxleOffset[2])*X.CFrame.upVector X.CFrame=X.CFrame+Vector3.new(_Tune.FAxleOffset[3],_Tune.FAxleOffset[3],_Tune.FAxleOffset[3])*X.CFrame.lookVector X.CustomPhysicalProperties=PhysicalProperties.new(0,0,0,.1,.1)local o=Instance.new("\065\116\116\097\099\104\109\101\110\116",c)local K=Instance.new("\065\116\116\097\099\104\109\101\110\116",X)local V=axle:Clone()V.Parent=bike.Body V.Name="\082\101\097\114\083\117\115\112\101\110\115\105\111\110\066\097\115\101"if _Tune.RBricksVisible or _Tune.Debug then V.Transparency=.75 else V.Transparency=1 end V.Orientation=bike.RearSection.RearSwingArmHinge.Orientation V.CFrame=V.CFrame+Vector3.new(_Tune.RBaseOffset[1],_Tune.RBaseOffset[1],_Tune.RBaseOffset[1])*V.CFrame.rightVector V.CFrame=V.CFrame+Vector3.new(_Tune.RBaseOffset[2],_Tune.RBaseOffset[2],_Tune.RBaseOffset[2])*V.CFrame.upVector V.CFrame=V.CFrame+Vector3.new(_Tune.RBaseOffset[3],_Tune.RBaseOffset[3],_Tune.RBaseOffset[3])*V.CFrame.lookVector local R=Instance.new("\065\116\116\097\099\104\109\101\110\116",axle)local g=Instance.new("\065\116\116\097\099\104\109\101\110\116",rWheel)local l=Instance.new("\072\105\110\103\101\067\111\110\115\116\114\097\105\110\116",axle)l.Attachment0=R l.Attachment1=g l.ActuatorType="\077\111\116\111\114"l.MotorMaxAcceleration=9000000000.0 local H=Instance.new("\065\116\116\097\099\104\109\101\110\116",V)local t=Instance.new("\083\112\114\105\110\103\067\111\110\115\116\114\097\105\110\116",V)t.Attachment0=R t.Attachment1=H t.Visible=_Tune.RConstsVisible or _Tune.Debug t.LimitsEnabled=true t.Damping=_Tune.RSusDamping t.Stiffness=_Tune.RSusStiffness t.FreeLength=_Tune.RSusLength+_Tune.RPreComp t.MaxLength=_Tune.RSusLength+_Tune.RExtLimit t.MinLength=_Tune.RSusLength-_Tune.RCompLimit local A=Instance.new("\083\112\114\105\110\103\067\111\110\115\116\114\097\105\110\116",c)A.Attachment0=K A.Attachment1=o A.Visible=_Tune.FConstsVisible or _Tune.Debug A.LimitsEnabled=true A.Damping=_Tune.FSusDamping A.Stiffness=_Tune.FSusStiffness A.FreeLength=_Tune.FSusLength+_Tune.FPreComp A.MaxLength=_Tune.FSusLength+_Tune.FExtLimit A.MinLength=_Tune.FSusLength-_Tune.FCompLimit local r=Instance.new("\080\114\105\115\109\097\116\105\099\067\111\110\115\116\114\097\105\110\116",c)r.Attachment0=o r.Attachment1=K r.Visible=_Tune.FConstsVisible or _Tune.Debug r.LimitsEnabled=true r.UpperLimit=_Tune.FSusLength+_Tune.FExtLimit r.LowerLimit=_Tune.FSusLength-_Tune.FCompLimit local b=Instance.new("\065\116\116\097\099\104\109\101\110\116",axle2)local O=Instance.new("\065\116\116\097\099\104\109\101\110\116",fWheel)local q=Instance.new("\072\105\110\103\101\067\111\110\115\116\114\097\105\110\116",axle2)q.Attachment0=b q.Attachment1=O q.ActuatorType="\077\111\116\111\114"q.MotorMaxAcceleration=9000000000.0
--Suspension Bases

local fbaseA = bike.FrontSection.TripleTreeHinge:Clone()
fbaseA.Parent = bike.FrontSection
fbaseA.Name = "FrontSuspensionBase"
if _Tune.FBricksVisible or _Tune.Debug then
	fbaseA.Transparency = 0.75
else
	fbaseA.Transparency = 1
end
fbaseA.Orientation = bike.FrontSection.TripleTreeHinge.Orientation
fbaseA.CFrame = fbaseA.CFrame
	+ (Vector3.new(_Tune.FBaseOffset[1], _Tune.FBaseOffset[1], _Tune.FBaseOffset[1]) * fbaseA.CFrame.rightVector)
fbaseA.CFrame = fbaseA.CFrame
	+ (Vector3.new(_Tune.FBaseOffset[2], _Tune.FBaseOffset[2], _Tune.FBaseOffset[2]) * fbaseA.CFrame.upVector)
fbaseA.CFrame = fbaseA.CFrame
	+ (Vector3.new(_Tune.FBaseOffset[3], _Tune.FBaseOffset[3], _Tune.FBaseOffset[3]) * fbaseA.CFrame.lookVector)

local fbaseB = axle2:Clone()
fbaseB.Parent = bike.FrontSection
fbaseB.Name = "FrontSuspensionAxle"
if _Tune.FBricksVisible or _Tune.Debug then
	fbaseB.Transparency = 0.75
else
	fbaseA.Transparency = 1
end
fbaseB.Orientation = bike.FrontSection.TripleTreeHinge.Orientation
fbaseB.CFrame = fbaseB.CFrame
	+ (Vector3.new(_Tune.FAxleOffset[1], _Tune.FAxleOffset[1], _Tune.FAxleOffset[1]) * fbaseB.CFrame.rightVector)
fbaseB.CFrame = fbaseB.CFrame
	+ (Vector3.new(_Tune.FAxleOffset[2], _Tune.FAxleOffset[2], _Tune.FAxleOffset[2]) * fbaseB.CFrame.upVector)
fbaseB.CFrame = fbaseB.CFrame
	+ (Vector3.new(_Tune.FAxleOffset[3], _Tune.FAxleOffset[3], _Tune.FAxleOffset[3]) * fbaseB.CFrame.lookVector)
fbaseB.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0.1, 0.1)

local faxlea = Instance.new("Attachment", fbaseA)
local fwheela = Instance.new("Attachment", fbaseB)

local rbase = axle:Clone()
rbase.Parent = bike.Body
rbase.Name = "RearSuspensionBase"
if _Tune.RBricksVisible or _Tune.Debug then
	rbase.Transparency = 0.75
else
	rbase.Transparency = 1
end
rbase.Orientation = bike.RearSection.RearSwingArmHinge.Orientation
rbase.CFrame = rbase.CFrame
	+ (Vector3.new(_Tune.RBaseOffset[1], _Tune.RBaseOffset[1], _Tune.RBaseOffset[1]) * rbase.CFrame.rightVector)
rbase.CFrame = rbase.CFrame
	+ (Vector3.new(_Tune.RBaseOffset[2], _Tune.RBaseOffset[2], _Tune.RBaseOffset[2]) * rbase.CFrame.upVector)
rbase.CFrame = rbase.CFrame
	+ (Vector3.new(_Tune.RBaseOffset[3], _Tune.RBaseOffset[3], _Tune.RBaseOffset[3]) * rbase.CFrame.lookVector)

local raxlea = Instance.new("Attachment", axle)
local rwheela = Instance.new("Attachment", rWheel)
local rhinge = Instance.new("HingeConstraint", axle)
rhinge.Attachment0 = raxlea
rhinge.Attachment1 = rwheela
rhinge.ActuatorType = "Motor"
rhinge.MotorMaxAcceleration = 9e9

local rbaseattch = Instance.new("Attachment", rbase)
local rshock = Instance.new("SpringConstraint", rbase)
rshock.Attachment0 = raxlea
rshock.Attachment1 = rbaseattch
rshock.Visible = _Tune.RConstsVisible or _Tune.Debug
rshock.LimitsEnabled = true
rshock.Damping = _Tune.RSusDamping
rshock.Stiffness = _Tune.RSusStiffness
rshock.FreeLength = _Tune.RSusLength + _Tune.RPreComp
rshock.MaxLength = _Tune.RSusLength + _Tune.RExtLimit
rshock.MinLength = _Tune.RSusLength - _Tune.RCompLimit

local fshock = Instance.new("SpringConstraint", fbaseA)
fshock.Attachment0 = fwheela
fshock.Attachment1 = faxlea
fshock.Visible = _Tune.FConstsVisible or _Tune.Debug
fshock.LimitsEnabled = true
fshock.Damping = _Tune.FSusDamping
fshock.Stiffness = _Tune.FSusStiffness
fshock.FreeLength = _Tune.FSusLength + _Tune.FPreComp
fshock.MaxLength = _Tune.FSusLength + _Tune.FExtLimit
fshock.MinLength = _Tune.FSusLength - _Tune.FCompLimit

local fpris = Instance.new("PrismaticConstraint", fbaseA)
fpris.Attachment0 = faxlea
fpris.Attachment1 = fwheela
fpris.Visible = _Tune.FConstsVisible or _Tune.Debug
fpris.LimitsEnabled = true
fpris.UpperLimit = _Tune.FSusLength + _Tune.FExtLimit
fpris.LowerLimit = _Tune.FSusLength - _Tune.FCompLimit

local faxleb = Instance.new("Attachment", axle2)
local fwheelb = Instance.new("Attachment", fWheel)
local fhinge = Instance.new("HingeConstraint", axle2)
fhinge.Attachment0 = faxleb
fhinge.Attachment1 = fwheelb
fhinge.ActuatorType = "Motor"
fhinge.MotorMaxAcceleration = 9e9
