Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --//====================================================\\--
- --|| CREATED BY WINDOWSXD_INFINITE
- --|| CREDITS TO BRANNON1964802
- --\\====================================================//--
- local errors = {}
- Player = owner
- PlayerGui = Player.PlayerGui
- script.Parent = PlayerGui
- Cam = workspace.CurrentCamera
- Backpack = Player.Backpack
- Character = Player.Character
- Humanoid = Character:FindFirstChildOfClass('Humanoid')
- RootPart = Character["HumanoidRootPart"]
- Torso = Character["Torso"]
- Head = Character["Head"]
- Face = Head.face
- RightArm = Character["Right Arm"]
- LeftArm = Character["Left Arm"]
- RightLeg = Character["Right Leg"]
- LeftLeg = Character["Left Leg"]
- RootJoint = RootPart["RootJoint"]
- Neck = Torso["Neck"]
- RightShoulder = Torso["Right Shoulder"]
- LeftShoulder = Torso["Left Shoulder"]
- RightHip = Torso["Right Hip"]
- LeftHip = Torso["Left Hip"]
- local lastchat = 'aeiou'
- local oBjection = false
- IT = Instance.new
- CF = CFrame.new
- VT = Vector3.new
- RAD = math.rad
- C3 = Color3.new
- UD2 = UDim2.new
- BRICKC = BrickColor.new
- ANGLES = CFrame.Angles
- EULER = CFrame.fromEulerAnglesXYZ
- COS = math.cos
- ACOS = math.acos
- SIN = math.sin
- ASIN = math.asin
- ABS = math.abs
- ATAN = math.atan
- SIGN = math.sign
- FREXP = math.frexp
- MRANDOM = math.random
- FLOOR = math.floor
- MHUGE = math.huge
- NUMSEQ = NumberSequence.new
- NUMSEQKEYP = NumberSequenceKeypoint.new
- NUMRANGE = NumberRange.new
- COLORSEQ = ColorSequence.new
- COLORSEQKEYP = ColorSequenceKeypoint.new
- --//=================================\\
- --|| CHARACTER CRAP
- --\\=================================//
- --shirt: 12786196
- --pants: 675588491
- Humanoid.Name = 'ur mom gay you spy ' ..MRANDOM(-569242,46126) * 1000000
- Humanoid.MaxHealth = math.huge
- wait()
- local ff = Instance.new('ForceField') ff.Visible = false
- Humanoid.Health = math.huge
- for i,v in pairs(Character:GetChildren()) do
- if v:IsA'Shirt' or v:IsA'Pants' then
- v:Destroy()
- end
- end
- local pants = Instance.new('Pants', Character)
- pants.PantsTemplate = 'rbxassetid://12786196'
- pants.Name = 'Pants'
- local shirt = Instance.new('Shirt', Character)
- shirt.ShirtTemplate = 'rbxassetid://326190288'
- shirt.Name = 'Shirt'
- --//=================================\\
- --|| CUSTOMIZATION
- --\\=================================//
- --COLORSERVICE = require(game:service'ReplicatedStorage':WaitForChild('ColorService'))
- --PRIMARYCOLOR = COLORSERVICE:fetchColor("PrimaryColor")
- --SECONDARYCOLOR = COLORSERVICE:fetchColor("SecondaryColor")
- --TERTIARYCOLOR = COLORSERVICE:fetchColor('TertiaryColor')
- --TAGSERVICE = require(game:GetService('ReplicatedStorage'):WaitForChild('TagService'))
- Class_Name = "phoenix wright"
- Weapon_Name = "hands"
- Custom_Colors = {
- Custom_Color_1 = BRICKC("Really black"); --1st color for the weapon.
- Custom_Color_2 = BRICKC("Really black"); --2nd color for the weapon.
- Custom_Color_3 = BRICKC("Really black"); --3rd color for the weapon.
- Custom_Color_4 = BRICKC("Institutional white"); --Color for the abilities.
- Custom_Color_5 = BRICKC("Institutional white"); --Color for the secondary bar.
- Custom_Color_6 = BRICKC("Institutional white"); --Color for the mana bar.
- Custom_Color_7 = BRICKC("Institutional white"); --Color for the health bar.
- Custom_Color_8 = BRICKC("Institutional white"); --Color for the stun bar.
- Custom_Color_9 = BRICKC("Institutional white"); --Background for the mana bar.
- Custom_Color_10 = BRICKC("Institutional white"); --Background for the secondary mana bar.
- Custom_Color_11 = BRICKC("Institutional white"); --Background for the stun bar.
- Custom_Color_12 = BRICKC("Institutional white"); --Background for the health bar.
- Custom_Color_13 = BRICKC("Institutional white"); --Background for the abilities.
- }
- Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
- Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
- Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
- Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
- Ability_Background_Transparency = 0 --Transparency for the background of the abilities.
- Stat_Background_Transparency = 0 --Transparency for the background of the stats.
- Player_Size = 1 --Size of the player.
- Animation_Speed = 3 --(30, 1) OR (40, 1.25) OR (45, 1.5) OR (50, 1.75)
- Frame_Speed = 1 / 60 --(1 / 30) OR (1 / 40) OR (1 / 45) OR (1 / 50) OR (1 / 60)
- Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
- Enable_Stats = false --Enables or disables stats.
- Put_Stats_In_Character = false --Places stats in Character.
- Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
- Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
- Enable_Stagger = false --Enables or disables staggering.
- Enable_Stun = false --Enables or disables the stun mechanic.
- Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
- Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
- Enable_Tutorial = false --Enables the tutorial for using the weapon.
- Start_Equipped = true --Starts the player equipped with their weapon.
- Start_Equipped_With_Equipped_Animation = true --Used in conjunction with the above option. Starts your equip animation.
- Can_Equip_Or_Unequip = false --Enables or disables the ability to unequip or equip your weapon.
- Unequip_Weapon_Only = false --Unequips or equips the weapon, but doesn't actually unequip the weapon-weapon. Only works when "Start_Equipped" is set to true.
- Disable_Animator = true --Disables the Animator in the humanoid.
- Disable_Animate = true --Disables the Animate script in the character.
- Disable_Moving_Arms = false --Keeps the arms from moving around.
- Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
- Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
- Movement_Speed_Scales_With_Size = true --Scales walkspeed up to the player's size. Only works when "Walkspeed_Depends_On_Movement_Value" is set to true.
- Jump_Power_Scales_With_Size = false --Scales jumping power to the player's size.
- Disable_Jump = false --Disables jumping.
- Use_HopperBin = false --Uses a hopperbin to do things.
- Hold_To_Attack = false --The player must hold the mouse button to attack.
- Weapon_Lasting_Time = 30 --How long the player's weapon will stay after death before disappearing.
- Enable_Idle_Animation = false --Enables or disables an idle animation that plays after standing still for some time.
- Idle_Animation_Wait = 20 --How long you have to stand still until the idle animation plays.
- Freefall_Animation = false --Uses the freefall animation instead of the jump and fall animations.
- Crit_Multiplier = 1.5 --Crit multiplier for damage boosts.
- Cooldown_1 = 0 --Cooldowns for abilites.
- Cooldown_2 = 0
- Cooldown_3 = 0
- Cooldown_4 = 0
- Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
- Skill_2_Mana_Cost = 0
- Skill_3_Mana_Cost = 0
- Skill_4_Mana_Cost = 0
- Max_Mana = 0 --Maximum amount of mana you can have.
- Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
- Mana_Name = "Mana" --Name for the mana bar.
- Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
- Max_Stun = 1 --Maximum amount of stun you can have.
- Recover_Mana = 0 --How much mana you gain.
- Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
- Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
- Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
- Recover_Secondary_Mana = 0 --How much secondary mana you gain.
- Lose_Stun = 0 --How much stun you lose.
- Stun_Wait = 0 --Delay between losing stun.
- Mana_Wait = 0 --Delay between gaining mana.
- Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
- Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
- Constant_Update = false --Removes the delay between updating the Weapon GUI.
- Show_Stats = false --Hides or shows stats.
- Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
- Ability_1_Name = "Ability 1"
- Ability_2_Name = "Ability 2"
- Ability_3_Name = "Ability 3"
- Ability_4_Name = "Ability 4"
- --//=================================\\
- --|| END OF CUSTOMIZATION
- --\\=================================//
- --[[for i,v in pairs(Character:GetChildren()) do
- if v:IsA'Accessory' then v:Destroy() end
- end]]
- function GiveProperties(part, tab)
- for i,v in ipairs(tab) do
- part[i] = v
- end
- end
- local phoenix = {faces = {'rbxassetid://176217464', 'rbxassetid://1471407701'}, sounds = {'665529621','135166344', '135165859'},slam = '131218412', scale = {Vector3.new(1,1,1),Vector3.new(1,1,1),Vector3.new(Player_Size/150,Player_Size/150,Player_Size/150)},images = {'129044092','129044561', '53141804'}, meshes = {'0','0','434570496'}}
- Face.Texture = phoenix.faces[1]
- function OBJECTION(mr)
- if not mr then mr = MRANDOM(1,3) end
- Face.Texture = phoenix.faces[2]
- BillboardGui0 = Instance.new("BillboardGui")
- ImageLabel1 = Instance.new("ImageLabel")
- BillboardGui0.Name = "bully"
- BillboardGui0.Parent = RightArm
- BillboardGui0.Size = UDim2.new(Player_Size *5 + 0.5, 0, Player_Size *4, 0)
- BillboardGui0.Active = true
- BillboardGui0.Adornee = nil
- BillboardGui0.StudsOffset = Vector3.new(--[[Player_Size*2]]0,Player_Size*4,Player_Size*2)
- BillboardGui0.AlwaysOnTop = true
- BillboardGui0.ClipsDescendants = true
- game:service'Debris':AddItem(BillboardGui0, 2)
- ImageLabel1.Parent = BillboardGui0
- ImageLabel1.Transparency = 1
- ImageLabel1.Size = UDim2.new(1, 0, 1, 0)
- ImageLabel1.Active = true
- ImageLabel1.BackgroundColor3 = Color3.new(1, 1, 1)
- ImageLabel1.BackgroundTransparency = 1
- ImageLabel1.Image = 'rbxassetid://'..phoenix.images[mr]
- local s = Instance.new('Sound', Head)
- s.SoundId = 'rbxassetid://'..phoenix.sounds[mr]
- s.Volume = 10
- s.Pitch = 1 --phoenix.sounds[math.random(1,#peepee)]
- s:Play()
- local par = Instance.new('Part', Character)
- par.Name = 'fahs9we98iojhgw'
- par.CFrame = RightArm.CFrame * CFrame.new(0,-50--[[*Player_Size]],0)
- par.CanCollide = false
- par.Size = Vector3.new(10*Player_Size,100,10*Player_Size)
- par.Anchored = true
- par.Transparency = 1
- par:BreakJoints()
- par.Touched:Connect(function(prt)
- if prt:IsDescendantOf(Character) then return end
- local entity = false
- local hum = nil
- if prt.Parent ~= workspace and prt.Parent:FindFirstChildOfClass('Humanoid') then
- entity = true
- hum = prt.Parent:FindFirstChildOfClass('Humanoid')
- end
- coroutine.wrap(function()
- if mr == 2 then
- local wasanchored = false
- if prt.Anchored == true then
- wasanchored = true
- end
- prt.Anchored = true
- wait(5)
- if wasanchored == false then
- prt.Anchored = false
- end
- elseif mr == 1 then
- if hum ~= nil then
- hum.Health = hum.Health - 1
- end
- end
- end)()
- end)
- game:service'Debris':AddItem(par, 2)
- if mr == 3 then
- local p = Instance.new('Part', RightArm)
- p.CFrame = RightArm.CFrame * CFrame.new(0,-Player_Size,0)
- p.Size = Vector3.new(0.1,0.1,0.1)
- local m = Instance.new('SpecialMesh', p)
- m.MeshType = 'FileMesh'
- m.MeshId = 'rbxassetid://' ..phoenix.meshes[mr]
- m.Scale = phoenix.scale[mr]
- local BodyVelocity = Instance.new("BodyVelocity", p)
- BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- BodyVelocity.velocity = RootPart.CFrame.lookVector*60
- p.Touched:connect(function()
- local function dab()
- MagnitudeDamage(0, 0, 0, 0, 1, 1, 1, 1, p, 1, true, 20, 50, MRANDOM(1, 2), "Normal", p, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
- end
- local s,m = pcall(dab)
- if m then
- print('no. | ' ..m)
- end
- end)
- end
- coroutine.wrap(function()
- wait(2)
- Face.Texture = phoenix.faces[1]
- end)()
- game:service'Debris':AddItem(s, 2)
- game:service'Debris':AddItem(p, 5)
- end
- chat = function(t)
- if Character:FindFirstChild("TalkingBillBoard")~= nil then
- Character:FindFirstChild("TalkingBillBoard"):destroy()
- end
- local hot = Instance.new("BillboardGui",Character)
- hot.Size = UDim2.new(0,100,0,40)
- hot.StudsOffset = Vector3.new(0,3*Player_Size,0)
- hot.Adornee = Character.Head
- hot.Name = "TalkingBillBoard"
- local fat = Instance.new("TextLabel",hot)
- fat.BackgroundTransparency = 1
- fat.BorderSizePixel = 0
- fat.Text = ""
- fat.Font = "SourceSans"
- fat.FontSize = "Size28"
- fat.TextStrokeTransparency = 0
- fat.TextColor3 = Color3.new(1,1,1)
- fat.TextStrokeColor3 = Color3.new(0,0,0)
- fat.Size = UDim2.new(1,0,0.5,0)
- local mlem = 1
- for i = 1,string.len(t),1 do
- if mlem == 1 then mlem = 2 else mlem = 1 end
- if i == string.len(t) then
- mlem = 1
- end
- Face.Texture = phoenix.faces[mlem]
- fat.Text = string.sub(t,1,i)
- CreateSound('131238032', Head, 5, 1)
- wait(1/30)
- end
- wait(1)
- hot:Destroy()
- end
- --//=================================\\
- --|| USEFUL VALUES
- --\\=================================//
- local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
- local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
- local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
- local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
- local CO1 = 0
- local CO2 = 0
- local CO3 = 0
- local CO4 = 0
- local CHANGEDEFENSE = 0
- local CHANGEDAMAGE = 0
- local CHANGEMOVEMENT = 0
- local CHANGEATTACKSPEED = 0
- local ANIM = "Idle"
- local ATTACK = false
- local EQUIPPED = false
- local MOUSEHOLD = false
- local KEYHOLD = false
- local COMBO = 1
- local LASTPOINT = nil
- local BLCF = nil
- local SCFR = nil
- local STAGGERHITANIM = false
- local STAGGERANIM = false
- local STUNANIM = false
- local CRITCHANCENUMBER = 0
- local IDLENUMBER = 0
- local SINE = 0
- local CHANGE = 2 / Animation_Speed
- local WALKINGANIM = false
- local WALK = 0
- local DISABLEJUMPING = false
- local HASBEENBLOCKED = false
- local STUNDELAYNUMBER = 0
- local MANADELAYNUMBER = 0
- local SECONDARYMANADELAYNUMBER = 0
- local ROBLOXIDLEANIMATION = IT("Animation", nil)
- ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
- ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
- local WEAPONGUI = IT("ScreenGui", nil)
- WEAPONGUI.Name = "Weapon GUI"
- local WEAPONTOOL = IT("HopperBin", nil)
- WEAPONTOOL.Name = Weapon_Name
- local Weapon = IT("Model")
- Weapon.Name = Weapon_Name
- local Parts = IT("Folder", Weapon)
- Parts.Name = "Parts/Meshes"
- local Effects = IT("Folder", Weapon)
- Effects.Name = "Effects"
- local Welds = IT("Folder", Weapon)
- Welds.Name = "Welds/Snaps/Motors"
- local ANIMATOR = Humanoid.Animator
- local ANIMATE = Character.Animate
- local HITPLAYERSOUNDS = {"199149137", "199149186", "199149221", "199149235", "199149269", "199149297"}
- local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
- local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
- local HITBLOCKSOUNDS = {"199148933", "199148947"}
- local HATACCESSORYWELDSC0 = {}
- local MOTOR6DWELDS = {}
- local WEAPONPARTS = {}
- local WEAPONWELDS = {}
- local HOPPERBINSELECTED = false
- if Use_HopperBin == false then
- HOPPERBINSELECTED = true
- end
- local CANPLAYIDLEANIMATION = true
- local IDLING = false
- local FINDPARTONRAY = workspace.FindPartOnRay
- local RAY = Ray.new
- local RANDOMDEBOUNCENUMBER = MRANDOM(1, 1e6)
- local WEAPONEQUIPPED = false
- local TUTORIALDONE = false
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| STATS
- --\\=================================//
- if Character:FindFirstChild("Stats") ~= nil then
- Character:FindFirstChild("Stats").Parent = nil
- end
- local Stats = IT("Folder", nil)
- Stats.Name = "Stats"
- local ChangeStat = IT("Folder", Stats)
- ChangeStat.Name = "ChangeStat"
- local Defense = IT("NumberValue", Stats)
- Defense.Name = "Defense"
- Defense.Value = 1
- local Damage = IT("NumberValue", Stats)
- Damage.Name = "Damage"
- Damage.Value = 1
- local Movement = IT("NumberValue", Stats)
- Movement.Name = "Movement"
- Movement.Value = 1
- local AttackSpeed = IT("NumberValue", Stats)
- AttackSpeed.Name = "AttackSpeed"
- AttackSpeed.Value = 1
- local Mana = IT("NumberValue", Stats)
- Mana.Name = "Mana"
- Mana.Value = 0
- local SecondaryMana = IT("NumberValue", Stats)
- SecondaryMana.Name = "SecondaryMana"
- SecondaryMana.Value = 0
- local CanCrit = IT("BoolValue", Stats)
- CanCrit.Name = "CanCrit"
- CanCrit.Value = false
- local CritChance = IT("NumberValue", Stats)
- CritChance.Name = "CritChance"
- CritChance.Value = 20
- local CanPenetrateArmor = IT("BoolValue", Stats)
- CanPenetrateArmor.Name = "CanPenetrateArmor"
- CanPenetrateArmor.Value = false
- local AntiTeamKill = IT("BoolValue", Stats)
- AntiTeamKill.Name = "AntiTeamKill"
- AntiTeamKill.Value = false
- local Rooted = IT("BoolValue", Stats)
- Rooted.Name = "Rooted"
- Rooted.Value = false
- local Block = IT("BoolValue", Stats)
- Block.Name = "Block"
- Block.Value = false
- local RecentEnemy = IT("ObjectValue", Stats)
- RecentEnemy.Name = "RecentEnemy"
- RecentEnemy.Value = nil
- local StaggerHit = IT("BoolValue", Stats)
- StaggerHit.Name = "StaggerHit"
- StaggerHit.Value = false
- local Stagger = IT("BoolValue", Stats)
- Stagger.Name = "Stagger"
- Stagger.Value = false
- local Stun = IT("BoolValue", Stats)
- Stun.Name = "Stun"
- Stun.Value = false
- local StunValue = IT("NumberValue", Stats)
- StunValue.Name = "StunValue"
- StunValue.Value = 0
- local Timelocked = IT("BoolValue", Stats)
- Timelocked.Name = "Timelocked"
- Timelocked.Value = false
- if Enable_Stats == true and Put_Stats_In_Character == true then
- Stats.Parent = Character
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| DEBUFFS / BUFFS
- --\\=================================//
- local DEFENSECHANGE1 = IT("NumberValue", nil)
- DEFENSECHANGE1.Name = "ChangeDefense"
- DEFENSECHANGE1.Value = 0
- local DAMAGECHANGE1 = IT("NumberValue", nil)
- DAMAGECHANGE1.Name = "ChangeDamage"
- DAMAGECHANGE1.Value = 0
- local MOVEMENTCHANGE1 = IT("NumberValue", nil)
- MOVEMENTCHANGE1.Name = "ChangeMovement"
- MOVEMENTCHANGE1.Value = 0
- local ATTACKSPEEDCHANGE1 = IT("NumberValue", nil)
- ATTACKSPEEDCHANGE1.Name = "ChangeAttackSpeed"
- ATTACKSPEEDCHANGE1.Value = 0
- local TIMELOCKCHANGE1 = IT("StringValue", nil)
- TIMELOCKCHANGE1.Name = "Timelock"
- TIMELOCKCHANGE1.Value = "Timelocked"
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| HUMANOID LAND CHECKER
- --\\=================================//
- local HASLANDED = true
- local ISCLIMBING = false
- local CLIMBINGINCREMENT = 0
- Humanoid.FreeFalling:Connect(function(STATUS)
- HASLANDED = not STATUS
- end)
- Humanoid.Climbing:Connect(function(NUMBER)
- CLIMBINGINCREMENT = NUMBER
- end)
- Humanoid.StateChanged:Connect(function(OLDSTATE, NEWSTATE)
- if NEWSTATE == Enum.HumanoidStateType.Climbing then
- ISCLIMBING = true
- else
- ISCLIMBING = false
- end
- end)
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SAZERENOS' ARTIFICIAL HEARTBEAT
- --\\=================================//
- ArtificialHB = IT("BindableEvent", script)
- ArtificialHB.Name = "ArtificialHB"
- --script:WaitForChild("ArtificialHB")
- FRAME = Frame_Speed
- TF = 0
- ALLOWFRAMELOSS = false
- TOSSREMAINDER = false
- LASTFRAME = tick()
- script.ArtificialHB:Fire()
- game:GetService("RunService").Heartbeat:connect(function(S, P)
- TF = TF + S
- if TF >= FRAME then
- if ALLOWFRAMELOSS then
- script.ArtificialHB:Fire()
- LASTFRAME = tick()
- else
- for i = 1, FLOOR(TF / FRAME) do
- script.ArtificialHB:Fire()
- end
- LASTFRAME = tick()
- end
- if TOSSREMAINDER then
- TF = 0
- else
- TF = TF - FRAME * FLOOR(TF / FRAME)
- end
- end
- end)
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SOME FUNCTIONS
- --\\=================================//
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return FINDPARTONRAY(workspace, RAY(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
- end
- function PositiveAngle(NUMBER)
- if NUMBER >= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function NegativeAngle(NUMBER)
- if NUMBER <= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function Swait(NUMBER)
- if NUMBER == 0 or NUMBER == nil then
- ArtificialHB.Event:wait()
- else
- for i = 1, NUMBER do
- ArtificialHB.Event:wait()
- end
- end
- end
- function Clerp(A, B, T)
- return A:lerp(B, T)
- end
- function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
- local NEWFRAME = IT("Frame")
- NEWFRAME.BackgroundTransparency = TRANSPARENCY
- NEWFRAME.BorderSizePixel = BORDERSIZEPIXEL
- NEWFRAME.Position = POSITION
- NEWFRAME.Size = SIZE
- NEWFRAME.BackgroundColor3 = COLOR
- NEWFRAME.BorderColor3 = BORDERCOLOR
- NEWFRAME.Name = NAME
- NEWFRAME.Parent = PARENT
- return NEWFRAME
- end
- function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
- local NEWLABEL = IT("TextLabel")
- NEWLABEL.BackgroundTransparency = 1
- NEWLABEL.Size = UD2(1, 0, 1, 0)
- NEWLABEL.Position = UD2(0, 0, 0, 0)
- NEWLABEL.TextColor3 = C3(255, 255, 255)
- NEWLABEL.TextStrokeTransparency = STROKETRANSPARENCY
- NEWLABEL.TextTransparency = TRANSPARENCY
- NEWLABEL.FontSize = TEXTFONTSIZE
- NEWLABEL.Font = TEXTFONT
- NEWLABEL.BorderSizePixel = BORDERSIZEPIXEL
- NEWLABEL.TextScaled = true
- NEWLABEL.Text = TEXT
- NEWLABEL.Name = NAME
- NEWLABEL.Parent = PARENT
- return NEWLABEL
- end
- function NoOutlines(PART)
- PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
- local NEWPART = IT("Part")
- NEWPART.formFactor = FORMFACTOR
- NEWPART.Reflectance = REFLECTANCE
- NEWPART.Transparency = TRANSPARENCY
- NEWPART.CanCollide = false
- NEWPART.Locked = true
- NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
- NEWPART.Name = NAME
- if SIZE == VT() then
- NEWPART.Size = VT(0.2, 0.2, 0.2)
- else
- NEWPART.Size = SIZE
- end
- NEWPART.Position = Torso.Position
- NoOutlines(NEWPART)
- NEWPART.Material = MATERIAL
- NEWPART:BreakJoints()
- NEWPART.Parent = PARENT
- return NEWPART
- end
- function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
- local NEWMESH = IT(MESH)
- if MESH == "SpecialMesh" then
- NEWMESH.MeshType = MESHTYPE
- if MESHID ~= "nil" and MESHID ~= "" then
- NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
- end
- if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
- NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
- end
- end
- NEWMESH.Offset = OFFSET or VT(0, 0, 0)
- NEWMESH.Scale = SCALE
- NEWMESH.Parent = PARENT
- return NEWMESH
- end
- function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
- local NEWWELD = IT(TYPE)
- NEWWELD.Part0 = PART0
- NEWWELD.Part1 = PART1
- NEWWELD.C0 = C0
- NEWWELD.C1 = C1
- NEWWELD.Parent = PARENT
- return NEWWELD
- end
- function CreateSound(ID, PARENT, VOLUME, PITCH)
- if not PARENT then
- PARENT = Character
- end
- --game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id="..ID)
- local NEWSOUND = IT("Sound")
- NEWSOUND.Volume = VOLUME
- NEWSOUND.Pitch = PITCH
- NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
- NEWSOUND.Parent = PARENT
- --game:GetService("Debris"):AddItem(NEWSOUND, 10)
- coroutine.resume(coroutine.create(function()
- repeat
- Swait()
- until NEWSOUND.IsLoaded
- NEWSOUND:play()
- game:GetService("Debris"):AddItem(NEWSOUND, 10)
- end))
- end
- -- HOW TO USE:
- -- SIZE: NUMSEQ({NUMSEQKEYP(0, 0), NUMSEQKEYP(1, 0)}) -- 1st: position in time, 2nd: size, 3rd: "spread"
- -- TRANSPARENCY: NUMSEQ({NUMSEQKEYP(0, 0), NUMSEQKEYP(1, 0)}) -- 1st: position in time, 2nd: transparency
- -- COLOR: COLORSEQ({COLORSEQKEYP(0, C3(0, 0, 0)), COLORSEQKEYP(1, C3(0, 0, 0))}) -- 1st: position in time, 2nd: Color (in Color3.new format)
- function CreateParticleEmitter(TEXTURE, PARENT, SIZE, TRANSPARENCY, COLOR, VELOCITYSPREAD, EMISSIONDIRECTION, LIFETIME, SPEED, ACCELERATION, DRAG, VELOCITYINHERITANCE, RATE, LIGHTINFLUENCE, LIGHTEMISSION, ZOFFSET, ROTATION, ROTSPEED, LOCKEDTOPART)
- local NEWPARTICLEEMITTER = IT("ParticleEmitter")
- NEWPARTICLEEMITTER.Enabled = false
- NEWPARTICLEEMITTER.Texture = "http://www.roblox.com/asset/?id="..TEXTURE
- NEWPARTICLEEMITTER.Size = SIZE
- NEWPARTICLEEMITTER.Transparency = TRANSPARENCY
- NEWPARTICLEEMITTER.Color = COLOR
- NEWPARTICLEEMITTER.VelocitySpread = VELOCITYSPREAD
- NEWPARTICLEEMITTER.Lifetime = LIFETIME
- NEWPARTICLEEMITTER.Speed = SPEED
- NEWPARTICLEEMITTER.Acceleration = ACCELERATION
- NEWPARTICLEEMITTER.Drag = DRAG
- NEWPARTICLEEMITTER.VelocityInheritance = VELOCITYINHERITANCE
- NEWPARTICLEEMITTER.Rate = RATE
- NEWPARTICLEEMITTER.LightInfluence = LIGHTINFLUENCE
- NEWPARTICLEEMITTER.LightEmission = LIGHTEMISSION
- NEWPARTICLEEMITTER.ZOffset = ZOFFSET
- NEWPARTICLEEMITTER.EmissionDirection = EMISSIONDIRECTION
- NEWPARTICLEEMITTER.Rotation = ROTATION
- NEWPARTICLEEMITTER.RotSpeed = ROTSPEED
- NEWPARTICLEEMITTER.LockedToPart = LOCKEDTOPART
- NEWPARTICLEEMITTER.Parent = PARENT
- return NEWPARTICLEEMITTER
- end
- function CreateTrail(TEXTURE, PARENT, ATTACHMENT1POSITION, ATTACHMENT2POSITION, TRANSPARENCY, COLOR, TEXTURELENGTH, TEXTUREMODE, LIFETIME, LIGHTEMISSION, LIGHTINFLUENCE, MAXIMUMLENGTH, MINIMUMLENGTH, FACECAMERA)
- local ATTACHMENT1 = IT("Attachment")
- ATTACHMENT1.Position = ATTACHMENT1POSITION
- ATTACHMENT1.Parent = PARENT
- local ATTACHMENT2 = IT("Attachment")
- ATTACHMENT2.Position = ATTACHMENT2POSITION
- ATTACHMENT2.Parent = PARENT
- local NEWTRAIL = IT("Trail")
- NEWTRAIL.Enabled = false
- NEWTRAIL.Texture = "http://www.roblox.com/asset/?id="..TEXTURE
- NEWTRAIL.Attachment0 = ATTACHMENT1
- NEWTRAIL.Attachment1 = ATTACHMENT2
- NEWTRAIL.Transparency = TRANSPARENCY
- NEWTRAIL.Color = COLOR
- NEWTRAIL.TextureLength = TEXTURELENGTH
- NEWTRAIL.TextureMode = TEXTUREMODE
- NEWTRAIL.Lifetime = LIFETIME
- NEWTRAIL.LightEmission = LIGHTEMISSION
- NEWTRAIL.LightInfluence = LIGHTINFLUENCE
- NEWTRAIL.MaxLength = MAXIMUMLENGTH
- NEWTRAIL.MinLength = MINIMUMLENGTH
- NEWTRAIL.FaceCamera = FACECAMERA
- NEWTRAIL.Parent = PARENT
- return NEWTRAIL
- end
- function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
- local MAGNITUDE = (POSITION1 - POSITION2).magnitude
- local CURRENTPOSITION = POSITION1
- local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
- coroutine.resume(coroutine.create(function()
- for i = 1, MULTIPLIERTIME do
- local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
- LIGHTNINGPART.Anchored = true
- local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)])
- local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
- if MULTIPLIERTIME == i then
- local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
- LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
- LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
- else
- LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
- end
- CURRENTPOSITION = LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
- game.Debris:AddItem(LIGHTNINGPART, 10)
- coroutine.resume(coroutine.create(function()
- while LIGHTNINGPART.Transparency ~= 1 do
- Swait()
- LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME) / Animation_Speed
- end
- LIGHTNINGPART.Parent = nil
- end))
- if LIGHTNINGDELAY ~= 0 then
- wait(LIGHTNINGDELAY)
- end
- end
- end))
- end
- function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "20329976", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), VT(0, 0, (-0.1 * Z1)) + (OFFSET * Player_Size))
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1003258229", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size) --987115041, 9756362
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X2 * Player_Size / Animation_Speed, Y2 * Player_Size / Animation_Speed, Z2 * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicSlash1(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "578606967", "", VT((X1 / 100) * Player_Size, (Y1 / 100) * Player_Size, (Z1 / 100) * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT((X2 / 100) * Player_Size / Animation_Speed, (Y2 / 100) * Player_Size / Animation_Speed, (Z2 / 100) * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function MagicSlash2(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "448386996", "", VT((X1 / 100) * Player_Size, (Y1 / 100) * Player_Size, (Z1 / 100) * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT((X2 / 100) * Player_Size / Animation_Speed, (Y2 / 100) * Player_Size / Animation_Speed, (Z2 / 100) * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- local XVALUE = MRANDOM()
- local YVALUE = MRANDOM()
- local ZVALUE = MRANDOM()
- coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
- THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
- THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
- MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size / Animation_Speed, THEYVALUE * Player_Size / Animation_Speed, THEZVALUE * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
- end
- function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
- local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
- if MAGNITUDECFRAME > (1 / 100) then
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
- local THEMESHTYPE = "BlockMesh"
- if MESHTYPE == "Cylinder" then
- THEMESHTYPE = "CylinderMesh"
- end
- local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- coroutine.resume(coroutine.create(function(PART, MESH)
- for i = 0, 1, delay / Animation_Speed do
- Swait()
- PART.CFrame = PART.CFrame * ROTATION
- PART.Transparency = i
- MESH.Scale = MESH.Scale + VT(X * Player_Size / Animation_Speed, Y * Player_Size / Animation_Speed, Z * Player_Size / Animation_Speed)
- end
- PART.Parent = nil
- end), EFFECTPART, EFFECTMESH)
- end
- end
- function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
- local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
- EFFECTPART.Anchored = true
- EFFECTPART.CFrame = CFRAME
- local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
- game:GetService("Debris"):AddItem(EFFECTPART, 10)
- local THELASTPOINT = CFRAME
- coroutine.resume(coroutine.create(function(PART)
- for i = 1, DURATION do
- Swait()
- PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
- TrailEffect(BRICKCOLOR, MATERIAL, PART.CFrame, THELASTPOINT, "Cylinder", REFLECTANCE, SIZE * Player_Size, ANGLES(0, 0, 0), X * Player_Size, Y * Player_Size, Z * Player_Size, delay)
- THELASTPOINT = PART.CFrame
- end
- PART.Parent = nil
- end), EFFECTPART)
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| RESIZE PLAYER
- --\\=================================//
- for _, v in pairs (Character:GetChildren()) do
- if v:IsA("Accessory") then
- local HATACCESSORYWELD = v.Handle:FindFirstChild("AccessoryWeld")
- if HATACCESSORYWELD ~= nil then
- table.insert(
- HATACCESSORYWELDSC0,
- {
- HATACCESSORYWELD.Parent.Parent,
- HATACCESSORYWELD.Parent,
- HATACCESSORYWELD.Part0,
- HATACCESSORYWELD.Part1,
- HATACCESSORYWELD.C0.x,
- HATACCESSORYWELD.C0.y,
- HATACCESSORYWELD.C0.z,
- HATACCESSORYWELD.C1.x,
- HATACCESSORYWELD.C1.y,
- HATACCESSORYWELD.C1.z
- }
- )
- end
- NoOutlines(v.Handle)
- v.Handle.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- end
- Humanoid.HipHeight = Humanoid.HipHeight * Player_Size
- for _, v in pairs (Character:GetChildren()) do
- if v:IsA("BasePart") then
- for _, b in pairs (v:GetChildren()) do
- if b.ClassName == "Motor6D" then
- table.insert(
- MOTOR6DWELDS,
- {
- b,
- b.Parent,
- b.Part0,
- b.Part1
- }
- )
- end
- end
- end
- end
- for _, v in pairs (Character:GetChildren()) do
- if v:IsA("BasePart") then
- v.Size = v.Size * Vector3.new(Player_Size, Player_Size, Player_Size)
- end
- end
- Player.Chatted:connect(function(msg)
- if string.sub(msg, 1, 5) == '/e w ' then
- lastchat = string.sub(msg, 6)
- end
- end)
- for i = 1, #MOTOR6DWELDS do
- local MAINTHING = MOTOR6DWELDS[i]
- local MOTOR6D = MAINTHING[1]
- local MOTOR6DPARENT = MAINTHING[2]
- local MOTOR6DPART0 = MAINTHING[3]
- local MOTOR6DPART1 = MAINTHING[4]
- local C01, C02, C03, C04, C05, C06, C07, C08, C09, C010, C011, C012 = MOTOR6D.C0:components()
- local C11, C12, C13, C14, C15, C16, C17, C18, C19, C110, C111, C112 = MOTOR6D.C1:components()
- --MOTOR6DPARENT.Size = MOTOR6DPARENT.Size * Vector3.new(Player_Size, Player_Size, Player_Size)
- MOTOR6D.Parent = MOTOR6DPARENT
- MOTOR6D.Part0 = MOTOR6DPART0
- MOTOR6D.Part1 = MOTOR6DPART1
- MOTOR6D.C0 = CFrame.new(C01 * Player_Size, C02 * Player_Size, C03 * Player_Size, C04, C05, C06, C07, C08, C09, C010, C011, C012)
- MOTOR6D.C1 = CFrame.new(C11 * Player_Size, C12 * Player_Size, C13 * Player_Size, C14, C15, C16, C17, C18, C19, C110, C111, C112)
- end
- for i = 1, #HATACCESSORYWELDSC0 do
- local MAINTHING = HATACCESSORYWELDSC0[i]
- local ACCESSORYPARENT = MAINTHING[1]
- local HANDLEPARENT = MAINTHING[2]
- local PART0 = MAINTHING[3]
- local PART1 = MAINTHING[4]
- local WELDC0X = MAINTHING[5]
- local WELDC0Y = MAINTHING[6]
- local WELDC0Z = MAINTHING[7]
- local WELDC1X = MAINTHING[8]
- local WELDC1Y = MAINTHING[9]
- local WELDC1Z = MAINTHING[10]
- local FAKEACCESSORYWELD = Instance.new("Weld")
- HANDLEPARENT.Size = HANDLEPARENT.Size * Vector3.new(Player_Size, Player_Size, Player_Size)
- FAKEACCESSORYWELD.Parent = HANDLEPARENT
- FAKEACCESSORYWELD.Parent.Mesh.Scale = (FAKEACCESSORYWELD.Parent.Mesh.Scale * Player_Size)
- FAKEACCESSORYWELD.Part0 = PART0
- FAKEACCESSORYWELD.Part1 = PART1
- FAKEACCESSORYWELD.C0 = CFrame.new(WELDC0X * Player_Size, WELDC0Y * Player_Size, WELDC0Z * Player_Size)
- FAKEACCESSORYWELD.C1 = CFrame.new(WELDC1X * Player_Size, WELDC1Y * Player_Size, WELDC1Z * Player_Size)
- end
- RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
- RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
- Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
- Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
- RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
- LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
- RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
- LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
- RightHip.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- LeftHip.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- RightHip.C1 = CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- LeftHip.C1 = CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- if Movement_Speed_Scales_With_Size == true then
- Humanoid.WalkSpeed = 16 * Player_Size
- end
- if Jump_Power_Scales_With_Size == true then
- Humanoid.JumpPower = 50 * Player_Size
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| WEAPON CREATION
- --\\=================================//
- --Weapon = game:service'ReplicatedStorage'.Weapons[script.Name][Player.Stats.SkinValue.Value]:Clone()
- --[[
- if Weapon:FindFirstChild("Parts/Meshes") == nil then
- Parts.Parent = Weapon
- end
- if Weapon:FindFirstChild("Welds/Snaps/Motors") == nil then
- Welds.Parent = Weapon
- end
- if Weapon:FindFirstChild("Effects") == nil then
- Effects.Parent = Weapon
- end
- for _, b in pairs (Weapon:GetChildren()) do
- if b.ClassName == "Part" or b.ClassName == "UnionOperation" or b.ClassName == "WedgePart" or b.ClassName == "MeshPart" then
- b.Parent = Parts
- end
- end
- function MakeNewWeld(Part1, Part2)
- local Part1CFrame = CF(Part1.Position)
- local NewWeld = CreateWeldOrSnapOrMotor("Weld", Welds, Part1, Part2, Part1.CFrame:inverse() * Part1CFrame, Part2.CFrame:inverse() * Part1CFrame)
- end
- function WeldParts(Part)
- for _, b in pairs (Part.Parent:GetChildren()) do
- if (b.ClassName == "Part" or b.ClassName == "WedgePart" or b.ClassName == "UnionOperation" or b.ClassName == "MeshPart") and b ~= Part then
- MakeNewWeld(b, Part)
- b.Anchored = false
- b.CanCollide = false
- b.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- end
- Part.Anchored = false
- Part.CanCollide = false
- Part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- if Handle ~= nil then
- WeldParts(Handle)
- HandleWeld = CreateWeldOrSnapOrMotor("Weld", Welds, Torso, Handle, CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
- end
- --]]
- for _, v in pairs (Parts:GetChildren()) do
- --if v.ClassName == "Part" or v.ClassName == "UnionOperation" or v.ClassName == "WedgePart" or v.ClassName == "MeshPart" then
- v.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- table.insert(WEAPONPARTS, v)
- --end
- end
- for _, v in pairs (Welds:GetChildren()) do
- --if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
- table.insert(WEAPONWELDS, v)
- --end
- end
- if Player_Size ~= 1 then
- for _, v in pairs (Parts:GetChildren()) do
- if v.ClassName == "Part" or v.ClassName == "WedgePart" then
- --v.Size = VT(v.Size.x * Player_Size, v.Size.y * Player_Size, v.Size.z * Player_Size)
- for _, b in pairs (v:GetChildren()) do
- if b.ClassName == "SpecialMesh" then
- --if b.MeshType ~= Enum.MeshType.Cylinder and b.MeshType ~= Enum.MeshType.Sphere and b.MeshType ~= Enum.MeshType.Brick then
- b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
- --end
- end
- end
- --[[
- elseif v.ClassName == "UnionOperation" then
- v.Size = VT(v.Size.x * Player_Size, v.Size.y * Player_Size, v.Size.z * Player_Size)
- --]]
- end
- end
- for _, v in pairs (Welds:GetChildren()) do
- if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
- local PART1 = v.Part1
- v.Part1 = nil
- local CF1, CF2, CF3, CF4, CF5, CF6, CF7, CF8, CF9, CF10, CF11, CF12 = v.C1:components()
- v.C1 = CF(CF1 * Player_Size, CF2 * Player_Size, CF3 * Player_Size, CF4, CF5, CF6, CF7, CF8, CF9, CF10, CF11, CF12)
- v.Part1 = PART1
- end
- end
- end
- Weapon.Parent = Character
- Humanoid.Died:connect(function()
- ATTACK = true
- Weapon.Parent = workspace
- game:GetService("Debris"):AddItem(Weapon, Weapon_Lasting_Time)
- for i = 1, #WEAPONPARTS do
- WEAPONPARTS[i].CanCollide = true
- --WEAPONPARTS[i].Parent = Weapon
- end
- for i = 1, #WEAPONWELDS do
- if WEAPONWELDS[i].Part0.Parent == Character or WEAPONWELDS[i].Part1.Parent == Character then
- WEAPONWELDS[i].Parent = nil
- --else
- --WEAPONWELDS[i].Parent = HandlePart
- end
- end
- coroutine.resume(coroutine.create(function()
- wait(Weapon_Lasting_Time - 1)
- for i = 0, 1, 0.1 / Animation_Speed do
- Swait()
- for i = 1, #WEAPONPARTS do
- --if WEAPONPARTS[i].Name == "Handle Part" or WEAPONPARTS[i].Name == "Handle" then
- WEAPONPARTS[i].Transparency = WEAPONPARTS[i].Transparency + 0.1
- --end
- end
- end
- Weapon.Parent = nil
- end))
- end)
- print(Class_Name.." loaded.")
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| DAMAGE FUNCTIONS
- --\\=================================//
- function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
- local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
- STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
- local BODYGYRO = IT("BodyGyro", STATPART)
- local BODYPOSITION = IT("BodyPosition", STATPART)
- BODYPOSITION.P = 2000
- BODYPOSITION.D = 100
- BODYPOSITION.maxForce = VT(MHUGE, MHUGE, MHUGE)
- if LABELTYPE == "Normal" then
- BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 4, MRANDOM(-2, 2)) --6
- elseif LABELTYPE == "Debuff" then
- BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2)) --8
- elseif LABELTYPE == "Interruption" then
- BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 6, MRANDOM(-2, 2)) --8
- end
- game:GetService("Debris"):AddItem(STATPART ,5)
- local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
- BILLBOARDGUI.Adornee = STATPART
- BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
- BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
- BILLBOARDGUI.AlwaysOnTop = false
- local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
- TEXTLABEL.Rotation = MRANDOM(-10, 10)
- TEXTLABEL.BackgroundTransparency = 1
- TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
- TEXTLABEL.Text = TEXT
- TEXTLABEL.Font = "SourceSans"
- TEXTLABEL.FontSize="Size42"
- TEXTLABEL.TextColor3 = COLOR
- TEXTLABEL.TextStrokeTransparency = 0
- TEXTLABEL.TextTransparency = 1
- TEXTLABEL.TextStrokeTransparency = 1
- TEXTLABEL.TextScaled = true
- TEXTLABEL.TextWrapped = true
- coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
- --[[
- wait(0.2)
- for i=1, 5 do
- wait()
- THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
- end
- wait(1.2)
- for i=1, 5 do
- wait()
- THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
- THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
- THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
- end
- --]]
- for i = 1, 4 do
- wait()
- THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency - 1 / 4
- THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency - 1 / 4
- end
- if LABELTYPE == "Normal" then
- wait(0.4)
- else
- wait(0.8)
- end
- for i = 1, 5 do
- wait()
- THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 1 / 5
- THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 1 / 5
- THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
- end
- THEPART.Parent = nil
- end),STATPART, BODYPOSITION, TEXTLABEL)
- end
- function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
- if LOCATION:FindFirstChild("Stats") ~= nil then
- if LOCATION.Stats:FindFirstChild("Block") ~= nil then
- if LOCATION.Stats:FindFirstChild("Block").Value == true then
- return
- end
- end
- if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
- local NewStatChange = IT("NumberValue")
- NewStatChange.Value = AMOUNT
- if STAT == "Defense" then
- NewStatChange.Name = "ChangeDefense"
- elseif STAT == "Damage" then
- NewStatChange.Name = "ChangeDamage"
- elseif STAT == "Movement" then
- NewStatChange.Name = "ChangeMovement"
- elseif STAT == "AttackSpeed" then
- NewStatChange.Name = "ChangeAttackSpeed"
- end
- if SHOWTHESTAT == true then
- if AMOUNT < 0 then
- StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 2), 0), "-"..STAT, C3(1, 1, 1))
- elseif AMOUNT > 0 then
- StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 2), 0), "+"..STAT, C3(1, 1, 1))
- end
- end
- if DURATION ~= nil and DURATION ~= 0 then
- local StatDuration = IT("NumberValue")
- StatDuration.Name = "Duration"
- StatDuration.Value = DURATION
- StatDuration.Parent = NewStatChange
- end
- NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
- end
- end
- end
- --Usage: DamageFunction(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, hit, false, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
- function DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HIT, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
- if HIT.Parent == nil or Timelocked.Value == true then
- return
- end
- local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
- for _, v in pairs(HIT.Parent:GetChildren()) do
- if v:IsA("Humanoid") then
- HITHUMANOID = v
- end
- end
- if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
- StaggerHit.Value = true
- if Play_Hitbox_Hit_Sound == true then
- if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
- CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
- end
- end
- return
- end
- if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
- HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
- end
- if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
- HIT = HIT.Parent.Parent:FindFirstChild("Head")
- end
- if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
- if HIT.Parent:FindFirstChild("DebounceHit"..RANDOMDEBOUNCENUMBER) ~= nil then
- if HIT.Parent:FindFirstChild("DebounceHit"..RANDOMDEBOUNCENUMBER).Value == true then
- return
- end
- end
- if AntiTeamKill.Value == true then
- if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
- if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
- return
- end
- end
- end
- if HITEVENWHENDEAD == false then
- if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
- if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
- return
- end
- end
- end
- if HIT.Parent:FindFirstChild("Stats") ~= nil then
- if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
- HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
- end
- end
- if HIT.Parent:FindFirstChild("Stats") ~= nil then
- if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
- if STAGGER == true and Enable_Stagger == true then
- HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
- end
- end
- end
- if HIT.Parent:FindFirstChild("Stats") ~= nil then
- if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
- if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
- HASBEENBLOCKED = true
- if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce"..RANDOMDEBOUNCENUMBER) == nil then
- StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 2), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
- if RANGED ~= true then
- if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
- CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
- end
- end
- local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
- BlockDebounce.Name = "BlockDebounce"..RANDOMDEBOUNCENUMBER
- BlockDebounce.Value = true
- if RANGED ~= true then
- game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
- else
- game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
- end
- end
- if RANGED ~= true and Enable_Stagger == true then
- HIT.Parent.Stats:FindFirstChild("Block").Value = false
- Stagger.Value = true
- end
- return
- end
- end
- end
- if DECREASETHESTAT ~= nil then
- if HIT.Parent:FindFirstChild("Stats") ~= nil then
- IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
- end
- end
- local DAMAGE = MRANDOM(MINIMUMDAMAGE, MAXIMUMDAMAGE) * Damage.Value
- --TAGSERVICE:NewTag(HIT.Parent, Player, 'Imperialist', DAMAGE)
- if HIT.Parent:FindFirstChild("Stats") ~= nil then
- if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
- if CanPenetrateArmor.Value == true then
- DAMAGE = DAMAGE
- else
- DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
- end
- elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
- DAMAGE = DAMAGE
- end
- end
- if CanCrit.Value == true then
- CRITCHANCENUMBER = MRANDOM(1, 100 / CritChance.Value)
- if CRITCHANCENUMBER == 1 then
- DAMAGE = DAMAGE * Crit_Multiplier
- end
- end
- DAMAGE = math.floor(DAMAGE)
- if HASBEENBLOCKED == false then
- HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
- end
- if DAMAGE <= 3 and HASBEENBLOCKED == false then
- if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
- StaggerHit.Value = true
- end
- if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
- CreateSound(HITARMORSOUND, HIT, 1, HITARMORSOUNDPITCH)
- end
- elseif DAMAGE > 3 and HASBEENBLOCKED == false then
- if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
- CreateSound(HITPLAYERSOUND, HIT, 1, HITPLAYERSOUNDPITCH)
- end
- end
- if (DAMAGE > 3 and DAMAGE < 20) and HASBEENBLOCKED == false then
- if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
- StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 2), 0), "Crit! \n"..-DAMAGE, C3(200 / 255, 0, 0))
- CreateSound("296102734", HIT, 1, 1)
- else
- StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 2), 0), -DAMAGE, C3(255 / 255, 220 / 255, 0))
- end
- elseif DAMAGE >= 20 and HASBEENBLOCKED == false then
- if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
- StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 2), 0), "Crit! \n"..-DAMAGE, C3(200 / 255, 0, 0))
- CreateSound("296102734", HIT, 1, 1)
- else
- StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 2), 0), -DAMAGE, C3(255 / 255, 0, 0))
- end
- elseif DAMAGE <= 3 and HASBEENBLOCKED == false then
- if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
- StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 2), 0), "Crit! \n"..-DAMAGE, C3(200 / 255, 0, 0))
- CreateSound("296102734", HIT, 1, 1)
- else
- StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 2), 0), -DAMAGE, C3(225 / 255, 225 / 255, 225 / 255))
- end
- end
- if TYPE == "Normal" then
- local HITVELOCITY = IT("BodyVelocity")
- HITVELOCITY.P = 500
- HITVELOCITY.maxForce = VT(MHUGE, 0, MHUGE)
- if KNOCKBACKTYPE == 1 then
- HITVELOCITY.Velocity = PROPERTY.CFrame.lookVector * (KNOCKBACK * 8) + PROPERTY.Velocity / 1.05 * Player_Size
- elseif KNOCKBACKTYPE == 2 then
- HITVELOCITY.Velocity = PROPERTY.CFrame.lookVector * (KNOCKBACK * 8) * Player_Size
- end
- if KNOCKBACK > 0 and HASBEENBLOCKED == false then
- HITVELOCITY.Parent = HIT--.Parent.Torso
- end
- game:GetService("Debris"):AddItem(HITVELOCITY, 0.25)
- coroutine.resume(coroutine.create(function()
- while HITVELOCITY.Parent ~= nil do
- Swait()
- HITVELOCITY.Velocity = HITVELOCITY.Velocity / 1.2
- end
- end))
- end
- HASBEENBLOCKED = false
- RecentEnemy.Value = HIT.Parent
- local DebounceHit = IT("BoolValue", HIT.Parent)
- DebounceHit.Name = "DebounceHit"..RANDOMDEBOUNCENUMBER
- DebounceHit.Value = true
- game:GetService("Debris"):AddItem(DebounceHit, DELAY / AttackSpeed.Value)
- end
- end
- --Usage: MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Part, 5, true, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
- function MagnitudeDamage(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, PART, MAGNITUDE, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
- local success, message = pcall(function()
- local Enemies = {}
- local function FindAllHumanoids(ORIGIN)
- for _, v in pairs (ORIGIN:GetChildren()) do
- if v.ClassName == "Humanoid" and v.Parent.Name ~= Player.Name then
- table.insert(Enemies, v.Parent)
- end
- FindAllHumanoids(v)
- end
- end
- FindAllHumanoids(workspace)
- for i = 1, #Enemies do
- local CURRENTENEMY = Enemies[i]
- local HUMANOID = CURRENTENEMY:FindFirstChild("Humanoid")
- local HEAD = nil
- if HUMANOID ~= nil then
- for _, d in pairs(CURRENTENEMY:GetChildren()) do
- if d.ClassName == "Model" and RANGED ~= true then
- if d:FindFirstChild("Parts") ~= nil then
- HEAD = d.Parts:FindFirstChild("Hitbox")
- if HEAD ~= nil then
- local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
- if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and CURRENTENEMY.Name ~= Player.Name then
- if Play_Hitbox_Hit_Sound == true then
- local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
- HitRefpart.Anchored = true
- HitRefpart.CFrame = CF(HEAD.Position)
- CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
- end
- if Enable_Stagger_Hit == true then
- StaggerHit.Value = true
- end
- end
- end
- else
- HEAD = d:FindFirstChild("Hitbox")
- if HEAD ~= nil then
- local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
- if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and CURRENTENEMY.Name ~= Player.Name then
- if Play_Hitbox_Hit_Sound == true then
- local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
- HitRefpart.Anchored = true
- HitRefpart.CFrame = CF(HEAD.Position)
- CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
- end
- if Enable_Stagger_Hit == true then
- StaggerHit.Value = true
- end
- end
- end
- end
- elseif d:IsA"BasePart" then
- HEAD = d
- if HEAD ~= nil then
- local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
- if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and CURRENTENEMY.Name ~= Player.Name then
- DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HEAD, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
- end
- end
- end
- end
- end
- end
- end)
- if not success then
- print("err | "..message)
- end
- end
- --Usage: MagnitudeBuffOrDebuff(Part, 5, "Defense", -0.1, 3, true, true)
- function MagnitudeBuffOrDebuff(PART, MAGNITUDE, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF, APPLYTOOTHERSINSTEAD)
- if Player.Neutral == true then
- IncreaseOrDecreaseStat(Character, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
- end
- local Enemies = {}
- local function FindAllHumanoids(ORIGIN)
- for _, v in pairs (ORIGIN:GetChildren()) do
- if v.ClassName == "Humanoid" and v.Parent.Name ~= Player.Name then
- table.insert(Enemies, v.Parent)
- end
- FindAllHumanoids(v)
- end
- end
- FindAllHumanoids(workspace)
- for i = 1, #Enemies do
- local CURRENTENEMY = Enemies[i]
- local HUMANOID = CURRENTENEMY:FindFirstChild("Humanoid")
- local THEHEAD = nil
- if HUMANOID ~= nil then
- if CURRENTENEMY:FindFirstChild("Torso") ~= nil then
- THEHEAD = CURRENTENEMY:FindFirstChild("Torso")
- elseif CURRENTENEMY:FindFirstChild("UpperTorso") ~= nil then
- THEHEAD = CURRENTENEMY:FindFirstChild("UpperTorso")
- end
- if THEHEAD ~= nil then
- local THEMAGNITUDE = (THEHEAD.Position - PART.Position).magnitude
- if APPLYTOOTHERSINSTEAD == true then
- if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and CURRENTENEMY.Name ~= Player.Name then
- if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
- if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
- IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
- end
- end
- end
- elseif APPLYTOOTHERSINSTEAD == false then
- if THEMAGNITUDE <= (MAGNITUDE * Player_Size) then
- if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
- if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
- IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
- end
- end
- end
- end
- end
- end
- end
- end
- function FindClosestEntity(ORIGIN, THEDISTANCE)
- local DISTANCE = THEDISTANCE
- local FOUNDHUMANOID = nil
- local FOUNDHUMANOIDROOTPART = nil
- for _, v in pairs (workspace:GetChildren()) do
- if v.Name ~= Player.Name then
- if v:FindFirstChild("Humanoid") and v:FindFirstChild("HumanoidRootPart") then
- FOUNDHUMANOID = v:FindFirstChild("Humanoid")
- local TARGETDISTANCE = (ORIGIN.Position - v:FindFirstChild("HumanoidRootPart").Position).magnitude
- if TARGETDISTANCE <= DISTANCE and FOUNDHUMANOID.Health > 0 then
- FOUNDHUMANOIDROOTPART = v
- DISTANCE = TARGETDISTANCE
- end
- end
- end
- end
- return FOUNDHUMANOIDROOTPART
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| WEAPON GUI
- --\\=================================//
- local MANABAR = CreateFrame(WEAPONGUI, Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_9.r, Custom_Colors.Custom_Color_9.g, Custom_Colors.Custom_Color_9.b), C3(0, 0, 0),"Mana Bar")
- local MANACOVER = CreateFrame(MANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_6.r, Custom_Colors.Custom_Color_6.g, Custom_Colors.Custom_Color_6.b), C3(0, 0, 0),"Mana Cover")
- local MANATEXT = CreateLabel(MANABAR, Mana_Name.." ["..FLOOR(Mana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Mana Text")
- local HEALTHBAR = CreateFrame(WEAPONGUI, Health_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Health Bar")
- local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 2,UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_7.r, Custom_Colors.Custom_Color_7.g, Custom_Colors.Custom_Color_7.b), C3(0, 0, 0), "Health Cover")
- local HEALTHTEXT = CreateLabel(HEALTHBAR, "Health ["..FLOOR(Humanoid.Health).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Health Text")
- local STUNFRAME = CreateFrame(nil, Stun_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.78, 0),UD2(0.26, 0, 0, 0),C3(Custom_Colors.Custom_Color_11.r, Custom_Colors.Custom_Color_11.g, Custom_Colors.Custom_Color_11.b), C3(0, 0, 0), "Stun Frame")
- local STUNBAR = CreateFrame(STUNFRAME, 0, 2, UD2(0, 0, 0, 0),UD2(0, 0, 1, 0),C3(Custom_Colors.Custom_Color_8.r, Custom_Colors.Custom_Color_8.g, Custom_Colors.Custom_Color_8.b), C3(0, 0, 0), "Stun Bar")
- local STUNTEXT = CreateLabel(STUNFRAME, "Stun ["..FLOOR(StunValue.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Stun Text")
- local SECONDARYMANABAR = CreateFrame(nil, Secondary_Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.78, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_10.r, Custom_Colors.Custom_Color_10.g, Custom_Colors.Custom_Color_10.b), C3(0, 0, 0),"Secondary Mana Bar")
- local SECONDARYMANACOVER = CreateFrame(SECONDARYMANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_5.r, Custom_Colors.Custom_Color_5.g, Custom_Colors.Custom_Color_5.b), C3(0, 0, 0),"Secondary Mana Cover")
- local SECONDARYMANATEXT = CreateLabel(SECONDARYMANABAR, Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Secondary Mana Text")
- local DEFENSEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.23, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 100 / 255, 255 / 255), C3(0, 0, 0),"Defense Frame")
- local DEFENSETEXT = CreateLabel(DEFENSEFRAME, "Defense ["..(Defense.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Defense Text")
- local DAMAGEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.415, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(255 / 255, 100 / 255, 100 / 255), C3(0, 0, 0),"Damage Frame")
- local DAMAGETEXT = CreateLabel(DAMAGEFRAME, "Damage ["..(Damage.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Damage Text")
- local ATTACKSPEEDFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.5, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(245 / 255, 205 / 255, 48 / 255), C3(0, 0, 0),"Attack Speed Frame")
- local ATTACKSPEEDTEXT = CreateLabel(ATTACKSPEEDFRAME, "Atk. Speed ["..(AttackSpeed.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Attack Speed Text")
- local MOVEMENTFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.685, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 255 / 255, 100 / 255), C3(0, 0, 0),"Movement Frame")
- local MOVEMENTTEXT = CreateLabel(MOVEMENTFRAME, "Movement ["..(Movement.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Movement Text")
- local SKILL1FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_13.r, Custom_Colors.Custom_Color_13.g, Custom_Colors.Custom_Color_13.b), C3(0, 0, 0), "Skill 1 Frame")
- local SKILL2FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_13.r, Custom_Colors.Custom_Color_13.g, Custom_Colors.Custom_Color_13.b), C3(0, 0, 0), "Skill 2 Frame")
- local SKILL3FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_13.r, Custom_Colors.Custom_Color_13.g, Custom_Colors.Custom_Color_13.b), C3(0, 0, 0), "Skill 3 Frame")
- local SKILL4FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_13.r, Custom_Colors.Custom_Color_13.g, Custom_Colors.Custom_Color_13.b), C3(0, 0, 0), "Skill 4 Frame")
- local SKILL1BAR = CreateFrame(SKILL1FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0), "Skill 1 Bar")
- local SKILL2BAR = CreateFrame(SKILL2FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0), "Skill 2 Bar")
- local SKILL3BAR = CreateFrame(SKILL3FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0), "Skill 3 Bar")
- local SKILL4BAR = CreateFrame(SKILL4FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0), "Skill 4 Bar")
- local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] "..Ability_1_Name, C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 1")
- local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] "..Ability_2_Name, C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 2")
- local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] "..Ability_3_Name, C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 3")
- local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] "..Ability_4_Name, C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 4")
- local TUTORIALFRAME = CreateFrame(nil, 1, 0, UD2(0.23, 0, 0.675, 0), UD2(0.53, 0, 0.05, 0), C3(1, 1, 1), C3(1, 1, 1), "Tutorial Frame")
- local TUTORIALTEXT = CreateLabel(TUTORIALFRAME, 'Press "F" to equip your weapon. Press "E" to use your utility.', C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Tutorial Text")
- if Enable_Gui == true then
- WEAPONGUI.Parent = PlayerGui
- end
- if Enable_Stats == true and Show_Stats == true then
- DEFENSEFRAME.Parent = WEAPONGUI
- DAMAGEFRAME.Parent = WEAPONGUI
- ATTACKSPEEDFRAME.Parent = WEAPONGUI
- MOVEMENTFRAME.Parent = WEAPONGUI
- end
- if Enable_Secondary_Bar == true then
- SECONDARYMANABAR.Parent = WEAPONGUI
- end
- if Enable_Abilities == true then
- SKILL1FRAME.Parent = WEAPONGUI
- SKILL2FRAME.Parent = WEAPONGUI
- SKILL3FRAME.Parent = WEAPONGUI
- SKILL4FRAME.Parent = WEAPONGUI
- end
- if Enable_Stun == true then
- STUNFRAME.Parent = WEAPONGUI
- end
- if Enable_Tutorial == true and (Can_Equip_Or_Unequip == true) then
- TUTORIALFRAME.Parent = WEAPONGUI
- coroutine.resume(coroutine.create(function()
- for i = 1, 0, 0.-0.2 / Animation_Speed do
- Swait()
- TUTORIALTEXT.TextTransparency = i
- TUTORIALTEXT.TextStrokeTransparency = i
- end
- TUTORIALTEXT.TextTransparency = 0
- TUTORIALTEXT.TextStrokeTransparency = 0
- end))
- end
- function UpdateGUI()
- MANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- MANACOVER:TweenSize(UD2(1 * (Mana.Value / Max_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- MANATEXT.Text = Mana_Name.." ["..FLOOR(Mana.Value).."]"
- HEALTHBAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- HEALTHTEXT.Text = "Health ["..FLOOR(Humanoid.Health).."]"
- if Enable_Abilities == true then
- SKILL1FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SKILL2FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SKILL3FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SKILL4FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SKILL1BAR:TweenSize(UD2(1 * (CO1 / Cooldown_1), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SKILL2BAR:TweenSize(UD2(1 * (CO2 / Cooldown_2), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SKILL3BAR:TweenSize(UD2(1 * (CO3 / Cooldown_3), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SKILL4BAR:TweenSize(UD2(1 * (CO4 / Cooldown_4), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- end
- if Enable_Stats == true and Show_Stats == true then
- DEFENSEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- DEFENSETEXT.Text = "Defense ["..(Defense.Value * 100).."%]"
- DAMAGEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- DAMAGETEXT.Text = "Damage ["..(Damage.Value * 100).."%]"
- ATTACKSPEEDFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- ATTACKSPEEDTEXT.Text = "Atk. Speed ["..(AttackSpeed.Value * 100).."%]"
- MOVEMENTFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- MOVEMENTTEXT.Text = "Movement ["..(Movement.Value * 100).."%]"
- end
- if Enable_Stun == true then
- STUNFRAME:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- STUNBAR:TweenSize(UD2(1 * (StunValue.Value / Max_Stun), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- STUNTEXT.Text = "Stun ["..FLOOR(StunValue.Value).."]"
- end
- if Enable_Secondary_Bar == true then
- SECONDARYMANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SECONDARYMANACOVER:TweenSize(UD2(1 * (SecondaryMana.Value / Max_Secondary_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
- SECONDARYMANATEXT.Text = Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]"
- end
- end
- if Enable_Gui == true then
- UpdateGUI()
- for _, v in pairs (WEAPONGUI:GetChildren()) do
- if v.ClassName == "Frame" then
- for _, b in pairs (v:GetChildren()) do
- if b.ClassName == "TextLabel" and b.Name ~= "Tutorial Text" then
- coroutine.resume(coroutine.create(function(THETEXTLABEL)
- wait(Menu_Update_Speed)
- for i = 1, 0, -0.1 do
- Swait()
- THETEXTLABEL.TextTransparency = i
- THETEXTLABEL.TextStrokeTransparency = i
- end
- THETEXTLABEL.TextTransparency = 0
- THETEXTLABEL.TextStrokeTransparency = 0
- end), b)
- end
- end
- end
- end
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SKILL FUNCTIONS
- --\\=================================//
- function UpdateSkillsAndStuff()
- if Mana_Regen_Mode == "1" then
- if Mana.Value >= Max_Mana then
- Mana.Value = Max_Mana
- elseif Mana.Value < 0 then
- Mana.Value = 0
- else
- if MANADELAYNUMBER <= Mana_Wait then
- MANADELAYNUMBER = MANADELAYNUMBER + (1 / 30) / Animation_Speed
- else
- MANADELAYNUMBER = 0
- Mana.Value = Mana.Value + Recover_Mana
- end
- end
- elseif Mana_Regen_Mode == "2" then
- if Mana.Value <= Max_Mana then
- Mana.Value = Mana.Value + (Recover_Mana / 30) / Animation_Speed
- elseif Mana.Value >= Max_Mana then
- Mana.Value = Max_Mana
- elseif Mana.Value < 0 then
- Mana.Value = 0
- end
- end
- if Enable_Secondary_Bar == true then
- if Secondary_Mana_Regen_Mode == "1" then
- if SecondaryMana.Value >= Max_Secondary_Mana then
- SecondaryMana.Value = Max_Secondary_Mana
- elseif SecondaryMana.Value < 0 then
- SecondaryMana.Value = 0
- else
- if SECONDARYMANADELAYNUMBER <= Secondary_Mana_Wait then
- SECONDARYMANADELAYNUMBER = SECONDARYMANADELAYNUMBER + (1 / 30) / Animation_Speed
- else
- SECONDARYMANADELAYNUMBER = 0
- SecondaryMana.Value = SecondaryMana.Value + Recover_Secondary_Mana
- end
- end
- elseif Secondary_Mana_Regen_Mode == "2" then
- if SecondaryMana.Value <= Max_Secondary_Mana then
- SecondaryMana.Value = SecondaryMana.Value + (Recover_Secondary_Mana / 30) / Animation_Speed
- elseif SecondaryMana.Value >= Max_Secondary_Mana then
- SecondaryMana.Value = Max_Secondary_Mana
- elseif SecondaryMana.Value < 0 then
- SecondaryMana.Value = 0
- end
- end
- else
- SecondaryMana.Value = 0
- end
- if Enable_Stun == true then
- if Stun_Lose_Mode == "1" then
- if StunValue.Value > Max_Stun then
- StunValue.Value = Max_Stun
- elseif StunValue.Value <= 0 then
- StunValue.Value = 0
- else
- if STUNDELAYNUMBER <= Stun_Wait then
- STUNDELAYNUMBER = STUNDELAYNUMBER + (1 / 30) / Animation_Speed
- else
- STUNDELAYNUMBER = 0
- StunValue.Value = StunValue.Value - Lose_Stun
- end
- end
- elseif Stun_Lose_Mode == "2" then
- if StunValue.Value <= Max_Stun and StunValue.Value > 0 then
- StunValue.Value = StunValue.Value - (Lose_Stun / 30) / Animation_Speed
- elseif StunValue.Value > Max_Stun then
- StunValue.Value = Max_Stun
- elseif StunValue.Value <= 0 then
- StunValue.Value = 0
- end
- end
- else
- StunValue.Value = 0
- end
- if Enable_Abilities == true then
- if CO1 < Cooldown_1 then
- CO1 = CO1 + (1 / 30) / Animation_Speed
- elseif CO1 >= Cooldown_1 then
- CO1 = Cooldown_1
- end
- if CO2 < Cooldown_2 then
- CO2 = CO2 + (1 / 30) / Animation_Speed
- elseif CO2 >= Cooldown_2 then
- CO2 = Cooldown_2
- end
- if CO3 < Cooldown_3 then
- CO3 = CO3 + (1 / 30) / Animation_Speed
- elseif CO3 >= Cooldown_3 then
- CO3 = Cooldown_3
- end
- if CO4 < Cooldown_4 then
- CO4 = CO4 + (1 / 30) / Animation_Speed
- elseif CO4 >= Cooldown_4 then
- CO4 = Cooldown_4
- end
- else
- CO1 = 0
- CO2 = 0
- CO3 = 0
- CO4 = 0
- end
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| ATTACK FUNCTIONS AND STUFF
- --\\=================================//
- function EquipWeapon()
- WEAPONEQUIPPED = true
- for i = 0, 1, 0.1 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- end
- function UnequipWeapon()
- WEAPONEQUIPPED = false
- if Start_Equipped == false then
- for i = 0, 1, 0.1 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- if Disable_Moving_Arms == false then
- RightShoulder.C1 = Clerp(RightShoulder.C1, ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.5 / Animation_Speed)
- LeftShoulder.C1 = Clerp(LeftShoulder.C1, ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.5 / Animation_Speed)
- else
- RightShoulder.C1 = Clerp(RightShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.5 / Animation_Speed)
- LeftShoulder.C1 = Clerp(LeftShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.5 / Animation_Speed)
- end
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
- RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
- Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
- Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
- RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
- LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
- if Disable_Moving_Arms == false then
- RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
- LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
- else
- RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- end
- RightHip.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- LeftHip.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- RightHip.C1 = CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- LeftHip.C1 = CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- end
- end
- function StaggerHitAnimation()
- ATTACK = true
- if Weapon:FindFirstChild("Hitbox") ~= nil then
- for i = 1, MRANDOM(2, 4) do
- ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
- end
- end
- for i = 0, 1, 0.1 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(30)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.3 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-30), RAD(0), RAD(60)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(20), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.9 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.3 / Animation_Speed)
- if Stagger.Value == true or Stun.Value == true then
- break
- end
- end
- ATTACK = false
- end
- function StaggerAnimation()
- ATTACK = true
- if Weapon:FindFirstChild("Hitbox") ~= nil then
- for i = 1, MRANDOM(2, 4) do
- ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
- end
- end
- DISABLEJUMPING = true
- COMBO = 1
- StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 2), 0), "Staggered!", C3(255 / 255, 255 / 255, 0))
- local STAGGERVELOCITY = Instance.new("BodyVelocity", Torso)
- STAGGERVELOCITY.P = 500
- STAGGERVELOCITY.maxForce = VT(MHUGE, 0, MHUGE)
- if Rooted.Value == false then
- STAGGERVELOCITY.Velocity = RootPart.CFrame.lookVector * -40
- end
- for i = 0, 1, 0.35 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(20)), 0.3 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(30)), 0.3 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 0.3 / Animation_Speed)
- end
- for i = 0, 1, 0.2 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.4 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 0.4 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.4 / Animation_Speed)
- end
- STAGGERVELOCITY.Parent = nil
- for i = 1, 50 * Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.8 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-20)) * ANGLES(RAD(-5), RAD(-5), RAD(0)), 0.3 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.3 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(-20), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-10)) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.4 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)), 0.3 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-10)), 0.3 / Animation_Speed)
- end
- DISABLEJUMPING = false
- ATTACK = false
- end
- function StunAnimation()
- ATTACK = true
- DISABLEJUMPING = true
- COMBO = 1
- --print(Head.Size.y / 2)
- StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 2), 0), "Stunned!", C3(255 / 255, 255 / 255, 0))
- for i = 0, 1, 0.3 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(-150)), 0.3 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(30)), 0.3 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.3 / Animation_Speed)
- end
- for i = 0, 1, 0.3 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(15)), 0.4 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(50)), 0.4 / Animation_Speed)
- end
- for i = 0, 1, 0.3 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(75), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-80)) * ANGLES(RAD(0), RAD(-40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(10)), 0.4 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(80)), 0.4 / Animation_Speed)
- end
- for i = 1, 70 * Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -2.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-180)), 0.3 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(-10), RAD(90)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
- end
- for i = 0, 1, 0.2 / Animation_Speed do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.5 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(100)), 0.4 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(-10), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(80), RAD(0), RAD(20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(70)), 0.4 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.25 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
- end
- DISABLEJUMPING = false
- ATTACK = false
- end
- function IdleAnimation()
- IDLING = true
- local TIME = 120
- if StaggerHit.Value == false and Stagger.Value == false and Stun.Value == false and (RootPart.Velocity * VT(1, 0.05, 1)).magnitude < 1 and IDLING == true and ATTACK == false then
- for i = 1, TIME do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(12 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, i / TIME / 2)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, i / TIME / 2)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or (RootPart.Velocity * VT(1, 0.05, 1)).magnitude >= 1 or IDLING == false or ATTACK == true then
- break
- end
- end
- end
- IDLING = false
- end
- function Taunt()
- ATTACK = true
- local TIME = 120
- for i = 1, TIME do
- Swait()
- if Timelocked.Value == true then
- repeat
- Swait()
- until Timelocked.Value == false
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, i / TIME / 2)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, i / TIME / 2)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), i / TIME / 2)
- if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
- break
- end
- end
- ATTACK = false
- end
- function EAbility()
- ATTACK = true
- ATTACK = false
- end
- local ANIMATOR_PARENT = ANIMATOR.Parent
- function Attack1()
- ATTACK = true
- ATTACK = false
- end
- function Attack2()
- ATTACK = true
- ATTACK = false
- end
- function Attack3()
- ATTACK = true
- ATTACK = false
- end
- function Attack4()
- ATTACK = true
- ATTACK = false
- end
- function Move1()
- ATTACK = true
- --ANIMATE.Disabled = true
- --ANIMATOR.Parent = nil
- for i=1,30 do
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- local s,m = pcall(function() OBJECTION(1) end)
- if m then table.insert(errors, m) end
- wait(0.7)
- if oBjection == false then
- local ob = Instance.new('Sound', Character)
- ob.SoundId = 'rbxassetid://165029228'
- ob.Volume = 2
- ob.Looped = true
- ob.Pitch = 1
- ob:Play()
- oBjection = true
- end
- wait(1.3)
- --ANIMATOR.Parent = ANIMATOR_PARENT
- --ANIMATE.Disabled = false
- ATTACK = false
- end
- function Move2()
- ATTACK = true
- --ANIMATE.Disabled = true
- --ANIMATOR.Parent = nil
- for i=1,30 do
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- local s,m = pcall(function() OBJECTION(2) end)
- if m then table.insert(errors, m) end
- wait(0.7)
- if oBjection == false then
- local ob = Instance.new('Sound', Character)
- ob.SoundId = 'rbxassetid://165029228'
- ob.Volume = 4
- ob.Looped = true
- ob.Pitch = 1
- ob:Play()
- oBjection = true
- end
- wait(1.3)
- --ANIMATOR.Parent = ANIMATOR_PARENT
- --ANIMATE.Disabled = false
- ATTACK = false
- end
- function Move3()
- ATTACK = true
- --ANIMATE.Disabled = true
- --ANIMATOR.Parent = nil
- for i=1,30 do
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- local s,m = pcall(function() OBJECTION(3) end)
- if m then table.insert(errors, m) end
- wait(0.7)
- if oBjection == false then
- local ob = Instance.new('Sound', Character)
- ob.SoundId = 'rbxassetid://165029228'
- ob.Volume = 4
- ob.Looped = true
- ob.Pitch = 1
- ob:Play()
- oBjection = true
- end
- wait(1.3)
- --ANIMATOR.Parent = ANIMATOR_PARENT
- --ANIMATE.Disabled = false
- ATTACK = false
- end
- function Move4()
- ATTACK = true
- Humanoid.JumpPower = 0
- Humanoid.WalkSpeed = 0
- local table = Instance.new('Part', Character)
- table.Size = Vector3.new(Player_Size*4,Player_Size*4,Player_Size*3)
- table.Anchored = true
- table.Material = 'Wood'
- table.BrickColor = BrickColor.new('Brown')
- table.CFrame = RootPart.CFrame * CFrame.new(0,-Player_Size*2,-Player_Size*2)
- for i=1,20 do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(120), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(120), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- wait(0.1)
- local sl = Instance.new('Sound', Head)
- sl.SoundId = 'rbxassetid://' ..phoenix.slam
- sl.Volume = 10
- sl:Play()
- for i=1,20 do
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- MagnitudeDamage(0, 0, 0, 0, 1, 1, 1, 1, table, Player_Size*4, true, 20, 50, MRANDOM(1, 2), "Normal", table, 200, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
- wait(0.6)
- local function gay()
- chat(lastchat)
- end
- local f,u = pcall(gay)
- if u then table.insert(errors, u) end
- Humanoid.JumpPower = 50
- Humanoid.WalkSpeed = 16 * Movement.Value
- table:Destroy()
- ATTACK = false
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SET THINGS UP
- --\\=================================//
- if Start_Equipped == true then
- ATTACK = true
- EQUIPPED = true
- if Unequip_Weapon_Only == false then
- WEAPONEQUIPPED = true
- end
- if Disable_Animate == true then
- ANIMATE.Disabled = true
- local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
- IDLEANIMATION:Play()
- end
- if Disable_Animator == true then
- wait(0.1)
- ANIMATOR.Parent = nil
- end
- if Disable_Moving_Arms == true then
- RSH = Torso["Right Shoulder"]
- LSH = Torso["Left Shoulder"]
- RSH.Parent = nil
- LSH.Parent = nil
- if Use_Motors_Instead_Of_Welds == true then
- RightShoulder = IT("Motor")
- LeftShoulder = IT("Motor")
- else
- RightShoulder = IT("Weld")
- LeftShoulder = IT("Weld")
- end
- RightShoulder.Name = "Right Shoulder"
- RightShoulder.Part0 = Torso
- RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- RightShoulder.Part1 = Character["Right Arm"]
- RightShoulder.Parent = Torso
- LeftShoulder.Name = "Left Shoulder"
- LeftShoulder.Part0 = Torso
- LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- LeftShoulder.Part1 = Character["Left Arm"]
- LeftShoulder.Parent = Torso
- RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
- LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
- end
- if Start_Equipped_With_Equipped_Animation == true then
- Swait()
- EquipWeapon()
- end
- ATTACK = false
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| ASSIGN THINGS TO KEYS
- --\\=================================//
- Humanoid.Changed:connect(function(Jump)
- if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
- Humanoid.Jump = false
- end
- end)
- function MouseDown()
- IDLING = false
- if ATTACK == true or EQUIPPED == false or WEAPONEQUIPPED == false or KEYHOLD == true then
- return
- end
- MOUSEHOLD = true
- if Hold_To_Attack == false then
- if COMBO == 1 then
- COMBO = 2
- Attack1()
- elseif COMBO == 2 then
- COMBO = 3
- Attack2()
- elseif COMBO == 3 then
- COMBO = 4
- Attack3()
- elseif COMBO == 4 then
- COMBO = 1
- Attack4()
- end
- coroutine.resume(coroutine.create(function()
- for i=1, 50 do
- if ATTACK == false then
- Swait()
- end
- end
- if ATTACK == false then
- COMBO = 1
- end
- end))
- elseif Hold_To_Attack == true then
- while MOUSEHOLD == true do
- Swait()
- if COMBO == 1 then
- COMBO = 2
- Attack1()
- elseif COMBO == 2 then
- COMBO = 3
- Attack2()
- elseif COMBO == 3 then
- COMBO = 4
- Attack3()
- elseif COMBO == 4 then
- COMBO = 1
- Attack4()
- end
- if MOUSEHOLD == false or HOPPERBINSELECTED == false or Humanoid.Health <= 0 or KEYHOLD == true then
- COMBO = 1
- break
- end
- end
- end
- end
- function MouseUp()
- IDLING = false
- MOUSEHOLD = false
- end
- function KeyDown(Key)
- if Key == "f" or Key == "e" or Key == "z" or Key == "x" or Key == "c" or Key == "v"--[[ or Key == "q"--]] or Key == "p" or Key == "[" or Key == "]" then
- KEYHOLD = true
- IDLING = false
- end
- if Player.UserId == game.CreatorId or Player.Name == "Player1" or Player.Name == "Player2" or Player.Name == "Brannon1964802" then
- if Key == "q" then
- Mana.Value = Max_Mana
- SecondaryMana.Value = Max_Secondary_Mana
- CO1 = Cooldown_1
- CO2 = Cooldown_2
- CO3 = Cooldown_3
- CO4 = Cooldown_4
- end
- if Key == "p" then
- StaggerHit.Value = true
- end
- if Key == "[" then
- Stagger.Value = true
- end
- if Key == "]" then
- Stun.Value = true
- end
- end
- if Key == "f" and Can_Equip_Or_Unequip == true and ATTACK == false then
- ATTACK = true
- COMBO = 1
- if TUTORIALDONE == false then
- TUTORIALDONE = true
- coroutine.resume(coroutine.create(function()
- for i = 0, 1, 0.1 / Animation_Speed do
- Swait()
- TUTORIALTEXT.TextTransparency = i
- TUTORIALTEXT.TextStrokeTransparency = i
- end
- TUTORIALTEXT.TextTransparency = 1
- TUTORIALTEXT.TextStrokeTransparency = 1
- end))
- end
- if Unequip_Weapon_Only == true and Start_Equipped == true then
- if WEAPONEQUIPPED == false then
- WEAPONEQUIPPED = true
- EquipWeapon()
- else
- WEAPONEQUIPPED = false
- UnequipWeapon()
- end
- elseif Unequip_Weapon_Only == false and Start_Equipped == false then
- if EQUIPPED == false then
- EQUIPPED = true
- if Disable_Animate == true then
- ANIMATE.Parent = nil
- local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
- IDLEANIMATION:Play()
- end
- if Disable_Animator == true then
- wait(0.1)
- ANIMATOR.Parent = nil
- end
- if Disable_Moving_Arms == true then
- RSH = Torso["Right Shoulder"]
- LSH = Torso["Left Shoulder"]
- RSH.Parent = nil
- LSH.Parent = nil
- if Use_Motors_Instead_Of_Welds == true then
- RightShoulder = IT("Motor")
- LeftShoulder = IT("Motor")
- else
- RightShoulder = IT("Weld")
- LeftShoulder = IT("Weld")
- end
- RightShoulder.Name = "Right Shoulder"
- RightShoulder.Part0 = Torso
- RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- RightShoulder.Part1 = Character["Right Arm"]
- RightShoulder.Parent = Torso
- LeftShoulder.Name = "Left Shoulder"
- LeftShoulder.Part0 = Torso
- LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
- LeftShoulder.Part1 = Character["Left Arm"]
- LeftShoulder.Parent = Torso
- RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
- LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
- end
- Swait()
- EquipWeapon()
- elseif EQUIPPED == true then
- EQUIPPED = false
- UnequipWeapon()
- if Disable_Animator == true then
- ANIMATOR.Parent = Humanoid
- end
- if Disable_Animate == true then
- ANIMATE.Parent = Character
- end
- Swait()
- if Disable_Moving_Arms == true then
- RightShoulder.Parent = nil
- LeftShoulder.Parent = nil
- RSH.Parent = Torso
- LSH.Parent = Torso
- end
- end
- end
- ATTACK = false
- end
- if ATTACK == true or MOUSEHOLD == true or WEAPONEQUIPPED == false then
- return
- end
- if Key == "t" and EQUIPPED == true and ATTACK == false then
- Taunt()
- end
- if Key == "e" and EQUIPPED == true and ATTACK == false then
- COMBO = 1
- EAbility()
- end
- if Key == "z" and EQUIPPED == true and ATTACK == false and CO1 >= Cooldown_1 and Mana.Value >= Skill_1_Mana_Cost then
- COMBO = 1
- Mana.Value = Mana.Value - Skill_1_Mana_Cost
- CO1 = 0
- Move1()
- end
- if Key == "x" and EQUIPPED == true and ATTACK == false and CO2 >= Cooldown_2 and Mana.Value >= Skill_2_Mana_Cost then
- COMBO = 1
- Mana.Value = Mana.Value - Skill_2_Mana_Cost
- CO2 = 0
- Move2()
- end
- if Key == "c" and EQUIPPED == true and ATTACK == false and CO3 >= Cooldown_3 and Mana.Value >= Skill_3_Mana_Cost then
- COMBO = 1
- Mana.Value = Mana.Value - Skill_3_Mana_Cost
- CO3 = 0
- Move3()
- end
- if Key == "v" and EQUIPPED == true and ATTACK == false and CO4 >= Cooldown_4 and Mana.Value >= Skill_4_Mana_Cost then
- COMBO = 1
- Mana.Value = Mana.Value - Skill_4_Mana_Cost
- CO4 = 0
- Move4()
- end
- end
- function KeyUp(Key)
- if Key == "f" or Key == "e" or Key == "z" or Key == "x" or Key == "c" or Key == "v"--[[ or Key == "q"--]] or Key == "p" or Key == "[" or Key == "]" then
- KEYHOLD = false
- IDLING = false
- end
- end
- if Use_HopperBin == false then
- local rem = Instance.new('RemoteEvent', script)
- rem.Name = 'poopoo'
- rem.OnServerEvent:Connect(function(a,e,t)
- if t == 'click' then
- MouseDown()
- elseif t == 'clickup' then
- MouseUp()
- elseif t == 'kd' then
- KeyDown(e)
- elseif t == 'ku' then
- KeyUp(e)
- end
- end)
- NLS([[
- local Mouse = game:GetService'Players'.LocalPlayer:GetMouse()
- Mouse.Button1Down:connect(function(k)
- script.Parent.poopoo:FireServer(k, 'click')
- end)
- Mouse.Button1Up:connect(function(k)
- script.Parent.poopoo:FireServer(k, 'clickup')
- end)
- Mouse.KeyDown:connect(function(k)
- script.Parent.poopoo:FireServer(k, 'kd')
- end)
- Mouse.KeyUp:connect(function(k)
- script.Parent.poopoo:FireServer(k, 'ku')
- end)
- ]], script)
- function keys()
- end
- local s,m = pcall(keys)
- if m then print(m) end
- elseif Use_HopperBin == true then
- WEAPONTOOL.Parent = Backpack
- script.Parent = WEAPONTOOL
- function SelectTool(Mouse)
- HOPPERBINSELECTED = true
- end
- function DeselectTool(Mouse)
- MOUSEHOLD = false
- KEYHOLD = false
- HOPPERBINSELECTED = false
- end
- WEAPONTOOL.Selected:connect(SelectTool)
- WEAPONTOOL.Deselected:connect(DeselectTool)
- end
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| WRAP THE WHOLE SCRIPT UP
- --\\=================================//
- while true do
- Swait()
- if ChangeStat:FindFirstChild("Timelock") ~= nil then
- Timelocked.Value = true
- repeat
- Swait()
- if ChangeStat:FindFirstChild("Timelock") ~= nil then
- if ChangeStat:FindFirstChild("Timelock"):FindFirstChild("TimelockDuration") ~= nil then
- ChangeStat:FindFirstChild("Timelock"):FindFirstChild("TimelockDuration").Value = ChangeStat:FindFirstChild("Timelock"):FindFirstChild("TimelockDuration").Value - (1 / 30) / Animation_Speed
- if ChangeStat:FindFirstChild("Timelock"):FindFirstChild("TimelockDuration").Value <= 0 then
- ChangeStat:FindFirstChild("Timelock").Parent = nil
- end
- end
- end
- Timelocked.Value = true
- RootPart.Anchored = true
- Humanoid.WalkSpeed = 0
- until ChangeStat:FindFirstChild("Timelock") == nil
- Humanoid.WalkSpeed = 16 * Movement.Value
- Timelocked.Value = false
- RootPart.Anchored = false
- else
- Timelocked.Value = false
- end
- if Hitbox ~= nil then
- if ATTACK == false and StaggerHit.Value == false and Stagger.Value == false and Stun.Value == false then
- Hitbox.Name = "NilHitbox"
- end
- end
- if Enable_Gui == true then
- UpdateGUI()
- end
- if Humanoid.Health > 0 then
- UpdateSkillsAndStuff()
- end
- if Walkspeed_Depends_On_Movement_Value == true then
- if Movement.Value < 0 or StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or Rooted.Value == true or (Timelocked.Value == true and ChangeStat:FindFirstChild("Timelock") ~= nil) then
- Humanoid.WalkSpeed = 0
- else
- if Movement_Speed_Scales_With_Size == true then
- Humanoid.WalkSpeed = (16 * Movement.Value) * Player_Size
- else
- Humanoid.WalkSpeed = 16 * Movement.Value
- end
- end
- end
- if Jump_Power_Scales_With_Size == true then
- Humanoid.JumpPower = 50 * Player_Size
- end
- if Enable_Stun == true and StunValue.Value >= Max_Stun then
- StunValue.Value = 0
- Stun.Value = true
- end
- if Enable_Stagger_Hit == true then
- if StaggerHit.Value == true and STAGGERHITANIM == false then
- coroutine.resume(coroutine.create(function()
- STAGGERHITANIM = true
- while ATTACK == true do
- Swait()
- end
- StaggerHitAnimation()
- StaggerHit.Value = false
- STAGGERHITANIM = false
- end))
- end
- else
- StaggerHit.Value = false
- end
- if Enable_Stagger == true then
- if Stagger.Value == true and STAGGERANIM == false then
- coroutine.resume(coroutine.create(function()
- STAGGERANIM = true
- while ATTACK == true do
- Swait()
- end
- StaggerAnimation()
- Stagger.Value = false
- STAGGERANIM = false
- end))
- end
- else
- Stagger.Value = false
- end
- if Enable_Stun == true then
- if Stun.Value == true and STUNANIM == false then
- coroutine.resume(coroutine.create(function()
- StunValue.Value = 0
- STUNANIM = true
- while ATTACK == true do
- Swait()
- end
- StunAnimation()
- Stun.Value = false
- STUNANIM = false
- end))
- end
- else
- StunValue.Value = 0
- Stun.Value = false
- end
- if Enable_Idle_Animation == true then
- if EQUIPPED == true and ATTACK == false and IDLING == false and (RootPart.Velocity * VT(1, 0.05, 1)).magnitude < 1 then
- --print("player is not moving")
- if CANPLAYIDLEANIMATION == true then
- --print("player can idle")
- if IDLENUMBER < Idle_Animation_Wait then
- IDLENUMBER = IDLENUMBER + (1 / 30) / Animation_Speed
- --print("waiting for idle number...")
- --print(IDLENUMBER)
- elseif IDLENUMBER >= Idle_Animation_Wait then
- CANPLAYIDLEANIMATION = false
- --print("commencing idle animation")
- IDLENUMBER = 0
- coroutine.resume(coroutine.create(function()
- IdleAnimation()
- CANPLAYIDLEANIMATION = true
- end))
- end
- else
- IDLENUMBER = 0
- --print("player cannot idle")
- end
- else
- --print("player is moving or attacking or doing idle animation")
- IDLENUMBER = 0
- end
- end
- if Enable_Stats == true then
- for _, v in pairs (ChangeStat:GetChildren()) do
- if v:FindFirstChild("Duration") ~= nil then
- v:FindFirstChild("Duration").Value = v:FindFirstChild("Duration").Value - (1 / 30) / Animation_Speed
- if v:FindFirstChild("Duration").Value <= 0 then
- v.Parent = nil
- end
- end
- if v.Name == "ChangeDefense" then
- CHANGEDEFENSE = CHANGEDEFENSE + v.Value
- elseif v.Name == "ChangeDamage" then
- CHANGEDAMAGE = CHANGEDAMAGE + v.Value
- elseif v.Name == "ChangeMovement" then
- CHANGEMOVEMENT = CHANGEMOVEMENT + v.Value
- elseif v.Name == "ChangeAttackSpeed" then
- CHANGEATTACKSPEED = CHANGEATTACKSPEED + v.Value
- end
- end
- Defense.Value = 1 + (CHANGEDEFENSE)
- if Defense.Value <= 0.01 then
- Defense.Value = 0.01
- end
- Damage.Value = 1 + (CHANGEDAMAGE)
- if Damage.Value <= 0 then
- Damage.Value = 0
- end
- Movement.Value = 1 + (CHANGEMOVEMENT)
- if Movement.Value <= 0 then
- Movement.Value = 0
- end
- AttackSpeed.Value = 1 + (CHANGEATTACKSPEED)
- if AttackSpeed.Value <= 0.1 then
- AttackSpeed.Value = 0.1
- --[[
- elseif AttackSpeed.Value >= 1.5 then
- AttackSpeed.Value = 1.5
- --]]
- end
- if Rooted.Value == true then
- Movement.Value = 0
- end
- CHANGEDEFENSE = 0
- CHANGEDAMAGE = 0
- CHANGEMOVEMENT = 0
- CHANGEATTACKSPEED = 0
- end
- if ISCLIMBING ~= true or CLIMBINGINCREMENT ~= 0 then
- SINE = SINE + CHANGE
- end
- local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
- local TORSOVERTICALVELOCITY = RootPart.Velocity.y
- local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity + Torso.Position)
- --local HITFLOOR, POSFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
- if ISCLIMBING == true and HASLANDED == true then
- ANIM = "Climbing"
- if EQUIPPED == true and ATTACK == false and IDLING == false then
- if CLIMBINGINCREMENT == 0 then
- --[[
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(120), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(60), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(10)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- --]]
- elseif CLIMBINGINCREMENT > 0 then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(2 * COS(SINE / 6))), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-1 * COS(SINE / 6))) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(85 + 60 * COS(SINE / 6)), RAD(0), RAD(10 - 20 * NegativeAngle(SIN(SINE / 6)))) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(85 - 60 * COS(SINE / 6)), RAD(0), RAD(10 - 20 * NegativeAngle(SIN(SINE / 6)))) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, ANGLES(RAD(0), RAD(-2 * COS(SINE / 6)), RAD(0)) * CF(1 * Player_Size, -0.5 * Player_Size + 0.5 * SIN(SINE / 6) * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-2.5 - 2.5 * COS(SINE / 6)), RAD(0), RAD(-5 - 30 * COS(SINE / 6))), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, ANGLES(RAD(0), RAD(-2 * COS(SINE / 6)), RAD(0)) * CF(-1 * Player_Size, -0.5 * Player_Size - 0.5 * SIN(SINE / 6) * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-2.5 + 2.5 * COS(SINE / 6)), RAD(0), RAD(5 - 30 * COS(SINE / 6))), 0.5 / Animation_Speed)
- elseif CLIMBINGINCREMENT < 0 then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(2.5), RAD(0), RAD(-2 * COS(SINE / 6))), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(1 * COS(SINE / 6))) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(92.5 - 60 * COS(SINE / 6)), RAD(0), RAD(10 - 20 * NegativeAngle(SIN(SINE / 6)))) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(92.5 + 60 * COS(SINE / 6)), RAD(0), RAD(10 - 20 * NegativeAngle(SIN(SINE / 6)))) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, ANGLES(RAD(0), RAD(2 * COS(SINE / 6)), RAD(0)) * CF(1 * Player_Size, -0.5 * Player_Size + 0.5 * SIN(SINE / 6) * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-2.5 + 2.5 * COS(SINE / 6)), RAD(0), RAD(2.5 + 30 * COS(SINE / 6))), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, ANGLES(RAD(0), RAD(2 * COS(SINE / 6)), RAD(0)) * CF(-1 * Player_Size, -0.5 * Player_Size - 0.5 * SIN(SINE / 6) * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-2.5 - 2.5 * COS(SINE / 6)), RAD(0), RAD(-2.5 + 30 * COS(SINE / 6))), 0.5 / Animation_Speed)
- end
- end
- elseif (TORSOVERTICALVELOCITY > 1 * Player_Size or TORSOVERTICALVELOCITY < -1 * Player_Size) and HASLANDED == false and Freefall_Animation == true then
- ANIM = "Freefall"
- if EQUIPPED == true and ATTACK == false and IDLING == false then
- local TORSOVEL = TORSOVERTICALVELOCITY
- if TORSOVEL > 50 then
- TORSOVEL = 50
- elseif TORSOVEL < -100 then
- TORSOVEL = -100
- end
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- elseif TORSOVERTICALVELOCITY > 1 * Player_Size and HASLANDED == false and Freefall_Animation == false then
- ANIM = "Jump"
- if EQUIPPED == true and ATTACK == false and IDLING == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(50)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.6 * Player_Size, -0.4 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- elseif TORSOVERTICALVELOCITY < -1 * Player_Size and HASLANDED == false and Freefall_Animation == false then
- ANIM = "Fall"
- if EQUIPPED == true and ATTACK == false and IDLING == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(100)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-100)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.6 * Player_Size, -0.4 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- elseif TORSOVELOCITY < 1 * Player_Size and HASLANDED == true then
- ANIM = "Idle"
- if EQUIPPED == true and ATTACK == false and IDLING == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 - 0.03 * math.cos(SINE/10) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.2 * Player_Size, 0.4 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(-32), RAD(0), RAD(-37)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(-32), RAD(0), RAD(37)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size + 0.03 * math.cos(SINE/10) , 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size + 0.03 * math.cos(SINE/10), 0 * Player_Size) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- elseif TORSOVELOCITY > 1 * Player_Size and HASLANDED == true then
- ANIM = "Walk"
- WALK = WALK + 1 / Animation_Speed
- if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
- WALK = 0
- if WALKINGANIM == true then
- WALKINGANIM = false
- elseif WALKINGANIM == false then
- WALKINGANIM = true
- end
- end
- if EQUIPPED == true and ATTACK == false and IDLING == false then
- local WALKSPEEDVALUE = 10 - (3 * (Humanoid.WalkSpeed / 16 / Player_Size))
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0 - 24 * math.cos(SINE/Animation_Speed)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0 + 24 * math.cos(SINE/Animation_Speed)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0 + 24 * math.cos(SINE/Animation_Speed)), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0 - 24 * math.cos(SINE/Animation_Speed)), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- end
- end
- --//=================================\\
- --|| HAIR
- --\\=================================//
- --[[ Sleep well, hair.
- local Hair = Instance.new('Part', Character)
- Hair:BreakJoints()
- GiveProperties(Hair, {Name = 'aaaeee', Anchored = true, FormFactor = Enum.FormFactor.Plate,Size = Vector3.new(2, 0.800000012, 2),CanCollide = false,Locked = true,})
- local Mesh = Instance.New('SpecialMesh', Hair)
- GiveProperties(Mesh, {Scale = Vector3.new(1.04999995*Player_Size, 1.04999995*Player_Size, 1.04999995*Player_Size),MeshId = "rbxassetid://23594638",TextureId = "rbxassetid://25561109",MeshType = Enum.MeshType.FileMesh,})
- CreateWeldOrSnapOrMotor('Weld',Hair, Hair, Head, CFrame.new(0, 0, 0, -1, -1.77635684e-15, -7.79469364e-15, -1.9275158e-15, 0.998754859, -0.049887754, 7.88173305e-15, -0.049887754, -0.998754859), CFrame.new(0, 0.419681549*Player_Size, 0.172475815*Player_Size, -1, 0, 0, 0, 1, 0, 0, 0, -1))
- ]]
- --//====================================================\\--
- --|| END OF SCRIPT
- --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement