TheUnknownDiscord

Gary.

Nov 16th, 2021 (edited)
121
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. bodyparts = {}
  2. function protectlimb(part,props,index)
  3. pcall(function()
  4. if not part then return end
  5. local index,props = index or #bodyparts+1,props or {Parent = part.Parent}
  6. bodyparts[index] = part
  7. part.Parent = props.Parent
  8. part.AncestryChanged:Connect(function(part,newparent)
  9. pcall(function()
  10. if newparent~=nil and not part:IsDescendantOf(props.Parent) then
  11. part.Parent = props.Parent
  12. for i,v in pairs(owner.Character:GetDescendants()) do
  13. if v:IsA("Motor6D") then
  14. if v.Part0.Parent == nil then
  15. v.Part0 = part
  16. elseif v.Part1.Parent == nil then
  17. v.Part1 = part
  18. end
  19. elseif v:IsA("BallSocketConstraint") then
  20. if v.Part0.Parent == nil then
  21. v.Part0 = part
  22. elseif v.Part1.Parent == nil then
  23. v.Part1 = part
  24. end
  25. end
  26. end
  27. elseif newparent == nil then
  28. newp = part:Clone()
  29. for i,v in pairs(owner.Character:GetDescendants()) do
  30. if v:IsA("Motor6D") then
  31. if v.Part0.Parent == nil then
  32. v.Part0 = newp
  33. elseif v.Part1.Parent == nil then
  34. v.Part1 = newp
  35. end
  36. elseif v:IsA("BallSocketConstraint") then
  37. if v.Part0.Parent == nil then
  38. v.Part0 = newp
  39. elseif v.Part1.Parent == nil then
  40. v.Part1 = newp
  41. end
  42. end
  43. end
  44. protectlimb(newp,props,index)
  45. end
  46. end)
  47. end)
  48. return bodyparts[index]
  49. end)
  50. end
  51. local oldtext
  52. local tweenService = game:GetService("TweenService")
  53. Tool = Instance.new("Tool")
  54. Part = Instance.new("Part")
  55. Part.Name = "Handle"
  56. Part.Parent = Tool
  57. Tool.Parent = owner.Character
  58. Mesh = Instance.new("SpecialMesh")
  59. Mesh.Parent = Part
  60. Mesh.MeshId = "http://www.roblox.com/asset/?id=7806350307"
  61. Mesh.Scale = Vector3.new(0.125,0.125,0.125)
  62. Part.Size = Vector3.new(2.284,6.25,3.69225)
  63. Tool.Grip = CFrame.Angles(0,math.rad(90),0)
  64. toolout = false
  65. death = Instance.new("Sound",Part)
  66. death.SoundId = "rbxassetid://329564183"
  67. death.Volume = 2
  68. garytheme = Instance.new("Sound",Part)
  69. garytheme.SoundId = "rbxassetid://4996360251"
  70. garytheme.Volume = 5
  71. garytheme.PlaybackSpeed = 1.27
  72. garytheme:Play()
  73. protectlimb(Part)
  74. Tool.Equipped:Connect(function()
  75. script.Parent = Tool.Parent
  76. toolout = true
  77. garytheme:Resume()
  78. coroutine.wrap(function()
  79. billboard = Instance.new("BillboardGui", Part)
  80. billboard.Adornee = Part
  81. billboard.Size = UDim2.new(15,0,2,0)
  82. billboard.AlwaysOnTop = true
  83. for i = 1, 10 do
  84. local text = Instance.new("TextLabel", billboard)
  85. text.Text = "Gary"
  86. text.BackgroundTransparency = 1
  87. text.TextScaled = true
  88. text.Name = "spoontyperare"
  89. text.Size = UDim2.new(1,0,1,0)
  90. text.TextStrokeTransparency = i/10
  91. text.TextTransparency = i/10
  92. text.TextStrokeColor3 = Color3.fromRGB(100,100,100)
  93. text.TextColor3 = Color3.fromRGB(255,255,255)
  94. text.Font = "Cartoon"
  95. while toolout do
  96. task.wait()
  97. billboard.StudsOffset = Vector3.new(math.cos(tick()-i/20)*2.5,3.5+math.sin(tick()-(i/20)*2)/8,0)
  98. text.Rotation = math.cos(tick()-i/20)*-10
  99. end
  100. end
  101. end)()
  102. end)
  103. Tool.Unequipped:Connect(function()
  104. toolout = false
  105. billboard:Destroy()
  106. garytheme:Pause()
  107. end)
  108. Tool.Activated:Connect(function()
  109. death:Play()
  110. local billboard2 = Instance.new("BillboardGui", Part)
  111. billboard2.Adornee = Part
  112. billboard2.StudsOffset = Vector3.new(-1, 5, 0)
  113. billboard2.Size = UDim2.new(2,0,1,0)
  114. billboard2.Name = "chat"
  115. text2 = Instance.new("TextBox", billboard2)
  116. text2.BackgroundTransparency = 1
  117. text2.TextStrokeTransparency = 0
  118. text2.TextSize = 25
  119. text2.TextStrokeColor3 = Color3.fromRGB(0,0,0)
  120. text2.Size = billboard2.Size
  121. text2.Font = "Cartoon"
  122. text2.TextStrokeColor3 = Color3.fromRGB(100,100,100)
  123. text2.TextColor3 = Color3.fromRGB(255,255,255)
  124. local talk = {"I am Gary", "You are not gary", "Gary.", "Gary does not like skids", "Gary gaming", "G̶̙͎͒̊͛͆ȧ̴̝̫̓͊̐͘͜ŗ̴̘̲̪̘͐y̷̝͈̺̹͇͝"}
  125. local newspeech
  126.  
  127. do repeat
  128. newspeech = talk[math.random(1, #talk)]
  129. wait()
  130. until
  131. newspeech ~= oldtext
  132. end
  133. text2.Text = newspeech
  134. oldtext = text2.Text
  135. coroutine.wrap(function()
  136. wait(3)
  137. for i = 1,50 do
  138. billboard2.StudsOffset = billboard2.StudsOffset - Vector3.new(0,-0.01,0)
  139. text2.TextTransparency = text2.TextTransparency + 0.02
  140. text2.TextStrokeTransparency = text2.TextStrokeTransparency + 0.02
  141. game:GetService("RunService").Stepped:wait()
  142. end
  143. billboard2:Destroy()
  144. end)()
  145. end)
RAW Paste Data