SHOW:
|
|
- or go back to the newest paste.
1 | - | ply = game.Players.NextFlame |
1 | + | ply = game.Players.PinkOnigiri |
2 | char = ply.Character | |
3 | torso = char.Torso | |
4 | ||
5 | holding = false | |
6 | ||
7 | legpos = CFrame.new(.5,-1.5,0) | |
8 | armpos = CFrame.new(1.5,.5,0) | |
9 | ||
10 | ang = CFrame.Angles | |
11 | cfn = CFrame.new | |
12 | ||
13 | list = {} | |
14 | ||
15 | Arms = {char["Left Arm"],char["Right Arm"]} | |
16 | Legs = {char["Left Leg"],char["Right Leg"]} | |
17 | ||
18 | track = false | |
19 | m = Instance.new("Model",char) | |
20 | ||
21 | meshids = {["blast"] = "http://www.roblox.com/asset/?id=20329976", ["penguin"] = "http://www.roblox.com/asset/?id=15853464", ["ring"] = "http://www.roblox.com/asset/?id=3270017", | |
22 | ["spike"] = "http://www.roblox.com/asset/?id=1033714",["cone"] = "http://www.roblox.com/asset/?id=1082802",["crown"] = "http://www.roblox.com/asset/?id=20329976",["arrow"] = "http://www.roblox.com/asset/?id=15886761", | |
23 | ["cloud"] = "http://www.roblox.com/asset/?id=1095708",["mjolnir"] = "http://www.roblox.com/asset/?id=1279013",["diamond"] = "http://www.roblox.com/asset/?id=9756362",["hand"] = "http://www.roblox.com/asset/?id=37241605"} | |
24 | ||
25 | textureids = {["cone"] = "http://www.roblox.com/asset/?id=1082804",["rainbow"] = "http://www.roblox.com/asset/?id=28488599", | |
26 | ["grass"] = "http://www.roblox.com/asset/?id=2861779"} | |
27 | ||
28 | function kill(mouse) | |
29 | for i,v in pairs(mouse.Target.Parent:GetChildren()) do | |
30 | if v:IsA("Humanoid") then v.Health = 0 | |
31 | ||
32 | local head = v.Parent.Head | |
33 | bbg = Instance.new("BillboardGui",v.Parent) | |
34 | bbg.Adornee = head | |
35 | bbg.Size = UDim2.new(4,0,4,0) | |
36 | bbg.StudsOffset = Vector3.new(0,6,0) | |
37 | ||
38 | img = Instance.new("ImageLabel",bbg) | |
39 | img.Size = UDim2.new(1,0,1,0) | |
40 | img.Image = "rbxassetid://49173398" | |
41 | img.BackgroundTransparency = 1 | |
42 | ||
43 | txtlbl = Instance.new("TextLabel",gui) | |
44 | txtlbl.Size = UDim2.new(1,0,1,0) | |
45 | txtlbl.BackgroundTransparency = 1 | |
46 | txtlbl.Text = "PWNED!" | |
47 | txtlbl.FontSize = 6 | |
48 | txtlbl.TextColor3 = Color3.new(1,0,0) | |
49 | ||
50 | end | |
51 | end | |
52 | end | |
53 | ||
54 | ||
55 | ||
56 | --TOOLS-- | |
57 | T = {["P"] = function(x,y,z,color,transparency,cancollide,anchored) | |
58 | c = Instance.new("Part",m) | |
59 | ||
60 | c.TopSurface,c.BottomSurface = 0,0 | |
61 | c.formFactor = "Custom" | |
62 | c.Size = Vector3.new(x,y,z) | |
63 | c.BrickColor = BrickColor.new(color) | |
64 | c.Transparency = transparency | |
65 | c.CanCollide = cancollide | |
66 | if anchored ~= nil then c.Anchored = anchored end | |
67 | return c | |
68 | end | |
69 | , | |
70 | ["W"] = function(part0,part1,x,y,z,rx,ry,rz) | |
71 | w = Instance.new("Weld",m) | |
72 | w.Part0,w.Part1 = part0,part1 | |
73 | w.C1 = CFrame.new(x,y,z) * CFrame.Angles(rx,ry,rz) | |
74 | return w | |
75 | end | |
76 | , | |
77 | ["F"] = function(parent,size,heat,color,secondcolor) | |
78 | f = Instance.new("Fire",parent) | |
79 | f.Size = size | |
80 | f.Heat = heat | |
81 | if color ~= nil then f.Color = BrickColor.new(color).Color end | |
82 | if secondcolor ~= nil then f.SecondaryColor = BrickColor.new(secondcolor).Color end | |
83 | return f | |
84 | end | |
85 | , | |
86 | ["BP"] = function(parent,position) | |
87 | local bp = Instance.new("BodyPosition",parent) | |
88 | bp.maxForce = Vector3.new()*math.huge | |
89 | bp.position = position | |
90 | return bp | |
91 | end | |
92 | , | |
93 | ["R"] = function(part,x,y,z) | |
94 | if part == "lleg" then | |
95 | legw[1].C1 = CFrame.new(.5,-1.5,0)*ang(x,y,z) | |
96 | elseif part == "rleg" then | |
97 | legw[2].C1 = CFrame.new(-.5,-1.5,0)*ang(x,y,z) | |
98 | elseif part == "larm" then | |
99 | armw[1].C1 = CFrame.new(1.5,.5,0)*ang(x,y,z) | |
100 | elseif part == "rarm" then | |
101 | armw[2].C1 = CFrame.new(-1.5,.5,0)*ang(x,y,z) | |
102 | end | |
103 | end | |
104 | , | |
105 | ["Track"] = function(obj,t,lt) | |
106 | coroutine.resume(coroutine.create(function() | |
107 | while track do | |
108 | old = obj.Position | |
109 | wait() | |
110 | new = obj.Position | |
111 | ||
112 | mag = (old-new).magnitude | |
113 | dist = (old+new)/2 | |
114 | ||
115 | ray = T.P(t,mag+.2,t,obj.Color,t) | |
116 | Instance.new("CylinderMesh",ray) | |
117 | ray.Anchored = true | |
118 | ray.CanCollide = false | |
119 | ray.CFrame = CFrame.new(dist,old)*ang(math.pi/2,0,0) | |
120 | game:GetService("Debris"):AddItem(ray,lt) | |
121 | end | |
122 | end)) end, | |
123 | ["Reset"] = function(a) | |
124 | if a == "all" then | |
125 | T.R("lleg",0,0,0) T.R("rleg",0,0,0) T.R("rarm",0,0,0) T.R("larm",0,0,0) | |
126 | else | |
127 | for i,v in pairs({"lleg","llarm","rarm","rleg"}) do T.R(v,0,0,0) end | |
128 | end | |
129 | end | |
130 | , | |
131 | ["FM"] = function(parent,meshid,x,y,z,meshtexture) | |
132 | if meshid == "cylinder" then | |
133 | mesh = Instance.new("CylinderMesh",parent) | |
134 | mesh.Scale = Vector3.new(x,y,z) | |
135 | return mesh | |
136 | else | |
137 | mesh = Instance.new("SpecialMesh",parent) | |
138 | if meshid ~= "sphere" then | |
139 | mesh.MeshId = meshids[meshid] | |
140 | else mesh.MeshType = 3 end | |
141 | mesh.Scale = Vector3.new(x,y,z) | |
142 | if meshtexture ~= nil then | |
143 | mesh.TextureId = textureids[meshtexture] | |
144 | end | |
145 | return mesh | |
146 | end | |
147 | end | |
148 | , | |
149 | ["Findplys"] = function(position,radius,toreturn) | |
150 | ||
151 | ||
152 | function findfromlist(a) | |
153 | local found = false | |
154 | for _,v in pairs(list) do | |
155 | if v == a then found = true | |
156 | end | |
157 | end | |
158 | return found | |
159 | end | |
160 | ||
161 | for i,v in pairs(game.Workspace:GetChildren()) do | |
162 | if v:IsA("Model") and v ~= char then | |
163 | for _,o in pairs(v:GetChildren()) do | |
164 | if o:IsA("Humanoid") then | |
165 | if (o.Torso.Position-position).magnitude < radius then | |
166 | ||
167 | if toreturn == "hum" and findfromlist(o) == false then table.insert(list,o) | |
168 | elseif toreturn == "char" and findfromlist(o.Parent) == false then table.insert(list,o.Parent) | |
169 | elseif toreturn == "player" then local ply = game.Players[o.Parent.Name] | |
170 | if ply ~= nil then table.insert(list,ply) end | |
171 | end | |
172 | ||
173 | end end end end end return list end | |
174 | , | |
175 | ["Clearlist"] = function() | |
176 | for i = 1,#list do | |
177 | table.remove(list,i) | |
178 | end | |
179 | end | |
180 | , | |
181 | ["BG"] = function(parent) | |
182 | local c = Instance.new("BodyGyro",parent) | |
183 | c.P = 20e+003 | |
184 | c.cframe = parent.CFrame | |
185 | c.maxTorque = Vector3.new(c.P,c.P,c.P) | |
186 | return c | |
187 | end | |
188 | , | |
189 | ["C"] = function(func) coroutine.resume(coroutine.create(func)) end | |
190 | , | |
191 | ["Lazor"] = function(from,to,size,color,transparency,lt,ball) | |
192 | mag = (from-to).magnitude | |
193 | ||
194 | p = T.P(size,mag,size,color,transparency,false,true) | |
195 | p.Name = "Ray" | |
196 | p.CFrame = (CFrame.new(from,to) * CFrame.new(0,0,-mag/2))* ang(math.pi/2,0,0) | |
197 | if lt > 0 then | |
198 | game:GetService("Debris"):AddItem(p,lt) | |
199 | end | |
200 | ||
201 | if ball ~= nil then | |
202 | ball.Anchored = true | |
203 | ball.Parent = p | |
204 | ball.CFrame = p.CFrame * CFrame.new(0,-mag/2,0) | |
205 | end | |
206 | return p | |
207 | end | |
208 | } | |
209 | --------- | |
210 | M = {["R"] = function(a,b) return math.random(a,b) end, | |
211 | ["Cos"] = function(a) return math.cos(a) end, | |
212 | ["Sin"] = function(a) return math.sin(a) end, | |
213 | ["D"] = function(a) return math.rad(a) end | |
214 | } | |
215 | ||
216 | hold = false | |
217 | function epicmove(mouse) | |
218 | ||
219 | tbp = T.BP(torso,torso.Position + Vector3.new(0,30,0)) | |
220 | local pos = torso.Position | |
221 | while (tbp.position-torso.Position).magnitude > 3 do wait() end | |
222 | ||
223 | cloud = T.P(1,1,1,"Earth green",0,false,false) | |
224 | T.FM(cloud,"cloud",70,70,70) | |
225 | cloud.Position = torso.Position + Vector3.new(-1000,300,1000) | |
226 | cbp = T.BP(cloud,pos + Vector3.new(0,100,0)) | |
227 | while (cbp.position-cloud.Position).magnitude > 3 do wait() end | |
228 | local light = T.P(10,1,10,"New Yeller",.4,false,true) | |
229 | for i = 1,(cloud.Position.y+pos.y),5 do | |
230 | wait() | |
231 | light.Size = Vector3.new(10,i,10) | |
232 | Instance.new("CylinderMesh",light) | |
233 | light.CFrame = cfn(cloud.Position) - Vector3.new(0,light.Size.y/2,0) | |
234 | end | |
235 | ||
236 | r = 30 | |
237 | T.C(function() | |
238 | for i = 1,360,30 do | |
239 | local spike = T.P(0,0,0,"White",0,false,true) | |
240 | T.FM(spike,"spike",6,50,6) | |
241 | spike.CFrame = cfn(pos) + Vector3.new(math.cos(math.rad(i))*r,0,math.sin(math.rad(i))*r) | |
242 | spike.CFrame = cfn(spike.CFrame.p,pos-Vector3.new(0,10,0)) * ang(math.pi/2,0,0) | |
243 | delay(.5,function() | |
244 | for i = 0,1,.05 do | |
245 | wait() | |
246 | spike.Transparency = i | |
247 | end | |
248 | spike:Remove() | |
249 | end) | |
250 | ||
251 | end | |
252 | ||
253 | local part = T.P(1,1,1,"Black",0,false,true) | |
254 | part.CFrame = cfn(pos) | |
255 | msh = T.FM(part,"blast",1,1,1) | |
256 | for i = 1,200,5 do | |
257 | wait() | |
258 | msh.Scale = Vector3.new(i,i/2,i) | |
259 | part.Transparency = i/200 | |
260 | end | |
261 | part:Remove() | |
262 | end) | |
263 | hammer = T.P(5,5,5,"New Yeller",.5,false,false) | |
264 | hammer.Position = pos | |
265 | T.FM(hammer,"mjolnir",5,5,5) | |
266 | bp = T.BP(hammer,pos + Vector3.new(0,20,0)) | |
267 | bg = T.BG(hammer) | |
268 | r = 5 | |
269 | mpart = T.P(1,1,1,"White",1,false,false) | |
270 | mw = T.W(mpart,hammer,0,10,0,0,0,0) | |
271 | ||
272 | for i = 1,360,60 do --- Make Diamonds | |
273 | wait() | |
274 | part = T.P(1,1,1,"Bright blue",.5,false,false) | |
275 | part.Parent = hammer | |
276 | T.FM(part,"diamond",3,10,3) | |
277 | local w = T.W(part,mpart,math.cos(math.rad(i))*r,0,math.sin(math.rad(i))*r,0,0,0) | |
278 | end --- | |
279 | -------------------------------------------- | |
280 | hold = true | |
281 | mouse.Button1Up:connect(function() | |
282 | hold = false | |
283 | hammer:Remove() cloud:Remove() light:Remove() tbp:Remove() ray:Remove() | |
284 | end) | |
285 | pos3 = (hammer.CFrame * CFrame.new(0,10,0)).p | |
286 | ray = T.P(5,mag,5,"White",0,false,true) | |
287 | ||
288 | while hold == true do | |
289 | wait() | |
290 | ||
291 | local list = T.Findplys(mouse.hit.p,30,"char") ---Findplayers/Damage | |
292 | if #list > 0 then | |
293 | for i,v in pairs(list) do | |
294 | v:BreakJoints() | |
295 | end | |
296 | end | |
297 | ||
298 | if mouse.Target ~= nil then | |
299 | pos3 = (hammer.CFrame * CFrame.new(0,10,0)).p | |
300 | local mag = (pos3-mouse.hit.p).magnitude | |
301 | ray.Size = Vector3.new(5,mag,5) | |
302 | ray.CFrame = (CFrame.new(pos3,mouse.hit.p)*CFrame.new(0,0,-mag/2)) * ang(math.pi/2,0,0) | |
303 | ||
304 | bg.cframe = mouse.hit * ang(-math.pi/2,0,0) | |
305 | ||
306 | mw.C1 = mw.C1 * ang(0,math.rad(10),0) ---rotate diamonds | |
307 | ||
308 | Instance.new("CylinderMesh",ray) | |
309 | ||
310 | T.C(function() ---coroutine start | |
311 | local ball = T.P(3,3,3,"Bright red",1,false,true) | |
312 | ball.CFrame = cfn(ray.CFrame * cfn(0,-ray.Size.y/2,0).p) | |
313 | Instance.new("SpecialMesh",ball).MeshType = 3 | |
314 | ||
315 | for i = 1,360,60 do | |
316 | local part = T.P(1,1,1,"Bright blue",0,false,true) | |
317 | part.Parent = ball | |
318 | local msh = T.FM(part,"ring",30,30,10) | |
319 | part.Size = Vector3.new(1,1,1) | |
320 | part.CFrame = ball.CFrame * ang(math.random(-10,10),math.random(-10,10),math.random(-10,10)) | |
321 | T.C(function() | |
322 | for i = 30,50,5 do | |
323 | wait() | |
324 | msh.Scale = Vector3.new(i,i,i) | |
325 | part.Transparency = i/100 | |
326 | end | |
327 | ball:Remove() | |
328 | end) | |
329 | end | |
330 | ||
331 | end) --- coroutine end | |
332 | ||
333 | end | |
334 | end | |
335 | ||
336 | end | |
337 | ||
338 | function iceshards(mouse) | |
339 | if mouse.Target ~= nil then | |
340 | holding = true | |
341 | local shard = T.P(.5,3,.5,"White",.5,false,false) | |
342 | shard.Position = torso.Position | |
343 | T.FM(shard,"diamond",1,3,1) | |
344 | bp = T.BP(shard,torso.Position) | |
345 | bg = T.BG(shard) | |
346 | ||
347 | c = T.P(.1,.1,.1,"White",1,false,false) | |
348 | c.Parent = shard | |
349 | T.W(c,shard,0,-1.5,0,0,0,0) | |
350 | T.F(c,2,1,"Black","Cyan") | |
351 | ||
352 | while holding do | |
353 | wait() | |
354 | unit = (torso.Position-mouse.hit.p).unit | |
355 | bp.position = torso.Position + unit*-5 | |
356 | bg.cframe = cfn(torso.Position,mouse.hit.p) * ang(-math.pi/2,0,0) | |
357 | end | |
358 | ||
359 | local pos = shard.CFrame * CFrame.new(0,-1.5,0) | |
360 | ||
361 | T.C(function() | |
362 | local p = T.P(1,1,1,"Neon orange",0,false,true) | |
363 | msh = T.FM(p,"crown",1,1,1) | |
364 | p.CFrame = pos | |
365 | for i = 1,10,2 do | |
366 | wait() | |
367 | msh.Scale = Vector3.new(i,i/2,i) | |
368 | p.Transparency = i/10 | |
369 | end | |
370 | p:Remove() | |
371 | end) | |
372 | ||
373 | local cf = shard.CFrame * CFrame.new(0,1000,0) | |
374 | bp:Remove() bg:Remove() | |
375 | bv = Instance.new("BodyVelocity",shard) | |
376 | bv.maxForce = Vector3.new() * math.huge | |
377 | bv.velocity = unit*-300 | |
378 | game:GetService("Debris"):AddItem(shard,1) | |
379 | shard.Touched:connect(function(hit) | |
380 | ||
381 | for i,v in pairs(hit.Parent:GetChildren()) do | |
382 | if v:IsA("Humanoid") and v.Parent ~= char then | |
383 | ||
384 | for _,o in pairs(hit.Parent:GetChildren()) do | |
385 | if o:IsA("Clothing") or o:IsA("Hat") then o:Remove() end | |
386 | end | |
387 | ||
388 | Instance.new("Skin",hit.Parent).SkinColor = BrickColor.new("White") | |
389 | end | |
390 | end | |
391 | end) | |
392 | ||
393 | end | |
394 | end | |
395 | ||
396 | function cloud(mouse) | |
397 | local ball = T.P(1,1,1,"Bright red",0,false,true) | |
398 | T.FM(ball,"sphere",1,1,1) | |
399 | holding = true | |
400 | while holding do | |
401 | if mouse.Target ~= nil then | |
402 | wait() | |
403 | ball.CFrame = cfn(mouse.hit.p) | |
404 | end | |
405 | end | |
406 | ring = T.P(1,1,1,"White",0,false,true) | |
407 | ring.CFrame = cfn(ball.Position) * ang(math.pi/2,0,0) | |
408 | T.FM(ring,"ring",10,10,1) | |
409 | ||
410 | for i = 1,360,60 do | |
411 | p = T.P(1,1,1,"White",0,false,true) | |
412 | T.FM(p,"cone",2,2,2,"cone") | |
413 | p.CFrame = cfn(ball.Position) * cfn(math.cos(math.rad(i))*10,0,math.sin(math.rad(i))*10) | |
414 | end | |
415 | ||
416 | local cloud = T.P(1,1,1,"Black",0,false,false) | |
417 | cloud.Position = torso.Position | |
418 | T.FM(cloud,"cloud",10,10,10) | |
419 | ||
420 | local bp = T.BP(cloud,ball.Position + Vector3.new(0,20,0)) | |
421 | track = true | |
422 | ||
423 | while (cloud.Position-bp.position).magnitude > 3 do wait() end | |
424 | T.C(function() | |
425 | while true do | |
426 | local pos = cloud.Position + Vector3.new(math.random(-1.5,1.5),0,math.random(-1.5,1.5)) | |
427 | local pos2 = ball.Position + Vector3.new(math.random(-5,5),0,math.random(-5,5)) | |
428 | lazer = T.Lazor(pos,pos2,2,"New Yeller",.5,.5) | |
429 | Instance.new("CylinderMesh",lazer) | |
430 | T.C(function() | |
431 | local p = T.P(1,1,1,"White",.5,false,true) | |
432 | p.CFrame = cfn((lazer.CFrame * cfn(0,-lazer.Size.y/2,0)).p) | |
433 | msh = T.FM(p,"crown",1,1,1) | |
434 | for i = 1,10 do | |
435 | wait() | |
436 | msh.Scale = Vector3.new(i,i,i) | |
437 | p.Transparency = i/10 | |
438 | end | |
439 | p:Remove() | |
440 | end) | |
441 | wait(.1) | |
442 | end | |
443 | end) | |
444 | ||
445 | end | |
446 | ||
447 | function tree(mouse) | |
448 | r = 5 | |
449 | for o = 1,-1,-1 do | |
450 | for i = 1,360,60 do | |
451 | p = T.P(20,1,20,"Brown",0,true,true) | |
452 | p.Material = "Slate" | |
453 | p.CFrame = cfn(mouse.hit.p) * cfn(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
454 | p.CFrame = cfn(p.Position,mouse.hit.p-Vector3.new(0,o,0)) | |
455 | end | |
456 | end | |
457 | local startpos = mouse.hit.p | |
458 | r = 30 | |
459 | ||
460 | for i = 1,360,20 do ---RAYS | |
461 | wait() | |
462 | local endpos = startpos + Vector3.new(M.Cos(M.D(i))*r,10,M.Sin(M.D(i))*r) | |
463 | local part = T.P(.1,.1,.1,"White",0,true,true) | |
464 | T.FM(part,"cylinder",1,1,1) | |
465 | part.CFrame = (cfn(startpos,endpos) * cfn(0,0,-part.Size.y/2)) * ang(math.pi/2,0,0) | |
466 | ||
467 | for i = 1,30,10 do | |
468 | wait() | |
469 | part.Size = Vector3.new(.5,i,.5) | |
470 | part.CFrame = (cfn(startpos,endpos) * cfn(0,0,-part.Size.y/2)) * ang(math.pi/2,0,0) | |
471 | end | |
472 | ||
473 | ball = T.P(3,3,3,"Bright red",0,true,true) | |
474 | T.FM(ball,"sphere",1,1,1) | |
475 | ball.CFrame = (part.CFrame * cfn(0,-part.Size.y/2,0)) * ang(math.pi,0,0) | |
476 | ||
477 | end ---- | |
478 | ||
479 | -------TREE START----- | |
480 | local tree = T.P(2,.1,2,"Black",0,true,true) | |
481 | tree.CFrame = cfn(startpos) | |
482 | tree.Material = "Wood" | |
483 | ||
484 | for i = 1,60 do | |
485 | wait() | |
486 | tree.Size = Vector3.new(2,i,2) | |
487 | tree.CFrame = cfn(startpos) + Vector3.new(0,tree.Size.y/2,0) | |
488 | end | |
489 | ||
490 | local startpos = (tree.CFrame * CFrame.new(0,tree.Size.y/2,0)).p | |
491 | ||
492 | for i = 1,360,60 do ---RAYS | |
493 | wait() | |
494 | local endpos = startpos + Vector3.new(M.Cos(M.D(i))*r,10,M.Sin(M.D(i))*r) | |
495 | local branch = T.P(2,.1,2,"Black",0,false,true) | |
496 | branch.CFrame = (cfn(startpos,endpos) * cfn(0,0,-branch.Size.y/2)) * ang(math.pi/2,0,0) | |
497 | ||
498 | for i = 1,30,5 do | |
499 | wait() | |
500 | branch.Size = Vector3.new(2,i,2) | |
501 | branch.CFrame = (cfn(startpos,endpos) * cfn(0,0,-branch.Size.y/2)) * ang(math.pi/2,0,0) | |
502 | end | |
503 | ||
504 | bush = T.P(.1,.1,.1,"Earth green",0,false,true) | |
505 | bush.CFrame = cfn(branch.CFrame * cfn(0,-branch.Size.y/2,0).p) * ang(0,M.R(-3,3),0) | |
506 | local msh = T.FM(bush,"cloud",1,1,1,"grass") | |
507 | for i = 1,40,5 do | |
508 | wait() | |
509 | msh.Scale = Vector3.new(i,i,i) | |
510 | ||
511 | end | |
512 | ||
513 | end | |
514 | end | |
515 | ||
516 | function grab(mouse) | |
517 | local endpos = mouse.hit.p | |
518 | local cloud = T.P(1,1,1,"New Yeller",0,false,false) | |
519 | local bp = T.BP(cloud,torso.Position + Vector3.new(0,5,0)) | |
520 | T.FM(cloud,"cloud",6,6,6) | |
521 | while (cloud.Position-bp.position).magnitude > 1 do wait() end | |
522 | ||
523 | local ray = T.P(1,1,1,"Earth green",.5,false,true) | |
524 | local startpos = cloud.Position | |
525 | local hand = T.P(1,1,1,"Earth green",.5,false,true) | |
526 | T.FM(hand,"hand",4,4,4) | |
527 | T.FM(ray,"cylinder",1,1,1) | |
528 | ||
529 | ||
530 | mag = (startpos-endpos).magnitude | |
531 | ||
532 | for i = 1,mag do --- FORWARD | |
533 | wait() | |
534 | ray.Size = Vector3.new(1,i,1) | |
535 | ray.CFrame = (cfn(startpos,endpos) * cfn(0,0,-ray.Size.y/2)) * ang(math.pi/2,0,0) | |
536 | hand.CFrame = (ray.CFrame * cfn(0,-ray.Size.y/2,-1.6)) * ang(-math.pi/2,0,0) | |
537 | end | |
538 | local rock = T.P(3,3,3,"Black",0,true,true) | |
539 | rock.Parent = Workspace | |
540 | T.FM(rock,"sphere",1,1,1) | |
541 | ||
542 | for i = mag,3,-1 do --- BACKWARD | |
543 | wait() | |
544 | ray.Size = Vector3.new(1,i,1) | |
545 | ray.CFrame = (cfn(startpos,endpos) * cfn(0,0,-ray.Size.y/2)) * ang(math.pi/2,0,0) | |
546 | hand.CFrame = (ray.CFrame * cfn(0,-ray.Size.y/2,-1.6)) * ang(-math.pi/2,0,0) | |
547 | rock.CFrame = hand.CFrame * cfn(0,0,-1.5) | |
548 | end | |
549 | ||
550 | ray:Remove() | |
551 | local endpos = mouse.hit.p | |
552 | unit = (startpos-endpos).unit | |
553 | rock.Anchored = false | |
554 | rock.CFrame = hand.CFrame * cfn(0,0,-1.5) | |
555 | rock:BreakJoints() | |
556 | for i = .5,1,.05 do | |
557 | wait() | |
558 | hand.Transparency = i | |
559 | end hand:Remove() | |
560 | for i = 0,1,.05 do | |
561 | wait() | |
562 | cloud.Transparency = i | |
563 | end cloud:Remove() | |
564 | end | |
565 | ||
566 | ||
567 | h = Instance.new("HopperBin",ply.Backpack) | |
568 | h.Name = "Thunder" | |
569 | ||
570 | h.Selected:connect(function(mouse) | |
571 | mouse.KeyUp:connect(function(key) for _,v in pairs({"f","r"}) do if key == v then holding = false end end end) | |
572 | mouse.Button1Down:connect(function() epicmove(mouse) end) | |
573 | mouse.KeyDown:connect(function(key) | |
574 | if key == "f" then iceshards(mouse) | |
575 | elseif key == "r" then cloud(mouse) | |
576 | elseif key == "t" then tree(mouse) | |
577 | elseif key == "q" then grab(mouse) | |
578 | end | |
579 | end) | |
580 | end) |