SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | |
2 | ||
3 | owner,name = "liampdoherty","Dancer" | |
4 | - | owner,name = "XTheShowcaserX","Dancer" |
4 | + | |
5 | char = ply.Character | |
6 | pcall(function() char:FindFirstChild("legetd"):Remove() char:FindFirstChild("Belt"):Remove() end) | |
7 | m = Instance.new("Model",char) m.Name = "legetd" | |
8 | if script.Parent.className ~= 'HopperBin' then | |
9 | hop = Instance.new("HopperBin",game.Players[owner].Backpack) | |
10 | hop.Name = name | |
11 | script.Parent = hop | |
12 | script.Name = "Function" | |
13 | end | |
14 | hop = script.Parent | |
15 | ||
16 | debris = game:GetService("Debris") | |
17 | ||
18 | cfn,ang,v3n,ud2n,V2 = CFrame.new,CFrame.Angles,Vector3.new,UDim2.new,Vector2.new | |
19 | floatforce = 196.25 | |
20 | ||
21 | torso = char.Torso | |
22 | attacking = false | |
23 | track = false | |
24 | ||
25 | rs = torso["Right Shoulder"] | |
26 | ls = torso["Left Shoulder"] | |
27 | rh = torso["Right Hip"] | |
28 | lh = torso["Right Hip"] | |
29 | neck = torso["Neck"] | |
30 | rw,lw = nil,nil | |
31 | rhw,lhw = nil,nil | |
32 | local orgc1 = rs.C1 | |
33 | ||
34 | rarm = char["Right Arm"] | |
35 | larm = char["Left Arm"] | |
36 | rleg = char["Right Leg"] | |
37 | lleg = char["Left Leg"] | |
38 | ||
39 | normposr = cfn(1.5,.5,0) | |
40 | normposl = cfn(-1.5,.5,0) | |
41 | normposr2 = cfn(.5,-1.5,0) | |
42 | normposl2 = cfn(-.5,-1.5,0) | |
43 | normposn = CFrame.new(0,1,0,-1,-0,-0,0,0,1,0,1,0) | |
44 | ||
45 | holdpos = normposr*ang(math.pi/2,0,0) | |
46 | holdpos2 = normposl*ang(math.pi/2,0,0) | |
47 | ||
48 | ||
49 | T = {["P"] = function(x,y,z,color,transparency,cancollide,anchored,parent,typee) | |
50 | if typee ~= nil then | |
51 | c = Instance.new("WedgePart",m) | |
52 | else | |
53 | c = Instance.new("Part",m) | |
54 | end | |
55 | c.TopSurface,c.BottomSurface = 0,0 | |
56 | c.Locked = true | |
57 | c.formFactor = "Custom" | |
58 | c.Size = Vector3.new(x,y,z) | |
59 | if color ~= "random" then | |
60 | c.BrickColor = BrickColor.new(color) | |
61 | else c.BrickColor = BrickColor:random() end | |
62 | c.Transparency = transparency | |
63 | c.CanCollide = cancollide | |
64 | if anchored ~= nil then c.Anchored = anchored end | |
65 | if parent ~= nil then c.Parent = parent end | |
66 | return c | |
67 | ||
68 | end | |
69 | , | |
70 | ["C"] = function(func) coroutine.resume(coroutine.create(func)) end | |
71 | , | |
72 | ["W"] = function(part0,part1,x,y,z,rx,ry,rz,parent) | |
73 | w = Instance.new("Motor",m) | |
74 | if parent ~= nil then w.Parent = parent end | |
75 | w.Part0,w.Part1 = part0,part1 | |
76 | w.C1 = CFrame.new(x,y,z) * CFrame.Angles(rx,ry,rz) | |
77 | return w | |
78 | end | |
79 | , | |
80 | ["BG"] = function(parent) | |
81 | local c = Instance.new("BodyGyro",parent) | |
82 | c.P = 20e+003 | |
83 | c.cframe = parent.CFrame | |
84 | c.maxTorque = Vector3.new(c.P,c.P,c.P) | |
85 | return c | |
86 | end | |
87 | , | |
88 | ["BP"] = function(parent,position) | |
89 | local bp = Instance.new("BodyPosition",parent) | |
90 | bp.maxForce = Vector3.new()*math.huge | |
91 | bp.position = position | |
92 | return bp | |
93 | end | |
94 | , | |
95 | ["F"] = function(parent,size,heat,color,secondcolor,enabled) | |
96 | f = Instance.new("Fire",parent) | |
97 | f.Size = size | |
98 | f.Heat = heat | |
99 | if enabled ~= nil then f.Enabled = enabled end | |
100 | if color ~= nil then f.Color = BrickColor.new(color).Color end | |
101 | if secondcolor ~= nil then f.SecondaryColor = BrickColor.new(secondcolor).Color end | |
102 | return f | |
103 | end | |
104 | , | |
105 | ["FM"] = function(parent,meshid,x,y,z,meshtexture) | |
106 | if meshid == "cylinder" then | |
107 | mesh = Instance.new("CylinderMesh",parent) | |
108 | mesh.Scale = Vector3.new(x,y,z) | |
109 | return mesh | |
110 | else | |
111 | mesh = Instance.new("SpecialMesh",parent) | |
112 | ||
113 | if meshid ~= "sphere" then | |
114 | if type(meshid) == "number" then mesh.MeshId = "rbxassetid://"..meshid else | |
115 | mesh.MeshId = "rbxassetid://"..meshids[meshid] | |
116 | end | |
117 | ||
118 | else mesh.MeshType = 3 end | |
119 | ||
120 | mesh.Scale = Vector3.new(x,y,z) | |
121 | ||
122 | if meshtexture ~= nil then | |
123 | if type(meshtexture) == "number" then mesh.TextureId = "rbxassetid://"..meshtexture else | |
124 | mesh.TextureId = "rbxassetid://"..textureids[meshtexture] end | |
125 | ||
126 | end | |
127 | ||
128 | return mesh | |
129 | end | |
130 | end, | |
131 | ["Dec"] = function(parent,face,id,transparency) | |
132 | c = Instance.new("Decal",parent) | |
133 | c.Face = face | |
134 | c.Texture = id | |
135 | if transparency then c.Transparency = transparency end | |
136 | return c | |
137 | end, | |
138 | ["S"] = function(id,pitch,volume) | |
139 | found = false | |
140 | for i,v in pairs(char.Head:children()) do | |
141 | if v:IsA("Sound") and v.Name == id and not found then | |
142 | v.Pitch = pitch | |
143 | if volume then v.Volume = volume end | |
144 | v:Play() | |
145 | found = true | |
146 | return v | |
147 | end | |
148 | end | |
149 | end | |
150 | } | |
151 | ||
152 | ------MESHIDS--- | |
153 | meshids = {["penguin"] = 15853464, ["ring"] = 3270017, | |
154 | ["spike"] = 1033714,["cone"] = 1082802,["crown"] = 20329976,["crossbow"] = 15886761, | |
155 | ["cloud"] = 1095708,["mjolnir"] = 1279013,["diamond"] = 9756362, ["hand"] = 37241605, | |
156 | ["fist"] = 65322375,["skull"] = 36869983,["totem"] = 35624068,["spikeb"] = 9982590,["dragon"] = 58430372,["fish"] = 31221717, ["coffee"] = 15929962,["spiral"] = 1051557, | |
157 | ["ramen"] = 19380188,["lightning"] = 72583597,["bullet"]=2697549}---some meshids | |
158 | textureids = {["cone"] = 1082804,["rainbow"] = 28488599,["fish"] = 31221733, ["coffee"] = 24181455,["monster"] = 33366441,["ramen"] = 19380153} | |
159 | ----------------- | |
160 | soundids = {["bell"] = 20005706,["flintlock"] = 13510352,["falcon"] = 1387390,['sensa'] = 4700455, | |
161 | ['midas'] = 17385513,['splut'] = 16950449,['guitar'] = 1089407,['spark'] = 12555594,['knife'] = 1369159, | |
162 | ['awakenking'] = 8610025,['entertainer'] = 27697267,['chrono'] = 1280463 | |
163 | } | |
164 | for i,v in pairs(char.Head:children()) do for _,q in pairs(soundids) do if v.Name == q then v:Remove() end end end | |
165 | for i,v in pairs(soundids) do | |
166 | sound = Instance.new("Sound") | |
167 | sound.SoundId = "http://www.roblox.com/asset/?id="..v | |
168 | sound.Name = i | |
169 | sound.Parent = char.Head | |
170 | end | |
171 | ||
172 | lock = {["R"] = | |
173 | function(a) | |
174 | if a == 1 then | |
175 | rabrick = T.P(1,1,1,"White",1,false,false) | |
176 | rw = T.W(rabrick,torso,1.5,.5,0,0,0,0) | |
177 | T.W(rarm,rabrick,0,-.5,0,0,0,0) | |
178 | elseif a == 2 then | |
179 | rlbrick = T.P(1,1,1,"White",1,false,false) | |
180 | rhw = T.W(rlbrick,torso,-.5,-1.5,0,0,0,0) | |
181 | T.W(rleg,rlbrick,0,-.5,0,0,0,0) | |
182 | elseif a == 0 then | |
183 | rs.Parent = torso | |
184 | rw.Parent = nil | |
185 | rabrick:Destroy() rabrick = nil | |
186 | elseif a == -1 then | |
187 | rhw.Parent = nil | |
188 | rh.Parent = torso | |
189 | rlbrick:Destroy() rlbrick = nil | |
190 | end | |
191 | end | |
192 | , ["L"] = function(a) | |
193 | if a == 1 then | |
194 | labrick = T.P(1,1,1,"White",1,false,false) | |
195 | lw = T.W(labrick,torso,-1.5,.5,0,0,0,0) | |
196 | T.W(larm,labrick,0,-.5,0,0,0,0) | |
197 | elseif a == 2 then | |
198 | llbrick = T.P(1,1,1,"White",1,false,false) | |
199 | lhw = T.W(llbrick,torso,.5,-1.5,0,0,0,0) | |
200 | T.W(lleg,llbrick,0,-.5,0,0,0,0) | |
201 | elseif a == 0 then | |
202 | ls.Parent = torso | |
203 | lw.Parent = nil | |
204 | labrick:Destroy() labrick = nil | |
205 | elseif a == -1 then | |
206 | lhw.Parent = nil | |
207 | lh.Parent = torso | |
208 | llbrick:Destroy() llbrick = nil | |
209 | end | |
210 | end} | |
211 | ||
212 | ||
213 | M = {["R"] = function(a,b) return math.random(a,b) end, | |
214 | ["Cos"] = function(a) return math.cos(a) end, | |
215 | ["Sin"] = function(a) return math.sin(a) end, | |
216 | ["D"] = function(a) return math.rad(a) end | |
217 | } | |
218 | ||
219 | r = .5 | |
220 | ||
221 | function spin() | |
222 | lock.R(1) lock.L(1) | |
223 | ||
224 | for i = -90,50,25 do | |
225 | wait() | |
226 | rw.C1 = holdpos*ang(M.D(i),0,0) | |
227 | lw.C1 = holdpos2*ang(M.D(i),0,0) | |
228 | end | |
229 | snd = T.S('chrono',1,100) | |
230 | holding = true | |
231 | selectbox = Instance.new("SelectionBox",ply.PlayerGui) | |
232 | while holding do | |
233 | for i = 310,50,-25 do | |
234 | wait() | |
235 | rw.C1 = holdpos*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
236 | lw.C1 = holdpos2*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
237 | end | |
238 | ||
239 | for i = 50,310,25 do | |
240 | wait() | |
241 | rw.C1 = holdpos*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
242 | lw.C1 = holdpos2*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
243 | end | |
244 | end | |
245 | ||
246 | for i = 310,0,-25 do | |
247 | wait() | |
248 | rw.C1 = holdpos*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
249 | lw.C1 = holdpos2*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
250 | end | |
251 | for i = 50,-90,25 do | |
252 | wait() | |
253 | rw.C1 = holdpos*ang(M.D(i),0,0) | |
254 | lw.C1 = holdpos2*ang(M.D(i),0,0) | |
255 | end | |
256 | lock.R(0) lock.L(0) | |
257 | snd:Stop() | |
258 | end | |
259 | ||
260 | wspeed = char.Humanoid.WalkSpeed | |
261 | ||
262 | r = .7 r2 = .3 | |
263 | function spin2() | |
264 | T.S('sensa',2) | |
265 | lock.R(1) lock.L(1) lock.R(2) lock.L(2) | |
266 | lhw.C1 = normposl2*ang(M.D(-30),0,0) | |
267 | rhw.C1 = normposr2*ang(M.D(-30),0,0) | |
268 | char.Humanoid.WalkSpeed = 50 | |
269 | neck.C0 = normposn*ang(M.D(-40),0,0) | |
270 | for i = -90,50,25 do | |
271 | wait() | |
272 | rw.C1 = holdpos*ang(M.D(i),0,0) | |
273 | lw.C1 = holdpos2*ang(M.D(i),0,0) | |
274 | end | |
275 | holding = true | |
276 | ||
277 | local cons = {rarm.Touched:connect(function() T.S('splut',1.8) end), | |
278 | larm.Touched:connect(function() T.S('splut',1.8) end)} | |
279 | ||
280 | -------LOOP--- | |
281 | while holding do | |
282 | for i = 310,0,-60 do | |
283 | wait() | |
284 | rw.C1 = holdpos*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
285 | lw.C1 = holdpos2*ang(-M.Cos(M.D(i))*r,0,-M.Sin(M.D(i))*r) | |
286 | end | |
287 | for i = 0,310,60 do | |
288 | wait() | |
289 | rw.C1 = holdpos*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
290 | lw.C1 = holdpos2*ang(-M.Cos(M.D(i))*r,0,-M.Sin(M.D(i))*r) | |
291 | end | |
292 | ||
293 | end | |
294 | -------LOOP--- | |
295 | neck.C0 = normposn | |
296 | char.Humanoid.WalkSpeed = wspeed | |
297 | lock.R(-1) lock.L(-1) | |
298 | for i = 310,0,-25 do | |
299 | wait() | |
300 | rw.C1 = holdpos*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
301 | lw.C1 = holdpos2*ang(M.Cos(M.D(i))*r,0,M.Sin(M.D(i))*r) | |
302 | end | |
303 | for i = 50,-90,25 do | |
304 | wait() | |
305 | rw.C1 = holdpos*ang(M.D(i),0,0) | |
306 | lw.C1 = holdpos2*ang(M.D(i),0,0) | |
307 | end | |
308 | for i,v in pairs(cons) do v:disconnect() end | |
309 | lock.R(0) lock.L(0) | |
310 | end | |
311 | ||
312 | prev,prev2 = holdpos*ang(math.pi/2,0,M.D(40)),holdpos2*ang(math.pi/2,0,M.D(-40)) | |
313 | ||
314 | function jump() | |
315 | -------JUMP----- | |
316 | lock.R(2) lock.L(2) | |
317 | char.Humanoid.Jump = true | |
318 | lhw.C1 = normposl2*ang(0,0,M.D(-40)) rhw.C1 = normposr2*ang(0,0,M.D(40)) | |
319 | bd = Instance.new("BodyForce",torso) bd.force = v3n(0,floatforce+3,0) | |
320 | wait(1) | |
321 | lock.R(-1) lock.L(-1) | |
322 | bd:Remove() | |
323 | -------JUMP----- | |
324 | end | |
325 | function headbang() | |
326 | lock.R(1) lock.L(1) | |
327 | holding = true | |
328 | while holding do | |
329 | for i = 0,40,10 do | |
330 | wait() | |
331 | neck.C0 = normposn*ang(M.D(i),0,0) | |
332 | rw.C1 = prev*ang(M.D(-i),0,0) | |
333 | lw.C1 = prev2*ang(M.D(-i),0,0) | |
334 | end | |
335 | T.S('guitar',1) | |
336 | local p = T.P(1,1,1,'New Yeller',0,false,false) | |
337 | p.CFrame = cfn(char.Head.Position+torso.CFrame.lookVector*1,char.Head.Position+torso.CFrame.lookVector*2) | |
338 | T.FM(p,'ring',3,3,1) | |
339 | Instance.new("BodyForce",p).force = torso.CFrame.lookVector*30 + v3n(0,p:GetMass()*floatforce,0) | |
340 | delay(.5,function() for i = 3,30 do wait() p.Mesh.Scale = v3n(i,i,1) p.Transparency = i/30 end p:Remove() end) | |
341 | for i = 40,0,-10 do | |
342 | wait() | |
343 | neck.C0 = normposn*ang(M.D(i),0,0) | |
344 | rw.C1 = prev*ang(M.D(-i),0,0) | |
345 | lw.C1 = prev2*ang(M.D(-i),0,0) | |
346 | end | |
347 | end | |
348 | lock.R(0) lock.L(0) | |
349 | end | |
350 | hum = char.Humanoid | |
351 | restbp = nil | |
352 | restbg = nil | |
353 | function rest() | |
354 | if not restbp then | |
355 | lock.R(1) lock.L(1) lock.R(2) lock.L(2) | |
356 | tyu = cfn(.2,.2,-.2) | |
357 | tyu1 = cfn(-.2,.2,-.2) | |
358 | tyu2 = cfn(-.1,.2,-.2) | |
359 | rw.C1 = (holdpos*tyu1)*ang(M.D(100),0,M.D(-30)) | |
360 | lw.C1 = (holdpos2*tyu)*ang(M.D(100),0,M.D(30)) | |
361 | neck.C0 = normposn*ang(M.D(20),0,0) | |
362 | lhw.C1 = (normposr2*tyu2)*ang(M.D(20),0,M.D(-20)) | |
363 | rhw.C1 = (normposl2)*ang(M.D(5),0,M.D(10)) | |
364 | ||
365 | pos = torso.CFrame | |
366 | restbp = T.BP(torso,pos.p) | |
367 | cloud = T.P(5,2,5,'White',.5,false,false) T.FM(cloud,'cloud',5,2,5) | |
368 | cloud.Position = pos.p | |
369 | T.W(cloud,torso,0,0,.8,-math.pi/2,0,0) | |
370 | ||
371 | T.C(function() | |
372 | while wait() do | |
373 | for i = 0,.5,.05 do | |
374 | restbp.position = pos.p+v3n(0,i,0) | |
375 | wait(.2) | |
376 | end | |
377 | for i = .5,0,-.05 do | |
378 | restbp.position = pos.p+v3n(0,i,0) | |
379 | wait(.2) | |
380 | end | |
381 | end | |
382 | end) | |
383 | ||
384 | restbg = T.BG(torso) | |
385 | restbg.cframe = pos*ang(math.pi/2,0,0) | |
386 | hum.PlatformStand = true | |
387 | else | |
388 | hum.PlatformStand = false | |
389 | for i = -1,0 do lock.R(i) lock.L(i) end | |
390 | cloud:Remove() | |
391 | restbp:Remove() | |
392 | restbg:Remove() | |
393 | neck.C0 = normposn | |
394 | torso.CFrame = pos | |
395 | restbp,restbg = nil,nil | |
396 | ||
397 | end | |
398 | end | |
399 | ||
400 | function spaas(position,radius,number,color) | |
401 | ||
402 | mode = Instance.new("Model",m) | |
403 | for i = 1,3 do | |
404 | pos = position+v3n(M.R(-radius,radius),M.R(-radius,radius),M.R(-radius,radius)) | |
405 | mag = (position-pos).magnitude | |
406 | ||
407 | col = color or 'Toothpaste' | |
408 | local laz = T.P(.1,mag,.1,col,0,false,true,mode) | |
409 | ||
410 | T.FM(laz,'cylinder',.3,1,.3) | |
411 | laz.CFrame = (cfn(position,pos)*cfn(0,0,-mag/2))*ang(math.pi/2,0,0) | |
412 | ||
413 | cframe = (laz.CFrame*cfn(0,-mag/2,0)).p | |
414 | pos2 = cframe+v3n(M.R(-radius,radius),M.R(-radius,radius),M.R(-radius,radius)) | |
415 | mag2 = (cframe-pos2).magnitude | |
416 | local laz2 = T.P(.1,mag2,.1,col,0,false,true,mode) | |
417 | T.FM(laz2,'cylinder',.3,1,.3) | |
418 | laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0) | |
419 | ||
420 | previo = laz2 | |
421 | for i = 1,number do | |
422 | cframe = (previo.CFrame*cfn(0,-mag/2,0)).p | |
423 | pos2 = cframe+v3n(M.R(-radius,radius),M.R(-radius,radius),M.R(-radius,radius)) | |
424 | mag2 = (cframe-pos2).magnitude | |
425 | ||
426 | local laz2 = T.P(.1,mag2,.1,col,0,false,true,mode) | |
427 | T.FM(laz2,'cylinder',.3,1,.3) | |
428 | laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0) | |
429 | ||
430 | previo = laz2 | |
431 | end | |
432 | ||
433 | end | |
434 | debris:AddItem(mode,.1) | |
435 | end | |
436 | ||
437 | function lazors() | |
438 | holding = true | |
439 | ||
440 | while holding do | |
441 | T.S('spark',1) | |
442 | spaas(torso.Position,1,3) | |
443 | wait() | |
444 | end | |
445 | end | |
446 | ||
447 | dolls = {} | |
448 | function doll() | |
449 | local doll = Instance.new("Model",m) | |
450 | doll.Name = 'Claydoll' | |
451 | table.insert(dolls,doll) | |
452 | col = 'White' | |
453 | ||
454 | p = T.P(2,2,1,col,0,true,false,doll) p.Position = torso.Position+torso.CFrame.lookVector*5 p.Name = 'Torso' | |
455 | p2 = T.P(1,2,1,col,0,true,false,doll) p2.Name = 'Left Arm' | |
456 | T.W(p2,p,1.5,0,0,0,0,0) | |
457 | p2 = T.P(1,2,1,col,0,true,false,doll) p2.Name = 'Right Arm' | |
458 | T.W(p2,p,-1.5,0,0,0,0,0) | |
459 | p2 = T.P(1,2,1,col,0,true,false,doll) p2.Name = 'Right Leg' | |
460 | T.W(p2,p,-.5,-2,0,0,0,0) | |
461 | p2 = T.P(1,2,1,col,0,true,false,doll) p2.Name = 'Left Leg' | |
462 | T.W(p2,p,.5,-2,0,0,0,0) | |
463 | p2 = T.P(1,1,1,col,0,true,false,doll) p2.Name = 'Head' | |
464 | T.W(p2,p,0,1.5,0,0,0,0) Instance.new("SpecialMesh",p2).Scale = v3n(1.25,1.25,1.25) | |
465 | end | |
466 | ||
467 | function spare() | |
468 | lock.R(1) | |
469 | local ball = T.P(1,1,1,'Deep blue',1,true,false) ball.Shape = 0 | |
470 | ball.Touched:connect(function(hit) | |
471 | for i,v in pairs(dolls) do if hit.Parent == v then | |
472 | ball:BreakJoints() | |
473 | T.W(ball,v.Torso,0,0,0,0,0,0) | |
474 | Instance.new("Humanoid",v) | |
475 | T.S('midas',1) | |
476 | T.C(function() | |
477 | local ef = T.P(1,1,1,'New Yeller',0,false,true) | |
478 | ef.CFrame = ball.CFrame | |
479 | local msh = T.FM(ef,'sphere',1,1,1) | |
480 | for i = 1,30 do | |
481 | msh.Scale = v3n(i,i,i) | |
482 | ef.Transparency = i/30 | |
483 | wait() | |
484 | end | |
485 | ef:Remove() | |
486 | end) | |
487 | end end | |
488 | end) | |
489 | ||
490 | wld = T.W(ball,rarm,0,-1,0,0,0,0) | |
491 | rw.C1 = holdpos*cfn(0,.5,0) | |
492 | for i = 1,0,-.05 do wait() ball.Transparency = i end | |
493 | rw.C1 = holdpos*cfn(0,-.3,0) | |
494 | wait() | |
495 | wld:Remove() | |
496 | Instance.new("BodyForce",ball).force = torso.CFrame.lookVector*4 + v3n(0,ball:GetMass()*floatforce,0) | |
497 | T.C(function(hit) | |
498 | while wait(.5) do | |
499 | if ball.Parent == nil then break end | |
500 | for i = 1,3 do | |
501 | spaas(ball.Position,1,3,'New Yeller') | |
502 | wait() | |
503 | end | |
504 | end | |
505 | end) | |
506 | wait(.3) lock.R(0) | |
507 | end | |
508 | ||
509 | function grab(a,b,speed) | |
510 | if speed then c = speed else c = 5 end | |
511 | local er,er2,er3 | |
512 | if b == 1 then er,er2,er3 = 0,40,c | |
513 | elseif b == 0 then er,er2,er3 = 40,0,-c | |
514 | end | |
515 | ||
516 | for i = er,er2,er3 do | |
517 | wait() | |
518 | ||
519 | if a == 1 then | |
520 | lw.C1 = normposl*ang(M.D(-i),0,M.D(i/(50/40))) | |
521 | elseif a == 2 then | |
522 | rw.C1 = normposr*ang(M.D(-i),0,M.D(-i/(50/40))) | |
523 | elseif a == 3 then | |
524 | lw.C1 = normposl*ang(M.D(-i),0,M.D(i/(50/40))) | |
525 | rw.C1 = normposr*ang(M.D(-i),0,M.D(-i/(50/40))) | |
526 | end | |
527 | ||
528 | end | |
529 | end | |
530 | ||
531 | afro = nil | |
532 | function disco() | |
533 | foundhat = false | |
534 | for i,v in pairs(char:children()) do if v:IsA("Hat") then foundhat = true end end | |
535 | lock.R(1) lock.L(1) | |
536 | if foundhat or afro then | |
537 | for i = 0,180,20 do | |
538 | wait() | |
539 | rw.C1 = normposr*ang(M.D(i),0,M.D(i/(180/-20))) | |
540 | neck.C0 = normposn*ang(0,M.D(i/(180/-20)),0) | |
541 | end | |
542 | wait(.1) | |
543 | neck.C0 = normposn | |
544 | if afro then | |
545 | headweld = afroweld | |
546 | headweld.Part1 = rarm | |
547 | ||
548 | headweld.C1 = cfn(0,-1.5,0) | |
549 | else | |
550 | headweld = char.Head.HeadWeld | |
551 | headweld.Part0 = rarm | |
552 | ||
553 | headweld.C0 = cfn(0,-1.5,0) | |
554 | end | |
555 | for i = 180,0,-20 do | |
556 | wait() | |
557 | rw.C1 = normposr*ang(M.D(i),0,M.D(i/(180/-20))) | |
558 | neck.C0 = normposn*ang(0,M.D(i/(180/-20)),0) | |
559 | end | |
560 | grab(2,1,10) | |
561 | headweld:Remove() | |
562 | wait(.3) | |
563 | grab(2,0,10) | |
564 | if afro then afro = nil lock.R(0) lock.L(0) return end | |
565 | end | |
566 | if not afro then | |
567 | grab(2,1,10) | |
568 | afro = T.P(1,1,1,'Brown',0,false,false) | |
569 | msh = T.FM(afro,11412443,1,1,1,55078516) | |
570 | afroweld = T.W(afro,rarm,0,-1.5,0,0,math.pi,0) | |
571 | grab(2,0,10) | |
572 | ||
573 | for i = 0,180,20 do | |
574 | wait() | |
575 | rw.C1 = normposr*ang(M.D(i),0,M.D(i/(180/-20))) | |
576 | neck.C0 = normposn*ang(0,M.D(i/(180/-20)),0) | |
577 | end | |
578 | ||
579 | afroweld.Part1 = char.Head | |
580 | afroweld.C1 = cfn(0,.9,0) | |
581 | rw.C1 = holdpos*ang(M.D(90),0,0) | |
582 | for i = 180,0,-20 do | |
583 | wait() | |
584 | rw.C1 = normposr*ang(M.D(i),0,M.D(i/(180/-20))) | |
585 | neck.C0 = normposn*ang(0,M.D(i/(180/-20)),0) | |
586 | end | |
587 | end | |
588 | lock.R(0) lock.L(0) | |
589 | end | |
590 | ||
591 | function teleport(mouse) | |
592 | char:MoveTo(mouse.hit.p) | |
593 | end | |
594 | ||
595 | klist = { | |
596 | {'f',function() headbang() end,''}, | |
597 | {'q',function() spin2() end,''}, | |
598 | {'e',function() spin() end,''}, | |
599 | {'c',function() rest() end}, | |
600 | {'r',function() lazors() end,''}, | |
601 | {'g',function() spare() end}, | |
602 | {'v',function() disco() end}, | |
603 | {'t',function(a) teleport(a) end}, | |
604 | {'h',function() doll() end} | |
605 | } | |
606 | ||
607 | function bowl() return end | |
608 | ||
609 | hop.Deselected:connect(function() lock.R(0) lock.L(0) end) | |
610 | hop.Selected:connect(function(mouse) | |
611 | mouse.Button1Up:connect(function() holding = false end) | |
612 | mouse.KeyUp:connect(function(a) for i,v in pairs(klist) do if a == v[1] and v[3] ~= nil then holding = false end end end) | |
613 | mouse.KeyDown:connect(function(key) if attacking then return end | |
614 | for i,v in pairs(klist) do | |
615 | if key == v[1] then attacking = true v[2](mouse) attacking = false end | |
616 | end | |
617 | end) | |
618 | ||
619 | mouse.Button1Down:connect(function() if attacking then return end attacking = true bowl(mouse) attacking = false end) | |
620 | end) | |
621 | --medifire |