SHOW:
|
|
- or go back to the newest paste.
| 1 | bodyparts = {}
| |
| 2 | function protectlimb(part,props,index) | |
| 3 | pcall(function() | |
| 4 | if not part then return end | |
| 5 | - | Tool.Parent = workspace.Lucas_YT111 -- replace name |
| 5 | + | local index,props = index or #bodyparts+1,props or {Parent = part.Parent}
|
| 6 | bodyparts[index] = part | |
| 7 | part.Parent = props.Parent | |
| 8 | - | Mesh.MeshId = "http://www.roblox.com/asset/?id=12221720" |
| 8 | + | part.AncestryChanged:Connect(function(part,newparent) |
| 9 | - | Mesh.TextureId = "http://www.roblox.com/asset/?id=12224218" |
| 9 | + | pcall(function() |
| 10 | - | Mesh.Scale = Vector3.new(1, 1, 1) |
| 10 | + | if newparent~=nil and not part:IsDescendantOf(props.Parent) then |
| 11 | - | Tool = script.Parent |
| 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) |