Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,Mouse,mouse,UserInputService,ContextActionService = owner
- local RealPlayer = Player
- do print("FE Compatibility code by Mokiros");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer
- script.Parent = InternalData.RealOwner.Character
- local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
- local function createObject (connections, index)
- local proxy = newproxy (true);local meta = getmetatable (proxy);
- local runbind = function (self, i, ...) connections[i]:Fire (...); end;
- while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
- meta.__index = function (self, i)
- if (i == 'TriggerEvent') then return runbind end;
- return connections[i] and connections[i].Event or index[i];
- end;
- meta.__newindex = index;meta.__metatable = false;return proxy
- end;
- local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
- local UserInputService = createObject({"InputBegan","InputEnded"},{})
- local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
- self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
- end};ContextActionService.UnBindAction = ContextActionService.BindAction
- Event.OnServerEvent:Connect(function(FiredBy,Input)
- if FiredBy ~= InternalData.RealOwner then return end
- if Input.MouseEvent then
- Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
- elseif Input.Sound then
- if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
- else
- local Begin = Input.UserInputState == Enum.UserInputState.Begin
- if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
- for _,Action in pairs(ContextActionService.Actions) do
- for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
- end
- Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
- end
- end)
- InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
- Event.Parent = NLS([[
- local Player = owner;
- local Sounds = {};
- local Event = script:WaitForChild("UserInput");
- local UserInputService = game:GetService("UserInputService");
- local Mouse = Player:GetMouse();
- local Input = function(Input,gameProcessedEvent)
- if gameProcessedEvent then return end
- Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
- end
- Event.OnClientEvent:connect(function(Args)
- if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
- end)
- UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
- local Hit,Target
- while wait(1/30) do
- for x,Sound in pairs(Sounds) do
- if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
- end
- if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
- Hit = Mouse.Hit;Target = Mouse.Target;
- Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
- end
- end
- ]],InternalData.RealOwner.Character)
- end
- InternalData.NewOwner = setmetatable({},{
- __index = function (self,Index)
- local Type = type(InternalData.RealOwner[Index])
- if Type == "function" then
- if Index:lower() == "getmouse" or Index:lower() == "mouse" then
- return function (self)return InternalData["Mouse"] end
- end
- return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
- elseif Index == "FakePlayer" then
- return true
- end
- return InternalData.RealOwner[Index]
- end;
- __tostring = function(self) return tostring(InternalData.RealOwner) end
- })
- --LoadLibrary("RbxUtility").Create
- InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
- if Library == "RbxUtility" then
- return setmetatable({},{
- __tostring = function() return "RbxUtility" end;
- __index = function(self, Index)
- if Index:lower() == "create" then
- return function(Type)
- return function(Data)
- Data = Data or {}
- local Inst = Instance.new(Type)
- for x,y in pairs(Data) do
- if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
- if y == owner then y = InternalData.RealOwner end
- Inst[x] = y
- end
- return Inst
- end
- end
- end
- return InternalData.LoadLibrary(Library)[Index]
- end
- })
- end
- return InternalData.LoadLibrary(Library)
- end
- InternalData.RealInstance = Instance;Instance = setmetatable({},{
- __index = function (self,Index)
- if Index:lower() == 'new' then
- return function (Type, Parent)
- if Parent == owner then Parent = InternalData.RealOwner end
- if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
- local Real = InternalData.RealInstance.new(Type,Parent)
- if not Type then return end
- if Type == "BillboardGui" then
- local ToReturn = setmetatable({},{
- __index = function (self,Index)
- if type(Real[Index]) == "function" then
- if Index:lower() == "clone" then
- return function (self)
- local Real = Real:Clone()
- local ToReturn = setmetatable({RealObject = Real},{
- __index = function (self,Index)
- if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
- return Real[Index]
- end;
- __newindex = function (self,Index,Value)
- if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
- if Value == owner then Value = InternalData.RealOwner end
- Real[Index] = Value
- end;
- __tostring = function(self) return tostring(Real) end;
- })
- InternalData.RealObjs[ToReturn] = Real;return ToReturn;
- end
- end
- return function (self,...) return Real[Index](Real,...)end
- end
- return Real[Index]
- end;
- __newindex = function (self,Index,Value)
- if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
- if Value == owner then Value = InternalData.RealOwner end
- Real[Index] = Value
- end;
- __tostring = function(self) return tostring(Real) end;
- })
- InternalData.RealObjs[ToReturn] = Real;return ToReturn;
- elseif Type:lower() == "sound" then
- Real.Parent = owner.Character;
- local ToReturn = setmetatable({RealObject = Real},{
- __index = function (self,Index)
- if Index:lower() == "playbackloudness" then
- return InternalData.SoundLoudness[Real] or 0
- elseif type(Real[Index]) == "function" then
- if Index:lower() == "clone" then
- return function (self)
- local Real = Real:Clone()
- local ToReturn = setmetatable({},{
- __index = function (self,Index)
- if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
- return Real[Index]
- end;
- __newindex = function (self,Index,Value)
- if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
- if Value == owner then Value = InternalData.RealOwner end
- Real[Index] = Value
- end;
- __tostring = function(self) return tostring(Real) end;
- })
- InternalData.RealObjs[ToReturn] = Real;return ToReturn;
- end
- end
- return function (self,...) return Real[Index](Real,...)end
- end
- return Real[Index]
- end;
- __newindex = function (self,Index,Value)
- if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
- if Value == owner then Value = InternalData.RealOwner end
- Real[Index] = Value
- end;
- __tostring = function(self) return tostring(Real) end;
- })
- InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
- else
- local ToReturn = setmetatable({RealObject = Real},{
- __index = function (self,Index)
- if type(Real[Index]) == "function" then
- if Index:lower() == "clone" then
- return function (self)
- local Real = Real:Clone()
- local ToReturn = setmetatable({},{
- __index = function (self,Index)
- if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
- return Real[Index]
- end;
- __newindex = function (self,Index,Value)
- if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
- if Value == owner then Value = InternalData.RealOwner end
- Real[Index] = Value
- end;
- __tostring = function(self) return tostring(Real) end;
- })
- InternalData.RealObjs[ToReturn] = Real;return ToReturn;
- end
- end
- return function (self,...) return Real[Index](Real,...)end
- end
- return Real[Index]
- end;
- __newindex = function (self,Index,Value)
- if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
- if Value == owner then Value = InternalData.RealOwner end
- Real[Index] = Value
- end;
- __tostring = function(self) return tostring(Real) end;
- })
- InternalData.RealObjs[ToReturn] = Real;return ToReturn;
- end
- end
- end
- return InternalData.RealInstance[Index]
- end;
- __tostring = function(self) return tostring(InternalData.RealInstance) end;
- });
- InternalData.RealGame = game;game = setmetatable({},{
- __index = function (self,Index)
- if InternalData.RealGame[Index] then
- local Type = type(InternalData.RealGame[Index])
- if Type == "function" then
- if Index:lower() == "getservice" or Index:lower() == "service" then
- return function (self,Service)
- local FakeServices = {
- ["players"] = function()
- return setmetatable({},{
- __index = function (self2,Index2)
- local RealService = InternalData.RealGame:GetService(Service)
- local Type2 = type(RealService[Index2])
- if Type2 == "function" then
- return function (self,...) return RealService[Index2](RealService,...)end
- else
- if Index2:lower() == "localplayer" then return InternalData.NewOwner end
- return RealService[Index2]
- end
- end;
- __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
- })
- end;
- ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
- ["userinputservice"] = function() return InternalData["UserInputService"] end;
- ["debris"] = function()
- return setmetatable({},{
- __index = function(self2,Index2)
- local RealService = InternalData.RealGame:GetService(Service)
- local Type2 = type(RealService[Index2])
- if Type2 == "function" then
- if Index2:lower() == "additem" then
- return function (self,Item,Time)
- if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
- return RealService:AddItem(Item,Time)
- end
- end
- return function (self,...) return RealService[Index2](RealService,...) end
- end
- return RealService[Index2]
- end;
- __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
- })
- end;
- ["runservice"] = function()
- return setmetatable({},{
- __index = function(self2,Index2)
- local RealService = InternalData.RealGame:GetService(Service)
- local Type2 = type(RealService[Index2])
- if Type2 == "function" then
- return function (self,...) return RealService[Index2](RealService,...) end
- else
- local RunServices = {
- ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
- ["renderstepped"] = function() return RealService["Stepped"] end
- }
- if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
- return RealService[Index2]
- end
- end;
- __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
- })
- end
- }
- if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
- return InternalData.RealGame:GetService(Service)
- end
- end
- return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
- else
- if game:GetService(Index) then return game:GetService(Index) end
- return InternalData.RealGame[Index]
- end
- end
- return nil
- end;
- __tostring = function(self) return tostring(InternalData.game) end
- });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
- --//=================================================================\\--
- --|| CREATED BY SHACKLUSTER | EDITED BY maximum442 AND SHYIME
- --\\=================================================================//--
- wait(0.2)
- Player = game:GetService("Players").LocalPlayer
- PlayerGui = Player.PlayerGui
- Cam = workspace.CurrentCamera
- Backpack = Player.Backpack
- Character = Player.Character
- Humanoid = Character.Humanoid
- Mouse = Player:GetMouse()
- RootPart = Character["HumanoidRootPart"]
- Torso = Character["Torso"]
- Head = Character["Head"]
- 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"]
- SIZE = 1
- 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
- MRANDOM = math.random
- FLOOR = math.floor
- --//=================================\\
- --|| USEFUL VALUES
- --\\=================================//
- Animation_Speed = 3
- Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
- local Speed = 20
- 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 DAMAGEMULTIPLIER = 1
- local ANIM = "Idle"
- local ATTACK = false
- local EQUIPPED = false
- local HOLD = false
- local COMBO = 1
- local Rooted = false
- local SINE = 0
- local KEYHOLD = false
- local CHANGE = 2 / Animation_Speed
- local WALKINGANIM = false
- local VALUE1 = false
- local VALUE2 = false
- local ROBLOXIDLEANIMATION = IT("Animation")
- ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
- ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
- --ROBLOXIDLEANIMATION.Parent = Humanoid
- local WEAPONGUI = IT("ScreenGui", PlayerGui)
- WEAPONGUI.Name = "Weapon GUI"
- local Effects = IT("Folder", Character)
- Effects.Name = "Effects"
- local ANIMATOR = Humanoid.Animator
- local ANIMATE = Character.Animate
- local UNANCHOR = true
- local GHOSTS = {}
- ANIMATE:remove()
- Character.Archivable = true
- script.Parent = WEAPONGUI
- local GHOSTBASE = Character:Clone()
- GHOSTBASE.Parent = nil
- GHOSTBASE.Name = "Shingo"
- for _, c in pairs(GHOSTBASE:GetChildren()) do
- if c.ClassName == "Part" and c.Transparency < 1 then
- c.Color = C3(0,0,0)
- if c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
- c:remove()
- end
- end
- end
- local sick = Instance.new("Sound",Torso)
- sick.SoundId = "rbxassetid://262950484"
- sick.Looped = true
- sick.Pitch = 1
- sick.Volume = 3
- sick:Play()
- local Effects = IT("Folder", Character)
- Effects.Name = "Effects"
- Character.Archivable = false
- --//=================================\\
- --\\=================================//
- local Player = game:service'Players'.LocalPlayer
- repeat wait() until Player.Character
- local Character = Player.Character
- local Char, Plr = Character, Player
- local Mouse = Player:GetMouse()
- local Char = Plr.Character
- local Hum = Char:FindFirstChildOfClass'Humanoid'
- local RArm = Char["Right Arm"]
- local LArm = Char["Left Arm"]
- local RLeg = Char["Right Leg"]
- local LLeg = Char["Left Leg"]
- local Root = Char:FindFirstChild'HumanoidRootPart'
- local Torso = Char.Torso
- local Head = Char.Head
- Player = game.Players.LocalPlayer
- Character = Player.Character
- local txt = Instance.new("BillboardGui", Character)
- txt.Adornee = Character.Head
- txt.Name = "_status"
- txt.Size = UDim2.new(2, 0, 1.2, 0)
- txt.StudsOffset = Vector3.new(-9, 8, 0)
- local text = Instance.new("TextLabel", txt)
- text.Size = UDim2.new(10, 0, 7, 0)
- text.FontSize = "Size24"
- text.TextScaled = true
- text.TextTransparency = 0
- text.BackgroundTransparency = 1
- text.TextTransparency = 0
- text.TextStrokeTransparency = 0
- text.Font = "SciFi"
- text.TextStrokeColor3 = Color3.new(170,0,0)
- text.Text = ""
- local face = Head:FindFirstChild'face'
- if(not face)then
- NewInstance("Decal",Head,{Name='face',Face=Enum.NormalId.Front,Texture="rbxassetid://1281412824"})
- else
- face.Texture = "rbxassetid://1281412824"
- end
- --//=================================\\
- --|| SAZERENOS' ARTIFICIAL HEARTBEAT
- --\\=================================//
- ArtificialHB = Instance.new("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, math.floor(tf / frame) do
- script.ArtificialHB:Fire()
- end
- lastframe = tick()
- end
- if tossremainder then
- tf = 0
- else
- tf = tf - frame * math.floor(tf / frame)
- end
- end
- end)
- --//=================================\\
- --\\=================================//
- Player_Name = game.Players.LocalPlayer.Name
- Player = game.Players.LocalPlayer
- Character = Player.Character
- local txt = Instance.new("BillboardGui", Character)
- txt.Adornee = Character.Head
- txt.Name = "_status"
- txt.Size = UDim2.new(2, 0, 1.2, 0)
- txt.StudsOffset = Vector3.new(-9, 8, 0)
- local text = Instance.new("TextLabel", txt)
- text.Size = UDim2.new(10, 0, 7, 0)
- text.FontSize = "Size24"
- text.TextScaled = true
- text.TextTransparency = 0
- text.BackgroundTransparency = 1
- text.TextTransparency = 0
- text.TextStrokeTransparency = 0
- text.Font = "Antique"
- text.TextStrokeColor3 = BrickColor.new("Magenta").Color
- text.Text = Player_Name.. " The King Of InSaNiTY"
- Player.Chatted:connect(chat)
- warn("Edit made by maximum442 and SHYIME")
- warn("We're still updating it")
- warn("So if there is some problem contact me(maximum)")
- warn("Frosty's discord is Frosty#2229")
- warn("SHYIME's Discord is shimi#9518")
- --//=================================\\
- --|| SOME FUNCTIONS
- --\\=================================//
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return workspace:FindPartOnRay(Ray.new(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 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 CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
- local NEWPART = IT("Part")
- NEWPART.formFactor = FORMFACTOR
- NEWPART.Reflectance = REFLECTANCE
- NEWPART.Transparency = TRANSPARENCY
- NEWPART.CanCollide = false
- NEWPART.Locked = true
- NEWPART.Anchored = true
- if ANCHOR == false then
- NEWPART.Anchored = false
- end
- NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
- NEWPART.Name = NAME
- NEWPART.Size = SIZE
- NEWPART.Position = Torso.Position
- NEWPART.Material = MATERIAL
- NEWPART:BreakJoints()
- NEWPART.Parent = PARENT
- return NEWPART
- end
- local function weldBetween(a, b)
- local weldd = Instance.new("ManualWeld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CFrame.new()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- elseif i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- elseif i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = ACOS(cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((1 - t) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = 1 - t
- finishInterp = t
- end
- else
- if (1 + cosTheta) > 0.0001 then
- local theta = ACOS(-cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((t - 1) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = t - 1
- finishInterp = t
- end
- end
- return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
- end
- function Clerp(a, b, t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
- local frame = IT("Frame")
- frame.BackgroundTransparency = TRANSPARENCY
- frame.BorderSizePixel = BORDERSIZEPIXEL
- frame.Position = POSITION
- frame.Size = SIZE
- frame.BackgroundColor3 = COLOR
- frame.BorderColor3 = BORDERCOLOR
- frame.Name = NAME
- frame.Parent = PARENT
- return frame
- end
- function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
- local label = IT("TextLabel")
- label.BackgroundTransparency = 1
- label.Size = UD2(1, 0, 1, 0)
- label.Position = UD2(0, 0, 0, 0)
- label.TextColor3 = TEXTCOLOR
- label.TextStrokeTransparency = STROKETRANSPARENCY
- label.TextTransparency = TRANSPARENCY
- label.FontSize = TEXTFONTSIZE
- label.Font = TEXTFONT
- label.BorderSizePixel = BORDERSIZEPIXEL
- label.TextScaled = false
- label.Text = TEXT
- label.Name = NAME
- label.Parent = PARENT
- return label
- end
- function NoOutlines(PART)
- PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
- 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
- local S = IT("Sound")
- function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
- local NEWSOUND = nil
- coroutine.resume(coroutine.create(function()
- NEWSOUND = S:Clone()
- NEWSOUND.Parent = PARENT
- NEWSOUND.Volume = VOLUME
- NEWSOUND.Pitch = PITCH
- NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
- NEWSOUND:play()
- if DOESLOOP == true then
- NEWSOUND.Looped = true
- else
- repeat wait(1) until NEWSOUND.Playing == false
- NEWSOUND:remove()
- end
- end))
- return NEWSOUND
- end
- function CFrameFromTopBack(at, top, back)
- local right = top:Cross(back)
- return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- function WACKYEFFECT(Table)
- local TYPE = (Table.EffectType or "Sphere")
- local SIZE = (Table.Size or VT(1,1,1))
- local ENDSIZE = (Table.Size2 or VT(0,0,0))
- local TRANSPARENCY = (Table.Transparency or 0)
- local ENDTRANSPARENCY = (Table.Transparency2 or 1)
- local CFRAME = (Table.CFrame or Torso.CFrame)
- local MOVEDIRECTION = (Table.MoveToPos or nil)
- local ROTATION1 = (Table.RotationX or 0)
- local ROTATION2 = (Table.RotationY or 0)
- local ROTATION3 = (Table.RotationZ or 0)
- local MATERIAL = (Table.Material or "Neon")
- local COLOR = (Table.Color or C3(0,0,0))
- local TIME = (Table.Time or 45)
- local SOUNDID = (Table.SoundID or nil)
- local SOUNDPITCH = (Table.SoundPitch or nil)
- local SOUNDVOLUME = (Table.SoundVolume or nil)
- coroutine.resume(coroutine.create(function()
- local PLAYSSOUND = false
- local SOUND = nil
- local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
- if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
- PLAYSSOUND = true
- SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
- end
- EFFECT.Color = COLOR
- local MSH = nil
- if TYPE == "Sphere" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
- elseif TYPE == "Block" then
- MSH = IT("BlockMesh",EFFECT)
- MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
- elseif TYPE == "Wave" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
- elseif TYPE == "Ring" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
- elseif TYPE == "Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Round Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Swirl" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
- elseif TYPE == "Skull" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
- elseif TYPE == "Crystal" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
- end
- if MSH ~= nil then
- local MOVESPEED = nil
- if MOVEDIRECTION ~= nil then
- MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
- end
- local GROWTH = SIZE - ENDSIZE
- local TRANS = TRANSPARENCY - ENDTRANSPARENCY
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = CFRAME
- end
- for LOOP = 1, TIME+1 do
- Swait()
- MSH.Scale = MSH.Scale - GROWTH/TIME
- if TYPE == "Wave" then
- MSH.Offset = VT(0,0,-MSH.Scale.X/8)
- end
- EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
- end
- if MOVEDIRECTION ~= nil then
- local ORI = EFFECT.Orientation
- EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
- EFFECT.Orientation = ORI
- end
- end
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- SOUND.Stopped:Connect(function()
- EFFECT:remove()
- end)
- end
- else
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- end
- end))
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function Kill(Char)
- local NewCharacter = IT("Model",Effects)
- NewCharacter.Name = "rekt player"
- for _, c in pairs(Char:GetDescendants()) do
- if c:IsA("BasePart") and c.Transparency == 0 then
- if c.Parent == Char then
- getbloody(c,5)
- end
- c:BreakJoints()
- c.Material = "Glass"
- c.Color = C3(0,0,0)
- c.CanCollide = false
- c.Transparency = 0.005
- if c:FindFirstChildOfClass("SpecialMesh") then
- c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
- end
- if c.Name == "Head" then
- c:ClearAllChildren()
- c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
- end
- if c.ClassName == "MeshPart" then
- c.TextureID = ""
- end
- if c:FindFirstChildOfClass("BodyPosition") then
- c:FindFirstChildOfClass("BodyPosition"):remove()
- end
- if c:FindFirstChildOfClass("ParticleEmitter") then
- c:FindFirstChildOfClass("ParticleEmitter"):remove()
- end
- c.Parent = NewCharacter
- c.Name = "DeadPart"
- c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
- c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
- end
- end
- Char:remove()
- Debris:AddItem(NewCharacter,5)
- end
- function ApplyAoE(POSITION,RANGE,BRUTAL)
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - POSITION).Magnitude <= RANGE then
- if BRUTAL == true then
- Kill(CHILD)
- else
- CHILD:BreakJoints()
- end
- end
- end
- end
- end
- end
- end
- function Morning_Star()
- ATTACK = true
- Rooted = true
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- coroutine.resume(coroutine.create(function()
- local POS = Mouse.Hit.p
- local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Strike", VT(0,2000,0))
- MakeForm(RAY,"Cyl")
- local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Strike", VT(0,0,0))
- MakeForm(SPHERE,"Ball")
- local SHIELD = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
- MakeForm(SHIELD,"Ball")
- SHIELD.CFrame = CF(POS)
- RAY.CFrame = CF(POS)
- SPHERE.CFrame = CF(POS)
- CreateSound(440145570, SPHERE, 10, 0.8, false)
- CreateSound(415700134, SPHERE, 10, 0.8, false)
- for i = 1, 200 do
- Swait()
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- RAY.Size = RAY.Size + VT(0.05,0,0.05)
- SPHERE.Size = SPHERE.Size + VT(2,2,2)
- SHIELD.Size = SPHERE.Size + VT(3,3,3)
- ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
- end
- for i = 1, 45 do
- Swait()
- RAY.Transparency = RAY.Transparency + 1/45
- SPHERE.Transparency = RAY.Transparency
- SHIELD.Transparency = SPHERE.Transparency + 1/45
- end
- RAY:remove()
- SHIELD:remove()
- SPHERE:remove()
- end))
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- end
- function Prison_Key()
- if Mouse.Target ~= nil then
- if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
- local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
- local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
- local GYRO = IT("BodyGyro",RootPart)
- GYRO.D = 750
- GYRO.P = 20000
- GYRO.MaxTorque = VT(0,40000000,0)
- local grav = Instance.new("BodyPosition",TORSO)
- grav.D = 15
- grav.P = 20000
- grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
- grav.position = TORSO.Position
- local GYRO2 = IT("BodyGyro",TORSO)
- GYRO2.D = 750
- GYRO2.P = 20000
- GYRO2.MaxTorque = VT(0,40000000,0)
- GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
- grav.Name = "Jail"
- local LOCKPARTS = {}
- ATTACK = true
- Rooted = false
- local LOCK = IT("Model",Effects)
- LOCK.Name = "Lock"
- local LOCK2 = IT("Model",LOCK)
- LOCK2.Name = "Metal"
- --CREATE LOCK--
- local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gray", "Keylock", VT(3, 2.5, 1))
- LOCK.PrimaryPart = BASE
- BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
- local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gray", "Keylock", VT(3, 1, 3))
- PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
- MakeForm(PRT,"Cyl")
- local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
- PRT.Color = C3(0,0,0)
- PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
- MakeForm(PRT,"Cyl")
- local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
- PRT.Color = C3(0,0,0)
- PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
- for i = 1, 45 do
- local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
- PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
- end
- local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
- PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
- LOCK2.PrimaryPart = PRT
- ---------------
- local CHILDREN = LOCK:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD:IsA("BasePart") then
- CHILD.Transparency = 1
- end
- end
- for i = 1, 75 do
- LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
- Swait()
- GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
- GYRO.cframe = CF(RootPart.Position,TORSO.Position)
- local CHILDREN = LOCK:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD:IsA("BasePart") then
- CHILD.Transparency = CHILD.Transparency - 1/75
- end
- end
- end
- HUM.DisplayDistanceType = "None"
- local KEY = IT("Model",Effects)
- KEY.Name = "Key"
- --CREATE KEY--
- local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "KeyBase", VT(0.1, 1, 0.1),false)
- KEY.PrimaryPart = KBASE
- KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
- local WLD = weldBetween(RightArm,KBASE)
- for i = 1, 45 do
- local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.1, 0.1, 0.1),false)
- PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
- weldBetween(KBASE,PRT)
- end
- local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
- PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
- weldBetween(KBASE,PRT)
- local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
- PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
- weldBetween(KBASE,PRT)
- --------------
- Rooted = true
- Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
- coroutine.resume(coroutine.create(function()
- for i = 1, 10 do
- Swait()
- GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
- GYRO.cframe = CF(RootPart.Position,TORSO.Position)
- end
- CreateSound(1149318312,BASE,5,1,false)
- CreateSound(160772554,BASE,3,1,false)
- LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
- for i = 1, 4 do
- WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- end
- WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
- wait(1)
- TORSO.Parent.Parent = LOCK
- for i = 1, 75 do
- Swait()
- local CHILDREN = KEY:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD:IsA("BasePart") then
- CHILD.Transparency = i/25
- end
- end
- local CHILDREN = LOCK:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
- CHILD.Transparency = CHILD.Transparency + 1/75
- elseif CHILD.ClassName == "Decal" then
- CHILD.Transparency = CHILD.Transparency + 1/75
- end
- end
- end
- TORSO.Parent:ClearAllChildren()
- KEY:remove()
- LOCK:remove()
- end))
- Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
- GYRO:remove()
- ATTACK = false
- Rooted = false
- end
- end
- end
- local HATWELD = nil
- function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
- PLAYMAINANIMINANIM = false
- if WhichPose == "Cast1" then
- for i=0, Time, 0.1 / Animation_Speed do
- Swait()
- if Magic == true then
- WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- end
- if Gyro ~= nil and Gyro ~= false then
- Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
- end
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- end
- elseif WhichPose == "Cast2" then
- for i=0, Time, 0.1 / Animation_Speed do
- Swait()
- if Magic == true then
- WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- end
- if Gyro ~= nil and Gyro ~= false then
- Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
- end
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- end
- elseif WhichPose == "RightArmUp" then
- for i=0, Time, 0.1 / Animation_Speed do
- Swait()
- if Magic == true then
- WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- end
- if Gyro ~= nil and Gyro ~= false then
- Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
- end
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- end
- elseif WhichPose == "Taunt" then
- for i=0, Time, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- end
- HATWELD.Part0 = RightArm
- HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
- CreateSound(221057812,Torso,10,1,false)
- for i=0, Time*2, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- end
- for i=0, Time, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
- end
- HATWELD.Part0 = Head
- HATWELD.C0 = CF(0,0.35,0)
- elseif WhichPose == "Prepare key" then
- for i=0, Time, 0.1 / Animation_Speed do
- Swait()
- if Gyro ~= nil and Gyro ~= false then
- Gyro.cframe = CF(RootPart.Position,Tors.Position)
- end
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- end
- elseif WhichPose == "Turn key" then
- for i=0, Time, 0.1 / Animation_Speed do
- Swait()
- if Gyro ~= nil and Gyro ~= false then
- Gyro.cframe = CF(RootPart.Position,Tors.Position)
- end
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
- end
- end
- PLAYMAINANIM = true
- end
- function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH,DOES360)
- if FLOOR ~= nil then
- for i = 1, AMOUNT do
- local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Peal", "Debree", BLOCKSIZE, false)
- DEBREE.Material = FLOOR.Material
- DEBREE.Color = FLOOR.Color
- DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
- if DOES360 == true then
- DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
- else
- DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
- end
- coroutine.resume(coroutine.create(function()
- Swait(15)
- DEBREE.Parent = workspace
- DEBREE.CanCollide = true
- Debris:AddItem(DEBREE,SWAIT)
- end))
- end
- end
- end
- function SpawnTrail(FROM,TO)
- local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Pearl", "Arrow", VT(0,0,0))
- MakeForm(TRAIL,"Cyl")
- local DIST = (FROM - TO).Magnitude
- TRAIL.Size = VT(0.1,DIST,0.1)
- TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
- coroutine.resume(coroutine.create(function()
- for i = 1, 5 do
- Swait()
- TRAIL.Transparency = TRAIL.Transparency + 0.1
- end
- TRAIL:remove()
- end))
- end
- local Decal = IT("Decal")
- function SpawnBulletHole(POSITION)
- local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Magenta", "Bullet hole", VT(0.2,0,0.2))
- local decal = Decal:Clone()
- decal.Parent = O1
- decal.Face = "Top"
- decal.Texture = "http://www.roblox.com/asset/?id=130624105"
- local decal2 = Decal:Clone()
- decal2.Parent = O1
- decal2.Face = "Bottom"
- decal2.Texture = "http://www.roblox.com/asset/?id=130624105"
- O1.CFrame = POSITION*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))
- Debris:AddItem(O1,5)
- end
- local asd = Instance.new("ParticleEmitter")
- asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
- asd.LightEmission = .1
- asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
- aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 2)})
- bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
- asd.Transparency = bbb
- asd.Size = aaa
- asd.ZOffset = .9
- asd.Acceleration = Vector3.new(0, -15, 0)
- asd.LockedToPart = false
- asd.EmissionDirection = "Back"
- asd.Lifetime = NumberRange.new(1, 2)
- asd.Rotation = NumberRange.new(-100, 100)
- asd.RotSpeed = NumberRange.new(-100, 100)
- asd.Speed = NumberRange.new(10)
- asd.Enabled = false
- asd.VelocitySpread = 999
- function getbloody(victim,amount)
- local PART = IT("Part",Effects)
- PART.Transparency = 1
- PART.Size = victim.Size
- PART.Anchored = true
- PART.CanCollide = false
- PART.CFrame = CF(victim.Position)
- local HITPLAYERSOUNDS = {"356551938","264486467"}
- Debris:AddItem(PART,5)
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- local prtcl = asd:Clone()
- prtcl.Parent = PART
- prtcl:Emit(amount*10)
- end
- function BulletDetection(FROM,TO)
- local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
- coroutine.resume(coroutine.create(function()
- if AIMHIT ~= nil then
- if AIMHIT.Parent ~= Character then
- if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
- if AIMHIT.Name ~= "Head" and AIMHIT.Parent.ClassName ~= "Accessory" then
- ApplyDamage(AIMHIT.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(15,25),AIMHIT)
- elseif AIMHIT.Name == "Head" or AIMHIT.Parent.ClassName == "Accessory" then
- if AIMHIT.Parent.ClassName == "Accessory" then
- if AIMHIT:FindFirstChild("HatAttachment") or AIMHIT:FindFirstChild("FaceFrontAttachment") or AIMHIT:FindFirstChild("HairAttachment") then
- AIMHIT.Parent.Parent:BreakJoints()
- if AIMHIT.Parent.Parent:FindFirstChild("Head") then
- getbloody(AIMHIT.Parent.Parent.Head,15)
- AIMHIT.Parent.Parent.Head:remove()
- StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(0,0,0))
- end
- else
- ApplyDamage(AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(25,65),AIMHIT)
- end
- elseif AIMHIT.Name == "Head" then
- getbloody(AIMHIT,15)
- AIMHIT.Parent:BreakJoints()
- AIMHIT:remove()
- StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(0,0,0))
- end
- end
- else
- CreateFlyingDebree(AIMHIT,CF(AIMPOS),7,VT(0.1,0.1,0.1),5,35,true)
- SpawnBulletHole(CF(AIMPOS,AIMPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0)))
- end
- end
- end
- end))
- return AIMHIT,AIMPOS,NORMAL
- end
- function Shatter(Part)
- if Part.Transparency == 0 then
- local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
- Debris:AddItem(SOUNDPART,5)
- CreateSound("84005018", SOUNDPART, 3, MRANDOM(8,12)/10, false)
- local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
- local SIZESET = SIZE/4
- local XOffset = Part.Size.X*1.5/SIZESET
- local YOffset = Part.Size.Y*1.5/SIZESET
- local ZOffset = Part.Size.Z*1.5/SIZESET
- for x = 1, math.ceil(XOffset) do
- for y = 1, math.ceil(YOffset) do
- for z = 1, math.ceil(ZOffset) do
- local SHARD = CreatePart(3, Effects, "Neon", 0, 0, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
- SHARD.CanCollide = true
- SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-x/4),(Part.Size.Y/2-y/4),(Part.Size.Z/2-z/4))
- SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
- Debris:AddItem(SHARD,MRANDOM(10,25)/3)
- end
- end
- end
- end
- Part:remove()
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function turnto(position)
- RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function turnto(position)
- RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
- end
- function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
- if FLOOR ~= nil then
- coroutine.resume(coroutine.create(function()
- local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
- PART.CFrame = CF(POSITION)
- for i = 1, 45 do
- local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
- RingPiece.Material = FLOOR.Material
- RingPiece.Color = FLOOR.Color
- RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
- Debris:AddItem(RingPiece,SWAIT)
- end
- PART:remove()
- end))
- end
- end
- function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
- if FLOOR ~= nil then
- for i = 1, AMOUNT do
- local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
- DEBREE.Material = FLOOR.Material
- DEBREE.Color = FLOOR.Color
- DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
- DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
- coroutine.resume(coroutine.create(function()
- Swait(15)
- DEBREE.Parent = workspace
- DEBREE.CanCollide = true
- Debris:AddItem(DEBREE,SWAIT)
- end))
- end
- end
- end
- --//=================================\\
- --|| WEAPON CREATION
- --\\=================================//
- for i = 1, 35 do
- local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(0,0,0),false)
- FACE.Color = C3(0,0,0)
- Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
- CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
- end
- local EYE = CreatePart(3, Character, "Neon", 0, 0, "Royal purple", "Eyeball", VT(0,0,0),false)
- MakeForm(EYE,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
- local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Royal purple", "Eyeball", VT(0.25,0.25,0.25),false)
- MakeForm(EYE2,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
- local Gun = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Royal purple", "Gun", VT(0, 0, 0),false)
- local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "430070098", "154987811", VT(0.05,0.05,0.05), VT(0,0, 0))
- local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0, -1.8, -0.2) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
- local BODY = {}
- for _, c in pairs(Character:GetDescendants()) do
- if c:IsA("BasePart") and c.Name ~= "Handle" then
- if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
- c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
- elseif c:IsA("JointInstance") then
- table.insert(BODY,{c,c.Parent,nil,nil,nil})
- end
- end
- for e = 1, #BODY do
- if BODY[e] ~= nil then
- local STUFF = BODY[e]
- local PART = STUFF[1]
- local PARENT = STUFF[2]
- local MATERIAL = STUFF[3]
- local COLOR = STUFF[4]
- local TRANSPARENCY = STUFF[5]
- if PART.ClassName == "Part" and PART ~= RootPart then
- PART.Material = MATERIAL
- PART.Color = COLOR
- PART.Transparency = TRANSPARENCY
- end
- PART.AncestryChanged:Connect(function()
- PART.Parent = PARENT
- end)
- end
- end
- function refit()
- Character.Parent = workspace
- for e = 1, #BODY do
- if BODY[e] ~= nil then
- local STUFF = BODY[e]
- local PART = STUFF[1]
- local PARENT = STUFF[2]
- local MATERIAL = STUFF[3]
- local COLOR = STUFF[4]
- local TRANSPARENCY = STUFF[5]
- if PART.ClassName == "Part" and PART ~= RootPart then
- PART.Material = MATERIAL
- PART.Color = COLOR
- PART.Transparency = TRANSPARENCY
- end
- if PART.Parent ~= PARENT then
- Humanoid:remove()
- PART.Parent = PARENT
- Humanoid = IT("Humanoid",Character)
- end
- end
- end
- end
- local SKILLTEXTCOLOR = BrickColor.new("Magenta").Color
- local SKILLFONT = "SciFi"
- local SKILLTEXTSIZE = 7
- Humanoid.Died:connect(function()
- refit()
- end)
- function Blink()
- coroutine.resume(coroutine.create(function()
- if EYE ~= nil then
- for i = 1, 5 do
- Swait()
- EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0,0.2,0)
- EYE2.Mesh.Scale = EYE.Mesh.Scale
- end
- for i = 1, 7 do
- Swait()
- EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0,0.2,0)
- EYE2.Mesh.Scale = EYE.Mesh.Scale
- end
- EYE.Mesh.Scale = VT(1,1,1)
- EYE2.Mesh.Scale = EYE.Mesh.Scale
- end
- end))
- end
- local AMMO1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 1 Frame")
- local AMMO2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 2 Frame")
- local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
- local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
- local SKILL3TEXT = CreateLabel(SKILL1FRAME, "press [Z] to troll people", C3(0,0,0), 7, SKILLFONT, 0, 2, 1, "Text 3")
- local SKILL4TEXT = CreateLabel(SKILL2FRAME, "press [X] to pay jason respect", C3(0,0,0), 7, "SciFi", 0, 2, 1, "Text 4")
- local AMMOIMAGE2 = IT("ImageLabel",AMMO2FRAME)
- AMMOIMAGE2.Size = UD2(1,0,1,0)
- AMMOIMAGE2.BackgroundTransparency = 1
- AMMOIMAGE2.BorderSizePixel = 0
- AMMOIMAGE2.Image = "http://www.roblox.com/asset/?id=923773583"
- for i = 1, 35 do
- local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Magenta", "FaceGradient", VT(1.01,0.5,1.01),false)
- FACE.Color = BrickColor.new("Magenta").Color
- Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
- CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
- end
- local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.6,0.1,1)/2,false)
- MakeForm(Eye,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
- local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.6,0.1,1)/2,false)
- MakeForm(Eye,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
- local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.1,1,1)/2,false)
- MakeForm(Eye,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
- local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.1,1,1)/2,false)
- MakeForm(Eye,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
- local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(1.01,0.3,1.01),false)
- CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
- for i = 1, 3 do
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.2,1.02,0.2),false)
- CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0, 0, 0.6-0.3*i) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
- MakeForm(Part,"Cyl")
- end
- for i = 1, 3 do
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.2,1.02,0.2),false)
- CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.6-0.3*i, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(90)), CF(0, 0, 0))
- MakeForm(Part,"Cyl")
- end
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.51,0.6,0.25),false)
- CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
- MakeForm(Part,"Wedge")
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.51,0.6,0.25),false)
- CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
- MakeForm(Part,"Wedge")
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
- CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
- MakeForm(Part,"Wedge")
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
- CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
- MakeForm(Part,"Wedge")
- local HAT1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(2,0.2,2),false)
- MakeForm(HAT1,"Cyl")
- HATWELD = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT1, CF(0,0.35,0), CF(0, 0, 0))
- local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(2.01,0.15,2.01),false)
- BELT.Color = BrickColor.new("Magenta").Color
- MakeForm(BELT,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, BELT, CF(0,0,0), CF(0, 0, 0))
- local HAT2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(1.3,2.2,1.3),false)
- MakeForm(HAT2,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, HAT2, CF(0,1.1,0), CF(0, 0, 0))
- local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(1.31,0.2,1.31),false)
- BELT.Color = BrickColor.new("Magenta").Color
- MakeForm(BELT,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0,0), CF(0, 0, 0))
- local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.25,0.25,0.1),false)
- MakeForm(GEM,"Ball")
- CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,-BELT.Size.X/2), CF(0, 0, 0))
- local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.25,0.25,0.1),false)
- MakeForm(GEM,"Ball")
- CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,BELT.Size.X/2), CF(0, 0, 0))
- local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.1,0.25,0.25),false)
- MakeForm(GEM,"Ball")
- CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(-BELT.Size.X/2,0,0), CF(0, 0, 0))
- local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.1,0.25,0.25),false)
- MakeForm(GEM,"Ball")
- CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(BELT.Size.X/2,0,0), CF(0, 0, 0))
- --//=================================\\
- --|| DAMAGE FUNCTIONS
- --\\=================================//
- function StatLabel(CFRAME, TEXT, COLOR)
- local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
- STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
- local BODYGYRO = IT("BodyGyro", STATPART)
- 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.BackgroundTransparency = 1
- TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
- TEXTLABEL.Text = TEXT
- TEXTLABEL.Font = SKILLFONT
- TEXTLABEL.FontSize="Size42"
- TEXTLABEL.TextColor3 = COLOR
- TEXTLABEL.TextStrokeTransparency = 0
- TEXTLABEL.TextScaled = true
- TEXTLABEL.TextWrapped = true
- coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
- for i = 1, 10 do
- Swait()
- STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
- TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/10)
- TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
- end
- THEPART.Parent = nil
- end),STATPART, TEXTLABEL)
- end
- --//=================================\\
- --|| DAMAGING
- --\\=================================//
- function ApplyDamage(Humanoid,Damage,TorsoPart)
- local defence = Instance.new("BoolValue",Humanoid.Parent)
- defence.Name = ("HitBy"..Player.Name)
- game:GetService("Debris"):AddItem(defence, 0.001)
- Damage = Damage * DAMAGEMULTIPLIER
- if Humanoid.Health ~= 0 then
- local CritChance = MRANDOM(1,100)
- if Damage > Humanoid.Health then
- Damage = math.ceil(Humanoid.Health)
- if Damage == 0 then
- Damage = 0.1
- end
- end
- Humanoid.Health = Humanoid.Health - Damage
- StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
- end
- end
- function Ghostify(POSITION,RANGE)
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
- local GHOST = GHOSTBASE:Clone()
- GHOST.Parent = Effects
- GHOST.Torso.CFrame = TORSO.CFrame
- table.insert(GHOSTS,GHOST)
- CHILD:remove()
- end
- end
- end
- end
- end
- end
- --//=================================\\
- --|| ATTACK FUNCTIONS AND STUFF
- --\\=================================//
- function Shell()
- ATTACK = false
- Rooted = false
- local GYRO = IT("BodyGyro",RootPart)
- GYRO.D = 750
- GYRO.P = 20000
- GYRO.MaxTorque = VT(0,40000000,0)
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(115), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
- end
- GYRO:remove()
- CreateSound(130113322, Gun, 5, 1, false)
- local AIMHIT,AIMPOS,NORMAL = BulletDetection(Gun.Position,Mouse.Hit.p)
- SpawnTrail(Gun.CFrame*CF(1.5,0.5,0).p,AIMPOS)
- WACKYEFFECT({Time = 3, EffectType = "Sphere", Size = VT(1,0.3,0.3), Size2 = VT(1,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun.CFrame*CF(1.5,0.5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- for i=0, 0.3, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0.3) * ANGLES(RAD(110), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- end
- function Taunt()
- ATTACK = true
- Rooted = false
- TAUNT = true
- for i=0, 0.1, 0.1 / Animation_Speed do
- Swait()
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
- end
- for i=0, 3, 0.1 / Animation_Speed do
- Swait()
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
- end
- CreateSound(363808674, Torso, 10, 1.3)
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(120)), 3 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 3/ Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(230), RAD(0), RAD(35)) * LEFTSHOULDERC0, 3 / Animation_Speed)
- end
- WACKYEFFECT({EffectType = "Block", Size = VT(6,6,6), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- CreateSound(649634100, Torso, 10, 0.8)
- for i=0, 0.01, 0.1 / Animation_Speed do
- Swait()
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- TAUNT = false
- end
- function SinfulShell()
- ATTACK = true
- Rooted = false
- local GYRO = IT("BodyGyro",RootPart)
- GYRO.D = 750
- GYRO.P = 20000
- GYRO.MaxTorque = VT(0,40000000,0)
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(115), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
- end
- GYRO:remove()
- CreateSound(132456187, Gun, 5, 1, false)
- WACKYEFFECT({Time = 3, EffectType = "Sphere", Size = VT(1,0.3,0.3), Size2 = VT(1,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun.CFrame*CF(1.5,0.5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- coroutine.resume(coroutine.create(function()
- local Bullet = CreatePart(3, Effects, "SmoothPlastic", 0, 0, "Royal purple", "Sinful bullet", VT(0,0,0))
- CreateMesh("SpecialMesh", Bullet, "FileMesh", "94295100", "", VT(6, 6, 7), VT(0,0, 0))
- Bullet.CFrame = Gun.CFrame*CF(1.5,0.5,0)
- local AIMPOINT = Mouse.Hit.p
- local STARTPOS = Gun.CFrame*CF(1.5,0.5,0).p
- local VECTOR = CF(STARTPOS,AIMPOINT)
- local IMPACTED = false
- CreateSound(1393698948, Bullet, 10, 1, true)
- for E = 1, 50 do
- if IMPACTED == true then
- break
- end
- local TARGETPOINT = VECTOR*CF(0,0,-E*5)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,1,0).p
- Bullet.CFrame = CF(Bullet.Position,TARGETPOINT)
- for i = 1, 5 do
- Swait()
- WACKYEFFECT({Time = 15, EffectType = "Swirl", Size = VT(1,1,1), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i+E, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- Bullet.CFrame = Bullet.CFrame*CF(0,0,-1)
- local AIMHIT,AIMPOS,NORMAL = Raycast(Bullet.Position,Bullet.CFrame.lookVector,1.3,Character)
- if AIMHIT ~= nil then
- IMPACTED = true
- break
- end
- end
- end
- WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(10,10,10), Size2 = VT(9,9,9), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 182765513, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7})
- for i = 1, 7 do
- WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(1,15,1), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- end
- Ghostify(Bullet.Position,10)
- Bullet:remove()
- end))
- for i=0, 0.3, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0.3) * ANGLES(RAD(110), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- end
- function Astral_Hop()
- ATTACK = true
- Rooted = false
- local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
- O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(0),RAD(0))
- local decal = Decal:Clone()
- decal.Parent = O1
- decal.Face = "Top"
- decal.Texture = "http://www.roblox.com/asset/?id=202696571"
- local decal2 = Decal:Clone()
- decal2.Parent = O1
- decal2.Face = "Bottom"
- decal2.Texture = "http://www.roblox.com/asset/?id=202696571"
- local O2 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
- local POS = VT(RootPart.Position.X,Mouse.Hit.p.Y+6,RootPart.Position.Z)
- O2.CFrame = CF(Mouse.Hit.p+VT(0,6,0),POS)*ANGLES(RAD(90),RAD(0),RAD(0))
- local ROOT = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
- ROOT.CFrame = CF(O2.Position,RootPart.Position)
- local decal = Decal:Clone()
- decal.Parent = O2
- decal.Face = "Top"
- decal.Texture = "http://www.roblox.com/asset/?id=202696571"
- local decal2 = Decal:Clone()
- decal2.Parent = O2
- decal2.Face = "Bottom"
- decal2.Texture = "http://www.roblox.com/asset/?id=202696571"
- CreateSound("153613030", O1, 10, 0.7)
- CreateSound("153613030", O2, 10, 0.7)
- for i = 1, 75 do
- Swait()
- O1.Size = O1.Size + VT(0.1,0,0.1)
- O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(i),RAD(0))
- O2.Size = O2.Size + VT(0.1,0,0.1)
- O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- Rooted = true
- UNANCHOR = false
- RootPart.Anchored = true
- VALUE1 = true
- for i = 1, 15 do
- Swait()
- RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.13)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- RootPart.CFrame = ROOT.CFrame
- ROOT:remove()
- for i = 1, 15 do
- Swait()
- RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.5)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- VALUE1 = false
- coroutine.resume(coroutine.create(function()
- for i = 1, 75 do
- Swait()
- O1.Size = O1.Size - VT(0.1,0,0.1)
- O1.CFrame = O1.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
- O2.Size = O2.Size - VT(0.1,0,0.1)
- O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
- end
- O1:remove()
- O2:remove()
- end))
- UNANCHOR = true
- RootPart.Anchored = false
- ATTACK = false
- Rooted = false
- end
- function Technobeam()
- ATTACK = true
- Rooted = false
- local GYRO = IT("BodyGyro",RootPart)
- GYRO.D = 100
- GYRO.P = 2000
- GYRO.MaxTorque = VT(0,4000000,0)
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- CreateSound("93724183", RightArm, 5, 1, false)
- for i=1, 35 do
- Swait()
- WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Magenta", "Lazer", VT(0,0,0))
- local LOOP = CreateSound("415700134", RightArm, 5, 1, false)
- local TOCH = BEAM.Touched:Connect(function(hit)
- if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
- Shatter(hit)
- end
- end)
- local I = 0
- repeat
- Swait()
- I = I + 1
- if I <= 10 then
- BEAM.Transparency = BEAM.Transparency - 0.1
- end
- local STARTPOS = RightArm.CFrame*CF(0,-4,0).p
- local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
- local DISTANCE = (STARTPOS - ENDPOS).Magnitude
- BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(0),RAD(0),RAD(I*5))
- BEAM.Size = VT(2,2,DISTANCE)
- WACKYEFFECT({Time = 5, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = CF(ENDPOS)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-4,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
- WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- if ENDHIT ~= nil then
- if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
- Shatter(ENDHIT)
- end
- end
- until LOOP.Playing == false
- GYRO:remove()
- BEAM:remove()
- ATTACK = false
- Rooted = false
- end
- function SpawnSmite(POS)
- local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
- local EMITPOS = HITPOS
- if HITFLOOR ~= nil then
- if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
- HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
- EMITPOS = HITPOS
- elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
- HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
- EMITPOS = HITPOS
- end
- end
- if HITFLOOR ~= nil then
- ApplyAoE(EMITPOS,10)
- WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
- WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- for i = 1, 5 do
- local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
- WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
- end
- end
- end
- function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
- coroutine.resume(coroutine.create(function()
- local METEOR = IT("Model",Effects)
- METEOR.Name = "Meteorite"
- local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Magenta", "MeteorCenter", VT(5,5,5)*SIZE)
- METEOR.PrimaryPart = CENTER
- local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Magenta", "MeteorCenter", VT(5,5,5)*SIZE)
- PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- for i = 1, 15 do
- local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Magenta", "Fire", VT(5.1,1,5.1)*SIZE)
- FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- end
- if ISDEBREE ~= true then
- METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
- else
- METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
- end
- local IMPACT = false
- CreateSound(463593339, CENTER, 10, 0.6)
- if SIZE >= 3.5 then
- for i = 1, MRANDOM(3,7) do
- SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
- end
- end
- for i = 1, 200 do
- Swait()
- local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
- if HITFLOOR == nil then
- local ORI = CENTER.Orientation
- METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
- else
- if HITFLOOR.Anchored == true then
- CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
- CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(6,6,6)*SIZE,5,175)
- end
- IMPACT = true
- break
- end
- end
- if IMPACT == true then
- WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
- WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
- WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
- ApplyAoE(CENTER.Position,30*SIZE)
- end
- METEOR:remove()
- end))
- end
- function Smite()
- ATTACK = true
- Rooted = false
- CreateSound(1368573150, RightArm, 3, 1.5)
- for i=0, 0.6, 0.1 / Animation_Speed do
- Swait()
- WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
- end
- local POWER = 0
- repeat
- Swait()
- WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
- POWER = POWER + 0.5
- if POWER >= 85 then
- POWER = 85
- end
- until KEYHOLD == false
- if POWER < 0.6 then
- SpawnSmite(Mouse.Hit.p)
- else
- if POWER < 15 then
- POWER = 15
- end
- SpawnMeteor(Mouse.Hit.p,POWER/15)
- end
- ATTACK = false
- Rooted = false
- end
- function Corrupted_Explosion()
- ATTACK = true
- Rooted = true
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
- end
- for i=0, 0.4, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Magenta", "Beam", VT(0,0,0))
- local BEAM2 = CreatePart(3, Effects, "Neon", 0, 0, "Magenta", "Beam", VT(0,0,0))
- MakeForm(BEAM,"Ball")
- MakeForm(BEAM2,"Ball")
- BEAM.CFrame = CF(RootPart.Position)
- BEAM2.CFrame = CF(RootPart.Position)
- CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
- for i=1, 100 do
- Swait()
- BEAM.Size = BEAM.Size + VT(0.7,8,0.7)
- BEAM2.Size = BEAM2.Size + VT(2,2,2)
- ApplyAoE(BEAM2.Position,BEAM2.Size.Z/2,5,5,15,true)
- BEAM.CFrame = CF(RootPart.Position)
- BEAM2.CFrame = CF(RootPart.Position)
- WACKYEFFECT({TIME = 5+i, EffectType = "Swirl", Size = BEAM2.Size*1.15, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0.8, Transparency2 = 1, CFrame = BEAM.CFrame * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM.Size, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0, Transparency2 = 0, CFrame = BEAM.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM2.Size, Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.6, CFrame = BEAM2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- BEAM2:remove()
- BEAM:remove()
- ATTACK = false
- Rooted = false
- end
- --//=================================\\
- --|| ASSIGN THINGS TO KEYS
- --\\=================================//
- function MouseDown(Mouse)
- if ATTACK == false then
- end
- end
- function MouseUp(Mouse)
- HOLD = false
- end
- function KeyDown(Key)
- KEYHOLD = true
- if Key == "z" and ATTACK == false then
- Shell()
- end
- if Key == "q" and ATTACK == false then
- Astral_Hop()
- end
- if Key == "e" and ATTACK == false then
- Corrupted_Explosion()
- end
- if Key == "b" and ATTACK == false then
- Technobeam()
- end
- if Key == "t" and ATTACK == false then
- Taunt()
- end
- if Key == "c" and ATTACK == false then
- Smite()
- end
- if Key == "x" and ATTACK == false then
- SinfulShell()
- end
- if Key == "f" and ATTACK == false then
- Prison_Key()
- end
- if Key == "g" and ATTACK == false then
- Morning_Star()
- end
- end
- function KeyUp(Key)
- KEYHOLD = false
- end
- Mouse.Button1Down:connect(function(NEWKEY)
- MouseDown(NEWKEY)
- end)
- Mouse.Button1Up:connect(function(NEWKEY)
- MouseUp(NEWKEY)
- end)
- Mouse.KeyDown:connect(function(NEWKEY)
- KeyDown(NEWKEY)
- end)
- Mouse.KeyUp:connect(function(NEWKEY)
- KeyUp(NEWKEY)
- end)
- --//=================================\\
- --\\=================================//
- function unanchor()
- if UNANCHOR == true then
- g = Character:GetChildren()
- for i = 1, #g do
- if g[i].ClassName == "Part" then
- g[i].Anchored = false
- end
- end
- end
- end
- --//=================================\\
- --|| WRAP THE WHOLE SCRIPT UP
- --\\=================================//
- Humanoid.Changed:connect(function(Jump)
- if Jump == "Jump" and (Disable_Jump == true) then
- Humanoid.Jump = false
- end
- end)
- local BLINKLOOP = 0
- while true do
- Swait()
- script.Parent = WEAPONGUI
- ANIMATE.Parent = nil
- for _,v in next, Humanoid:GetPlayingAnimationTracks() do
- v:Stop();
- end
- Humanoid.JumpPower = 75
- SINE = SINE + CHANGE
- local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
- local TORSOVERTICALVELOCITY = RootPart.Velocity.y
- local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
- local WALKSPEEDVALUE = 4 / (Humanoid.WalkSpeed / 16)
- if ANIM == "Walk" and TORSOVELOCITY > 1 then
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.825 - 0.175 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.1- 0.5 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.825 + 0.175 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.1+ 0.5 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- if HITFLOOR == nil then
- ANIM = "Midair"
- local JUMPHIT = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
- if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
- if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
- local HIT = IT("Folder",JUMPHIT)
- HIT.Name = "Stomped"
- CreateSound(165013277, JUMPHIT, 10, 1, false)
- RootPart.Velocity = VT(0,80,0)
- GoombaStomp(JUMPHIT.Parent)
- elseif JUMPHIT.Parent.ClassName == "Accessory" then
- local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
- if HEAD then
- if HEAD:FindFirstChild("Stomped") == nil then
- local HIT = IT("Folder",HEAD)
- HIT.Name = "Stomped"
- CreateSound(165013277, HEAD, 10, 1, false)
- RootPart.Velocity = VT(0,80,0)
- GoombaStomp(HEAD.Parent)
- end
- end
- end
- end
- local JUMPHIT = Raycast(RootPart.CFrame*CF(1,0,0).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
- if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
- if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
- local HIT = IT("Folder",JUMPHIT)
- HIT.Name = "Stomped"
- CreateSound(165013277, JUMPHIT, 10, 1, false)
- RootPart.Velocity = VT(0,80,0)
- GoombaStomp(JUMPHIT.Parent)
- elseif JUMPHIT.Parent.ClassName == "Accessory" then
- local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
- if HEAD then
- if HEAD:FindFirstChild("Stomped") == nil then
- local HIT = IT("Folder",HEAD)
- HIT.Name = "Stomped"
- CreateSound(165013277, HEAD, 10, 1, false)
- RootPart.Velocity = VT(0,80,0)
- GoombaStomp(HEAD.Parent)
- end
- end
- end
- end
- local JUMPHIT = Raycast(RootPart.CFrame*CF(-1,0,0).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
- if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
- if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
- local HIT = IT("Folder",JUMPHIT)
- HIT.Name = "Stomped"
- CreateSound(165013277, JUMPHIT, 10, 1, false)
- RootPart.Velocity = VT(0,80,0)
- GoombaStomp(JUMPHIT.Parent)
- elseif JUMPHIT.Parent.ClassName == "Accessory" then
- local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
- if HEAD then
- if HEAD:FindFirstChild("Stomped") == nil then
- local HIT = IT("Folder",HEAD)
- HIT.Name = "Stomped"
- CreateSound(165013277, HEAD, 10, 1, false)
- RootPart.Velocity = VT(0,80,0)
- GoombaStomp(HEAD.Parent)
- end
- end
- end
- end
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0+sick.PlaybackLoudness/800) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, -0.2) * ANGLES(RAD(150), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 2 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4-sick.PlaybackLoudness/800, -0.7) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, -0.3) * ANGLES(RAD(-25), RAD(-80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
- end
- elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
- ANIM = "Idle"
- JUMPED = false
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0+sick.PlaybackLoudness/800) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(0), RAD(7.5-30*SIN(sick.PlaybackLoudness/300)), RAD(0 - 25 * SIN(SINE / 15))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5+sick.PlaybackLoudness/1200, 0) * ANGLES(RAD(0), RAD(-15), RAD(-2+sick.PlaybackLoudness/45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(0), RAD(55), RAD(-12)) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1-sick.PlaybackLoudness/800, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
- ANIM = "Walk"
- JUMPED = false
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1+sick.PlaybackLoudness/800) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(5 - 2 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(7.5-30*SIN(sick.PlaybackLoudness/300)), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5+sick.PlaybackLoudness/1200, 0) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(0), RAD(55), RAD(-12)) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1-sick.PlaybackLoudness/800, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-3)), 2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(3)), 2 / Animation_Speed)
- end
- end
- unanchor()
- Humanoid.MaxHealth = "inf"
- Humanoid.Health = "inf"
- if Rooted == false then
- Disable_Jump = false
- Humanoid.WalkSpeed = Speed
- elseif Rooted == true then
- Disable_Jump = true
- Humanoid.WalkSpeed = 0
- end
- sick.SoundId = "rbxassetid://591604546"
- sick.Looped = true
- sick.Pitch = 1
- sick.Volume = 10
- sick.Playing = true
- sick.Parent = Torso
- if Head:FindFirstChild("face") then
- Head.face.Texture = "rbxassetid://142478285"
- end
- BLINKLOOP = BLINKLOOP + 1
- if BLINKLOOP >=650 then
- BLINKLOOP = 0
- Blink()
- end
- if #GHOSTS>0 then
- for e=1,#GHOSTS do
- if GHOSTS[e]~=nil then
- local Thing=GHOSTS[e]
- if Thing~=nil then
- if Thing:FindFirstChild("Head") then
- if Thing:FindFirstChild("Head"):FindFirstChild("face") then
- Thing:FindFirstChild("Head").face.Texture = "rbxassetid://127959433"
- end
- if Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound") then
- Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound"):remove()
- end
- end
- local TORSO = Thing:FindFirstChild("Torso")
- if TORSO then
- TORSO.Anchored = false
- local ROOT = Thing.HumanoidRootPart
- local RootJoint1 = ROOT:FindFirstChild("RootJoint")
- local Neck1 = TORSO:FindFirstChild("Neck")
- local RightShoulder1 = TORSO:FindFirstChild("Right Shoulder")
- local LeftShoulder1 = TORSO:FindFirstChild("Left Shoulder")
- local RightHip1 = TORSO:FindFirstChild("Right Hip")
- local LeftHip1 = TORSO:FindFirstChild("Left Hip")
- if ROOT and RootJoint1 then
- local VELOCITY = (ROOT.Velocity * VT(1, 0, 1)).magnitude
- if VELOCITY < 1 then
- RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
- Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
- RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
- LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
- RightHip1.C0 = CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
- LeftHip1.C0 = CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
- elseif VELOCITY > 1 then
- RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
- Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
- RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
- LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
- RightHip1.C0 = CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0))
- LeftHip1.C0 = CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
- end
- end
- local Human = Thing.Humanoid
- if Human then
- Human.HipHeight = 0.3
- for _, c in pairs(Thing:GetChildren()) do
- if c.ClassName == "Part" and c.Transparency < 1 then
- c.Color = C3(0,0,0)
- c.Transparency = 0.65 + 0.15 * COS(SINE / 25)
- elseif c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
- c:remove()
- end
- end
- if Human then
- local IDLEANIMATION = Human:LoadAnimation(ROBLOXIDLEANIMATION)
- IDLEANIMATION:Play()
- end
- local list = game.Workspace:children()
- local torso = nil
- local dist = 50
- local temp = nil
- local human = nil
- local temp2 = nil
- local OwnerInDanger = false
- for x = 1, #list do
- temp2 = list[x]
- if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
- temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
- human = temp2:findFirstChildOfClass("Humanoid")
- if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
- if (temp.Position - Torso.Position).magnitude < 15 then
- OwnerInDanger = true
- newdist = (temp.Position - TORSO.Position).magnitude
- dist = (Torso.Position - temp.Position).magnitude
- Human:MoveTo(temp.Position)
- torso = temp
- if newdist < 7 then
- torso.CFrame = CF(torso.Position,TORSO.Position)*CF(0,0,5)
- CreateSound(814168787, temp, 1, 2, false)
- ApplyDamage(human,MRANDOM(15,35),temp)
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = torso.CFrame*CF(0,-4*torso.Size.Y/2,0), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- end
- end
- end
- end
- end
- if OwnerInDanger == false then
- for x = 1, #list do
- temp2 = list[x]
- if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
- temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
- human = temp2:findFirstChildOfClass("Humanoid")
- if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
- if (temp.Position - Torso.Position).magnitude < dist then
- newdist = (temp.Position - TORSO.Position).magnitude
- Human:MoveTo(temp.Position)
- torso = temp
- if newdist < 15 then
- if MRANDOM(1,35) == 1 then
- CreateSound(438665935, temp, 1, 3, false)
- ApplyDamage(human,MRANDOM(2,20),temp)
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
- end
- end
- end
- end
- end
- end
- end
- if torso == nil then
- Human.WalkSpeed = Speed -0.2
- if (Torso.Position - TORSO.Position).magnitude < 12 and (Torso.Position - TORSO.Position).magnitude >= 11 then
- Human:MoveTo(TORSO.Position)
- elseif (Torso.Position - TORSO.Position).magnitude > 15 then
- Human:MoveTo(Torso.Position)
- elseif (Torso.Position - TORSO.Position).magnitude < 11 then
- Human:MoveTo(CF(Torso.Position,TORSO.Position)*CF(0,0,-5).p)
- end
- else
- if OwnerInDanger == false then
- Human.WalkSpeed = Speed*1.2
- else
- Human.WalkSpeed = Speed*5
- end
- end
- if Human.Health == 0 then
- Thing:remove()
- table.remove(GHOSTS,e)
- else
- Human.Health = Human.Health + 0.5
- end
- else
- Thing:remove()
- table.remove(GHOSTS,e)
- end
- else
- Thing:remove()
- table.remove(GHOSTS,e)
- end
- end
- end
- end
- end
- refit()
- end
- --//=================================\\
- --\\=================================//
- --//====================================================\\--
- --|| END OF THE SCRIPT
- --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement