Advertisement
zXzGamePROzXz

???

Mar 16th, 2019
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. script.Name = "Soul Pistol"
  2. --Original script created by shackluster
  3. --Edit by Biologically_Noob
  4. script:ClearAllChildren()
  5. wait(0.2)
  6.  
  7. Player = game:GetService("Players").zZzEgorPROzZz
  8. PlayerGui = Player.PlayerGui
  9. Cam = workspace.CurrentCamera
  10. Backpack = Player.Backpack
  11. Character = Player.Character
  12. Humanoid = Character.Humanoid
  13. RootPart = Character["HumanoidRootPart"]
  14. Torso = Character["Torso"]
  15. Head = Character["Head"]
  16. RightArm = Character["Right Arm"]
  17. LeftArm = Character["Left Arm"]
  18. RightLeg = Character["Right Leg"]
  19. LeftLeg = Character["Left Leg"]
  20. RootJoint = RootPart["RootJoint"]
  21. Neck = Torso["Neck"]
  22. RightShoulder = Torso["Right Shoulder"]
  23. LeftShoulder = Torso["Left Shoulder"]
  24. RightHip = Torso["Right Hip"]
  25. LeftHip = Torso["Left Hip"]
  26. local TIME = 0
  27. local sick = Instance.new("Sound",Torso)
  28.  
  29. IT = Instance.new
  30. CF = CFrame.new
  31. VT = Vector3.new
  32. RAD = math.rad
  33. C3 = Color3.new
  34. UD2 = UDim2.new
  35. BRICKC = BrickColor.new
  36. ANGLES = CFrame.Angles
  37. EULER = CFrame.fromEulerAnglesXYZ
  38. COS = math.cos
  39. ACOS = math.acos
  40. SIN = math.sin
  41. ASIN = math.asin
  42. ABS = math.abs
  43. MRANDOM = math.random
  44. FLOOR = math.floor
  45.  
  46. --//=================================\\
  47. --|| USEFUL VALUES
  48. --\\=================================//
  49.  
  50. Animation_Speed = 3
  51. local FORCERESET = false
  52. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  53. local Speed = 16
  54. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  55. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  56. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  57. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  58. local DAMAGEMULTIPLIER = 1
  59. local ANIM = "Idle"
  60. local ATTACK = false
  61. local EQUIPPED = false
  62. local HOLD = false
  63. local COMBO = 1
  64. local Rooted = false
  65. local SINE = 0
  66. local KEYHOLD = false
  67. local CHANGE = 2 / Animation_Speed
  68. local WALKINGANIM = false
  69. local VALUE1 = false
  70. local VALUE2 = false
  71. local ROBLOXIDLEANIMATION = IT("Animation")
  72. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  73. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  74. --ROBLOXIDLEANIMATION.Parent = Humanoid
  75. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  76. WEAPONGUI.Name = "BanishV3Gui"
  77. local Weapon = IT("Model")
  78. Weapon.Name = "Adds"
  79. local Effects = IT("Folder", Weapon)
  80. Effects.Name = "Effects"
  81. local ANIMATOR = Humanoid.Animator
  82. local ANIMATE = Character:FindFirstChild("Animate")
  83. local UNANCHOR = true
  84. local TOBANISH = {}
  85. script.Parent = PlayerGui
  86.  
  87. --//=================================\\
  88. --\\=================================//
  89.  
  90.  
  91. --//=================================\\
  92. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  93. --\\=================================//
  94.  
  95. ArtificialHB = Instance.new("BindableEvent", script)
  96. ArtificialHB.Name = "ArtificialHB"
  97.  
  98. script:WaitForChild("ArtificialHB")
  99.  
  100. frame = Frame_Speed
  101. tf = 0
  102. allowframeloss = false
  103. tossremainder = false
  104. lastframe = tick()
  105. script.ArtificialHB:Fire()
  106.  
  107. game:GetService("RunService").Heartbeat:connect(function(s, p)
  108. tf = tf + s
  109. if tf >= frame then
  110. if allowframeloss then
  111. script.ArtificialHB:Fire()
  112. lastframe = tick()
  113. else
  114. for i = 1, math.floor(tf / frame) do
  115. script.ArtificialHB:Fire()
  116. end
  117. lastframe = tick()
  118. end
  119. if tossremainder then
  120. tf = 0
  121. else
  122. tf = tf - frame * math.floor(tf / frame)
  123. end
  124. end
  125. end)
  126.  
  127. --//=================================\\
  128. --\\=================================//
  129.  
  130. local Handle = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,1.2,0.2),false)
  131. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0))
  132. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.8,0.2),false)
  133. MakeForm(Part,"Wedge")
  134. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  135. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.6),false)
  136. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  137. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.4,0.4,0.4),false)
  138. MakeForm(Part,"Cyl")
  139. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  140. for i = 1, 8 do
  141. local Piece = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0,0.35,0.41),false)
  142. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  143. end
  144. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.5,0.2),false)
  145. MakeForm(Part,"Wedge")
  146. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  147. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.39,0.41,0.39),false)
  148. MakeForm(Part,"Cyl")
  149. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  150. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.5),false)
  151. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  152. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.4,0.5),false)
  153. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  154. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0,0.6),false)
  155. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3))
  156. local RightBarrel = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.28,5,0.28),false)
  157. MakeForm(RightBarrel,"Cyl")
  158. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, RightBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0))
  159. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0,0.2,0.2),false)
  160. MakeForm(Part,"Wedge")
  161. CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  162. local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.2,0,0.2),false)
  163. MakeForm(RightHole,"Cyl")
  164. CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, RightHole, CF(0, 2.5, 0), CF(0, 0, 0))
  165. local Handle = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,1.2,0.2),false)
  166. local LeftArmGraps = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0))
  167. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.8,0.2),false)
  168. MakeForm(Part,"Wedge")
  169. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  170. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.6),false)
  171. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  172. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.4,0.4,0.4),false)
  173. MakeForm(Part,"Cyl")
  174. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  175. for i = 1, 8 do
  176. local Piece = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0,0.35,0.41),false)
  177. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  178. end
  179. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.5,0.2),false)
  180. MakeForm(Part,"Wedge")
  181. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  182. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.39,0.41,0.39),false)
  183. MakeForm(Part,"Cyl")
  184. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  185. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.5),false)
  186. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  187. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.4,0.5),false)
  188. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  189. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0,0.6),false)
  190. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3))
  191. local LeftBarrel = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.28,5,0.28),false)
  192. MakeForm(LeftBarrel,"Cyl")
  193. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, LeftBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0))
  194. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0,0.2,0.2),false)
  195. MakeForm(Part,"Wedge")
  196. CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  197. local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.2,0,0.2),false)
  198. MakeForm(LeftHole,"Cyl")
  199. CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, LeftHole, CF(0, 2.5, 0), CF(0, 0, 0))
  200. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.6,0.1,1)/2,false)
  201. MakeForm(Eye,"Ball")
  202. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  203. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.6,0.1,1)/2,false)
  204. MakeForm(Eye,"Ball")
  205. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  206. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.1,1,1)/2,false)
  207. MakeForm(Eye,"Ball")
  208. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  209. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.1,1,1)/2,false)
  210. MakeForm(Eye,"Ball")
  211. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  212.  
  213.  
  214. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.7, Size2 = 0, Lifetime1 = 0.7, Lifetime2 = 0.7, Parent = RightHole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(3,9,8)})
  215. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.7, Size2 = 0, Lifetime1 = 0.7, Lifetime2 = 0.7, Parent = LeftHole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(3,9,8)})
  216.  
  217. local sick = IT("Sound",RootPart)
  218.  
  219. warn("YOU KNOW WHAT YOU DID")
  220. warn("YOU WANT MORE OF IT DONT YOU")
  221. warn("LOOK WHAT YOU DID WITH ALL THIS POWER")
  222.  
  223. --//=================================\\
  224. --|| INSANITY
  225. --\\=================================//
  226.  
  227. local FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0, 0, 0, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "MURDER")
  228. local FACEME = {"DAS","IST","WAS","DU","VöLKERMORD","HABEN","WOLLTEST"}
  229. local INSANITYGUIS = {}
  230. for e = 1, 28 do
  231. for i = 1, 22 do
  232. local MURDERFRAME = FRAME:Clone()
  233. MURDERFRAME.Position = UD2(-0.05+i/30, 0, e/30, 0)
  234. MURDERFRAME.Parent = WEAPONGUI
  235. table.insert(INSANITYGUIS,MURDERFRAME)
  236. end
  237. end
  238. coroutine.resume(coroutine.create(function()
  239. while true do
  240. wait()
  241. coroutine.resume(coroutine.create(function()
  242. local COLOR = C3(MRANDOM(100,255)/155,155,155)
  243. local APPEARTEXT = FACEME[MRANDOM(1,#FACEME)]
  244. local SHOW = ""
  245. for i = 1,string.len(APPEARTEXT),1 do
  246. local STRING = string.sub(APPEARTEXT,i,i)
  247. if MRANDOM(1,2) == 1 then
  248. SHOW = SHOW..string.lower(STRING)
  249. else
  250. SHOW = SHOW..STRING
  251. end
  252. end
  253. local PARENT = INSANITYGUIS[MRANDOM(1,#INSANITYGUIS)]
  254. local TEXT = CreateLabel(PARENT, SHOW, COLOR, 14, SKILLFONT, 1, 2, 1, "YOUMADEMEDOTHIS")
  255. for i = 1, 15 do
  256. Swait()
  257. TEXT.Rotation = MRANDOM(-15,15)
  258. TEXT.TextTransparency = TEXT.TextTransparency - 1/15
  259. end
  260. for i = 1, 15 do
  261. Swait()
  262. TEXT.Rotation = MRANDOM(-15,15)
  263. TEXT.TextTransparency = TEXT.TextTransparency + 1/15
  264. end
  265. TEXT:Remove()
  266. end))
  267. end
  268. end))
  269. FRAME:remove()
  270.  
  271. --//=================================\\
  272. --|| DAMAGING
  273. --\\=================================//
  274.  
  275. function ApplyDamage(Humanoid,Damage,OneShot)
  276. Damage = Damage * DAMAGEMULTIPLIER
  277. local DEAD = false
  278. if Humanoid.Health < 2000 and OneShot == false then
  279. if Humanoid.Health - Damage > 0 then
  280. Humanoid.Health = Humanoid.Health - Damage
  281. else
  282. Banish(Humanoid.Parent)
  283. DEAD = true
  284. end
  285. else
  286. DEAD = true
  287. Banish(Humanoid.Parent)
  288. end
  289. if DEAD == true then
  290. local PARTS = {}
  291. for index, CHILD in pairs(Humanoid.Parent:GetChildren()) do
  292. if CHILD:IsA("BasePart") then
  293. table.insert(PARTS,CHILD)
  294. end
  295. end
  296. coroutine.resume(coroutine.create(function()
  297. wait(2)
  298. repeat
  299. Swait()
  300. local PIECE = nil
  301. if MRANDOM(1,5) == 1 then
  302. for E = 1, #PARTS do
  303. if MRANDOM(1,5) == 1 then
  304. PIECE = PARTS[E]
  305. table.remove(PARTS,E)
  306. break
  307. end
  308. end
  309. end
  310. if PIECE ~= nil then
  311. if PIECE.Name == "Head" then
  312. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z), Size2 = (VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z))*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0,0,0), SoundID = 0, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  313. else
  314. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = PIECE.Size, Size2 = PIECE.Size*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0,0,0), SoundID = 0, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  315. end
  316. PIECE:remove()
  317. end
  318. until #PARTS == 0
  319. end))
  320. end
  321. end
  322.  
  323. --//=================================\\
  324. --|| SOME FUNCTIONS
  325. --\\=================================//
  326.  
  327. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  328. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  329. end
  330.  
  331. function PositiveAngle(NUMBER)
  332. if NUMBER >= 0 then
  333. NUMBER = 0
  334. end
  335. return NUMBER
  336. end
  337.  
  338. function NegativeAngle(NUMBER)
  339. if NUMBER <= 0 then
  340. NUMBER = 0
  341. end
  342. return NUMBER
  343. end
  344.  
  345. function Swait(NUMBER)
  346. if NUMBER == 0 or NUMBER == nil then
  347. ArtificialHB.Event:wait()
  348. else
  349. for i = 1, NUMBER do
  350. ArtificialHB.Event:wait()
  351. end
  352. end
  353. end
  354.  
  355. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  356. local NEWMESH = IT(MESH)
  357. if MESH == "SpecialMesh" then
  358. NEWMESH.MeshType = MESHTYPE
  359. if MESHID ~= "nil" and MESHID ~= "" then
  360. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  361. end
  362. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  363. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  364. end
  365. end
  366. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  367. NEWMESH.Scale = SCALE
  368. NEWMESH.Parent = PARENT
  369. return NEWMESH
  370. end
  371.  
  372. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  373. local NEWPART = IT("Part")
  374. NEWPART.formFactor = FORMFACTOR
  375. NEWPART.Reflectance = REFLECTANCE
  376. NEWPART.Transparency = TRANSPARENCY
  377. NEWPART.CanCollide = false
  378. NEWPART.Locked = true
  379. NEWPART.Anchored = true
  380. if ANCHOR == false then
  381. NEWPART.Anchored = false
  382. end
  383. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  384. NEWPART.Name = NAME
  385. NEWPART.Size = SIZE
  386. NEWPART.Position = Torso.Position
  387. NEWPART.Material = MATERIAL
  388. NEWPART:BreakJoints()
  389. NEWPART.Parent = PARENT
  390. return NEWPART
  391. end
  392.  
  393. local function weldBetween(a, b)
  394. local weldd = Instance.new("ManualWeld")
  395. weldd.Part0 = a
  396. weldd.Part1 = b
  397. weldd.C0 = CFrame.new()
  398. weldd.C1 = b.CFrame:inverse() * a.CFrame
  399. weldd.Parent = a
  400. return weldd
  401. end
  402.  
  403.  
  404. function QuaternionFromCFrame(cf)
  405. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  406. local trace = m00 + m11 + m22
  407. if trace > 0 then
  408. local s = math.sqrt(1 + trace)
  409. local recip = 0.5 / s
  410. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  411. else
  412. local i = 0
  413. if m11 > m00 then
  414. i = 1
  415. end
  416. if m22 > (i == 0 and m00 or m11) then
  417. i = 2
  418. end
  419. if i == 0 then
  420. local s = math.sqrt(m00 - m11 - m22 + 1)
  421. local recip = 0.5 / s
  422. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  423. elseif i == 1 then
  424. local s = math.sqrt(m11 - m22 - m00 + 1)
  425. local recip = 0.5 / s
  426. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  427. elseif i == 2 then
  428. local s = math.sqrt(m22 - m00 - m11 + 1)
  429. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  430. end
  431. end
  432. end
  433.  
  434. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  435. local xs, ys, zs = x + x, y + y, z + z
  436. local wx, wy, wz = w * xs, w * ys, w * zs
  437. local xx = x * xs
  438. local xy = x * ys
  439. local xz = x * zs
  440. local yy = y * ys
  441. local yz = y * zs
  442. local zz = z * zs
  443. 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))
  444. end
  445.  
  446. function QuaternionSlerp(a, b, t)
  447. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  448. local startInterp, finishInterp;
  449. if cosTheta >= 0.0001 then
  450. if (1 - cosTheta) > 0.0001 then
  451. local theta = ACOS(cosTheta)
  452. local invSinTheta = 1 / SIN(theta)
  453. startInterp = SIN((1 - t) * theta) * invSinTheta
  454. finishInterp = SIN(t * theta) * invSinTheta
  455. else
  456. startInterp = 1 - t
  457. finishInterp = t
  458. end
  459. else
  460. if (1 + cosTheta) > 0.0001 then
  461. local theta = ACOS(-cosTheta)
  462. local invSinTheta = 1 / SIN(theta)
  463. startInterp = SIN((t - 1) * theta) * invSinTheta
  464. finishInterp = SIN(t * theta) * invSinTheta
  465. else
  466. startInterp = t - 1
  467. finishInterp = t
  468. end
  469. end
  470. 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
  471. end
  472.  
  473. function Clerp(a, b, t)
  474. local qa = {QuaternionFromCFrame(a)}
  475. local qb = {QuaternionFromCFrame(b)}
  476. local ax, ay, az = a.x, a.y, a.z
  477. local bx, by, bz = b.x, b.y, b.z
  478. local _t = 1 - t
  479. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  480. end
  481.  
  482. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  483. local frame = IT("Frame")
  484. frame.BackgroundTransparency = TRANSPARENCY
  485. frame.BorderSizePixel = BORDERSIZEPIXEL
  486. frame.Position = POSITION
  487. frame.Size = SIZE
  488. frame.BackgroundColor3 = COLOR
  489. frame.BorderColor3 = BORDERCOLOR
  490. frame.Name = NAME
  491. frame.Parent = PARENT
  492. return frame
  493. end
  494.  
  495. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  496. local label = IT("TextLabel")
  497. label.BackgroundTransparency = 1
  498. label.Size = UD2(1, 0, 1, 0)
  499. label.Position = UD2(0, 0, 0, 0)
  500. label.TextColor3 = TEXTCOLOR
  501. label.TextStrokeTransparency = STROKETRANSPARENCY
  502. label.TextTransparency = TRANSPARENCY
  503. label.FontSize = TEXTFONTSIZE
  504. label.Font = TEXTFONT
  505. label.BorderSizePixel = BORDERSIZEPIXEL
  506. label.TextScaled = false
  507. label.Text = TEXT
  508. label.Name = NAME
  509. label.Parent = PARENT
  510. return label
  511. end
  512.  
  513. function NoOutlines(PART)
  514. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  515. end
  516.  
  517. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  518. local NEWWELD = IT(TYPE)
  519. NEWWELD.Part0 = PART0
  520. NEWWELD.Part1 = PART1
  521. NEWWELD.C0 = C0
  522. NEWWELD.C1 = C1
  523. NEWWELD.Parent = PARENT
  524. return NEWWELD
  525. end
  526.  
  527. local S = IT("Sound")
  528. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  529. local NEWSOUND = nil
  530. coroutine.resume(coroutine.create(function()
  531. NEWSOUND = S:Clone()
  532. NEWSOUND.Parent = PARENT
  533. NEWSOUND.Volume = VOLUME
  534. NEWSOUND.Pitch = PITCH
  535. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  536. NEWSOUND:play()
  537. if DOESLOOP == true then
  538. NEWSOUND.Looped = true
  539. else
  540. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  541. NEWSOUND:remove()
  542. end
  543. end))
  544. return NEWSOUND
  545. end
  546.  
  547. function CFrameFromTopBack(at, top, back)
  548. local right = top:Cross(back)
  549. 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)
  550. end
  551.  
  552. --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})
  553. function WACKYEFFECT(Table)
  554. local TYPE = (Table.EffectType or "Sphere")
  555. local SIZE = (Table.Size or VT(1,1,1))
  556. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  557. local TRANSPARENCY = (Table.Transparency or 0)
  558. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  559. local CFRAME = (Table.CFrame or Torso.CFrame)
  560. local MOVEDIRECTION = (Table.MoveToPos or nil)
  561. local ROTATION1 = (Table.RotationX or 0)
  562. local ROTATION2 = (Table.RotationY or 0)
  563. local ROTATION3 = (Table.RotationZ or 0)
  564. local MATERIAL = (Table.Material or "Neon")
  565. local COLOR = (Table.Color or C3(1,1,1))
  566. local TIME = (Table.Time or 45)
  567. local SOUNDID = (Table.SoundID or nil)
  568. local SOUNDPITCH = (Table.SoundPitch or nil)
  569. local SOUNDVOLUME = (Table.SoundVolume or nil)
  570. coroutine.resume(coroutine.create(function()
  571. local PLAYSSOUND = false
  572. local SOUND = nil
  573. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  574. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  575. PLAYSSOUND = true
  576. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  577. end
  578. EFFECT.Color = COLOR
  579. local MSH = nil
  580. if TYPE == "Sphere" then
  581. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  582. elseif TYPE == "Block" then
  583. MSH = IT("BlockMesh",EFFECT)
  584. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  585. elseif TYPE == "Wave" then
  586. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  587. elseif TYPE == "Ring" then
  588. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  589. elseif TYPE == "Slash" then
  590. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  591. elseif TYPE == "Round Slash" then
  592. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  593. elseif TYPE == "Swirl" then
  594. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  595. elseif TYPE == "Skull" then
  596. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  597. elseif TYPE == "Crystal" then
  598. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  599. end
  600. if MSH ~= nil then
  601. local MOVESPEED = nil
  602. if MOVEDIRECTION ~= nil then
  603. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  604. end
  605. local GROWTH = SIZE - ENDSIZE
  606. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  607. if TYPE == "Block" then
  608. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  609. else
  610. EFFECT.CFrame = CFRAME
  611. end
  612. for LOOP = 1, TIME+1 do
  613. Swait()
  614. MSH.Scale = MSH.Scale - GROWTH/TIME
  615. if TYPE == "Wave" then
  616. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  617. end
  618. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  619. if TYPE == "Block" then
  620. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  621. else
  622. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  623. end
  624. if MOVEDIRECTION ~= nil then
  625. local ORI = EFFECT.Orientation
  626. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  627. EFFECT.Orientation = ORI
  628. end
  629. end
  630. if PLAYSSOUND == false then
  631. EFFECT:remove()
  632. else
  633. SOUND.Stopped:Connect(function()
  634. EFFECT:remove()
  635. end)
  636. end
  637. else
  638. if PLAYSSOUND == false then
  639. EFFECT:remove()
  640. else
  641. repeat Swait() until SOUND.Playing == false
  642. EFFECT:remove()
  643. end
  644. end
  645. end))
  646. end
  647.  
  648. function MakeForm(PART,TYPE)
  649. if TYPE == "Cyl" then
  650. local MSH = IT("CylinderMesh",PART)
  651. elseif TYPE == "Ball" then
  652. local MSH = IT("SpecialMesh",PART)
  653. MSH.MeshType = "Sphere"
  654. elseif TYPE == "Wedge" then
  655. local MSH = IT("SpecialMesh",PART)
  656. MSH.MeshType = "Wedge"
  657. end
  658. end
  659.  
  660. function SpawnTrail(FROM,TO,BIG)
  661. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Cyan", "Trail", VT(0,0,0))
  662. MakeForm(TRAIL,"Cyl")
  663. local DIST = (FROM - TO).Magnitude
  664. if BIG == true then
  665. TRAIL.Size = VT(0.5,DIST,0.5)
  666. else
  667. TRAIL.Size = VT(0.25,DIST,0.25)
  668. end
  669. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  670. coroutine.resume(coroutine.create(function()
  671. for i = 1, 5 do
  672. Swait()
  673. TRAIL.Transparency = TRAIL.Transparency + 0.1
  674. end
  675. TRAIL:remove()
  676. end))
  677. end
  678.  
  679. Debris = game:GetService("Debris")
  680.  
  681. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  682. local DIRECTION = CF(StartPos,EndPos).lookVector
  683. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  684. end
  685.  
  686. function turnto(position)
  687. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  688. end
  689.  
  690. --//=================================\\
  691. --|| WEAPON CREATION
  692. --\\=================================//
  693.  
  694. local Particle = IT("ParticleEmitter",nil)
  695. Particle.Enabled = false
  696. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  697. Particle.LightEmission = 0.5
  698. Particle.Rate = 150
  699. Particle.ZOffset = 0.2
  700. Particle.Rotation = NumberRange.new(-180, 180)
  701. Particle.RotSpeed = NumberRange.new(-180, 180)
  702. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  703. Particle.Color = ColorSequence.new(C3(0,0,255),C3(0,255,255))
  704. local Particle2 = IT("ParticleEmitter",nil)
  705. Particle2.Enabled = false
  706. Particle2.Texture = "http://www.roblox.com/asset/?id=1369397597"
  707. Particle2.Color = ColorSequence.new(C3(0,0,255),C3(0,0,255))
  708. Particle2.LightEmission = 0
  709. Particle2.RotSpeed = NumberRange.new(0, 180)
  710. Particle2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  711. Particle2.LightEmission = 1
  712. Particle2.Rate = 20
  713. Particle2.RotSpeed = NumberRange.new(-20, 20)
  714. local Particle3 = IT("ParticleEmitter",nil)
  715. Particle3.Enabled = false
  716. Particle3.Texture = "http://www.roblox.com/asset/?id=1546470121"
  717. Particle3.Color = ColorSequence.new(C3(0,0,255),C3(0,0,255))
  718. Particle3.LightEmission = 0
  719. Particle3.RotSpeed = NumberRange.new(0, 180)
  720. Particle3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.7),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
  721. Particle3.LightEmission = 1
  722. Particle3.Rate = 20
  723. Particle3.RotSpeed = NumberRange.new(-20, 20)
  724. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  725. function ParticleEmitter(Table)
  726. local PRTCL = Particle:Clone()
  727. local Speed = Table.Speed or 5
  728. local Drag = Table.Drag or 0
  729. local Size1 = Table.Size1 or 1
  730. local Size2 = Table.Size2 or 5
  731. local Lifetime1 = Table.Lifetime1 or 1
  732. local Lifetime2 = Table.Lifetime2 or 1.5
  733. local Parent = Table.Parent or Torso
  734. local Emit = Table.Emit or 100
  735. local Offset = Table.Offset or 360
  736. local Acel = Table.Acel or VT(0,0,0)
  737. local Enabled = Table.Enabled or false
  738. PRTCL.Parent = Parent
  739. PRTCL.Size = NumberSequence.new(Size1,Size2)
  740. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  741. PRTCL.Speed = NumberRange.new(Speed)
  742. PRTCL.VelocitySpread = Offset
  743. PRTCL.Drag = Drag
  744. PRTCL.Acceleration = Acel
  745. if Enabled == false then
  746. PRTCL:Emit(Emit)
  747. Debris:AddItem(PRTCL,Lifetime2)
  748. else
  749. PRTCL.Enabled = true
  750. end
  751. return PRTCL
  752. end
  753. function ParticleEmitter2(Table)
  754. local PRTCL2 = Particle2:Clone()
  755. local LockedToPart = Table.LTP or true
  756. local Speed = Table.Speed or 0
  757. local Drag = Table.Drag or 0
  758. local Size1 = Table.Size1 or 1
  759. local Size2 = Table.Size2 or 2
  760. local Lifetime1 = Table.Lifetime1 or 1
  761. local Lifetime2 = Table.Lifetime2 or 1
  762. local Parent = Table.Parent or Torso
  763. local Emit = Table.Emit or 100
  764. local Offset = Table.Offset or 360
  765. local Acel = Table.Acel or VT(0,0,0)
  766. local Enabled = Table.Enabled or false
  767. PRTCL2.Parent = Parent
  768. PRTCL2.Size = NumberSequence.new(Size1,Size2)
  769. PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  770. PRTCL2.Speed = NumberRange.new(Speed)
  771. PRTCL2.VelocitySpread = Offset
  772. PRTCL2.Drag = Drag
  773. PRTCL2.Acceleration = Acel
  774. PRTCL2.Parent = Parent
  775. PRTCL2.Size = NumberSequence.new(Size1,Size2)
  776. PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  777. PRTCL2.Speed = NumberRange.new(Speed)
  778. PRTCL2.VelocitySpread = Offset
  779. PRTCL2.Drag = Drag
  780. PRTCL2.Acceleration = Acel
  781. PRTCL2.LockedToPart = true
  782. if Enabled == false then
  783. PRTCL2:Emit(Emit)
  784. Debris:AddItem(PRTCL2,Lifetime2)
  785. else
  786. PRTCL2.Enabled = true
  787. end
  788. return PRTCL2
  789. end
  790. function ParticleEmitter3(Table)
  791. local PRTCL3 = Particle2:Clone()
  792. local Speed = Table.Speed or 0
  793. local Drag = Table.Drag or 0
  794. local Size1 = Table.Size1 or 1
  795. local Size2 = Table.Size2 or 2
  796. local Lifetime1 = Table.Lifetime1 or 1
  797. local Lifetime2 = Table.Lifetime2 or 1
  798. local Parent = Table.Parent or Torso
  799. local Emit = Table.Emit or 100
  800. local Offset = Table.Offset or 0
  801. local Acel = Table.Acel or VT(0,0,0)
  802. local Enabled = Table.Enabled or false
  803. PRTCL3.Parent = Parent
  804. PRTCL3.Size = NumberSequence.new(Size1,Size2)
  805. PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  806. PRTCL3.Speed = NumberRange.new(Speed)
  807. PRTCL3.VelocitySpread = Offset
  808. PRTCL3.Drag = Drag
  809. PRTCL3.Acceleration = Acel
  810. PRTCL3.Parent = Parent
  811. PRTCL3.Size = NumberSequence.new(Size1,Size2)
  812. PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  813. PRTCL3.Speed = NumberRange.new(Speed)
  814. PRTCL3.VelocitySpread = Offset
  815. PRTCL3.Drag = Drag
  816. PRTCL3.Acceleration = Acel
  817. if Enabled == false then
  818. PRTCL3:Emit(Emit)
  819. Debris:AddItem(PRTCL3,Lifetime2)
  820. else
  821. PRTCL3.Enabled = true
  822. end
  823. return PRTCL3
  824. end
  825.  
  826. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  827. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  828. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  829. MakeForm(Part,"Wedge")
  830. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  831. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  832. MakeForm(Part,"Wedge")
  833. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  834. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  835. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  836. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  837. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  838. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  839. MakeForm(Part,"Cyl")
  840. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  841. for i = 1, 8 do
  842. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  843. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  844. end
  845. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  846. MakeForm(Part,"Cyl")
  847. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  848. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  849. MakeForm(Part,"Ball")
  850. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  851. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  852. MakeForm(Part,"Wedge")
  853. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  854. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  855. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  856. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  857. MakeForm(Part,"Cyl")
  858. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  859. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  860. MakeForm(Part,"Cyl")
  861. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  862. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  863. MakeForm(Part,"Cyl")
  864. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  865. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  866. MakeForm(Part,"Wedge")
  867. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  868. local LASTPART = Handle
  869. for i = 1, 10 do
  870. if LASTPART == Handle then
  871. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  872. LASTPART = Part
  873. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  874. else
  875. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  876. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  877. LASTPART = Part
  878. end
  879. end
  880.  
  881. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  882. MakeForm(Barrel,"Cyl")
  883. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  884. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  885. MakeForm(Part,"Cyl")
  886. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  887. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  888. MakeForm(Part,"Wedge")
  889. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  890. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  891. MakeForm(Hole,"Cyl")
  892. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  893. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  894. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  895. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  896. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  897. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  898. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  899. coroutine.resume(coroutine.create(function()
  900. while wait() do
  901. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  902. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  903. end
  904. end))
  905. --PARTICLES REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
  906. --[[
  907. YEAH BOIIIIIIIII
  908. PARTICLE TIME
  909. --]]
  910. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  911. --ParticleEmitter3({Speed = 0, Drag = 0, Size1 = 20, Size2 = 25, Lifetime1 = 0.3, Lifetime2 = 1, Parent = Barrel, Emit = 100, Offset = 0, Enabled = true, Acel = VT(0,0,0)})
  912. ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  913. ParticleEmitter2({Speed = 0, Drag = 0, Size1 = .5, Size2 = 1, Lifetime1 = 1, Lifetime2 = 1, Parent = Hole, Emit = 20, Offset = 360, Enabled = true, Acel = VT(0,0,0)})
  914. ParticleEmitter2({Speed = 0, Drag = 0, Size1 = 3, Size2 = 1, Lifetime1 = 1, Lifetime2 = 2, Parent = Handle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,0,0)})
  915. --Trails
  916. local A1 = Instance.new("Attachment",Barrel)
  917. local A2 = Instance.new("Attachment",Barrel)
  918. local Trail = Instance.new("Trail",Barrel)
  919. A1.Position = Vector3.new(0,1,0)
  920. A2.Position = Vector3.new(0,-0.8,0)
  921. Trail.Attachment0 = A1
  922. Trail.Attachment1 = A2
  923. Trail.LightEmission = 1
  924. Trail.Color = ColorSequence.new(Color3.new(0,0,255),Color3.new(0,255,255))
  925. Trail.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
  926. for _, c in pairs(Weapon:GetDescendants()) do
  927. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  928. c.Material = "Glass"
  929. c.Color = C3(0,0,0)
  930. elseif c.ClassName == "Part" and c.Name == "Eye" then
  931. c.Color = C3(0,0,1)
  932. c.Material = "Neon"
  933. end
  934. end
  935.  
  936. Weapon.Parent = Character
  937. for _, c in pairs(Weapon:GetChildren()) do
  938. if c.ClassName == "Part" then
  939. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  940. end
  941. end
  942.  
  943. local SKILLTEXTCOLOR = C3(0,0,1)
  944. local SKILLFONT = "Antique"
  945. local SKILLTEXTSIZE = 7
  946.  
  947. Humanoid.Died:connect(function()
  948. ATTACK = true
  949. end)
  950.  
  951. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  952. --[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  953. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  954. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  955. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  956. --]]
  957. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  958. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  959. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  960. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  961. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  962. --]]
  963. function printbye(Name)
  964. local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
  965. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  966.  
  967. end
  968.  
  969. workspace.ChildAdded:connect(function(instance)
  970. for BANISH = 1, #TOBANISH do
  971. if TOBANISH[BANISH] ~= nil then
  972. if instance.Name == TOBANISH[BANISH] then
  973. coroutine.resume(coroutine.create(function()
  974. printbye(instance.Name)
  975. instance:ClearAllChildren()
  976. Debris:AddItem(instance,0.0005)
  977. end))
  978. end
  979. end
  980. end
  981. end)
  982.  
  983. --//=================================\\
  984. --|| DAMAGING
  985. --\\=================================//
  986.  
  987. function Banish(Foe)
  988. if Foe then
  989. coroutine.resume(coroutine.create(function()
  990. --if game.Players:FindFirstChild(Foe.Name) then
  991. table.insert(TOBANISH,Foe.Name)
  992. printbye(Foe.Name)
  993. --end
  994. Foe.Archivable = true
  995. local CLONE = Foe:Clone()
  996. Foe:Destroy()
  997. CLONE.Parent = Effects
  998. CLONE:BreakJoints()
  999. local MATERIALS = {"Glass","Neon"}
  1000. for _, c in pairs(CLONE:GetDescendants()) do
  1001. if c:IsA("BasePart") then
  1002. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1003. CreateSound(340722848, c, 10, 1, false)
  1004. end
  1005. c.Anchored = true
  1006. c.Transparency = c.Transparency + 0.2
  1007. c.Material = MATERIALS[MRANDOM(1,2)]
  1008. c.Color = C3(0,0,255)
  1009. if c.ClassName == "MeshPart" then
  1010. c.TextureID = ""
  1011. end
  1012. if c:FindFirstChildOfClass("SpecialMesh") then
  1013. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1014. end
  1015. if c:FindFirstChildOfClass("Decal") then
  1016. c:FindFirstChildOfClass("Decal"):remove()
  1017. end
  1018. c.Name = "Banished"
  1019. c.CanCollide = false
  1020. else
  1021. c:remove()
  1022. end
  1023. end
  1024. local A = false
  1025. for i = 1, 35 do
  1026. if A == false then
  1027. A = true
  1028. elseif A == true then
  1029. A = false
  1030. end
  1031. for _, c in pairs(CLONE:GetDescendants()) do
  1032. if c:IsA("BasePart") then
  1033. c.Anchored = true
  1034. c.Material = MATERIALS[MRANDOM(1,2)]
  1035. c.Transparency = c.Transparency + 0.8/35
  1036. if A == false then
  1037. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1038. elseif A == true then
  1039. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1040. end
  1041. end
  1042. end
  1043. Swait()
  1044. end
  1045. CLONE:remove()
  1046. end))
  1047. end
  1048. end
  1049.  
  1050. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1051. local CHILDREN = workspace:GetDescendants()
  1052. for index, CHILD in pairs(CHILDREN) do
  1053. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1054. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1055. if HUM then
  1056. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1057. if TORSO then
  1058. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1059. if ISBANISH == true then
  1060. Banish(CHILD)
  1061. else
  1062. if ISBANISH == "Gravity" then
  1063. HUM.PlatformStand = true
  1064. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1065. local grav = Instance.new("BodyPosition",TORSO)
  1066. grav.D = 15
  1067. grav.P = 20000
  1068. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1069. grav.position = TORSO.Position
  1070. grav.Name = "V3BanishForce"..Player.Name
  1071. else
  1072. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1073. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1074. end
  1075. else
  1076. HUM.PlatformStand = false
  1077. end
  1078. end
  1079. elseif ISBANISH == "Gravity" then
  1080. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1081. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1082. HUM.PlatformStand = false
  1083. end
  1084. end
  1085. end
  1086. end
  1087. end
  1088. end
  1089. end
  1090.  
  1091. --//=================================\\
  1092. --|| ATTACK FUNCTIONS AND STUFF
  1093. --\\=================================//
  1094.  
  1095. function Banisher_Bullet()
  1096. ATTACK = true
  1097. Rooted = false
  1098. for i=0, 0.4, 0.1 / Animation_Speed do
  1099. Swait()
  1100. turnto(Mouse.Hit.p)
  1101. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1102. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1103. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1104. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1105. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1106. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1107. end
  1108. repeat
  1109. for i=0, 0.2, 0.1 / Animation_Speed do
  1110. Swait()
  1111. turnto(Mouse.Hit.p)
  1112. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1113. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1114. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1115. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1116. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1117. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1118. end
  1119. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1120. SpawnTrail(Hole.Position,POS)
  1121. if HIT ~= nil then
  1122. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1123. Banish(HIT.Parent)
  1124. end
  1125. end
  1126. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0,0,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1127. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,1), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1128. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,1), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1129. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,1), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1130. for i=0, 0.3, 0.1 / Animation_Speed do
  1131. Swait()
  1132. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1133. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  1134. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1135. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1136. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1137. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1138. end
  1139. until KEYHOLD == false
  1140. ATTACK = false
  1141. Rooted = false
  1142. end
  1143.  
  1144. function AttackTemplate()
  1145. ATTACK = true
  1146. Rooted = false
  1147. for i=0, 1, 0.1 / Animation_Speed do
  1148. Swait()
  1149. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1150. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1151. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1152. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1153. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1154. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1155. end
  1156. ATTACK = false
  1157. Rooted = false
  1158. end
  1159.  
  1160. --//=================================\\
  1161. --|| ASSIGN THINGS TO KEYS
  1162. --\\=================================//
  1163.  
  1164. function MouseDown(Mouse)
  1165. if ATTACK == false then
  1166. end
  1167. end
  1168.  
  1169. function MouseUp(Mouse)
  1170. HOLD = false
  1171. end
  1172.  
  1173. function KeyDown(Key)
  1174. KEYHOLD = true
  1175. if Key == "z" and ATTACK == false then
  1176. Banisher_Bullet()
  1177. end
  1178.  
  1179. if Key == "b" and ATTACK == false then
  1180. end
  1181.  
  1182. if Key == "c" and ATTACK == false then
  1183. end
  1184.  
  1185. if Key == "v" and ATTACK == false then
  1186. end
  1187.  
  1188. if Key == "x" and ATTACK == false then
  1189. end
  1190. end
  1191.  
  1192. function KeyUp(Key)
  1193. KEYHOLD = false
  1194. end
  1195.  
  1196. Mouse.Button1Down:connect(function(NEWKEY)
  1197. MouseDown(NEWKEY)
  1198. end)
  1199. Mouse.Button1Up:connect(function(NEWKEY)
  1200. MouseUp(NEWKEY)
  1201. end)
  1202. Mouse.KeyDown:connect(function(NEWKEY)
  1203. KeyDown(NEWKEY)
  1204. end)
  1205. Mouse.KeyUp:connect(function(NEWKEY)
  1206. KeyUp(NEWKEY)
  1207. end)
  1208.  
  1209. --//=================================\\
  1210. --\\=================================//
  1211.  
  1212.  
  1213. function unanchor()
  1214. if UNANCHOR == true then
  1215. g = Character:GetChildren()
  1216. for i = 1, #g do
  1217. if g[i].ClassName == "Part" then
  1218. g[i].Anchored = false
  1219. end
  1220. end
  1221. end
  1222. end
  1223.  
  1224.  
  1225. --//=================================\\
  1226. --|| WRAP THE WHOLE SCRIPT UP
  1227. --\\=================================//
  1228.  
  1229. Humanoid.Changed:connect(function(Jump)
  1230. if Jump == "Jump" and (Disable_Jump == true) then
  1231. Humanoid.Jump = false
  1232. end
  1233. end)
  1234.  
  1235. local CONNECT = nil
  1236.  
  1237. while true do
  1238. Swait()
  1239. ANIMATE.Parent = nil
  1240. if Character:FindFirstChildOfClass("Humanoid") == nil then
  1241. Humanoid = IT("Humanoid",Character)
  1242. end
  1243. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1244. v:Stop();
  1245. end
  1246. SINE = SINE + CHANGE
  1247. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1248. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1249. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1250. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1251. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1252. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1253. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1254. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1255. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1256. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1257. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1258. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1259. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1260. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1261. end
  1262. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1263. ANIM = "Jump"
  1264. if ATTACK == false then
  1265. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1266. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1267. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1268. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1269. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1270. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1271. end
  1272. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1273. ANIM = "Fall"
  1274. if ATTACK == false then
  1275. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1276. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1277. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1278. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1279. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1280. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1281. end
  1282. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1283. ANIM = "Idle"
  1284. if ATTACK == false then
  1285. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  1286. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  1287. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1288. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1289. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1290. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1291. end
  1292. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1293. ANIM = "Walk"
  1294. if ATTACK == false then
  1295. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1296. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1297. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1298. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  1299. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1300. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1301. end
  1302. end
  1303. unanchor()
  1304. Humanoid.MaxHealth = "inf"
  1305. Humanoid.Health = "inf"
  1306. if Rooted == false then
  1307. Disable_Jump = false
  1308. Humanoid.WalkSpeed = Speed
  1309. elseif Rooted == true then
  1310. Disable_Jump = true
  1311. Humanoid.WalkSpeed = 0
  1312. end
  1313. sick.Parent = Torso
  1314. sick:resume()
  1315. sick.Volume = 5
  1316. sick.Pitch = 1
  1317. sick.SoundId = "rbxassetid://924339757"
  1318. sick.Name = "BanishV3Music"
  1319. end
  1320.  
  1321. --//=================================\\
  1322. --\\=================================//
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328. --//====================================================\\--
  1329. --|| END OF SCRIPT
  1330. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement