Advertisement
aidanthescriptor101

angel wings

Jan 9th, 2016
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.22 KB | None | 0 0
  1.  
  2. ply = game.Players.LocalPlayer
  3. char = ply.Character
  4. torso = char.Torso
  5. cfn,ang,v3n,ud2n,V2,bcol = CFrame.new,CFrame.Angles,Vector3.new,UDim2.new,Vector2.new,BrickColor.new
  6. mcos,msin,mtan,md,mr = math.cos,math.sin,math.tan,math.rad,math.random
  7. debris = game:service'Debris'
  8. floatforce = 196.25
  9. pcall(function() char.HAWK:Destroy() end)
  10. m = Instance.new("Model",char) m.Name = 'HAWK'
  11. script.Parent = m
  12. local mouse = ply:GetMouse()
  13.  
  14.  
  15. rs,ls = torso['Right Shoulder'],torso['Left Shoulder']
  16. rarm = char["Right Arm"]
  17. larm = char["Left Arm"]
  18. rleg = char["Right Leg"]
  19. lleg = char["Left Leg"]
  20.  
  21. udim = function(a,b) return UDim2.new(a,0,b,0) end
  22. bcol = function(a) return BrickColor.new(a) end
  23.  
  24. for i = 0,1 do --------UTILITIES START-------
  25. function fade(a,b,c,d)
  26. if type(a) ~= 'table' then
  27. for i = b,c,d do
  28. a.Transparency = i
  29. wait()
  30. end
  31. else
  32. for i = b,c,d do
  33. for _,v in pairs(a) do
  34. v.Transparency = i
  35. end
  36. wait()
  37. end
  38. end
  39. end
  40.  
  41. function FilterTab(tab,what)
  42. Result = {}
  43. local function filter2(a)
  44. if type(a) == 'string' then
  45. return a
  46. else
  47. return a.className
  48. end
  49. end
  50.  
  51. for i,v in pairs(tab) do
  52. if type(what) ~= 'table' then
  53. if v:IsA(filter2(what)) then
  54. table.insert(Result,v)
  55. end
  56. else
  57. for i,q in pairs(what) do
  58. if v:IsA(filter2(q)) then
  59. table.insert(Result,v)
  60. end
  61. end
  62. end
  63. end
  64. return Result
  65. end
  66.  
  67.  
  68. function colorslide(object,targetcolor,bool)
  69. local function a()
  70. if type(object) ~= 'table' then
  71. rgb1,rgb2 =object.Color, BrickColor.new(targetcolor).Color
  72. for i = 0,1,.2 do
  73. object.Color = Color3.new(
  74. (rgb1.r * (1-i))+(rgb2.r * i),
  75. (rgb1.g * (1-i))+(rgb2.g * i),
  76. (rgb1.b * (1-i))+(rgb2.b * i)
  77. )
  78. wait()
  79. end
  80. object.Color = rgb2
  81. else
  82. rgb1,rgb2 = object[1].Color,BrickColor.new(targetcolor).Color
  83. for i = 0,1,.2 do
  84. for _,v in pairs(object) do
  85. v.Color = Color3.new(
  86. (rgb1.r * (1-i))+(rgb2.r * i),
  87. (rgb1.g * (1-i))+(rgb2.g * i),
  88. (rgb1.b * (1-i))+(rgb2.b * i)
  89. )
  90. end
  91. wait()
  92. end
  93. for _,v in pairs(object) do v.Color = rgb2 end
  94. end
  95. end
  96. if bool then T.C(a) else a() end
  97. end
  98.  
  99. function l(a,x,y,z,b)
  100. if b == nil then
  101. return a.CFrame*cfn(x,y,z)
  102. else
  103. return a*cfn(x,y,z)
  104. end
  105. end
  106. function zeero(mot,a) local oldvelocity = mot.MaxVelocity mot.MaxVelocity = 1.7E+308
  107. if a == nil then mot.DesiredAngle = 0
  108. else mot.DesiredAngle = a
  109. end
  110. while mot.DesiredAngle ~= mot.CurrentAngle do wait() end
  111. mot.MaxVelocity = oldvelocity
  112. end
  113. function ventta(mot)
  114. while mot.DesiredAngle ~= mot.CurrentAngle do wait() end
  115. end
  116.  
  117. function genNew(ClassName, Parent, Properties)
  118. local nObj = Instance.new(ClassName, Parent)
  119. if Properties["FormFactor"] then
  120. nObj["FormFactor"] = Properties["FormFactor"]
  121. end
  122. for Prop, Value in pairs(Properties) do
  123. nObj[Prop] = Value
  124. end
  125. return nObj
  126. end
  127.  
  128. T = {["P"] = function(x,y,z,color,transparency,cancollide,anchored,parent,typee)
  129. if typee == 'wedge' then
  130. c = Instance.new("WedgePart",m)
  131. elseif typee == 'seat' then
  132. c = Instance.new("Seat",m)
  133. elseif typee == 'vseat' then
  134. c = Instance.new("VehicleSeat",m)
  135. else
  136. c = Instance.new("Part",m)
  137. end
  138. c.TopSurface,c.BottomSurface = 0,0
  139. c.Locked = true
  140. c.formFactor = "Custom"
  141. c.Size = Vector3.new(x,y,z)
  142. if color ~= "random" then
  143. c.BrickColor = BrickColor.new(color)
  144. else c.BrickColor = BrickColor:random()
  145. end
  146. c.Transparency = transparency
  147. c.CanCollide = cancollide
  148. if anchored ~= nil then c.Anchored = anchored end
  149. if parent ~= nil then c.Parent = parent end
  150. return c
  151. end
  152. ,
  153. ["C"] = function(func) coroutine.resume(coroutine.create(func)) end
  154. ,
  155. ["W"] = function(part0,part1,x,y,z,rx,ry,rz,parent)
  156. w = Instance.new("Motor",m)
  157. if parent ~= nil then w.Parent = parent end
  158. w.Part0,w.Part1 = part0,part1
  159. w.C1 = CFrame.new(x,y,z) * CFrame.Angles(rx,ry,rz)
  160. w.MaxVelocity = .1
  161. return w
  162. end
  163. ,
  164. ["BG"] = function(parent)
  165. local c = Instance.new("BodyGyro",parent)
  166. c.P = 20e+003
  167. c.cframe = parent.CFrame
  168. c.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge
  169. return c
  170. end
  171. ,
  172. ["BP"] = function(parent,position)
  173. local bp = Instance.new("BodyPosition",parent)
  174. bp.maxForce = Vector3.new()*math.huge
  175. bp.position = position
  176. return bp
  177. end
  178. ,
  179. ["F"] = function(parent,size,heat,color,secondcolor,enabled)
  180. f = Instance.new("Fire",parent)
  181. f.Size = size
  182. f.Heat = heat
  183. if enabled ~= nil then f.Enabled = enabled end
  184. if color ~= nil then f.Color = BrickColor.new(color).Color end
  185. if secondcolor ~= nil then f.SecondaryColor = BrickColor.new(secondcolor).Color end
  186. return f
  187. end
  188. ,
  189.  
  190. ["FM"] = function(parent,meshid,x,y,z,meshtexture)
  191. if meshid == "cylinder" then
  192. mesh = Instance.new("CylinderMesh",parent)
  193. mesh.Scale = Vector3.new(x,y,z)
  194. return mesh
  195. elseif meshid == 'block' then
  196. mesh = Instance.new("SpecialMesh",parent)
  197. mesh.MeshId = 'rbxassetid://9856898'
  198. mesh.Scale = v3n(x*parent.Size.x,y*parent.Size.y,z*parent.Size.z)*2
  199. if meshtexture then mesh.TextureId = 'rbxassetid://'..textureids[meshtexture] end
  200. return mesh
  201. end
  202. mesh = Instance.new("SpecialMesh",parent)
  203.  
  204. if meshid == 'wedge' then
  205. mesh.MeshType = 'Wedge'
  206. elseif meshid == 'sphere' then
  207. mesh.MeshType = 3
  208. elseif type(meshid) == "number" then
  209. mesh.MeshId = "rbxassetid://"..meshid
  210. else
  211. mesh.MeshId = "rbxassetid://"..meshids[meshid]
  212. end
  213. mesh.Scale = Vector3.new(x,y,z)
  214. if meshtexture then
  215. if type(meshtexture) == "number" then mesh.TextureId = "rbxassetid://"..meshtexture else
  216. mesh.TextureId = "rbxassetid://"..textureids[meshtexture] end
  217. end
  218. return mesh
  219. end,
  220.  
  221. ["Dec"] = function(parent,face,id,transparency)
  222. c = Instance.new("Decal",parent)
  223. c.Face = face
  224. c.Texture = id
  225. if transparency then c.Transparency = transparency end
  226. return c
  227. end
  228. }
  229.  
  230. function FindHumanoid(a,b)
  231. local hum
  232. for i,v in pairs(a:children()) do
  233. if v:IsA'Humanoid' then
  234. if not b then
  235. if v.Parent ~= char then hum = v break end
  236. else hum = v break end
  237. end
  238. end
  239. return hum
  240. end
  241. function damage(hit,amount,delay,color) ---- VAHINKO DAMAGE
  242. hum = FindHumanoid(hit)
  243. if hum then
  244. if delay then
  245. local found = CheckTag(hum,'tag')
  246. if not found then
  247. local tag = AddTag(hum,'tag')
  248. debris:AddItem(tag,delay)
  249. hum.Health = hum.Health - amount
  250. local hed = hum.Parent.Head
  251. local bbg = genNew('BillboardGui',hed,{
  252. Adornee = hed;
  253. Size = udim(3,3);
  254. StudsOffset = v3n(mr(-2,2),mr(3,5),mr(-2,2));
  255. })
  256.  
  257. local img = genNew('TextLabel',bbg,{
  258. Text = amount;
  259. TextScaled = true;
  260. TextColor = bcol(color or 'White');
  261. Size = UDim2.new(3,0,3,0);
  262. BackgroundTransparency = 1;
  263. })
  264. T.C(function() wait(.1) for i = 3,.1,-.1 do bbg.Size = udim(i,i) wait() end bbg:Destroy() end)
  265.  
  266. end
  267. else hum.Health = hum.Health - amount
  268. end
  269.  
  270. return hum
  271. end
  272. end
  273.  
  274. rtorso = torso
  275.  
  276. function scale(msh,str,a,b,c,bool)
  277. local amount
  278. local dims = {x=0,y=0,z=0}
  279. local func = function()
  280. for word in str:gmatch('%d+') do
  281. amount = word
  282. end
  283. amount = not amount and 1 or amount
  284. for word in str:gmatch('%w') do
  285. if word == 'x' or word == 'y' or word == 'z' then
  286. dims[word] = amount
  287. end
  288. end
  289. if type(mesh) ~= 'table' then
  290. for i = a,b,c or .01 do
  291. msh.Scale = v3n(dims.x*i,dims.y*i,dims.z*i)
  292. wait()
  293. end
  294. else
  295. for i = a,b,c or .01 do
  296. for _,v in pairs(mesh) do
  297. v.Scale = v3n(dims.x*i,dims.y*i,dims.z*i)
  298. end
  299. wait()
  300. end
  301. end
  302. end
  303. if bool then T.C(func) else func() end
  304. end
  305.  
  306.  
  307. lock = {["R"] =
  308. function(a)
  309. if a == 1 then
  310. rabrick = T.P(1.1,1.1,1.1,"Dark stone grey",1,false,false)
  311. rw = T.W(rabrick,rtorso,1.5,.5,0,0,0,0)
  312. T.W(rarm,rabrick,0,-.5,0,0,0,0)
  313. elseif a == 2 then
  314. rlbrick = T.P(1,1,1,"Dark stone grey",1,false,false)
  315. rhw = T.W(rlbrick,rtorso,.5,-1.5,0,0,0,0)
  316. T.W(rleg,rlbrick,0,-.5,0,0,0,0)
  317. elseif a == 0 then
  318. rs.Parent = rtorso
  319. rw.Parent = nil
  320. rabrick:Destroy() rabrick = nil
  321. elseif a == -1 then
  322. rhw.Parent = nil
  323. rh.Parent = rtorso
  324. rlbrick:Destroy() rlbrick = nil
  325. end
  326. end
  327. , ["L"] = function(a)
  328. if a == 1 then
  329. labrick = T.P(1,1,1,"Dark stone grey",1,false,false)
  330. lw = T.W(labrick,rtorso,-1.5,.5,0,0,0,0)
  331. T.W(larm,labrick,0,-.5,0,0,0,0)
  332. elseif a == 2 then
  333. llbrick = T.P(1,1,1,"Dark stone grey",1,false,false)
  334. lhw = T.W(llbrick,rtorso,-.5,-1.5,0,0,0,0)
  335. T.W(lleg,llbrick,0,-.5,0,0,0,0)
  336. elseif a == 0 then
  337. ls.Parent = rtorso
  338. lw.Parent = nil
  339. labrick:Destroy() labrick = nil
  340. elseif a == -1 then
  341. lhw.Parent = nil
  342. lh.Parent = rtorso
  343. llbrick:Destroy() llbrick = nil
  344. end
  345. end
  346. }
  347.  
  348. cfn,ang = CFrame.new,CFrame.Angles
  349. function spaas(position,radius,number,number2,color)
  350. mode = Instance.new("Model",m)
  351.  
  352. for i = 1,number2 do
  353. local pos = position+v3n(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius))
  354. local mag = (position-pos).magnitude
  355.  
  356. local col = color or 'Toothpaste'
  357. local laz = T.P(.1,mag,.1,col,0,false,true,mode)
  358.  
  359. T.FM(laz,'cylinder',.3,1,.3)
  360. laz.CFrame = (cfn(position,pos)*cfn(0,0,-mag/2))*ang(math.pi/2,0,0)
  361.  
  362. cframe = (laz.CFrame*cfn(0,-mag/2,0)).p
  363. pos2 = cframe+v3n(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius))
  364. mag2 = (cframe-pos2).magnitude
  365. local laz2 = T.P(.1,mag2,.1,col,0,false,true,mode)
  366. T.FM(laz2,'cylinder',.3,1,.3)
  367. laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0)
  368.  
  369. previo = laz2
  370. for i = 1,number do
  371. cframe = (previo.CFrame*cfn(0,-mag/2,0)).p
  372. pos2 = cframe+v3n(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius))
  373. mag2 = (cframe-pos2).magnitude
  374.  
  375. local laz2 = T.P(.1,mag2,.1,col,0,false,true,mode)
  376. T.FM(laz2,'cylinder',.3,1,.3)
  377. laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0)
  378.  
  379. previo = laz2
  380. end
  381.  
  382. end
  383. debris:AddItem(mode,.1)
  384. return mode
  385. end
  386.  
  387. function lightning(startpos,endpos,times,offse,livetime,col)
  388. local curpos = startpos
  389. for i = 1,times do
  390. mag = (startpos-endpos).magnitude offs = {-offse,offse}
  391. offset = v3n(offs[mr(1,2)],offs[mr(1,2)],offs[mr(1,2)])
  392. laz = T.P(.1,.1,mag/times,col,0,false,true,m)
  393. apos = (cfn(curpos,endpos)*cfn(0,0,-mag/times)).p+offset
  394. if times == i then
  395. mag2 = (curpos-endpos).magnitude
  396. laz.Size = v3n(.1,.1,mag2)
  397. laz.CFrame = cfn(curpos,endpos)*cfn(0,0,-mag2/2)
  398. else
  399. laz.CFrame = cfn(curpos,apos)*cfn(0,0,-mag/times/2)
  400. end
  401. curpos = laz.CFrame*cfn(0,0,-mag/times/2).p debris:AddItem(laz,livetime)
  402. end
  403. end
  404.  
  405. ------MESHIDS---
  406. meshids = {["penguin"] = 15853464, ["ring"] = 3270017,
  407. ["spike"] = 1033714,["cone"] = 1082802,["crown"] = 20329976,["crossbow"] = 15886761,
  408. ["cloud"] = 1095708,["mjolnir"] = 1279013,["diamond"] = 9756362, ["hand"] = 37241605,
  409. ["fist"] = 65322375,["skull"] = 36869983,["totem"] = 35624068,["spikeb"] = 9982590,["dragon"] = 58430372,["fish"] = 31221717, ["coffee"] = 15929962,["spiral"] = 1051557,
  410. ["ramen"] = 19380188,["lightning"] = 72583597,["bullet"]=2697549,['cheese'] = 1090700,["pan"] = 24342877,["ketchup"] = 29690481,
  411. ["duck"] = 9419831,["unicorn"]=84003494,["luatophat"] = 42157240,["rooster"] = 24101267}---some meshids
  412. textureids = {["cone"] = 1082804,["rainbow"] = 28488599,["fish"] = 31221733, ["coffee"] = 24181455,["monster"] = 33366441,["ramen"] = 19380153,
  413. ["cheese"] = 1090703,['rooster'] = 24258160}
  414.  
  415.  
  416. function AddTag(object,tagname) local tag = Instance.new("BoolValue",object) tag.Name = tagname return tag end
  417. function CheckTag(object,tagname) local found = object:FindFirstChild(tagname) if found then return found else return _ end end
  418. function RemoveTag(object,tagname) local found = CheckTag(object,tagname) if found then found:Remove() end end
  419.  
  420. waitbp = function(a,r) while (a.Parent.Position-a.position).magnitude > r do wait() end end
  421.  
  422. function FindGround(position,radius,ignore)
  423. if ignore then
  424. ig = ignore table.insert(ig,m)
  425. else ig = {m}
  426. end
  427. local ray = Ray.new(position,Vector3.FromNormalId(Enum.NormalId.Bottom)*radius)
  428. local obj,pos2 = Workspace:FindPartOnRayWithIgnoreList(ray,ig)
  429. if obj and pos2 then return obj,pos2 else return nil end
  430. end
  431.  
  432. function calcp(a,b) --- Direction CFrame
  433. return cfn(a,v3n(b.x,a.y,b.z))
  434. end
  435.  
  436. --------ANIMATING FUNCTION--------
  437. tw = function(Weld, Stop, Step,a)
  438. local func = function()
  439. local Start = Weld.C0
  440. local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
  441. local Stop = Stop
  442. local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
  443.  
  444. for i = 0, 1, Step or .1 do
  445. Weld.C0 = CFrame.new( (Start.p.X * (1 - i)) + (Stop.p.X * i),
  446. (Start.p.Y * (1 - i)) + (Stop.p.Y * i),
  447. (Start.p.Z * (1 - i)) + (Stop.p.Z * i)) * CFrame.fromEulerAnglesXYZ(
  448. (X1 * (1 - i)) + (X2 * i), (Y1 * (1 - i)) + (Y2 * i),
  449. (Z1 * (1 - i)) + (Z2 * i) )
  450. wait()
  451. end
  452.  
  453. Weld.C0 = Stop
  454. end
  455. if a then T.C(function() func() end) else func() end
  456. end
  457. ------------------------------------
  458.  
  459. function weldall(q)
  460. if q == 1 then a,b = 1,2 else a,b = -1,0 end
  461. for i = a,b do lock.R(i) lock.L(i) end
  462. end
  463. function FindPlayers(a,b,c) --- Finds Players near a part
  464. local list = {}
  465. for i,v in pairs(Workspace:children()) do
  466. if v:IsA("Model") then
  467. for _,q in pairs(v:children()) do
  468. if q:IsA("Humanoid") then
  469. if q.Health > -1 then
  470. if c and q.Parent ~= char then
  471. if (q.Torso.Position-a).magnitude < b then
  472. table.insert(list,v)
  473. end
  474. elseif not c then
  475. if (q.Torso.Position-a).magnitude < b then
  476. table.insert(list,v)
  477. end
  478. end
  479. end
  480. end
  481. end
  482. end
  483. end
  484. return list
  485. end
  486. end
  487. hdl = T.P(.5,4,.5,'Navy blue',0,false,false)
  488. hw = T.W(hdl,rarm,0,-1,-.5,-math.pi/2,0,0)
  489.  
  490. tip = T.P(1,1,1,'White',0,false,false)
  491. T.W(tip,hdl,0,2.45,0,0,0,0)
  492.  
  493. p2 = T.P(1.5,1,1.5,'Black',0,false,false)
  494. mot = T.W(p2,tip,0,1,0,-math.pi/2,0,0)
  495. mot.C0 = cfn()*ang(-math.pi/2,0,0)
  496.  
  497. cyl = T.P(1.2,.1,1.2,'Bright red',0,false,false)
  498. T.W(cyl,p2,0,.55,0,0,0,0)
  499.  
  500. lock.R(1)
  501.  
  502. tw(rw,cfn()*ang(md(-80),md(-40),0)) np = rw.C0
  503.  
  504. Sound = {}
  505. for i,v in pairs(FilterTab(char.Head:children(),'Sound')) do
  506. if v.Name == "Mugex's Weapon Sound" then v:Destroy() end
  507. end
  508. Sound.new = function(id,pitch)
  509. local obj = Instance.new("Sound",char.Head)
  510. obj.Name = "Mugex's Weapon Sound"
  511. obj.SoundId = id
  512. obj.Pitch = pitch or 1
  513. return obj
  514. end
  515.  
  516. slash_snd = Sound.new("http://www.roblox.com/Asset/?id=10209640",.5)
  517. shoot_snd = Sound.new("http://www.roblox.com/Asset/?id=10209897")
  518. notar_snd = Sound.new("http://www.roblox.com/Asset/?id=10209771")
  519. elec_snd = Sound.new("http://www.roblox.com/Asset/?id=11998777")
  520.  
  521. function att()
  522. con = tip.Touched:connect(function(hit) local hum = damage(hit.Parent,5,.05,'Bright red')
  523. if hum then elec_snd:Play() spaas(hum.Torso.Position,3,2,2,'Bright red') end
  524. end)
  525.  
  526. tw(rw,cfn()*ang(md(-140),md(20),0))
  527. slash_snd:Play()
  528. tw(rw,cfn()*ang(md(40),0,0),.2)
  529. tw(rw,np)
  530. con:disconnect()
  531. end
  532.  
  533. function spiker() r = 1
  534. tw(rw,cfn()*ang(md(-90),0,0),.1,'')
  535. tw(hw,cfn(0,-1,0)*ang(math.pi/2,0,0))
  536. local count = 0
  537. spikes = Instance.new('Model',m)
  538. for i = 1,360,30 do
  539. sp = T.P(.4,.4,.4,'Magenta',1,false,false,spikes) local msh = T.FM(sp,'spike',.4,2,.4)
  540. local w = T.W(sp,p2,mcos(md(i))*r,0,msin(md(i))*r,math.pi/2,0,math.pi/2+md(i))
  541. w.C0 = cfn()*ang(math.pi,0,0)
  542. end
  543. fade(spikes:children(),1,0,-.1)
  544. shooting = true
  545. bg = T.BG(torso)
  546. T.C(function() while shooting do wait() bg.cframe = calcp(torso.Position,mouse.hit.p) end end)
  547. T.C(function()
  548. while shooting do
  549. local p = T.P(1,1,1,'White',0,true,false) T.FM(p,'skull',1,1,1,7920311)
  550. p.CFrame = cyl.CFrame*cfn(0,1,0)
  551. p.Touched:connect(function(hit) local h = damage(hit.Parent,3,.1,'Deep blue') if h then fade(p,0,1,.1) p:Destroy() end end)
  552. Instance.new("BodyForce",p).force = torso.CFrame.lookVector*30+v3n(0,p:GetMass()*floatforce,0)
  553. debris:AddItem(p,2) shoot_snd:Play() wait(.2)
  554. end end)
  555.  
  556. for i = 1,3 do
  557. mot.DesiredAngle = md(360)
  558. ventta(mot)
  559. zeero(mot,0)
  560. end
  561. notar_snd:Play()
  562. shooting = false bg:Destroy()
  563. fade(spikes:GetChildren(),0,1,.1) spikes:Destroy()
  564. tw(rw,np,.1,'')
  565. tw(hw,cfn())
  566. end
  567.  
  568. wing1 = T.P(5,3.5,1,'White',.3,false,false) T.FM(wing1,90821133,2,2,2,90782359)
  569. w1 = T.W(wing1,torso,0,1,.5,-math.pi/2,0,0)
  570. w1.C0 = cfn(2.5,0,0)*ang(-math.pi/2,0,0)
  571. w1.DesiredAngle = .5
  572.  
  573. wing1 = T.P(5,3.5,1,'White',.3,false,false) T.FM(wing1,90821193 or 92135556,2,2,2,90782359)
  574. w2 = T.W(wing1,torso,0,1,.5,-math.pi/2,0,0)
  575. w2.C0 = cfn(-2.5,0,0)*ang(-math.pi/2,0,0)
  576. w2.DesiredAngle = -.5
  577.  
  578. fly_bp = _
  579. flap = Sound.new('http://www.roblox.com/asset/?id=90820031')
  580. function hover()
  581. if not fly_bp then
  582. fly_bp = T.BP(torso,torso.Position)
  583. T.C(function()
  584. while fly_bp do
  585. w1.DesiredAngle = 1
  586. w2.DesiredAngle = -1
  587. ventta(w1)
  588. flap:Play()
  589. w1.DesiredAngle = .5
  590. w2.DesiredAngle = -.5
  591. ventta(w1)
  592. end
  593. end)
  594. else fly_bp:Destroy() fly_bp = _
  595. end
  596. end
  597.  
  598. function fly()
  599. if fly_bp then
  600. fly_bg = T.BG(torso)
  601. holding = true
  602. while holding do wait() unit = (torso.Position-mouse.hit.p).unit
  603. fly_bg.cframe = calcp(torso.Position,mouse.hit.p)
  604. fly_bp.position = fly_bp.position+unit*-5
  605. end
  606. fly_bg:Destroy()
  607. end
  608. end
  609. cork = Sound.new("http://www.roblox.com/asset/?id=18426149")
  610. function tablets() local r = 10
  611. local tabs = Instance.new("Model",Workspace)
  612. for i = 36,360,360/30 do
  613. p = T.P(2.5,5,.5,'Deep blue',.5,false,true,tabs)
  614. p.Name = 'MugTable'
  615. p.Touched:connect(function(hit) damage(hit.Parent,10,1,'New Yeller') end)
  616. pos = l(torso,mcos(md(i))*r,0,msin(md(i))*r).p
  617. p.CFrame = calcp(pos,torso.Position)
  618. end
  619. local box = Instance.new("SelectionBox",m) holding = true
  620.  
  621. local all = tabs:children()
  622.  
  623. T.C(function()
  624. while holding do
  625. for i,v in pairs(all) do
  626. a = 360/#all*i
  627. local pos = l(torso,mcos(md(a))*r,0,msin(md(a))*r).p
  628. v.CFrame = calcp(pos,torso.Position)
  629. end
  630. wait()
  631. end
  632. end)
  633.  
  634. while holding do
  635. if mouse.Target.Name == 'MugTable' then
  636. box.Adornee = mouse.Target
  637. end
  638. wait()
  639. end
  640. cork:Play()
  641. local selected = box.Adornee or _
  642. if not selected then tabs:Destroy() return end
  643. selected.Anchored = false box:Destroy()
  644. for i,v in pairs(all) do if v ~= selected then v:Destroy() end end
  645. vel = Instance.new("BodyVelocity",selected)
  646. vel.maxForce = v3n(1,0,1)*math.huge
  647. vel.velocity = selected.CFrame.lookVector*-60
  648. debris:AddItem(tabs,4)
  649. end
  650.  
  651. function dive()
  652. if fly_bp then
  653. unit = (torso.Position-mouse.hit.p).unit
  654. fly_bp.Parent = _
  655. torso.Anchored = true
  656. oldp = torso.Position
  657. torso.CFrame = cfn((torso.Position + unit*-100),oldp)*ang(0,math.pi,0)
  658. mag = (oldp-torso.Position).magnitude
  659. local laz = T.P(1,mag,2,'Cyan',0,false,true)
  660. laz.CFrame = cfn(oldp,torso.Position)*cfn(0,0,-mag/2)*ang(math.pi/2,0,0)
  661. T.C(function() fade(laz,0,1,.1) laz:Destroy() end)
  662. torso.Anchored = false
  663. fly_bp.Parent = torso fly_bp.position = torso.Position
  664. end
  665. end
  666.  
  667. klist = {
  668. {'f',function() att() end};
  669. {'q',function() spiker() end};
  670. {'r',function() fly() end,''};
  671. {'e',function() hover() end};
  672. {'c',function() tablets() end,''};
  673. {'t',function() dive() end};
  674. }
  675.  
  676. mouse.Button1Up:connect(function() holding = false end)
  677. 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)
  678. mouse.KeyDown:connect(function(key)
  679. if attacking then return end
  680. for i,v in pairs(klist) do
  681. if key == v[1] then attacking = true v[2](mouse) attacking = false end
  682. end
  683. end)
  684. --mediafire
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement