Advertisement
PY_XD

Untitled

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