SHOW:
|
|
- or go back to the newest paste.
1 | --VOID RING BY ETHANCOMPUTERMAD, My first attempt at a tool | |
2 | lp = game.Players.LocalPlayer | |
3 | script.Name = "VoidRing" | |
4 | repeat wait() until lp | |
5 | c = lp.StarterGear:GetChildren() | |
6 | hr = false | |
7 | for i= 1, #c do | |
8 | if c[i].Name == "VoidRing" then hr = true end end | |
9 | if hr == false then s = script:Clone() s.Parent = lp.StarterGear end | |
10 | mouse = lp:GetMouse() | |
11 | cam = game.Workspace.CurrentCamera | |
12 | repeat wait() until cam | |
13 | function loadring(name) | |
14 | - | -- 2 - VoidRing |
14 | + | |
15 | -- 2 - BlackHole | |
16 | obj2 = Instance.new("Part") | |
17 | - | obj2.CanCollide = false |
17 | + | |
18 | - | obj2.CFrame = CFrame.new(Vector3.new(-62.5, 4.5, -42.5)) * CFrame.Angles(1.5707963705063, -0, -3.1415927410126) |
18 | + | |
19 | - | obj2.FormFactor = Enum.FormFactor.Plate |
19 | + | |
20 | - | obj2.Size = Vector3.new(1, 0.400000006, 1) |
20 | + | |
21 | obj2.BottomSurface = Enum.SurfaceType.Smooth | |
22 | obj2.Size = Vector3.new(42, 26.4000015, 4) | |
23 | obj2.BrickColor = BrickColor.new("Really black") | |
24 | - | obj2.Name = name .. "VoidRing" |
24 | + | |
25 | obj2.Shape = Enum.PartType.Block | |
26 | obj2.Name = name .. "Shield" | |
27 | obj2.Parent = game.Workspace | |
28 | - | obj3.MeshType = Enum.MeshType.FileMesh |
28 | + | |
29 | - | obj3.Scale = Vector3.new(1.20000005, 1.20000005, 1.20000005) |
29 | + | |
30 | - | obj3.MeshId = "http://www.roblox.com/asset/?id=3270017" |
30 | + | |
31 | obj3.Parent = obj2 | |
32 | - | -- 4 - Fire |
32 | + | |
33 | - | obj4 = Instance.new("Fire", obj2) |
33 | + | |
34 | - | obj4.Color = Color3.new(0, 0, 0) |
34 | + | |
35 | - | obj4.SecondaryColor = Color3.new(0, 0, 0) |
35 | + | |
36 | - | obj4.Size = 4 |
36 | + | |
37 | - | obj4.Heat = 3 |
37 | + | |
38 | - | obj2:MakeJoints() |
38 | + | |
39 | obj2.CFrame = obj2.CFrame * CFrame.Angles(math.pi / 2, 0, 0) + Vector3.new(0, -2.6, 0) | |
40 | else | |
41 | - | function loadshield(name) |
41 | + | |
42 | obj2.Position = pos | |
43 | obj2.CFrame = obj2.CFrame * CFrame.Angles(math.pi / 2, 0, 0) | |
44 | end | |
45 | obj2.TopSurface = Enum.SurfaceType.Smooth | |
46 | obj2.BottomSurface = Enum.SurfaceType.Smooth | |
47 | obj2.Size = Vector3.new(8, 8, 1) | |
48 | obj2.Anchored = true | |
49 | if deadly == true then | |
50 | obj2.BrickColor = BrickColor.new("Really red") | |
51 | else | |
52 | obj2.BrickColor = BrickColor.new("Really black") | |
53 | end | |
54 | obj2.Friction = 0.30000001192093 | |
55 | obj2.Shape = Enum.PartType.Block | |
56 | obj2.Name = "BlackHole" | |
57 | obj2.Parent = game.Workspace | |
58 | -- 3 - Mesh | |
59 | obj3 = Instance.new("SpecialMesh") | |
60 | obj3.VertexColor = Vector3.new(0, 0, 0) | |
61 | obj3.Scale = Vector3.new(1, 1, 1) | |
62 | randc = math.random(1000000, 9999999) | |
63 | randc = coroutine.create(function() | |
64 | obj3.Scale = Vector3.new(0.1, 0.1, 0.1) | |
65 | random = math.random(1000000, 9999999) | |
66 | for random= 1, 10 do | |
67 | obj3.Scale = Vector3.new(0.1 * random, 0.1 * random, 0.1 * random) wait() end end) | |
68 | coroutine.resume(randc) | |
69 | obj3.MeshType = Enum.MeshType.Sphere | |
70 | obj3.Parent = obj2 | |
71 | game:GetService("Debris"):AddItem(obj2, time) | |
72 | return obj2 | |
73 | end | |
74 | loadring(lp.Name) | |
75 | wait() | |
76 | m = Instance.new("Message", cam) | |
77 | m.Text = "Launched Void Ring by Ethancomputermad" | |
78 | game:GetService("Debris"):AddItem(m, 5) | |
79 | ring = game.Workspace[lp.Name .. "VoidRing"] | |
80 | mover = true | |
81 | mr = coroutine.create(function() while true do wait() pcall(function() if mover == true then | |
82 | ring.CFrame = lp.Character["Right Arm"].CFrame * CFrame.Angles(math.pi / 2, 0, 0) * CFrame.new(0, 0, 0.9) end end) end end) | |
83 | coroutine.resume(mr) | |
84 | su = false | |
85 | hsu = false | |
86 | shield = nil | |
87 | ms = coroutine.create(function() while true do wait() pcall(function() | |
88 | shield.CFrame = lp.Character.Torso.CFrame * CFrame.new(0, 0, 0 - 10) end) end end) | |
89 | coroutine.resume(ms) | |
90 | shield = coroutine.create(function() | |
91 | while true do wait() if su == true then | |
92 | if hsu == false then hsu = true loadshield(lp.Name) wait() shield = game.Workspace[lp.Name .. "Shield"] shield.Mesh.Scale = Vector3.new(1, 1, 1) | |
93 | pcall(function() for i= 1, 20 do wait() shield.Mesh.Scale = Vector3.new(0.05 * i, 0.05 * i, 0.05 * i) end end) shield.Mesh.Scale = Vector3.new(1, 1, 1) end end end end) | |
94 | coroutine.resume(shield) | |
95 | st = coroutine.create(function() shield.Touched:connect(function(c) | |
96 | if c.Name == "Base" or c.Name:sub(1, #lp.Name) == lp.Name then else c:Destroy() end end) end) | |
97 | coroutine.resume(st) | |
98 | c = coroutine.create(function() while true do wait() w = game.Workspace:GetChildren() for i= 1, #w do | |
99 | pcall(function() | |
100 | if w[i].Name:sub(1, #lp.Name) == lp.Name then | |
101 | if w[i].Name:sub(#lp.Name + 1, #lp.Name) == "VoidRing" and w[i] ~= ring then | |
102 | w[i]:Destroy() | |
103 | elseif w[i].Name:sub(#lp.Name + 1, #lp.Name) == "Shield" and w[i] ~= sheild then | |
104 | w[i]:Destroy() end end end) end end end) | |
105 | coroutine.resume(c) | |
106 | shieldhotkey = 113 | |
107 | tphotkey = 116 | |
108 | killhotkey = 107 | |
109 | ss = false pcall(function() | |
110 | if m.Text == "Launched Void Ring by Ethancomputermad" then else | |
111 | m.Text = "Plagiarism detected." | |
112 | game.Players.LocalPlayer.StarterGear.VoidRing:Destroy() | |
113 | script.Disabled = true | |
114 | end | |
115 | end) | |
116 | mouse.KeyDown:connect(function(k) | |
117 | key = string.byte(k) | |
118 | if key == shieldhotkey then | |
119 | print(ss) | |
120 | if ss == false then | |
121 | ss = true | |
122 | pcall(function() game.Workspace[lp.Name .. "Shield"]:Destroy() end) | |
123 | shield = loadshield(lp.Name) | |
124 | su = true | |
125 | else | |
126 | pcall(function() game.Workspace[lp.Name .. "Shield"]:Destroy() end) | |
127 | su = false | |
128 | hsu = false | |
129 | ss = false | |
130 | end | |
131 | end | |
132 | if key == tphotkey then | |
133 | m = mouse | |
134 | if m.Target == nil then return end | |
135 | if m.Target.Parent:FindFirstChild("Humanoid") == nil then | |
136 | rawtotp = m.Hit | |
137 | totp = rawtotp.p | |
138 | tphole(lp.Character.Torso.Position + Vector3.new(0, -2.6, 0), 0.7, false, false) | |
139 | wait(0.3) | |
140 | for i= 1, 10 do wait() | |
141 | lp.Character.Torso.Anchored = true | |
142 | lp.Character.Torso.CFrame = lp.Character.Torso.CFrame + Vector3.new(0, 0 - 0.6, 0) | |
143 | end | |
144 | lp.Character.Torso.CFrame = CFrame.new(rawtotp.X, rawtotp.Y, rawtotp.Z) + Vector3.new(0, -2, 0) | |
145 | tphole(totp, 0.7, false, false) | |
146 | wait(0.3) | |
147 | for i= 1, 20 do wait() | |
148 | lp.Character.Torso.Anchored = true | |
149 | lp.Character.Torso.CFrame = lp.Character.Torso.CFrame + Vector3.new(0, 0.3, 0) | |
150 | end | |
151 | lp.Character.Torso.Anchored = false | |
152 | else | |
153 | end | |
154 | end | |
155 | if key == killhotkey then | |
156 | m = mouse | |
157 | trgt = m.Target | |
158 | if trgt == nil then return end | |
159 | if trgt.Parent:FindFirstChild("Humanoid") == nil then return end | |
160 | if trgt.Parent:IsA("Workspace") then return end | |
161 | if game.Players:GetPlayerFromCharacter(trgt.Parent) == nil then else | |
162 | if game.Players:GetPlayerFromCharacter(trgt.Parent).Name == lp.Name then return end end | |
163 | if trgt.Parent:FindFirstChild("Torso") == nil then return end | |
164 | tphole(trgt.Parent.Torso.Position + Vector3.new(0, -2.6, 0), 0.7, false, true) | |
165 | wait(0.3) | |
166 | for i= 1, 15 do wait() | |
167 | trgt.Parent.Torso.Anchored = true | |
168 | trgt.Parent.Torso.CFrame = trgt.Parent.Torso.CFrame + Vector3.new(0, 0 - 0.6, 0) | |
169 | end | |
170 | trgt.Parent:BreakJoints() | |
171 | end | |
172 | end) |