Upscalefanatic34

Auto Marionette

May 22nd, 2016
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.13 KB | None | 0 0
  1. --------------------------- AutioMarionette -----------------------
  2. -- Waits for the child of the specified parent
  3. function WaitForChild(parent, childName)
  4. while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
  5. return parent[childName]
  6. end
  7. local Tool = Instance.new("Tool", game.Players.LocalPlayer.Backpack)
  8. Tool.Name = "AutioMarionette"
  9. local Handle = Instance.new("Part", Tool)
  10. Handle.Name = "Handle"
  11. Handle.Transparency = 1
  12. Handle.Size = Vector3.new(0.2, 3, 1)
  13. supply = {91360028,27858062,34247537}
  14. for a = 1, #supply do
  15. droot = game:GetService("InsertService"):LoadAsset(supply[a])
  16. droot.Parent = game.Lighting
  17. m = droot:GetChildren()
  18. for b = 1, #m do
  19. if m[b].Name == "Marionette" then
  20. m[b].Handle.Mesh.Parent = Handle
  21. m[b].AnimateArmScript.Parent = Tool
  22. m[b].AnimateSlashScript.Parent = Tool
  23. m[b].MarionetteGui.Parent = Tool
  24. m[b].Recoil.Parent = Tool
  25. m[b].SlashAnim.Parent = Tool
  26. elseif m[b].Name == "DancePotion" then
  27. m[b].dance.Name = "Dance"
  28. m[b].Dance.Parent = Tool
  29. elseif m[b].Name == "PartyPotion" then
  30. m[b].DanceScript.Parent = Tool
  31. end
  32. end
  33. end
  34. local hAni= Instance.new("Animation")
  35. hAni.AnimationId = "http://www.roblox.com/Asset?ID=91346946"
  36. hAni.Name = "HitSelf"
  37. hAni.Parent = Tool
  38. local htAni= Instance.new("Animation")
  39. htAni.AnimationId = "http://www.roblox.com/Asset?ID=35154961"
  40. htAni.Name = "HeadThrow"
  41. htAni.Parent = Tool
  42. local wAni = Instance.new("Animation")
  43. wAni.AnimationId = "http://www.roblox.com/Asset?ID=42070810"
  44. wAni.Name = "Cry"
  45. wAni.Parent = Tool
  46. local mAni = Instance.new("Animation")
  47. mAni.AnimationId = "http://www.roblox.com/Asset?ID=92035409"
  48. mAni.Name = "Master"
  49. mAni.Parent = Tool
  50. local PlayersService = Game:GetService('Players')
  51. local DebrisService = Game:GetService('Debris')
  52. local ContentService = Game:GetService("ContentProvider")
  53. local Marionette
  54. local MarionetteWeld
  55. local MarionetteGui = Tool.MarionetteGui
  56. MarionetteGui.Frame.Slash.Position = UDim2.new(0.75, -37, 0, 0)
  57. local next = MarionetteGui.Frame.Slash:clone()
  58. next.Parent = MarionetteGui.Frame
  59. next.Name = "Next"
  60. next.Text = ">>"
  61. next.Size = UDim2.new(0, 45, 0, 45)
  62. next.Position = UDim2.new(0.75, 33, 0, 10)
  63. local dbutton = MarionetteGui.Frame.Slash:clone()
  64. dbutton.Parent = MarionetteGui.Frame
  65. dbutton.Name = "Dance"
  66. dbutton.Text = "Dance"
  67. dbutton.Position = UDim2.new(0.75, -100, 0, 0)
  68. local mbutton = MarionetteGui.Frame.Slash:clone()
  69. mbutton.Parent = MarionetteGui.Frame
  70. mbutton.Name = "MDance"
  71. mbutton.Text = "Monkey Dance"
  72. mbutton.Position = UDim2.new(0.75, -163, 0, 0)
  73. local marionetteFrame2 = MarionetteGui.Frame:clone()
  74. marionetteFrame2.Parent = MarionetteGui
  75. marionetteFrame2.Name = "Frame2"
  76. marionetteFrame2:ClearAllChildren()
  77. local prev = next:clone()
  78. prev.Parent = marionetteFrame2
  79. prev.Name = "Previous"
  80. prev.Text = "<<"
  81. prev.Position = UDim2.new(0.25, -75, 0, 10)
  82. local hbutton = dbutton:clone()
  83. hbutton.Parent = marionetteFrame2
  84. hbutton.Name = "HitSelf"
  85. hbutton.Text = "Hit Self"
  86. hbutton.Position = UDim2.new(0.25, -30, 0, 0)
  87. local htbutton = dbutton:clone()
  88. htbutton.Parent = marionetteFrame2
  89. htbutton.Name = "HeadThrow"
  90. htbutton.Text = "Head Throw"
  91. htbutton.Position = UDim2.new(0.75, -163, 0, 0)
  92. local wbutton = dbutton:clone()
  93. wbutton.Parent = marionetteFrame2
  94. wbutton.Name = "Cry"
  95. wbutton.Text = "Cry"
  96. wbutton.Position = UDim2.new(0.75, -100, 0, 0)
  97. local mabutton = dbutton:clone()
  98. mabutton.Parent = marionetteFrame2
  99. mabutton.Name = "Master"
  100. mabutton.Text = "Jack Off"
  101. mabutton.Position = UDim2.new(0.75, -33, 0, 0)
  102. ----- Sounds ------
  103. --[[
  104. local ShutDown = WaitForChild(Tool, 'ShutDown')
  105. local PoweringUp = WaitForChild(Tool, 'PoweringUp')
  106. local Deflect = WaitForChild(Tool, 'Deflect')
  107. local Pulse = WaitForChild(Tool, 'Pulse')
  108. --]]
  109. -- Local Character Variables ----
  110. local MyCharacter
  111. local MyHumanoid
  112. local MyTorso
  113. local MyPlayer
  114. local MyMouse
  115. ---------------------------------
  116. -- Todo: Make it follow welds
  117. function calculateMassRecursive(rootPart)
  118. local sum = 0
  119. if rootPart:IsA('Part') or rootPart:IsA('WedgePart') or rootPart:IsA('CornerWedgePart') or rootPart:IsA('TrussPart') then sum = sum + rootPart:GetMass() end
  120. for _, v in pairs(rootPart:GetChildren()) do
  121. sum = sum + calculateMassRecursive(v)
  122. end
  123. return sum
  124. end
  125. local function IgnoreCloneCheck( objectToClone )
  126. if objectToClone:IsA('Script') or objectToClone:IsA('LocalScript') or not objectToClone.Archivable then
  127. return true
  128. end
  129. return false
  130. end
  131. local function AppearanceItem(item)
  132. if item:IsA('Shirt') or item:IsA('Pants') or item:IsA('SpecialMesh') or item:IsA('Hat') or item:IsA('Decal') or item:IsA('Face') or item:IsA('BodyColors') or item:IsA('CharacterMesh') then
  133. return true
  134. end
  135. return false
  136. end
  137. local function CopyCharacterAppearanceRecursive(newParent, oldParent)
  138. if #oldParent:GetChildren() == 0 then
  139. return nil
  140. end
  141. for k, v in pairs(oldParent:GetChildren()) do
  142. if AppearanceItem(v) then
  143. if newParent:FindFirstChild(v.Name) then
  144. CopyCharacterAppearanceRecursive(currClone, v)
  145. end
  146. end
  147. end
  148. end
  149. -- For now lets assume this function works
  150. local function CopyCharacterAppearance(character, mari)
  151. if not mari then return end
  152. mari.Name = character.Name .. "'s Voodoo Doll"
  153. --CopyCharacterAppearanceRecursive(Marionette, character)
  154. for k, v in pairs(character:GetChildren()) do
  155. print("checking " .. v.Name)
  156. if AppearanceItem(v) and v.Archivable then
  157. print(v.Name .. " is an AppearanceItem")
  158. local currClone = v:Clone()
  159. currClone.Parent = mari
  160. print("Copying " .. v.Name)
  161. end
  162. for kk, vv in pairs(v:GetChildren()) do
  163. if AppearanceItem(vv) and vv.Archivable then
  164. local nextClone = vv:Clone()
  165. nextClone.Parent = mari:FindFirstChild(v.Name)
  166. end
  167. end
  168. end
  169. end
  170. local function AnimateMarionette(pickedTarget)
  171. print("Animating Marionette")
  172. if Marionette and Marionette:FindFirstChild('Right Arm') and pickedTarget == Marionette:FindFirstChild('Right Arm') then
  173. AnimateRightArm()
  174. end
  175. end
  176. local animating = false
  177. -----------Page1------------
  178. function Dance()
  179. print("Right Arm Clicked")
  180. if animating then return end
  181. animating = true
  182. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  183. local scriptToCopy = WaitForChild(Tool, 'AnimateSlashScript'):Clone()
  184. local animationToCopy = WaitForChild(Tool, "Dance"):Clone()
  185. animationToCopy.Name = "SlashAnim"
  186. animationToCopy.Parent = scriptToCopy
  187. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  188. scriptToCopy.Disabled = false
  189. scriptToCopy = scriptToCopy:Clone()
  190. animationToCopy = animationToCopy:Clone()
  191. animationToCopy.Parent = scriptToCopy
  192. scriptToCopy.Parent = Marionette
  193. scriptToCopy.Disabled = false
  194. end
  195. wait(1)
  196. animating = false
  197. end
  198. function MDance()
  199. print("Right Arm Clicked")
  200. if animating then return end
  201. animating = true
  202. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  203. local scriptToCopy = WaitForChild(Tool, 'AnimateArmScript'):Clone()
  204. local animationToCopy = WaitForChild(Tool, "Dance"):Clone()
  205. animationToCopy.Name = "Recoil"
  206. animationToCopy.Parent = scriptToCopy
  207. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  208. scriptToCopy.Disabled = false
  209. scriptToCopy = scriptToCopy:Clone()
  210. animationToCopy = animationToCopy:Clone()
  211. animationToCopy.Parent = scriptToCopy
  212. scriptToCopy.Parent = Marionette
  213. scriptToCopy.Disabled = false
  214. end
  215. wait(1)
  216. animating = false
  217. end
  218. function SlashRightArm()
  219. if animating then return end
  220. animating = true
  221. print("Right Arm Clicked")
  222. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  223. local scriptToCopy = WaitForChild(Tool, 'AnimateSlashScript'):Clone()
  224. local animationToCopy = WaitForChild(Tool, "SlashAnim"):Clone()
  225. animationToCopy.Parent = scriptToCopy
  226. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  227. scriptToCopy.Disabled = false
  228. scriptToCopy = scriptToCopy:Clone()
  229. animationToCopy = animationToCopy:Clone()
  230. animationToCopy.Parent = scriptToCopy
  231. scriptToCopy.Parent = Marionette
  232. scriptToCopy.Disabled = false
  233. end
  234. wait(1)
  235. animating = false
  236. end
  237. function AnimateRightArm()
  238. print("Right Arm Clicked")
  239. if animating then return end
  240. animating = true
  241. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  242. local scriptToCopy = WaitForChild(Tool, 'AnimateArmScript'):Clone()
  243. local animationToCopy = WaitForChild(Tool, "Recoil"):Clone()
  244. animationToCopy.Parent = scriptToCopy
  245. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  246. scriptToCopy.Disabled = false
  247. scriptToCopy = scriptToCopy:Clone()
  248. animationToCopy = animationToCopy:Clone()
  249. animationToCopy.Parent = scriptToCopy
  250. scriptToCopy.Parent = Marionette
  251. scriptToCopy.Disabled = false
  252. end
  253. wait(1)
  254. animating = false
  255. end
  256. -----------Page2------------
  257. function Hitself()
  258. print("Right Arm Clicked")
  259. if animating then return end
  260. animating = true
  261. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  262. local scriptToCopy = WaitForChild(Tool, 'AnimateSlashScript'):Clone()
  263. local animationToCopy = WaitForChild(Tool, "HitSelf"):Clone()
  264. animationToCopy.Name = "SlashAnim"
  265. animationToCopy.Parent = scriptToCopy
  266. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  267. scriptToCopy.Disabled = false
  268. scriptToCopy = scriptToCopy:Clone()
  269. animationToCopy = animationToCopy:Clone()
  270. animationToCopy.Parent = scriptToCopy
  271. scriptToCopy.Parent = Marionette
  272. scriptToCopy.Disabled = false
  273. end
  274. wait(1)
  275. animating = false
  276. end
  277. function HeadThrow()
  278. print("Right Arm Clicked")
  279. if animating then return end
  280. animating = true
  281. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  282. local scriptToCopy = WaitForChild(Tool, 'AnimateSlashScript'):Clone()
  283. local animationToCopy = WaitForChild(Tool, "HeadThrow"):Clone()
  284. animationToCopy.Name = "SlashAnim"
  285. animationToCopy.Parent = scriptToCopy
  286. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  287. scriptToCopy.Disabled = false
  288. scriptToCopy = scriptToCopy:Clone()
  289. animationToCopy = animationToCopy:Clone()
  290. animationToCopy.Parent = scriptToCopy
  291. scriptToCopy.Parent = Marionette
  292. scriptToCopy.Disabled = false
  293. end
  294. wait(1)
  295. animating = false
  296. end
  297. function Cry()
  298. print("Right Arm Clicked")
  299. if animating then return end
  300. animating = true
  301. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  302. local scriptToCopy = WaitForChild(Tool, 'AnimateSlashScript'):Clone()
  303. local animationToCopy = WaitForChild(Tool, "Cry"):Clone()
  304. animationToCopy.Name = "SlashAnim"
  305. animationToCopy.Parent = scriptToCopy
  306. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  307. scriptToCopy.Disabled = false
  308. scriptToCopy = scriptToCopy:Clone()
  309. animationToCopy = animationToCopy:Clone()
  310. animationToCopy.Parent = scriptToCopy
  311. scriptToCopy.Parent = Marionette
  312. scriptToCopy.Disabled = false
  313. end
  314. wait(1)
  315. animating = false
  316. end
  317. function Master()
  318. print("Right Arm Clicked")
  319. if animating then return end
  320. animating = true
  321. if Marionette and Marionette:FindFirstChild('LinkedPlayer') and Marionette:FindFirstChild('LinkedPlayer').Value then
  322. local scriptToCopy = WaitForChild(Tool, 'AnimateSlashScript'):Clone()
  323. local animationToCopy = WaitForChild(Tool, "Master"):Clone()
  324. animationToCopy.Name = "SlashAnim"
  325. animationToCopy.Parent = scriptToCopy
  326. scriptToCopy.Parent = Marionette:FindFirstChild('LinkedPlayer').Value
  327. scriptToCopy.Disabled = false
  328. scriptToCopy = scriptToCopy:Clone()
  329. animationToCopy = animationToCopy:Clone()
  330. animationToCopy.Parent = scriptToCopy
  331. scriptToCopy.Parent = Marionette
  332. scriptToCopy.Disabled = false
  333. end
  334. wait(1)
  335. animating = false
  336. end
  337. local function CopyCharacterSimple(character)
  338. local newChar = Game:GetService("InsertService"):LoadAsset(88117081):GetChildren()[1]
  339. for k, parts in pairs(newChar:GetChildren()) do
  340. for j, child in pairs(parts:GetChildren()) do
  341. if child:IsA('SpecialMesh') or child:IsA('Sound') then child:Destroy() end
  342. end
  343. end
  344. newChar.Humanoid.Health = newChar.Humanoid.MaxHealth
  345. CopyCharacterAppearance(character, newChar)
  346. return newChar
  347. end
  348. local function FindCharacterAtMouse()
  349. if MyMouse then
  350. local target = MyMouse.Target
  351. if target and target.Parent then
  352. if PlayersService:GetPlayerFromCharacter(target.Parent) then
  353. return target.Parent
  354. end
  355. end
  356. end
  357. return nil
  358. end
  359. local function DestroyMarionette()
  360. if Marionette then
  361. Marionette:Destroy()
  362. MarionetteWeld:Destroy()
  363. Marionette = nil
  364. MarionetteWeld = nil
  365. end
  366. end
  367. local function AddFloatingForce(object, mass)
  368. local floatingForce = Instance.new('BodyForce')
  369. floatingForce.force = Vector3.new(0, 196.2 * mass, 0)
  370. floatingForce.Parent = object
  371. return floatingForce
  372. end
  373. local function ActivatePlayerControls()
  374. if MarionetteGui then
  375. local marionetteFrame = MarionetteGui:FindFirstChild('Frame')
  376. local marionetteFrame2 = MarionetteGui:FindFirstChild('Frame2')
  377. if marionetteFrame then
  378. marionetteFrame.Instructions.Visible = false
  379. marionetteFrame.Dance.Visible = true
  380. marionetteFrame.Dance.Active = true
  381. marionetteFrame.MDance.Visible = true
  382. marionetteFrame.MDance.Active = true
  383. marionetteFrame.SpinArms.Visible = true
  384. marionetteFrame.SpinArms.Active = true
  385. marionetteFrame.Slash.Visible = true
  386. marionetteFrame.Slash.Active = true
  387. marionetteFrame.Next.Visible = true
  388. marionetteFrame.Next.Active = true
  389. marionetteFrame.Visible = true
  390.  
  391. marionetteFrame2.Visible = false
  392. marionetteFrame2.Previous.Visible = false
  393. marionetteFrame2.Previous.Active = false
  394. marionetteFrame2.HitSelf.Visible = false
  395. marionetteFrame2.HitSelf.Active = false
  396. marionetteFrame2.HeadThrow.Visible = false
  397. marionetteFrame2.HeadThrow.Active = false
  398. marionetteFrame2.Cry.Visible = false
  399. marionetteFrame2.Cry.Active = false
  400. marionetteFrame2.Master.Visible = false
  401. marionetteFrame2.Master.Active = false
  402. end
  403. end
  404. end
  405. local function ActivatePlayerControls2()
  406. if MarionetteGui then
  407. local marionetteFrame = MarionetteGui.Frame
  408. local marionetteFrame2 = MarionetteGui:FindFirstChild('Frame2')
  409. if marionetteFrame2 then
  410. marionetteFrame.SpinArms.Visible = false
  411. marionetteFrame.SpinArms.Active = false
  412. marionetteFrame.Dance.Visible = false
  413. marionetteFrame.Dance.Active = false
  414. marionetteFrame.MDance.Visible = false
  415. marionetteFrame.MDance.Active = false
  416. marionetteFrame.Slash.Visible = false
  417. marionetteFrame.Slash.Active = false
  418. marionetteFrame.Next.Visible = false
  419. marionetteFrame.Next.Active = false
  420. marionetteFrame.Visible = false
  421.  
  422. marionetteFrame2.Visible = true
  423. marionetteFrame2.Previous.Visible = true
  424. marionetteFrame2.Previous.Active = true
  425. marionetteFrame2.HitSelf.Visible = true
  426. marionetteFrame2.HitSelf.Active = true
  427. marionetteFrame2.HeadThrow.Visible = true
  428. marionetteFrame2.HeadThrow.Active = true
  429. marionetteFrame2.Cry.Visible = true
  430. marionetteFrame2.Cry.Active = true
  431. marionetteFrame2.Master.Visible = true
  432. marionetteFrame2.Master.Active = true
  433. end
  434. end
  435. end
  436. local function OnActivate()
  437. --TODO: Debounce check this stuff yo~
  438. print("Activated")
  439. local pickedTarget = FindCharacterAtMouse()
  440. if pickedTarget then
  441. print("picked")
  442. DestroyMarionette()
  443. Marionette = CopyCharacterSimple(pickedTarget)
  444. local otherChar = Instance.new('ObjectValue')
  445. otherChar.Value = pickedTarget
  446. otherChar.Name = "LinkedPlayer"
  447. otherChar.Parent = Marionette
  448. if Marionette then
  449. for k, v in pairs(Marionette:GetChildren()) do
  450. if v:IsA('Part') then
  451. AddFloatingForce(v, v:GetMass())
  452. end
  453. end
  454. Marionette.Humanoid.PlatformStand = true
  455. ActivatePlayerControls()
  456. --clonedCopy:MoveTo(Handle.CFrame.p + Handle.CFrame.lookVector)
  457. MarionetteWeld = Instance.new('Weld')
  458. MarionetteWeld.Part0 = Marionette.Torso
  459. MarionetteWeld.Part1 = Handle
  460. MarionetteWeld.C0 = CFrame.new(0, 1.3, 0.4)
  461. MarionetteWeld.Parent = Handle
  462. Marionette.Parent = Tool
  463. local mass = calculateMassRecursive(Marionette)
  464. end
  465. end
  466. end
  467. local function AddGui()
  468. local theGui = Tool:FindFirstChild('MarionetteGui')
  469. MarionetteGui = theGui:Clone()
  470. MarionetteGui.Parent = MyPlayer.PlayerGui
  471. local marionetteFrame = MarionetteGui.Frame
  472. local marionetteFrame2 = MarionetteGui.Frame2
  473. -- Add more buttons here
  474. marionetteFrame.SpinArms.Visible = false
  475. marionetteFrame.SpinArms.Active = false
  476. marionetteFrame.SpinArms.MouseButton1Click:connect(AnimateRightArm)
  477. marionetteFrame.Dance.Visible = false
  478. marionetteFrame.Dance.Active = false
  479. marionetteFrame.Dance.MouseButton1Click:connect(Dance)
  480. marionetteFrame.MDance.Visible = false
  481. marionetteFrame.MDance.Active = false
  482. marionetteFrame.MDance.MouseButton1Click:connect(MDance)
  483. marionetteFrame.Slash.Visible = false
  484. marionetteFrame.Slash.Active = false
  485. marionetteFrame.Slash.MouseButton1Click:connect(SlashRightArm)
  486. marionetteFrame.Next.Visible = false
  487. marionetteFrame.Next.Active = false
  488. marionetteFrame.Next.MouseButton1Click:connect(ActivatePlayerControls2)
  489.  
  490. marionetteFrame2.Previous.Visible = false
  491. marionetteFrame2.Previous.Active = false
  492. marionetteFrame2.Previous.MouseButton1Click:connect(ActivatePlayerControls)
  493. marionetteFrame2.HitSelf.Visible = false
  494. marionetteFrame2.HitSelf.Active = false
  495. marionetteFrame2.HitSelf.MouseButton1Click:connect(Hitself)
  496. marionetteFrame2.HeadThrow.Visible = false
  497. marionetteFrame2.HeadThrow.Active = false
  498. marionetteFrame2.HeadThrow.MouseButton1Click:connect(HeadThrow)
  499. marionetteFrame2.Cry.Visible = false
  500. marionetteFrame2.Cry.Active = false
  501. marionetteFrame2.Cry.MouseButton1Click:connect(Cry)
  502. marionetteFrame2.Master.Visible = false
  503. marionetteFrame2.Master.Active = false
  504. marionetteFrame2.Master.MouseButton1Click:connect(Master)
  505. end
  506. local function OnEquip(mouse)
  507. MyCharacter = Tool.Parent
  508. print(MyCharacter.Name)
  509. MyHumanoid = WaitForChild(MyCharacter, 'Humanoid')
  510. MyTorso = WaitForChild(MyCharacter, 'Torso')
  511. if mouse then
  512. MyMouse = mouse
  513. end
  514. MyPlayer = PlayersService:GetPlayerFromCharacter(MyCharacter)
  515. AddGui()
  516. end
  517. local function OnUnequip()
  518. -- Get rid of this stuff when you unequip otherwise will do painful things when requipped
  519. DestroyMarionette()
  520. if MarionetteGui then
  521. MarionetteGui:Destroy()
  522. MarionetteGui = nil
  523. end
  524. end
  525. Tool.Equipped:connect(OnEquip)
  526. Tool.Unequipped:connect(OnUnequip)
  527. Tool.Activated:connect(OnActivate)
  528. --[[mediafire gtfo password]]--
Add Comment
Please, Sign In to add comment