Advertisement
num6456

cool wing

May 22nd, 2018
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.04 KB | None | 0 0
  1. --//====================================================\\--
  2. --|| CREATED BY SHACKLUSTER
  3. --\\====================================================//--
  4.  
  5. wait(0.2)
  6.  
  7. Player = game:GetService("Players").LocalPlayer
  8. PlayerGui = Player.PlayerGui
  9. Cam = workspace.CurrentCamera
  10. Backpack = Player.Backpack
  11. Character = Player.Character
  12. Humanoid = Character.Humanoid
  13. Mouse = Player:GetMouse()
  14. RootPart = Character["HumanoidRootPart"]
  15. Torso = Character["Torso"]
  16. Head = Character["Head"]
  17. RightArm = Character["Right Arm"]
  18. LeftArm = Character["Left Arm"]
  19. RightLeg = Character["Right Leg"]
  20. LeftLeg = Character["Left Leg"]
  21. RootJoint = RootPart["RootJoint"]
  22. Neck = Torso["Neck"]
  23. RightShoulder = Torso["Right Shoulder"]
  24. LeftShoulder = Torso["Left Shoulder"]
  25. RightHip = Torso["Right Hip"]
  26. LeftHip = Torso["Left Hip"]
  27. local sick = Instance.new("Sound",Torso)
  28. sick.SoundId = "rbxassetid://381617635"
  29. sick.Looped = true
  30. sick.Pitch = 1
  31. sick.Volume = 10
  32. sick:Play()
  33.  
  34. IT = Instance.new
  35. CF = CFrame.new
  36. VT = Vector3.new
  37. RAD = math.rad
  38. C3 = Color3.new
  39. UD2 = UDim2.new
  40. BRICKC = BrickColor.new
  41. ANGLES = CFrame.Angles
  42. EULER = CFrame.fromEulerAnglesXYZ
  43. COS = math.cos
  44. ACOS = math.acos
  45. SIN = math.sin
  46. ASIN = math.asin
  47. ABS = math.abs
  48. MRANDOM = math.random
  49. FLOOR = math.floor
  50.  
  51. --//=================================\\
  52. --|| USEFUL VALUES
  53. --\\=================================//
  54.  
  55. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  56. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  57. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  58. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  59. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  60. local DAMAGEMULTIPLIER = 1
  61. local ANIM = "Idle"
  62. local ATTACK = false
  63. local EQUIPPED = false
  64. local HOLD = false
  65. local COMBO = 1
  66. local Rooted = false
  67. local SINE = 0
  68. local KEYHOLD = false
  69. local CHANGE = 2 / Animation_Speed
  70. local WALKINGANIM = false
  71. local VALUE1 = false
  72. local VALUE2 = false
  73. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  74. WEAPONGUI.Name = "Weapon GUI"
  75. local Weapon = IT("Model")
  76. Weapon.Name = "Adds"
  77. local Effects = IT("Folder", Weapon)
  78. Effects.Name = "Effects"
  79. l
  80. local UNANCHOR = true
  81. local FORCEWINGS = false
  82.  
  83. --//=================================\\
  84. --\\=================================//
  85.  
  86.  
  87. --//=================================\\
  88. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  89. --\\=================================//
  90.  
  91. ArtificialHB = Instance.new("BindableEvent", script)
  92. ArtificialHB.Name = "ArtificialHB"
  93.  
  94. script:WaitForChild("ArtificialHB")
  95.  
  96. frame = Frame_Speed
  97. tf = 0
  98. allowframeloss = false
  99. tossremainder = false
  100. lastframe = tick()
  101. script.ArtificialHB:Fire()
  102.  
  103. game:GetService("RunService").Heartbeat:connect(function(s, p)
  104. tf = tf + s
  105. if tf >= frame then
  106. if allowframeloss then
  107. script.ArtificialHB:Fire()
  108. lastframe = tick()
  109. else
  110. for i = 1, math.floor(tf / frame) do
  111. script.ArtificialHB:Fire()
  112. end
  113. lastframe = tick()
  114. end
  115. if tossremainder then
  116. tf = 0
  117. else
  118. tf = tf - frame * math.floor(tf / frame)
  119. end
  120. end
  121. end)
  122.  
  123. --//=================================\\
  124. --\\=================================//
  125.  
  126. --//=================================\\
  127. --|| SOME FUNCTIONS
  128. --\\=================================//
  129.  
  130. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  131. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  132. end
  133.  
  134. function PositiveAngle(NUMBER)
  135. if NUMBER >= 0 then
  136. NUMBER = 0
  137. end
  138. return NUMBER
  139. end
  140.  
  141. function NegativeAngle(NUMBER)
  142. if NUMBER <= 0 then
  143. NUMBER = 0
  144. end
  145. return NUMBER
  146. end
  147.  
  148. function Swait(NUMBER)
  149. if NUMBER == 0 or NUMBER == nil then
  150. ArtificialHB.Event:wait()
  151. else
  152. for i = 1, NUMBER do
  153. ArtificialHB.Event:wait()
  154. end
  155. end
  156. end
  157.  
  158. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  159. local NEWMESH = IT(MESH)
  160. if MESH == "SpecialMesh" then
  161. NEWMESH.MeshType = MESHTYPE
  162. if MESHID ~= "nil" and MESHID ~= "" then
  163. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  164. end
  165. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  166. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  167. end
  168. end
  169. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  170. NEWMESH.Scale = SCALE
  171. NEWMESH.Parent = PARENT
  172. return NEWMESH
  173. end
  174.  
  175. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  176. local NEWPART = IT("Part")
  177. NEWPART.formFactor = FORMFACTOR
  178. NEWPART.Reflectance = REFLECTANCE
  179. NEWPART.Transparency = TRANSPARENCY
  180. NEWPART.CanCollide = false
  181. NEWPART.Locked = true
  182. NEWPART.Anchored = true
  183. if ANCHOR == false then
  184. NEWPART.Anchored = false
  185. end
  186. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  187. NEWPART.Name = NAME
  188. NEWPART.Size = SIZE
  189. NEWPART.Position = Torso.Position
  190. NEWPART.Material = MATERIAL
  191. NEWPART:BreakJoints()
  192. NEWPART.Parent = PARENT
  193. return NEWPART
  194. end
  195.  
  196. function QuaternionFromCFrame(cf)
  197. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  198. local trace = m00 + m11 + m22
  199. if trace > 0 then
  200. local s = math.sqrt(1 + trace)
  201. local recip = 0.5 / s
  202. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  203. else
  204. local i = 0
  205. if m11 > m00 then
  206. i = 1
  207. end
  208. if m22 > (i == 0 and m00 or m11) then
  209. i = 2
  210. end
  211. if i == 0 then
  212. local s = math.sqrt(m00 - m11 - m22 + 1)
  213. local recip = 0.5 / s
  214. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  215. elseif i == 1 then
  216. local s = math.sqrt(m11 - m22 - m00 + 1)
  217. local recip = 0.5 / s
  218. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  219. elseif i == 2 then
  220. local s = math.sqrt(m22 - m00 - m11 + 1)
  221. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  222. end
  223. end
  224. end
  225.  
  226. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  227. local xs, ys, zs = x + x, y + y, z + z
  228. local wx, wy, wz = w * xs, w * ys, w * zs
  229. local xx = x * xs
  230. local xy = x * ys
  231. local xz = x * zs
  232. local yy = y * ys
  233. local yz = y * zs
  234. local zz = z * zs
  235. return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
  236. end
  237.  
  238. function QuaternionSlerp(a, b, t)
  239. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  240. local startInterp, finishInterp;
  241. if cosTheta >= 0.0001 then
  242. if (1 - cosTheta) > 0.0001 then
  243. local theta = ACOS(cosTheta)
  244. local invSinTheta = 1 / SIN(theta)
  245. startInterp = SIN((1 - t) * theta) * invSinTheta
  246. finishInterp = SIN(t * theta) * invSinTheta
  247. else
  248. startInterp = 1 - t
  249. finishInterp = t
  250. end
  251. else
  252. if (1 + cosTheta) > 0.0001 then
  253. local theta = ACOS(-cosTheta)
  254. local invSinTheta = 1 / SIN(theta)
  255. startInterp = SIN((t - 1) * theta) * invSinTheta
  256. finishInterp = SIN(t * theta) * invSinTheta
  257. else
  258. startInterp = t - 1
  259. finishInterp = t
  260. end
  261. end
  262. return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
  263. end
  264.  
  265. function Clerp(a, b, t)
  266. local qa = {QuaternionFromCFrame(a)}
  267. local qb = {QuaternionFromCFrame(b)}
  268. local ax, ay, az = a.x, a.y, a.z
  269. local bx, by, bz = b.x, b.y, b.z
  270. local _t = 1 - t
  271. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  272. end
  273.  
  274. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  275. local frame = IT("Frame")
  276. frame.BackgroundTransparency = TRANSPARENCY
  277. frame.BorderSizePixel = BORDERSIZEPIXEL
  278. frame.Position = POSITION
  279. frame.Size = SIZE
  280. frame.BackgroundColor3 = COLOR
  281. frame.BorderColor3 = BORDERCOLOR
  282. frame.Name = NAME
  283. frame.Parent = PARENT
  284. return frame
  285. end
  286.  
  287. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  288. local label = IT("TextLabel")
  289. label.BackgroundTransparency = 1
  290. label.Size = UD2(1, 0, 1, 0)
  291. label.Position = UD2(0, 0, 0, 0)
  292. label.TextColor3 = TEXTCOLOR
  293. label.TextStrokeTransparency = STROKETRANSPARENCY
  294. label.TextTransparency = TRANSPARENCY
  295. label.FontSize = TEXTFONTSIZE
  296. label.Font = TEXTFONT
  297. label.BorderSizePixel = BORDERSIZEPIXEL
  298. label.TextScaled = false
  299. label.Text = TEXT
  300. label.Name = NAME
  301. label.Parent = PARENT
  302. return label
  303. end
  304.  
  305. function NoOutlines(PART)
  306. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  307. end
  308.  
  309. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  310. local NEWWELD = IT(TYPE)
  311. NEWWELD.Part0 = PART0
  312. NEWWELD.Part1 = PART1
  313. NEWWELD.C0 = C0
  314. NEWWELD.C1 = C1
  315. NEWWELD.Parent = PARENT
  316. return NEWWELD
  317. end
  318.  
  319. local S = IT("Sound")
  320. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  321. local NEWSOUND = nil
  322. coroutine.resume(coroutine.create(function()
  323. NEWSOUND = S:Clone()
  324. NEWSOUND.Parent = PARENT
  325. NEWSOUND.Volume = VOLUME
  326. NEWSOUND.Pitch = PITCH
  327. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  328. NEWSOUND:play()
  329. if DOESLOOP == true then
  330. NEWSOUND.Looped = true
  331. else
  332. repeat wait(1) until NEWSOUND.Playing == false
  333. NEWSOUND:remove()
  334. end
  335. end))
  336. return NEWSOUND
  337. end
  338.  
  339. function CFrameFromTopBack(at, top, back)
  340. local right = top:Cross(back)
  341. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  342. end
  343.  
  344. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  345. function WACKYEFFECT(Table)
  346. local TYPE = (Table.EffectType or "Sphere")
  347. local SIZE = (Table.Size or VT(1,1,1))
  348. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  349. local TRANSPARENCY = (Table.Transparency or 0)
  350. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  351. local CFRAME = (Table.CFrame or Torso.CFrame)
  352. local MOVEDIRECTION = (Table.MoveToPos or nil)
  353. local ROTATION1 = (Table.RotationX or 0)
  354. local ROTATION2 = (Table.RotationY or 0)
  355. local ROTATION3 = (Table.RotationZ or 0)
  356. local MATERIAL = (Table.Material or "Neon")
  357. local COLOR = (Table.Color or C3(1,1,1))
  358. local TIME = (Table.Time or 45)
  359. local SOUNDID = (Table.SoundID or nil)
  360. local SOUNDPITCH = (Table.SoundPitch or nil)
  361. local SOUNDVOLUME = (Table.SoundVolume or nil)
  362. coroutine.resume(coroutine.create(function()
  363. local PLAYSSOUND = false
  364. local SOUND = nil
  365. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  366. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  367. PLAYSSOUND = true
  368. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  369. end
  370. EFFECT.Color = COLOR
  371. local MSH = nil
  372. if TYPE == "Sphere" then
  373. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  374. elseif TYPE == "Block" then
  375. MSH = IT("BlockMesh",EFFECT)
  376. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  377. elseif TYPE == "Wave" then
  378. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  379. elseif TYPE == "Ring" then
  380. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  381. elseif TYPE == "Slash" then
  382. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  383. elseif TYPE == "Round Slash" then
  384. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  385. elseif TYPE == "Swirl" then
  386. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  387. elseif TYPE == "Skull" then
  388. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  389. elseif TYPE == "Crystal" then
  390. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  391. end
  392. if MSH ~= nil then
  393. local MOVESPEED = nil
  394. if MOVEDIRECTION ~= nil then
  395. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  396. end
  397. local GROWTH = SIZE - ENDSIZE
  398. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  399. if TYPE == "Block" then
  400. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  401. else
  402. EFFECT.CFrame = CFRAME
  403. end
  404. for LOOP = 1, TIME+1 do
  405. Swait()
  406. MSH.Scale = MSH.Scale - GROWTH/TIME
  407. if TYPE == "Wave" then
  408. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  409. end
  410. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  411. if TYPE == "Block" then
  412. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  413. else
  414. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  415. end
  416. if MOVEDIRECTION ~= nil then
  417. local ORI = EFFECT.Orientation
  418. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  419. EFFECT.Orientation = ORI
  420. end
  421. end
  422. if PLAYSSOUND == false then
  423. EFFECT:remove()
  424. else
  425. SOUND.Stopped:Connect(function()
  426. EFFECT:remove()
  427. end)
  428. end
  429. else
  430. if PLAYSSOUND == false then
  431. EFFECT:remove()
  432. else
  433. repeat Swait() until SOUND.Playing == false
  434. EFFECT:remove()
  435. end
  436. end
  437. end))
  438. end
  439.  
  440. function MakeForm(PART,TYPE)
  441. if TYPE == "Cyl" then
  442. local MSH = IT("CylinderMesh",PART)
  443. elseif TYPE == "Ball" then
  444. local MSH = IT("SpecialMesh",PART)
  445. MSH.MeshType = "Sphere"
  446. elseif TYPE == "Pine" then
  447. CreateMesh("SpecialMesh", PART, "FileMesh", "1033714", "", PART.Size, VT(0,0,0))
  448. end
  449. end
  450.  
  451. Debris = game:GetService("Debris")
  452.  
  453. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  454. local DIRECTION = CF(StartPos,EndPos).lookVector
  455. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  456. end
  457.  
  458. function turnto(position)
  459. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  460. end
  461.  
  462. --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  463. function Lightning(Table)
  464. local Color = Table.Color or C3(1,1,1)
  465. local StartPos = Table.Start or Torso.Position
  466. local EndPos = Table.End or Mouse.Hit.p
  467. local SegmentLength = Table.SegmentL or 2
  468. local Thickness = Table.Thickness or 0.1
  469. local Dissapear = Table.DoesFade or false
  470. local Parent = Table.Ignore or Character
  471. local MaxDist = Table.MaxDist or 400
  472. local Branches = Table.Branches or false
  473. local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  474. local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  475. local LIGHTNINGMODEL = IT("Model",Effects)
  476. LIGHTNINGMODEL.Name = "Lightning"
  477. local LastBolt = nil
  478. for E = 1, DISTANCE do
  479. local ExtraSize = (DISTANCE-E)/15
  480. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  481. PART.Color = Color
  482. MakeForm(PART,"Cyl")
  483. if LastBolt == nil then
  484. PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  485. else
  486. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  487. end
  488. LastBolt = PART
  489. if Branches == true then
  490. local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  491. if CHOICE == 1 then
  492. local LASTBRANCH = nil
  493. for i = 1, MRANDOM(2,5) do
  494. local ExtraSize2 = ((DISTANCE-E)/25)/i
  495. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  496. PART.Color = Color
  497. MakeForm(PART,"Cyl")
  498. if LASTBRANCH == nil then
  499. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  500. else
  501. PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  502. end
  503. LASTBRANCH = PART
  504. end
  505. end
  506. end
  507. end
  508. if Dissapear == true then
  509. coroutine.resume(coroutine.create(function()
  510. for i = 1, 30 do
  511. Swait()
  512. for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  513. if c.ClassName == "Part" then
  514. c.Transparency = i/30
  515. end
  516. end
  517. end
  518. LIGHTNINGMODEL:remove()
  519. end))
  520. elseif Dissapear == false then
  521. Debris:AddItem(LIGHTNINGMODEL,0.1)
  522. end
  523. return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  524. end
  525.  
  526. local Particle = IT("ParticleEmitter",nil)
  527. Particle.Enabled = false
  528. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.7,0),NumberSequenceKeypoint.new(1,1)})
  529. Particle.LightEmission = 0.5
  530. Particle.Rate = 500
  531. Particle.Rotation = NumberRange.new(-180, 180)
  532. Particle.RotSpeed = NumberRange.new(-180, 180)
  533. Particle.Texture = "http://www.roblox.com/asset/?id=51349099"
  534. Particle.Color = ColorSequence.new(C3(1,1,1))
  535.  
  536. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  537. function ParticleEmitter(Table)
  538. local PRTCL = Particle:Clone()
  539. local Speed = Table.Speed or 5
  540. local Drag = Table.Drag or 0
  541. local Size1 = Table.Size1 or 1
  542. local Size2 = Table.Size2 or 5
  543. local Lifetime1 = Table.Lifetime1 or 1
  544. local Lifetime2 = Table.Lifetime2 or 1.5
  545. local Parent = Table.Parent or Torso
  546. local Emit = Table.Emit or 100
  547. local Offset = Table.Offset or 360
  548. local Enabled = Table.Enabled or false
  549. PRTCL.Parent = Parent
  550. PRTCL.Size = NumberSequence.new(Size1,Size2)
  551. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  552. PRTCL.Speed = NumberRange.new(Speed)
  553. PRTCL.VelocitySpread = Offset
  554. PRTCL.Drag = Drag
  555. if Enabled == false then
  556. PRTCL:Emit(Emit)
  557. Debris:AddItem(PRTCL,Lifetime2)
  558. else
  559. PRTCL.Enabled = true
  560. end
  561. return PRTCL
  562. end
  563.  
  564. -----------------------
  565.  
  566. local RWING = CreatePart(3, Weapon, "Neon", 0, 1, "Pearl", "Right Wing", (VT(2, 3, 2)*1.5),false)
  567. RWING.Color = C3(0/0, 0/0, 0/0)
  568. local RWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, RWING, CF(1 , 2, 0.5), CF(-1.5, 0, 0))
  569. local LWING = CreatePart(3, Weapon, "Neon", 0, 1, "Pearl", "Left Wing", (VT(2, 3, 2)*1.5),false)
  570. LWING.Color = C3(0/0, 0/0, 0/0)
  571. local LWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, LWING, CF(-1 , 2, 0.5), CF(1.6, 0, 0))
  572. CreateMesh("SpecialMesh", RWING, "FileMesh", "90615661", "", VT(1.5,1.5,1.5)*0.8, VT(0,0,0))
  573. CreateMesh("SpecialMesh", LWING, "FileMesh", "90615581", "", VT(1.5,1.5,1.5)*0.8, VT(0,0,0))
  574. local Mask = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Mask", VT(1,1,1),false)
  575. CreateMesh("SpecialMesh", Mask, "FileMesh", "395088733", "", VT(0.5,0.5,1), VT(0,0,0))
  576. CreateWeldOrSnapOrMotor("Weld", Head, Head, Mask, CF(0,0,-0.5), CF(0, 0, 0))
  577. local Mask = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "New Yeller", "Mask", VT(1.3,0.1,1.3),false)
  578. MakeForm(Mask,"Cyl")
  579. CreateWeldOrSnapOrMotor("Weld", Head, Head, Mask, CF(0,0.2,0), CF(0, 0, 0))
  580. local Black = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Mask", VT(0.2, 0.7, 0.3),false)
  581. Black.Color = C3(0,0,0)
  582. MakeForm(Black,"Ball")
  583. CreateWeldOrSnapOrMotor("Weld", Head, Head, Black, CF(0,0.05,-0.6), CF(0, 0, 0))
  584. local Black = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Mask", VT(1, 0.2, 0.3),false)
  585. Black.Color = C3(0,0,0)
  586. MakeForm(Black,"Ball")
  587. CreateWeldOrSnapOrMotor("Weld", Head, Head, Black, CF(0,0.1,-0.6), CF(0, 0, 0))
  588. local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Magenta", "Mask", VT(0.1,0.1,0.1),false)
  589. MakeForm(Eye,"Ball")
  590. CreateWeldOrSnapOrMotor("Weld", Head, Head, Eye, CF(0.22,0.1,-0.7), CF(0, 0, 0))
  591. local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Magenta", "Mask", VT(0.1,0.1,0.1),false)
  592. MakeForm(Eye,"Ball")
  593. CreateWeldOrSnapOrMotor("Weld", Head, Head, Eye, CF(-0.22,0.1,-0.7), CF(0, 0, 0))
  594. local Horns = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "New Yeller", "Horns", VT(1,1,1),false)
  595. CreateWeldOrSnapOrMotor("Weld", Head, Head, Horns, CF(0,0.6,0.1), CF(0, 0, 0))
  596. --704130856
  597. local MSH = CreateMesh("SpecialMesh", Horns, "FileMesh", "704130637", "", VT(0.17, 0.17, 0.17), VT(0,0,0))
  598. MSH.VertexColor = VT(1, 1, 0.5)
  599. local MaskPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Mask", VT(0.4,0.4,0.4),false)
  600. MakeForm(MaskPart,"Ball")
  601. CreateWeldOrSnapOrMotor("Weld", Head, Head, MaskPart, CF(-0.35,0.35,-0.5), CF(0, 0, 0))
  602. local MaskPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Mask", VT(0.4,0.4,0.4),false)
  603. MakeForm(MaskPart,"Ball")
  604. CreateWeldOrSnapOrMotor("Weld", Head, Head, MaskPart, CF(0.35,0.35,-0.5), CF(0, 0, 0))
  605.  
  606.  
  607. --------------------end of wing------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement