SHOW:
|
|
- or go back to the newest paste.
1 | - | -- this dance is so good i had to |
1 | + | |
2 | - | plr = game.Players.LocalPlayer |
2 | + | --Converted with ttyyuu12345's model to script plugin v4 |
3 | - | repeat wait() until plr.Character |
3 | + | function sandbox(var,func) |
4 | - | char = plr.Character |
4 | + | local env = getfenv(func) |
5 | local newenv = setmetatable({},{ | |
6 | __index = function(self,k) | |
7 | - | --[[ |
7 | + | if k=="script" then |
8 | - | Music |
8 | + | return var |
9 | - | --]] |
9 | + | else |
10 | - | local Music = Instance.new("Sound",char) |
10 | + | return env[k] |
11 | - | Music.SoundId = "rbxassetid://322570310" |
11 | + | end |
12 | - | Music.Volume = 4 |
12 | + | end, |
13 | - | Music.Looped = true |
13 | + | }) |
14 | - | Music:Play() |
14 | + | setfenv(func,newenv) |
15 | return func | |
16 | - | --[[ |
16 | + | |
17 | - | Animations/Joints (yay) |
17 | + | cors = {} |
18 | - | --]] |
18 | + | mas = Instance.new("Model",game:GetService("Lighting")) |
19 | - | local neck = Instance.new("Weld",char) |
19 | + | Tool0 = Instance.new("Tool") |
20 | - | neck.Part0 = char.Torso |
20 | + | Part1 = Instance.new("Part") |
21 | - | neck.Part1 = char.Head |
21 | + | SpecialMesh2 = Instance.new("SpecialMesh") |
22 | - | neck.C0 = CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
22 | + | ManualWeld3 = Instance.new("ManualWeld") |
23 | - | local human2 = Instance.new("Weld",char) |
23 | + | Animation4 = Instance.new("Animation") |
24 | - | human2.Part0 = char.HumanoidRootPart |
24 | + | Animation5 = Instance.new("Animation") |
25 | - | human2.Part1 = char.Torso |
25 | + | Part6 = Instance.new("Part") |
26 | - | human2co = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
26 | + | Sound7 = Instance.new("Sound") |
27 | - | necc = CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
27 | + | SpecialMesh8 = Instance.new("SpecialMesh") |
28 | - | local rhandclone = game.Players.LocalPlayer.Character.Torso["Right Shoulder"]:Clone() |
28 | + | Script9 = Instance.new("Script") |
29 | - | local rhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) |
29 | + | NumberValue10 = Instance.new("NumberValue") |
30 | - | rhandweld.Part0 = game.Players.LocalPlayer.Character.Torso |
30 | + | LocalScript11 = Instance.new("LocalScript") |
31 | - | rhandweld.Part1 = game.Players.LocalPlayer.Character["Right Arm"] |
31 | + | LocalScript12 = Instance.new("LocalScript") |
32 | - | rhandweld.C0 = CFrame.new(1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1) |
32 | + | LocalScript13 = Instance.new("LocalScript") |
33 | - | local lhandclone = game.Players.LocalPlayer.Character.Torso["Left Shoulder"]:Clone() |
33 | + | Script14 = Instance.new("Script") |
34 | - | local lhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) |
34 | + | Tool0.Name = "StickyJumper" |
35 | - | lhandweld.Part0 = game.Players.LocalPlayer.Character.Torso |
35 | + | Tool0.Parent = mas |
36 | - | lhandweld.Part1 = game.Players.LocalPlayer.Character["Left Arm"] |
36 | + | Tool0.TextureId = "http://www.roblox.com/asset?id=123880862" |
37 | - | lhandweld.C0 = CFrame.new(-1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1) |
37 | + | Tool0.Grip = CFrame.new(0, -0.349999994, 0.75, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
38 | - | local llegweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) |
38 | + | Tool0.GripPos = Vector3.new(0, -0.349999994, 0.75) |
39 | - | llegweld.Part0 = game.Players.LocalPlayer.Character.Torso |
39 | + | Tool0.ToolTip = "jump far away from here" |
40 | - | llegweld.Part1 = game.Players.LocalPlayer.Character["Left Leg"] |
40 | + | Part1.Name = "part" |
41 | - | llegweld.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) * CFrame.new(0,-1,0) |
41 | + | Part1.Parent = Tool0 |
42 | - | local rlegclone = game.Players.LocalPlayer.Character.Torso["Right Hip"]:Clone() |
42 | + | Part1.CFrame = CFrame.new(15.4799957, 0.600000024, 1.59500206, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
43 | - | game.Players.LocalPlayer.Character.Torso["Right Hip"]:Remove() |
43 | + | Part1.Position = Vector3.new(15.4799957, 0.600000024, 1.59500206) |
44 | - | local rlegweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) |
44 | + | Part1.Size = Vector3.new(0.820002317, 1.20000005, 2.24999952) |
45 | - | rlegweld.Part0 = game.Players.LocalPlayer.Character.Torso |
45 | + | Part1.FormFactor = Enum.FormFactor.Custom |
46 | - | rlegweld.Part1 = game.Players.LocalPlayer.Character["Right Leg"] |
46 | + | Part1.formFactor = Enum.FormFactor.Custom |
47 | - | rlegweld.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) * CFrame.new(0,-1,0) |
47 | + | SpecialMesh2.Parent = Part1 |
48 | - | coroutine.wrap(function() |
48 | + | SpecialMesh2.MeshId = "http://www.roblox.com/asset?id=123881008" |
49 | SpecialMesh2.TextureId = "http://www.roblox.com/asset?id=124226363" | |
50 | SpecialMesh2.MeshType = Enum.MeshType.FileMesh | |
51 | - | if Music.Parent == nil then |
51 | + | ManualWeld3.Name = "BulletWeld" |
52 | - | Music.Parent = char.Torso |
52 | + | ManualWeld3.Parent = Part1 |
53 | - | Music:Resume() |
53 | + | ManualWeld3.C1 = CFrame.new(-0.0199432373, -0.12487793, 0.885015488, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
54 | - | end |
54 | + | ManualWeld3.Part0 = Part1 |
55 | ManualWeld3.Part1 = Part6 | |
56 | - | for i,v in pairs(char:GetChildren()) do |
56 | + | ManualWeld3.part1 = Part6 |
57 | - | if v.ClassName == "Part" then |
57 | + | Animation4.Name = "EquipAnim" |
58 | - | v.Anchored = false |
58 | + | Animation4.Parent = Tool0 |
59 | Animation4.AnimationId = "http://www.roblox.com/asset?id=123895982" | |
60 | - | if v.ClassName == "Accessory" then |
60 | + | Animation5.Name = "FireAnim" |
61 | - | v.Handle.Anchored = false |
61 | + | Animation5.Parent = Tool0 |
62 | Animation5.AnimationId = "http://www.roblox.com/asset?id=123896085" | |
63 | Part6.Name = "Handle" | |
64 | - | end)() |
64 | + | Part6.Parent = Tool0 |
65 | Part6.CFrame = CFrame.new(15.499939, 0.724877954, 0.709986567, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
66 | - | wait() |
66 | + | Part6.Position = Vector3.new(15.499939, 0.724877954, 0.709986567) |
67 | - | for i = 0,1, 0.03 do |
67 | + | Part6.Size = Vector3.new(0.319999993, 0.319999993, 0.319999993) |
68 | - | human2.C0 = human2.C0:lerp(CFrame.new(0, 0, 0, 0.832209826, 0, -0.554460883, 0, 1, 0, 0.554460883, 0, 0.832209826):inverse(),i) |
68 | + | Part6.BottomSurface = Enum.SurfaceType.Smooth |
69 | - | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.99999988, -1.90734863e-06, 0.538440228, -0.0228908174, 0.842352808, 0.0123270014, 0.999737978, 0.0192881972, -0.842573702, -1.85798854e-06, 0.538581252),i) |
69 | + | Part6.CanCollide = false |
70 | - | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.98295307, 0.332087517, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),i) |
70 | + | Part6.TopSurface = Enum.SurfaceType.Smooth |
71 | - | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.557174683, -1.44594896, -0.159284592, 0.337842256, 0, -0.941202879, 0, 1, 0, 0.941202879, 0, 0.337842256),i) |
71 | + | Part6.FormFactor = Enum.FormFactor.Custom |
72 | - | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.8871603, 0.277479649, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),i) |
72 | + | Part6.formFactor = Enum.FormFactor.Custom |
73 | - | game:GetService("RunService").RenderStepped:wait() |
73 | + | Sound7.Name = "SlingshotSound" |
74 | Sound7.Parent = Part6 | |
75 | - | for i = 0,1 ,0.03 do |
75 | + | Sound7.SoundId = "http://roblox.com/asset/?id=10209888" |
76 | - | human2.C0 = human2.C0:lerp(CFrame.new(0, 0, 0, 0.832209826, 0, -0.554460883, 0, 1, 0, 0.554460883, 0, 0.832209826),i) |
76 | + | Sound7.Volume = 1 |
77 | - | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(0.737757683, 0.410190105, -0.907682419, 0.803071976, 0.581213236, -0.13140282, 0.00903299917, -0.232366934, -0.972586274, -0.595813632, 0.779869914, -0.191857457),i) |
77 | + | SpecialMesh8.Parent = Part6 |
78 | - | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.623174667, -1.35048032, -0.215911865, 0.538440228, -0.0228908174, 0.842352867, 0.0123270014, 0.999737978, 0.0192881972, -0.842573762, -1.85798854e-06, 0.538581252),i) |
78 | + | SpecialMesh8.MeshType = Enum.MeshType.Sphere |
79 | - | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.557173729, -1.97852409, -0.159286499, 0.337842256, 0, -0.941202879, 0, 1, 0, 0.941202879, 0, 0.337842256),i) |
79 | + | Script9.Name = "Bomb" |
80 | - | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.0623064, 0.181637049, -1.05736732, 0.605673432, -0.693957567, -0.389336228, -0.0272030123, 0.470947832, -0.881741524, 0.79524827, 0.544638515, 0.266362786),i) |
80 | + | Script9.Parent = Tool0 |
81 | - | game:GetService("RunService").RenderStepped:wait() |
81 | + | table.insert(cors,sandbox(Script9,function() |
82 | updateInterval = 0.4 | |
83 | - | for i = 0,1 ,0.05 do |
83 | + | |
84 | - | human2.C0 = human2.C0:lerp(human2co,i) |
84 | + | currentColor = 1 |
85 | - | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.5, 0.422186852, -0.424303055, 0.662418783, 0.749133825, 2.10272674e-06, 0.0236379914, -0.0208990015, -0.999502122, -0.74876076, 0.66208905, -0.031551905),i) |
85 | + | colors = {26, 21} |
86 | - | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0.448605061, -0.49020195, 0.830556095, -0.556935072, -2.22774033e-05, 0, 4.00000026e-05, -1, 0.556935072, 0.830556095, 3.32222444e-05),i) |
86 | + | |
87 | - | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(-0.5, -2, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) |
87 | + | function onTouched(hit) |
88 | - | llegweld.C0 = llegweld.C0:lerp(CFrame.new(0.5, -2, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) |
88 | + | local weld = Instance.new("Weld") |
89 | - | game:GetService("RunService").RenderStepped:wait() |
89 | + | weld.Part0 = script.Parent |
90 | weld.Part1 = hit | |
91 | - | for i = 0,1 ,0.05 do |
91 | + | local temp = CFrame.new((script.Parent.Position + hit.Position) * 0.5) |
92 | - | human2.C0 = human2.C0:lerp(human2co,i) |
92 | + | weld.C0 = script.Parent.CFrame:inverse() * temp |
93 | - | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-0.672535896, 0.447802067, -1.23580742, 0.686290026, -0.727328002, -3.85612975e-06, -0.0229460001, -0.0216460172, -0.999502361, 0.726966023, 0.685948551, -0.0315447114),i) |
93 | + | weld.C1 = hit.CFrame:inverse() * temp |
94 | - | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(0.926524162, 0.448590755, -1.28220177, 0.604111135, 0.796900153, 1.11566042e-05, 0, 1.40000038e-05, -1, -0.796900153, 0.604111135, 8.45755858e-06),i) |
94 | + | weld.Parent = script.Parent |
95 | - | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(-0.5, -2, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) |
95 | + | script.Parent.Velocity = Vector3.new(0,0,0) |
96 | - | llegweld.C0 = llegweld.C0:lerp(CFrame.new(0.5, -2, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) |
96 | + | script.Parent.RotVelocity = Vector3.new(0,0,0) |
97 | - | game:GetService("RunService").RenderStepped:wait() |
97 | + | connection:disconnect() |
98 | end | |
99 | ||
100 | connection = script.Parent.Touched:connect(onTouched) | |
101 | ||
102 | ||
103 | ||
104 | end)) | |
105 | Script9.Disabled = true | |
106 | NumberValue10.Name = "Tutorialized" | |
107 | NumberValue10.Parent = Tool0 | |
108 | NumberValue10.Value = 14 | |
109 | LocalScript11.Parent = Tool0 | |
110 | table.insert(cors,sandbox(LocalScript11,function() | |
111 | local Tool = script.Parent; | |
112 | local db = script.Parent.Tutorialized | |
113 | ||
114 | --Editable Section | |
115 | local maxBombs = 4 -- Change this to be able to add more bombs. | |
116 | ||
117 | local explosionRadius = 10 -- Radius of 12 currently | |
118 | local explosionPressure = 1000000 -- Really high pressure that packs a punch! | |
119 | local DestroyJointRadiusPercent = 0 | |
120 | --End of editable section | |
121 | ||
122 | --I don't recommend that you edit anything beyond this point. | |
123 | ||
124 | function onKeyDown(key) | |
125 | if (key~=nil) then | |
126 | key = key:lower() | |
127 | local bomb = getBombs() | |
128 | if (key=="q") then | |
129 | for i=1, #bomb do | |
130 | blowUp(bomb[i]) | |
131 | end | |
132 | end | |
133 | if (key=="r") then | |
134 | for i=1, #bomb do | |
135 | bomb[i]:remove() | |
136 | end | |
137 | end | |
138 | end | |
139 | end | |
140 | ||
141 | function getBombs() | |
142 | local bombs = {} | |
143 | for i,child in pairs(workspace:getChildren()) do | |
144 | if child.Name == ""..script.Parent.Parent.Name.." Bomb" then | |
145 | table.insert(bombs, child) | |
146 | end | |
147 | end | |
148 | return bombs | |
149 | end | |
150 | ||
151 | enabled = true | |
152 | function onButton1Down(mouse) | |
153 | if not enabled then | |
154 | return | |
155 | end | |
156 | ||
157 | enabled = false | |
158 | mouse.Icon = "http://www.roblox.com/asset/?id=19086766" | |
159 | ||
160 | wait(3) | |
161 | mouse.Icon = "http://www.roblox.com/asset/?id=19086766" | |
162 | enabled = true | |
163 | ||
164 | end | |
165 | ||
166 | function onEquippedLocal(mouse) | |
167 | ||
168 | if mouse == nil then | |
169 | print("Mouse not found") | |
170 | return | |
171 | end | |
172 | ||
173 | mouse.Icon = "http://www.roblox.com/asset/?id=19086766" | |
174 | mouse.Button1Down:connect(function() onButton1Down(mouse) end) | |
175 | mouse.KeyDown:connect(onKeyDown) | |
176 | ||
177 | if db.Value == 0 then | |
178 | db.Value = 14 | |
179 | local message = Instance.new("Hint") | |
180 | message.Parent = game.Players:findFirstChild(script.Parent.Parent.Name) | |
181 | message.Text = "Thanks for using C4 by Malvaviscos" | |
182 | wait(3) | |
183 | message.Text = "Click to drop C4 (Fires like a slingshot)" | |
184 | wait(3) | |
185 | message.Text = "Press 'q' to detonate the C4, and 'r' to remove it." | |
186 | wait(3) | |
187 | message.Text = "You are allowed to have up to "..maxBombs.." bomb(s) out at a time" | |
188 | wait(4) | |
189 | message:remove() | |
190 | end | |
191 | end | |
192 | ||
193 | function blowUp(obj) | |
194 | local sound = Instance.new("Sound") | |
195 | sound.SoundId = "http://roblox.com/asset/?id=10209886" | |
196 | sound.Parent = obj | |
197 | sound.Volume = 1 | |
198 | sound.Pitch = 1 | |
199 | sound:play() | |
200 | explosion = Instance.new("Explosion") | |
201 | explosion.BlastRadius = explosionRadius | |
202 | explosion.BlastPressure = explosionPressure -- these are really wussy units | |
203 | explosion.DestroyJointRadiusPercent = DestroyJointRadiusPercent | |
204 | ||
205 | -- find instigator tag | |
206 | local creator = Instance.new("ObjectValue") | |
207 | creator.Name = "creator" | |
208 | creator.Value = game.Players.LocalPlayer | |
209 | if creator ~= nil then | |
210 | explosion.Hit:connect(function(part, distance) onPlayerBlownUp(part, distance, creator) end) | |
211 | end | |
212 | ||
213 | explosion.Position = obj.Position | |
214 | explosion.Parent = game.Workspace | |
215 | ||
216 | obj:remove() | |
217 | end | |
218 | ||
219 | function onPlayerBlownUp(part, distance, creator) | |
220 | if part.Name == "Head" then | |
221 | local humanoid = part.Parent:findFirstChild("Humanoid") | |
222 | tagHumanoid(humanoid, creator) | |
223 | end | |
224 | end | |
225 | ||
226 | function tagHumanoid(humanoid, creator) | |
227 | -- tag does not need to expire iff all explosions lethal | |
228 | ||
229 | if creator ~= nil and humanoid ~= nil then | |
230 | local new_tag = creator:clone() | |
231 | new_tag.Parent = humanoid | |
232 | end | |
233 | end | |
234 | ||
235 | function untagHumanoid(humanoid) | |
236 | if humanoid ~= nil then | |
237 | local tag = humanoid:findFirstChild("creator") | |
238 | if tag ~= nil then | |
239 | tag.Parent = nil | |
240 | end | |
241 | end | |
242 | end | |
243 | ||
244 | Tool.Equipped:connect(onEquippedLocal) | |
245 | ||
246 | Tool = script.Parent | |
247 | VELOCITY = 85 -- constant | |
248 | ||
249 | local Pellet = script.Parent.Handle:clone() | |
250 | Pellet.Locked = true | |
251 | Pellet.BackSurface = 0 | |
252 | Pellet.BottomSurface = 0 | |
253 | Pellet.FrontSurface = 0 | |
254 | Pellet.LeftSurface = 0 | |
255 | Pellet.RightSurface = 0 | |
256 | Pellet.TopSurface = 0 | |
257 | Pellet.SlingshotSound:remove() | |
258 | script.Parent.Bomb:clone().Parent = Pellet | |
259 | ||
260 | function fire(mouse_pos) | |
261 | ||
262 | ||
263 | Tool.Handle.SlingshotSound:play() | |
264 | ||
265 | -- find player's head pos | |
266 | ||
267 | local vCharacter = Tool.Parent | |
268 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
269 | ||
270 | local head = vCharacter:findFirstChild("Head") | |
271 | if head == nil then return end | |
272 | ||
273 | local dir = mouse_pos - head.Position | |
274 | dir = computeDirection(dir) | |
275 | ||
276 | local launch = head.Position + 5 * dir | |
277 | ||
278 | local delta = mouse_pos - launch | |
279 | ||
280 | local dy = delta.y | |
281 | ||
282 | local new_delta = Vector3.new(delta.x, 0, delta.z) | |
283 | delta = new_delta | |
284 | ||
285 | local dx = delta.magnitude | |
286 | local unit_delta = delta.unit | |
287 | ||
288 | -- acceleration due to gravity in RBX units | |
289 | local g = (-9.81 * 20) | |
290 | ||
291 | local theta = computeLaunchAngle( dx, dy, g) | |
292 | ||
293 | local vy = math.sin(theta) | |
294 | local xz = math.cos(theta) | |
295 | local vx = unit_delta.x * xz | |
296 | local vz = unit_delta.z * xz | |
297 | ||
298 | ||
299 | local missile = Pellet:clone() | |
300 | ||
301 | ||
302 | ||
303 | ||
304 | missile.Position = launch | |
305 | missile.Velocity = Vector3.new(vx,vy,vz) * VELOCITY | |
306 | ||
307 | missile.Bomb.Disabled = false | |
308 | ||
309 | local creator_tag = Instance.new("ObjectValue") | |
310 | creator_tag.Value = vPlayer | |
311 | creator_tag.Name = "creator" | |
312 | creator_tag.Parent = missile | |
313 | ||
314 | missile.Parent = game.Workspace | |
315 | ||
316 | end | |
317 | ||
318 | ||
319 | function computeLaunchAngle(dx,dy,grav) | |
320 | -- arcane | |
321 | -- http://en.wikipedia.org/wiki/Trajectory_of_a_projectile | |
322 | ||
323 | local g = math.abs(grav) | |
324 | local inRoot = (VELOCITY*VELOCITY*VELOCITY*VELOCITY) - (g * ((g*dx*dx) + (2*dy*VELOCITY*VELOCITY))) | |
325 | if inRoot <= 0 then | |
326 | return .25 * math.pi | |
327 | end | |
328 | local root = math.sqrt(inRoot) | |
329 | local inATan1 = ((VELOCITY*VELOCITY) + root) / (g*dx) | |
330 | ||
331 | local inATan2 = ((VELOCITY*VELOCITY) - root) / (g*dx) | |
332 | local answer1 = math.atan(inATan1) | |
333 | local answer2 = math.atan(inATan2) | |
334 | if answer1 < answer2 then return answer1 end | |
335 | return answer2 | |
336 | end | |
337 | ||
338 | function computeDirection(vec) | |
339 | local lenSquared = vec.magnitude * vec.magnitude | |
340 | local invSqrt = 1 / math.sqrt(lenSquared) | |
341 | return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt) | |
342 | end | |
343 | ||
344 | ||
345 | ||
346 | ||
347 | Tool.Enabled = true | |
348 | function onActivated() | |
349 | ||
350 | if not Tool.Enabled or #getBombs() >= maxBombs then | |
351 | return | |
352 | end | |
353 | Pellet.Name = ""..script.Parent.Parent.Name.." Bomb" | |
354 | Tool.Enabled = false | |
355 | ||
356 | local character = Tool.Parent; | |
357 | local humanoid = character.Humanoid | |
358 | if humanoid == nil then | |
359 | print("Humanoid not found") | |
360 | return | |
361 | end | |
362 | ||
363 | local targetPos = humanoid.TargetPoint | |
364 | ||
365 | fire(targetPos) | |
366 | ||
367 | wait(.5) | |
368 | ||
369 | Tool.Enabled = true | |
370 | end | |
371 | ||
372 | script.Parent.Activated:connect(onActivated) | |
373 | ||
374 | ||
375 | ||
376 | end)) | |
377 | LocalScript12.Name = "Spark" | |
378 | LocalScript12.Parent = Tool0 | |
379 | table.insert(cors,sandbox(LocalScript12,function() | |
380 | local Tool = script.Parent; | |
381 | ||
382 | ||
383 | ||
384 | enabled = true | |
385 | ||
386 | function onButton1Down(mouse) | |
387 | ||
388 | if not enabled then | |
389 | ||
390 | return | |
391 | ||
392 | end | |
393 | ||
394 | enabled = false | |
395 | Tool.Smoke:clone().Parent = Tool.Smoker | |
396 | Tool.Fire:clone().Parent = Tool.Smoker | |
397 | ||
398 | wait(.25) | |
399 | ||
400 | Tool.Smoker.Smoke:remove() | |
401 | Tool.Smoker.Fire:remove() | |
402 | ||
403 | wait(.25) | |
404 | ||
405 | enabled = true | |
406 | ||
407 | end | |
408 | ||
409 | ||
410 | ||
411 | function onEquippedLocal(mouse) | |
412 | ||
413 | ||
414 | ||
415 | if mouse == nil then | |
416 | ||
417 | print("Mouse not found") | |
418 | ||
419 | return | |
420 | ||
421 | end | |
422 | ||
423 | ||
424 | ||
425 | mouse.Icon = "http://www.roblox.com/asset/?id=19086766" | |
426 | ||
427 | mouse.Button1Down:connect(function() onButton1Down(mouse) end) | |
428 | ||
429 | end | |
430 | ||
431 | ||
432 | ||
433 | ||
434 | ||
435 | Tool.Equipped:connect(onEquippedLocal) | |
436 | ||
437 | ||
438 | end)) | |
439 | LocalScript13.Name = "TurnScript" | |
440 | LocalScript13.Parent = Tool0 | |
441 | table.insert(cors,sandbox(LocalScript13,function() | |
442 | wait() | |
443 | Tool=script.Parent | |
444 | CP,Torso,g=nil,nil,nil | |
445 | necko=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
446 | getPos=function(Pos,TorsoPos) | |
447 | return Vector3.new(Pos.x,TorsoPos.y,Pos.z) | |
448 | end | |
449 | Turn=function(mouse,Torso,Gyro) | |
450 | g.cframe=CFrame.new(Torso.Position,getPos(mouse.Hit.p,Torso.Position)) | |
451 | offset=(Torso.Position.y-mouse.Hit.p.y)/100 | |
452 | mag=(Torso.Position-mouse.Hit.p).magnitude/80 | |
453 | offset=offset/mag | |
454 | neck=Torso.Neck | |
455 | neck.C0=necko*CFrame.fromEulerAnglesXYZ(offset,0,0) | |
456 | arm=Torso:FindFirstChild("Right Shoulder") | |
457 | if arm~=nil then | |
458 | arm.C0=CFrame.new(1, 0.5, 0, 0, 0, 1, -6.48200512e-007, 1.00000274, 0, -1.00000274, -6.48200512e-007, 0)*CFrame.fromEulerAnglesXYZ(0,0,-offset) | |
459 | end | |
460 | end | |
461 | Equi=function(mouse) | |
462 | wait(.2) | |
463 | CP=Tool.Parent | |
464 | Torso=CP.Torso | |
465 | g=Instance.new("BodyGyro") | |
466 | g.P=18000 | |
467 | g.D=600 | |
468 | g.maxTorque=Vector3.new(80000,80000000,80000)*50000000000000000000000000 | |
469 | g.cframe=Torso.CFrame | |
470 | g.Parent=Torso | |
471 | while true do | |
472 | if Tool.Parent.className~="Model" then | |
473 | break | |
474 | end | |
475 | Turn(mouse,Torso,g) | |
476 | wait() | |
477 | end | |
478 | Torso.Neck.C0=necko | |
479 | g:Remove() | |
480 | end | |
481 | Tool.Equipped:connect(Equi) | |
482 | end)) | |
483 | Script14.Parent = Tool0 | |
484 | table.insert(cors,sandbox(Script14,function() | |
485 | local billboard = Instance.new("BillboardGui") | |
486 | billboard.Archivable = false | |
487 | billboard.Size = UDim2.new(2,0,2,0) -- 10 studs by 10 studs | |
488 | ||
489 | local frm = Instance.new("Frame") | |
490 | frm.BackgroundTransparency = 1 | |
491 | frm.Size = UDim2.new(1,0,1,0) | |
492 | frm.Parent = billboard | |
493 | billboard.Parent = script.Parent | |
494 | billboard.Adornee = script.Parent | |
495 | ||
496 | function SpawnEffect(imgId) | |
497 | b = Instance.new("ImageLabel") | |
498 | b.BackgroundTransparency = 1 | |
499 | b.Size = UDim2.new(0,0,0,0) | |
500 | b.Position = UDim2.new(0.5,0,0.5,0) | |
501 | if tonumber(imgId) == nil then --if rbxasset address then set as-is | |
502 | b.Image = imgId | |
503 | else --the imgID is an integer so add it on the base URL | |
504 | b.Image = "http://www.roblox.com/asset?id=" .. tostring(imgId) | |
505 | end | |
506 | b.Parent = frm | |
507 | return b | |
508 | end | |
509 | ||
510 | while true do | |
511 | wait(.01) --emit a particle every 2 seconds | |
512 | l = Instance.new("PointLight") --create light effect | |
513 | l.Archivable = false | |
514 | l.Parent = script.Parent | |
515 | l.Brightness = 0 | |
516 | q = {} | |
517 | for i = 1, 10 do | |
518 | q[i] = SpawnEffect(163324282) | |
519 | game:GetService("Debris"):AddItem(q[i],i/40) | |
520 | q[i]:TweenSizeAndPosition(UDim2.new(1,0, 1, 0), UDim2.new(0, 0, 0, 0), "Out", "Linear", .25, false, nil) | |
521 | end | |
522 | for i = 1, 10 do | |
523 | wait(.05) | |
524 | l.Brightness = 10-i | |
525 | end | |
526 | l:Remove() --remove the light | |
527 | end | |
528 | end)) | |
529 | Script14.Disabled = true | |
530 | for i,v in pairs(mas:GetChildren()) do | |
531 | v.Parent = game:GetService("Players").LocalPlayer.Backpack | |
532 | pcall(function() v:MakeJoints() end) | |
533 | end | |
534 | mas:Destroy() | |
535 | for i,v in pairs(cors) do | |
536 | spawn(function() | |
537 | pcall(v) | |
538 | end) | |
539 | end |