Advertisement
Guest User

Code

a guest
Nov 29th, 2021
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.05 KB | None | 0 0
  1. local MiscWeld = {}
  2.  
  3. function MakeWeld(x,y,type,s)
  4. if type==nil then type="Weld" end
  5. local W=Instance.new(type)
  6. W.Part0=x W.Part1=y
  7. W.C0=x.CFrame:inverse()*x.CFrame
  8. W.C1=y.CFrame:inverse()*x.CFrame
  9. W.Parent=x
  10. if type=="Motor" and s~=nil then
  11. W.MaxVelocity=s
  12. end
  13. return W
  14. end
  15. function ModelWeld(a,b)
  16. if a:IsA("BasePart") then
  17. MakeWeld(b,a,"Weld")
  18. elseif a:IsA("Model") then
  19. for i,v in pairs(a:GetChildren()) do
  20. ModelWeld(v,b)
  21. end
  22. end
  23. end
  24.  
  25. car = script.Parent.Parent.Parent
  26. misc = car:WaitForChild("Misc")
  27.  
  28. ---------------------------
  29. --[[
  30. --Main anchor point is the DriveSeat <car.DriveSeat>
  31.  
  32. Usage:
  33. MakeWeld(Part1,Part2,WeldType*,MotorVelocity**) *default is "Weld" **Applies to Motor welds only
  34. ModelWeld(Model,MainPart)
  35. Example:
  36. MakeWeld(car.DriveSeat,misc.PassengerSeat)
  37. MakeWeld(car.DriveSeat,misc.SteeringWheel,"Motor",.2)
  38. ModelWeld(car.DriveSeat,misc.Door)
  39. ]]
  40.  
  41. --Weld stuff here
  42.  
  43. MakeWeld(car.Misc.LMIRR.Handle,car.DriveSeat,"Motor",.1).Name="M"
  44. ModelWeld(car.Misc.LMIRR,car.Misc.LMIRR.Handle)
  45.  
  46. MakeWeld(car.Misc.RMIRR.Handle,car.DriveSeat,"Motor",.1).Name="M"
  47. ModelWeld(car.Misc.RMIRR,car.Misc.RMIRR.Handle)
  48.  
  49.  
  50. --Anims
  51.  
  52. --R6
  53. MakeWeld(car.Misc.Anims.R6.RightArm.Z,car.Misc.Anims.R6.RightArm.Y,"Motor6D").Name="M"
  54. MakeWeld(car.Misc.Anims.R6.RightArm.Y,car.DriveSeat,"Motor6D").Name="M"
  55. ModelWeld(misc.Anims.R6.RightArm.Parts,misc.Anims.R6.RightArm.Z)
  56. MakeWeld(car.Misc.Anims.R6.LeftArm.Z,car.Misc.Anims.R6.LeftArm.Y,"Motor6D").Name="M"
  57. MakeWeld(car.Misc.Anims.R6.LeftArm.Y,car.DriveSeat,"Motor6D").Name="M"
  58. ModelWeld(misc.Anims.R6.LeftArm.Parts,misc.Anims.R6.LeftArm.Z)
  59.  
  60. MakeWeld(car.Misc.Anims.R6.LeftLeg.X,car.Misc.Anims.R6.LeftLeg.Z,"Motor6D").Name="M"
  61. MakeWeld(car.Misc.Anims.R6.LeftLeg.Z,car.DriveSeat,"Motor6D").Name="M"
  62. ModelWeld(misc.Anims.R6.LeftLeg.Parts,misc.Anims.R6.LeftLeg.X)
  63.  
  64. MakeWeld(car.Misc.Anims.R6.RightLeg.X,car.Misc.Anims.R6.RightLeg.Z,"Motor6D").Name="M"
  65. MakeWeld(car.Misc.Anims.R6.RightLeg.Z,car.Misc.Anims.R6.RightLeg.I,"Motor6D").Name="M"
  66. MakeWeld(car.Misc.Anims.R6.RightLeg.I,car.DriveSeat,"Motor6D").Name="M"
  67. ModelWeld(misc.Anims.R6.RightLeg.Parts,misc.Anims.R6.RightLeg.X)
  68.  
  69. MakeWeld(car.Misc.Anims.R6.Torso.Z,car.DriveSeat,"Motor6D").Name="M"
  70. MakeWeld(car.Misc.Anims.R6.Torso.X,car.Misc.Anims.R6.Torso.Z,"Motor6D").Name="M"
  71. ModelWeld(misc.Anims.R6.Torso.Parts,misc.Anims.R6.Torso.X)
  72.  
  73. MakeWeld(car.Misc.Anims.R6.Head.X,car.Misc.Anims.R6.Head.Y,"Motor6D").Name="M"
  74. MakeWeld(car.Misc.Anims.R6.Head.Y,car.Misc.Anims.R6.Head.Z,"Motor6D").Name="M"
  75. MakeWeld(car.Misc.Anims.R6.Head.Z,car.Misc.Anims.R6.Torso.X,"Motor6D").Name="M"
  76. ModelWeld(misc.Anims.R6.Head.Parts,misc.Anims.R6.Head.X)
  77.  
  78. --R15
  79.  
  80. --Head
  81. MakeWeld(car.Misc.Anims.R15.Torso.Head.X,car.Misc.Anims.R15.Torso.Head.Y,"Motor6D").Name="M"
  82. MakeWeld(car.Misc.Anims.R15.Torso.Head.Y,car.Misc.Anims.R15.Torso.Head.Z,"Motor6D").Name="M"
  83. MakeWeld(car.Misc.Anims.R15.Torso.Head.Z,car.Misc.Anims.R15.Torso.UpperTorso.Z,"Motor6D").Name="M"
  84. ModelWeld(misc.Anims.R15.Torso.Head.Parts,misc.Anims.R15.Torso.Head.X)
  85.  
  86. --Torso
  87. MakeWeld(car.Misc.Anims.R15.Torso.LowerTorso.X,car.DriveSeat,"Motor6D").Name="M"
  88. MakeWeld(car.Misc.Anims.R15.Torso.LowerTorso.Z,car.Misc.Anims.R15.Torso.LowerTorso.X,"Motor6D").Name="M"
  89. MakeWeld(car.Misc.Anims.R15.Torso.LowerTorso.Y,car.Misc.Anims.R15.Torso.LowerTorso.Z,"Motor6D").Name="M"
  90. ModelWeld(car.Misc.Anims.R15.Torso.LowerTorso.Parts,car.Misc.Anims.R15.Torso.LowerTorso.Y)
  91.  
  92. MakeWeld(car.Misc.Anims.R15.Torso.UpperTorso.Z,car.Misc.Anims.R15.Torso.LowerTorso.Y,"Motor6D").Name="M"
  93. ModelWeld(car.Misc.Anims.R15.Torso.UpperTorso.Parts,car.Misc.Anims.R15.Torso.UpperTorso.Z)
  94.  
  95. --Right Arm
  96. MakeWeld(car.Misc.Anims.R15.RightArm.Hand.Y,car.DriveSeat,"Motor6D").Name="M"
  97. MakeWeld(car.Misc.Anims.R15.RightArm.Hand.Z,car.Misc.Anims.R15.RightArm.Hand.Y,"Motor6D").Name="M"
  98. MakeWeld(car.Misc.Anims.R15.RightArm.Hand.X,car.Misc.Anims.R15.RightArm.Hand.Z,"Motor6D").Name="M"
  99. ModelWeld(car.Misc.Anims.R15.RightArm.Hand.Parts,car.Misc.Anims.R15.RightArm.Hand.X)
  100.  
  101. MakeWeld(car.Misc.Anims.R15.RightArm.LowerArm.X,car.Misc.Anims.R15.RightArm.Hand.X,"Motor6D").Name="M"
  102. ModelWeld(car.Misc.Anims.R15.RightArm.LowerArm.Parts,car.Misc.Anims.R15.RightArm.LowerArm.X)
  103.  
  104. MakeWeld(car.Misc.Anims.R15.RightArm.UpperArm.X,car.Misc.Anims.R15.RightArm.LowerArm.X,"Motor6D").Name="M"
  105. ModelWeld(car.Misc.Anims.R15.RightArm.UpperArm.Parts,car.Misc.Anims.R15.RightArm.UpperArm.X)
  106.  
  107. --Right Leg
  108. MakeWeld(car.Misc.Anims.R15.RightLeg.Foot.I,car.DriveSeat,"Motor6D").Name="M"
  109. MakeWeld(car.Misc.Anims.R15.RightLeg.Foot.Y,car.Misc.Anims.R15.RightLeg.Foot.I,"Motor6D").Name="M"
  110. MakeWeld(car.Misc.Anims.R15.RightLeg.Foot.Z,car.Misc.Anims.R15.RightLeg.Foot.Y,"Motor6D").Name="M"
  111. MakeWeld(car.Misc.Anims.R15.RightLeg.Foot.X,car.Misc.Anims.R15.RightLeg.Foot.Z,"Motor6D").Name="M"
  112. ModelWeld(car.Misc.Anims.R15.RightLeg.Foot.Parts,car.Misc.Anims.R15.RightLeg.Foot.X)
  113.  
  114. MakeWeld(car.Misc.Anims.R15.RightLeg.LowerLeg.X,car.Misc.Anims.R15.RightLeg.Foot.X,"Motor6D").Name="M"
  115. ModelWeld(car.Misc.Anims.R15.RightLeg.LowerLeg.Parts,car.Misc.Anims.R15.RightLeg.LowerLeg.X)
  116.  
  117. MakeWeld(car.Misc.Anims.R15.RightLeg.UpperLeg.X,car.Misc.Anims.R15.RightLeg.LowerLeg.X,"Motor6D").Name="M"
  118. ModelWeld(car.Misc.Anims.R15.RightLeg.UpperLeg.Parts,car.Misc.Anims.R15.RightLeg.UpperLeg.X)
  119.  
  120. --Left Arm
  121. MakeWeld(car.Misc.Anims.R15.LeftArm.Hand.Y,car.DriveSeat,"Motor6D").Name="M"
  122. MakeWeld(car.Misc.Anims.R15.LeftArm.Hand.Z,car.Misc.Anims.R15.LeftArm.Hand.Y,"Motor6D").Name="M"
  123. MakeWeld(car.Misc.Anims.R15.LeftArm.Hand.X,car.Misc.Anims.R15.LeftArm.Hand.Z,"Motor6D").Name="M"
  124. ModelWeld(car.Misc.Anims.R15.LeftArm.Hand.Parts,car.Misc.Anims.R15.LeftArm.Hand.X)
  125.  
  126. MakeWeld(car.Misc.Anims.R15.LeftArm.LowerArm.X,car.Misc.Anims.R15.LeftArm.Hand.X,"Motor6D").Name="M"
  127. ModelWeld(car.Misc.Anims.R15.LeftArm.LowerArm.Parts,car.Misc.Anims.R15.LeftArm.LowerArm.X)
  128.  
  129. MakeWeld(car.Misc.Anims.R15.LeftArm.UpperArm.X,car.Misc.Anims.R15.LeftArm.LowerArm.X,"Motor6D").Name="M"
  130. ModelWeld(car.Misc.Anims.R15.LeftArm.UpperArm.Parts,car.Misc.Anims.R15.LeftArm.UpperArm.X)
  131.  
  132. --Left Leg
  133. MakeWeld(car.Misc.Anims.R15.LeftLeg.Foot.Y,car.DriveSeat,"Motor6D").Name="M"
  134. MakeWeld(car.Misc.Anims.R15.LeftLeg.Foot.Z,car.Misc.Anims.R15.LeftLeg.Foot.Y,"Motor6D").Name="M"
  135. MakeWeld(car.Misc.Anims.R15.LeftLeg.Foot.X,car.Misc.Anims.R15.LeftLeg.Foot.Z,"Motor6D").Name="M"
  136. ModelWeld(car.Misc.Anims.R15.LeftLeg.Foot.Parts,car.Misc.Anims.R15.LeftLeg.Foot.X)
  137.  
  138. MakeWeld(car.Misc.Anims.R15.LeftLeg.LowerLeg.X,car.Misc.Anims.R15.LeftLeg.Foot.X,"Motor6D").Name="M"
  139. ModelWeld(car.Misc.Anims.R15.LeftLeg.LowerLeg.Parts,car.Misc.Anims.R15.LeftLeg.LowerLeg.X)
  140.  
  141. MakeWeld(car.Misc.Anims.R15.LeftLeg.UpperLeg.X,car.Misc.Anims.R15.LeftLeg.LowerLeg.X,"Motor6D").Name="M"
  142. ModelWeld(car.Misc.Anims.R15.LeftLeg.UpperLeg.Parts,car.Misc.Anims.R15.LeftLeg.UpperLeg.X)
  143.  
  144.  
  145. function animPose(seat,pose)
  146. local C
  147. local S=seat
  148. local WS={}
  149. local HW={}
  150.  
  151. local seatOffset = CFrame.new(0,0,0)
  152.  
  153.  
  154. S.ChildRemoved:connect(function(child)
  155. if child.Name=="SeatWeld" and child:IsA("Weld") then
  156. for i,v in pairs(WS) do
  157. if v~=0 then
  158. if v[4]~=nil then
  159. v[4]:Destroy()
  160. v[1].Part1=v[5]
  161. else
  162. if v[2]~=nil then
  163. v[1].C0=v[2] v[1].C1=v[3]
  164. else
  165. v[1]:Destroy()
  166. end
  167. end
  168. end
  169. end
  170. for i,v in pairs(HW) do
  171. v[1]:Destroy()
  172. v[2]:Destroy()
  173. v[3].Transparency=0
  174. end
  175. C=nil
  176. WS = {}
  177. HW = {}
  178. end
  179. end)
  180.  
  181. S.ChildAdded:connect(function(child)
  182. if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
  183. C = child.Part1.Parent
  184. S.SeatWeld.C0 = seatOffset
  185. S.SeatWeld.C1 = CFrame.new()
  186.  
  187. local pkTor = false
  188. for i,v in pairs(C:GetChildren()) do
  189. if v:IsA("CharacterMesh") and v.BodyPart == Enum.BodyPart.Torso then
  190. pkTor=true
  191. break
  192. end
  193. end
  194.  
  195. local function MW(x,y)
  196. local WW=Instance.new("Weld",x) WW.Part0=x WW.Part1=y return WW
  197. end
  198.  
  199. if C:FindFirstChild("HumanoidRootPart")~=nil and C:FindFirstChild("Torso")~=nil then
  200. S.SeatWeld.C0=seatOffset
  201. S.SeatWeld.C1=CFrame.new()
  202. C.HumanoidRootPart.RootJoint.Part1=nil
  203. table.insert(WS,{C.HumanoidRootPart.RootJoint,C.HumanoidRootPart.RootJoint.C0,C.HumanoidRootPart.RootJoint.C1,MW(C.HumanoidRootPart,C.Torso),C.Torso})
  204. if C.Torso:FindFirstChild("Neck")~=nil then
  205. local H=C.Head:Clone()
  206. H.Name="Part"
  207. H.Parent=C
  208. local WH=MW(C.Torso,H)
  209. WH.C0=C.Torso.Neck.C0
  210. WH.C1=C.Torso.Neck.C0
  211. C.Head.Transparency=1
  212.  
  213. table.insert(HW,{H,WH,C.Head})
  214. table.insert(WS,{WH,nil,nil,nil,nil})
  215. for i,v in pairs(C.Head:GetChildren()) do
  216. if v:IsA("Weld") then
  217. local pp=v.Part1:Clone()
  218. pp.Parent=C
  219. v.Part1.Transparency=1
  220.  
  221. local ww=MW(H,pp)
  222. ww.C0=v.C0
  223. ww.C1=v.C1
  224. table.insert(HW,{pp,ww,v.Part1})
  225. end
  226. end
  227. else
  228. table.insert(WS,0)
  229. end
  230. if C.Torso:FindFirstChild("Left Shoulder")~=nil then
  231. C.Torso:FindFirstChild("Left Shoulder").Part1=nil
  232. table.insert(WS,{C.Torso:FindFirstChild("Left Shoulder"),C.Torso:FindFirstChild("Left Shoulder").C0,C.Torso:FindFirstChild("Left Shoulder").C1,MW(C.Torso,C:FindFirstChild("Left Arm")),C:FindFirstChild("Left Arm")})
  233. else
  234. table.insert(WS,0)
  235. end
  236. if C.Torso:FindFirstChild("Right Shoulder")~=nil then
  237. C.Torso:FindFirstChild("Right Shoulder").Part1=nil
  238. table.insert(WS,{C.Torso:FindFirstChild("Right Shoulder"),C.Torso:FindFirstChild("Right Shoulder").C0,C.Torso:FindFirstChild("Right Shoulder").C1,MW(C.Torso,C:FindFirstChild("Right Arm")),C:FindFirstChild("Right Arm")})
  239. else
  240. table.insert(WS,0)
  241. end
  242. if C.Torso:FindFirstChild("Left Hip")~=nil then
  243. C.Torso:FindFirstChild("Left Hip").Part1=nil
  244. table.insert(WS,{C.Torso:FindFirstChild("Left Hip"),C.Torso:FindFirstChild("Left Hip").C0,C.Torso:FindFirstChild("Left Hip").C1,MW(C.Torso,C:FindFirstChild("Left Leg")),C:FindFirstChild("Left Leg")})
  245. else
  246. table.insert(WS,0)
  247. end
  248. if C.Torso:FindFirstChild("Right Hip")~=nil then
  249. C.Torso:FindFirstChild("Right Hip").Part1=nil
  250. table.insert(WS,{C.Torso:FindFirstChild("Right Hip"),C.Torso:FindFirstChild("Right Hip").C0,C.Torso:FindFirstChild("Right Hip").C1,MW(C.Torso,C:FindFirstChild("Right Leg")),C:FindFirstChild("Right Leg")})
  251. else
  252. table.insert(WS,0)
  253. end
  254. end
  255.  
  256. for i,v in pairs(WS) do
  257. local cfp = pose[i]
  258. if i==3 then
  259. for i,v in pairs(C:GetChildren()) do
  260. if v:IsA("CharacterMesh") and v.BodyPart == Enum.BodyPart.LeftArm then
  261. cfp = pose[7]
  262. break
  263. end
  264. end
  265. elseif i==4 then
  266. for i,v in pairs(C:GetChildren()) do
  267. if v:IsA("CharacterMesh") and v.BodyPart == Enum.BodyPart.RightArm then
  268. cfp = pose[8]
  269. break
  270. end
  271. end
  272. end
  273. if v[4]~=nil then
  274. v[4].C0=cfp
  275. v[4].C1=CFrame.new()
  276. else
  277. v[1].C0=cfp
  278. v[1].C1=CFrame.new()
  279. end
  280. end
  281. end
  282. end)
  283. end
  284.  
  285. local Passenger={
  286. CFrame.new(0.00701141357, 1.09911013, 0.0404243469, 1, 3.80970855e-09, -4.35450502e-08, 0, 0.996194661, 0.087155968, 4.37113883e-08, -0.087155968, 0.996194661), --Torso
  287. CFrame.new(0, 1.50000381, 0, 1, 0, 0, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661), --Head
  288. CFrame.new(-0.876424789, -0.214377403, -0.478406906, 0.819151819, -0.573576868, 7.37368282e-07, 0.519837081, 0.742402971, -0.422619611, 0.242404267, 0.346189946, 0.906307161), --Larm
  289. CFrame.new(0.876424789, -0.214377403, -0.478406906, 0.819151819, 0.573576868, -7.37368282e-07, -0.519837081, 0.742402971, -0.422619611, -0.242404267, 0.346189946, 0.906307161), --Rarm
  290. CFrame.new(-1.27365112, -1.25288582, -1.13527107, 0.98480773, -0.173648179, 0, 0.171010077, 0.969846308, 0.173647881, -0.0301536396, -0.171009779, 0.984807789), --Lleg
  291. CFrame.new(1.27365112, -1.25288582, -1.13527298, 0.98480773, 0.173648179, 0, -0.171010077, 0.969846308, 0.173647881, 0.0301536396, -0.171009779, 0.984807789) --Rleg
  292. }
  293.  
  294. --animPose(car.Body.Seat,Passenger)
  295.  
  296.  
  297.  
  298. ---------------------------
  299. return MiscWeld
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement