r15 to r6 script if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {} do script.Parent = owner.Character local Event = Instance.new("RemoteEvent");Event.Name = "UserInput" local function NewFakeEvent() local Bind = Instance.new("BindableEvent") local Fake;Fake = {Connections = {}, fakeEvent=true; Connect=function(self,Func) Bind.Event:connect(Func) self.Connections[Bind] = true r15 to r6 script How to get it? r15 to r6 script return setmetatable({Connected = true},{ __index = function (self,Index) if Index:lower() == "disconnect" then return function() Fake.Connections[Bind] = false;self.Connected = false end end return Fake[Index] end; __tostring = function() return "Connection" end; }) end} r15 to r6 script How to dowload it? r15 to r6 script Fake.connect = Fake.Connect;return Fake; end local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()} local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()} 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 local function TriggerEvent(self,Event,...) local Trigger = Mouse[Event] if Trigger and Trigger.fakeEvent and Trigger.Connections then r15 to r6 script How to use it? r15 to r6 script for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end end end Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent Event.OnServerEvent:Connect(function(FiredBy,Input) if FiredBy.Name ~= owner.Name then return end if Input.MouseEvent then Mouse.Target = Input.Target;Mouse.Hit = Input.Hit else local Begin = Input.UserInputState == Enum.UserInputState.Begin r15 to r6 script How to get it? r15 to r6 script if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(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:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower()) UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false) end end) InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService Event.Parent = NLS([[ r15 to r6 script How to get it for free? r15 to r6 script local Player = owner;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 UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input) local Hit,Target while wait(1/30) do if Hit ~= Mouse.Hit or Target ~= Mouse.Target then Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit}) r15 to r6 script How to get it? r15 to r6 script end end ]],owner.Character) end RealGame = game;game = setmetatable({},{ __index = function (self,Index) local Sandbox = function (Thing) if Thing:IsA("Player") then local RealPlayer = Thing return setmetatable({},{ r15 to r6 script How to get it? r15 to r6 script __index = function (self,Index) local Type = type(RealPlayer[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 RealPlayer[Index](RealPlayer,...) end end return RealPlayer[Index] end; r15 to r6 script How to get it for free? r15 to r6 script __tostring = function(self) return RealPlayer.Name end }) end end if RealGame[Index] then local Type = type(RealGame[Index]) if Type == "function" then if Index:lower() == "getservice" or Index:lower() == "service" then return function (self,Service) local FakeServices = { r15 to r6 script How to get it? r15 to r6 script ["players"] = function() return setmetatable({},{ __index = function (self2,Index2) local RealService = RealGame:GetService(Service) local Type2 = type(Index2) if Type2 == "function" then return function (self,...) return RealService[Index2](RealService,...)end else if Index2:lower() == "localplayer" then return Sandbox(owner) end return RealService[Index2] r15 to r6 script PasteShr r15 to r6 script end end; __tostring = function(self) return RealGame:GetService(Service).Name end }) end; ["contextactionservice"] = function() return InternalData["ContextActionService"] end; ["userinputservice"] = function() return InternalData["UserInputService"] end; ["runservice"] = function() return setmetatable({},{ __index = function(self2,Index2) r15 to r6 script How to get it for free? r15 to r6 script local RealService = RealGame:GetService(Service) local Type2 = type(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 RealGame:GetService("RunService").Stepped:Connect(Function) end end; ["renderstepped"] = function() return RealService["Stepped"] end } if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end r15 to r6 script How to get it for free? r15 to r6 script return RealService[Index2] end end }) end } if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end return RealGame:GetService(Service) end end r15 to r6 script How to dowload it? r15 to r6 script return function (self,...) return RealGame[Index](RealGame,...) end else if game:GetService(Index) then return game:GetService(Index) end return RealGame[Index] end end return nil end });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...") r15 to r6 script How to dowload it? r15 to r6 script function oof() game:GetObjects("rbxassetid://1561389244")[1].Parent=game.Workspace.Terrain local c = game.Workspace.Terrain:FindFirstChildOfClass("Model"):Clone() c.Parent = game.Workspace c:MoveTo(game.Players.LocalPlayer.Character.HumanoidRootPart.Position) game.Workspace.Terrain:FindFirstChildOfClass("Model"):remove() c.Name = game.Players.LocalPlayer.Name game.Players.LocalPlayer.Character = c game.Workspace.CurrentCamera.CameraSubject = c:FindFirstChildOfClass("Humanoid") r15 to r6 script How to get it? r15 to r6 script local Figure = game.Players.LocalPlayer.Character local Torso = Figure:WaitForChild("Torso") local RightShoulder = Torso:WaitForChild("Right Shoulder") local LeftShoulder = Torso:WaitForChild("Left Shoulder") local RightHip = Torso:WaitForChild("Right Hip") local LeftHip = Torso:WaitForChild("Left Hip") local Neck = Torso:WaitForChild("Neck") local Humanoid = Figure:WaitForChild("Humanoid") local pose = "Standing" r15 to r6 script PasteShr r15 to r6 script local currentAnim = "" local currentAnimInstance = nil local currentAnimTrack = nil local currentAnimKeyframeHandler = nil local currentAnimSpeed = 1.0 local animTable = {} local animNames = { idle = { { id = "http://www.roblox.com/asset/?id=180435571", weight = 9 }, { id = "http://www.roblox.com/asset/?id=180435792", weight = 1 } r15 to r6 script PasteShr r15 to r6 script }, walk = { { id = "http://www.roblox.com/asset/?id=180426354", weight = 10 } }, run = { { id = "run.xml", weight = 10 } }, jump = { { id = "http://www.roblox.com/asset/?id=125750702", weight = 10 } }, r15 to r6 script How to dowload it? r15 to r6 script fall = { { id = "http://www.roblox.com/asset/?id=180436148", weight = 10 } }, climb = { { id = "http://www.roblox.com/asset/?id=180436334", weight = 10 } }, sit = { { id = "http://www.roblox.com/asset/?id=178130996", weight = 10 } }, toolnone = { r15 to r6 script How to dowload it? r15 to r6 script { id = "http://www.roblox.com/asset/?id=182393478", weight = 10 } }, toolslash = { { id = "http://www.roblox.com/asset/?id=129967390", weight = 10 } -- { id = "slash.xml", weight = 10 } }, toollunge = { { id = "http://www.roblox.com/asset/?id=129967478", weight = 10 } }, wave = { r15 to r6 script How to dowload it? r15 to r6 script { id = "http://www.roblox.com/asset/?id=128777973", weight = 10 } }, point = { { id = "http://www.roblox.com/asset/?id=128853357", weight = 10 } }, dance1 = { { id = "http://www.roblox.com/asset/?id=182435998", weight = 10 }, { id = "http://www.roblox.com/asset/?id=182491037", weight = 10 }, { id = "http://www.roblox.com/asset/?id=182491065", weight = 10 } }, r15 to r6 script How to get it for free? r15 to r6 script dance2 = { { id = "http://www.roblox.com/asset/?id=182436842", weight = 10 }, { id = "http://www.roblox.com/asset/?id=182491248", weight = 10 }, { id = "http://www.roblox.com/asset/?id=182491277", weight = 10 } }, dance3 = { { id = "http://www.roblox.com/asset/?id=182436935", weight = 10 }, { id = "http://www.roblox.com/asset/?id=182491368", weight = 10 }, { id = "http://www.roblox.com/asset/?id=182491423", weight = 10 } }, r15 to r6 script PasteShr r15 to r6 script laugh = { { id = "http://www.roblox.com/asset/?id=129423131", weight = 10 } }, cheer = { { id = "http://www.roblox.com/asset/?id=129423030", weight = 10 } }, } local dances = {"dance1", "dance2", "dance3"} -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote r15 to r6 script How to dowload it? r15 to r6 script local emoteNames = { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false} function configureAnimationSet(name, fileList) if (animTable[name] ~= nil) then for _, connection in pairs(animTable[name].connections) do connection:disconnect() end end animTable[name] = {} animTable[name].count = 0 r15 to r6 script How to get it? r15 to r6 script animTable[name].totalWeight = 0 animTable[name].connections = {} -- check for config values local config = game.Players.LocalPlayer.Character.Animate:FindFirstChild(name) if (config ~= nil) then -- print("Loading anims " .. name) table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end)) table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end)) local idx = 1 r15 to r6 script How to get it for free? r15 to r6 script for _, childPart in pairs(config:GetChildren()) do if (childPart:IsA("Animation")) then table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end)) animTable[name][idx] = {} animTable[name][idx].anim = childPart local weightObject = childPart:FindFirstChild("Weight") if (weightObject == nil) then animTable[name][idx].weight = 1 else animTable[name][idx].weight = weightObject.Value r15 to r6 script How to get it for free? r15 to r6 script end animTable[name].count = animTable[name].count + 1 animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")") idx = idx + 1 end end end -- fallback to defaults r15 to r6 script How to dowload it? r15 to r6 script if (animTable[name].count <= 0) then for idx, anim in pairs(fileList) do animTable[name][idx] = {} animTable[name][idx].anim = Instance.new("Animation") animTable[name][idx].anim.Name = name animTable[name][idx].anim.AnimationId = anim.id animTable[name][idx].weight = anim.weight animTable[name].count = animTable[name].count + 1 animTable[name].totalWeight = animTable[name].totalWeight + anim.weight -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")") r15 to r6 script How to get it? r15 to r6 script end end end -- Setup animation objects function scriptChildModified(child) local fileList = animNames[child.Name] if (fileList ~= nil) then configureAnimationSet(child.Name, fileList) end r15 to r6 script How to get it? r15 to r6 script end game.Players.LocalPlayer.Character.Animate.ChildAdded:connect(scriptChildModified) game.Players.LocalPlayer.Character.Animate.ChildRemoved:connect(scriptChildModified) for name, fileList in pairs(animNames) do configureAnimationSet(name, fileList) end r15 to r6 script How to use it? r15 to r6 script -- ANIMATION -- declarations local toolAnim = "None" local toolAnimTime = 0 local jumpAnimTime = 0 local jumpAnimDuration = 0.3 local toolTransitionTime = 0.1 r15 to r6 script How to use it? r15 to r6 script local fallTransitionTime = 0.3 local jumpMaxLimbVelocity = 0.75 -- functions function stopAllAnimations() local oldAnim = currentAnim -- return to idle if finishing an emote if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then r15 to r6 script How to get it for free? r15 to r6 script oldAnim = "idle" end currentAnim = "" currentAnimInstance = nil if (currentAnimKeyframeHandler ~= nil) then currentAnimKeyframeHandler:disconnect() end if (currentAnimTrack ~= nil) then r15 to r6 script How to dowload it? r15 to r6 script currentAnimTrack:Stop() currentAnimTrack:Destroy() currentAnimTrack = nil end return oldAnim end function setAnimationSpeed(speed) if speed ~= currentAnimSpeed then currentAnimSpeed = speed r15 to r6 script How to dowload it? r15 to r6 script currentAnimTrack:AdjustSpeed(currentAnimSpeed) end end function keyFrameReachedFunc(frameName) if (frameName == "End") then local repeatAnim = currentAnim -- return to idle if finishing an emote if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then r15 to r6 script How to get it? r15 to r6 script repeatAnim = "idle" end local animSpeed = currentAnimSpeed playAnimation(repeatAnim, 0.0, Humanoid) setAnimationSpeed(animSpeed) end end -- Preload animations r15 to r6 script How to get it for free? r15 to r6 script function playAnimation(animName, transitionTime, humanoid) local roll = math.random(1, animTable[animName].totalWeight) local origRoll = roll local idx = 1 while (roll > animTable[animName][idx].weight) do roll = roll - animTable[animName][idx].weight idx = idx + 1 end -- print(animName .. " " .. idx .. " [" .. origRoll .. "]") r15 to r6 script How to get it for free? r15 to r6 script local anim = animTable[animName][idx].anim -- switch animation if (anim ~= currentAnimInstance) then if (currentAnimTrack ~= nil) then currentAnimTrack:Stop(transitionTime) currentAnimTrack:Destroy() end r15 to r6 script How to use it? r15 to r6 script currentAnimSpeed = 1.0 -- load it to the humanoid; get AnimationTrack currentAnimTrack = humanoid:LoadAnimation(anim) currentAnimTrack.Priority = Enum.AnimationPriority.Core -- play the animation currentAnimTrack:Play(transitionTime) currentAnim = animName currentAnimInstance = anim r15 to r6 script How to dowload it? r15 to r6 script -- set up keyframe name triggers if (currentAnimKeyframeHandler ~= nil) then currentAnimKeyframeHandler:disconnect() end currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc) end end r15 to r6 script How to use it? r15 to r6 script ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- local toolAnimName = "" local toolAnimTrack = nil local toolAnimInstance = nil local currentToolAnimKeyframeHandler = nil function toolKeyFrameReachedFunc(frameName) r15 to r6 script How to get it for free? r15 to r6 script if (frameName == "End") then -- print("Keyframe : ".. frameName) playToolAnimation(toolAnimName, 0.0, Humanoid) end end function playToolAnimation(animName, transitionTime, humanoid, priority) local roll = math.random(1, animTable[animName].totalWeight) r15 to r6 script How to get it for free? r15 to r6 script local origRoll = roll local idx = 1 while (roll > animTable[animName][idx].weight) do roll = roll - animTable[animName][idx].weight idx = idx + 1 end -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]") local anim = animTable[animName][idx].anim if (toolAnimInstance ~= anim) then r15 to r6 script How to dowload it? r15 to r6 script if (toolAnimTrack ~= nil) then toolAnimTrack:Stop() toolAnimTrack:Destroy() transitionTime = 0 end -- load it to the humanoid; get AnimationTrack toolAnimTrack = humanoid:LoadAnimation(anim) if priority then r15 to r6 script How to get it? r15 to r6 script toolAnimTrack.Priority = priority end -- play the animation toolAnimTrack:Play(transitionTime) toolAnimName = animName toolAnimInstance = anim currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc) end r15 to r6 script How to use it? r15 to r6 script end function stopToolAnimations() local oldAnim = toolAnimName if (currentToolAnimKeyframeHandler ~= nil) then currentToolAnimKeyframeHandler:disconnect() end toolAnimName = "" r15 to r6 script PasteShr r15 to r6 script toolAnimInstance = nil if (toolAnimTrack ~= nil) then toolAnimTrack:Stop() toolAnimTrack:Destroy() toolAnimTrack = nil end return oldAnim end r15 to r6 script How to get it for free? r15 to r6 script ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- function onRunning(speed) if speed > 0.01 then playAnimation("walk", 0.1, Humanoid) if currentAnimInstance and currentAnimInstance.AnimationId == "http://www.roblox.com/asset/?id=180426354" then setAnimationSpeed(speed / 14.5) r15 to r6 script PasteShr r15 to r6 script end pose = "Running" else if emoteNames[currentAnim] == nil then playAnimation("idle", 0.1, Humanoid) pose = "Standing" end end end r15 to r6 script How to get it for free? r15 to r6 script function onDied() pose = "Dead" end function onJumping() playAnimation("jump", 0.1, Humanoid) jumpAnimTime = jumpAnimDuration pose = "Jumping" end r15 to r6 script PasteShr r15 to r6 script function onClimbing(speed) playAnimation("climb", 0.1, Humanoid) setAnimationSpeed(speed / 12.0) pose = "Climbing" end function onGettingUp() pose = "GettingUp" end r15 to r6 script How to use it? r15 to r6 script function onFreeFall() if (jumpAnimTime <= 0) then playAnimation("fall", fallTransitionTime, Humanoid) end pose = "FreeFall" end function onFallingDown() pose = "FallingDown" end r15 to r6 script How to get it? r15 to r6 script function onSeated() pose = "Seated" end function onPlatformStanding() pose = "PlatformStanding" end function onSwimming(speed) r15 to r6 script How to use it? r15 to r6 script if speed > 0 then pose = "Running" else pose = "Standing" end end function getTool() for _, kid in ipairs(Figure:GetChildren()) do if kid.className == "Tool" then return kid end r15 to r6 script PasteShr r15 to r6 script end return nil end function getToolAnim(tool) for _, c in ipairs(tool:GetChildren()) do if c.Name == "toolanim" and c.className == "StringValue" then return c end end r15 to r6 script How to get it for free? r15 to r6 script return nil end function animateTool() if (toolAnim == "None") then playToolAnimation("toolnone", toolTransitionTime, Humanoid, Enum.AnimationPriority.Idle) return end r15 to r6 script How to dowload it? r15 to r6 script if (toolAnim == "Slash") then playToolAnimation("toolslash", 0, Humanoid, Enum.AnimationPriority.Action) return end if (toolAnim == "Lunge") then playToolAnimation("toollunge", 0, Humanoid, Enum.AnimationPriority.Action) return end end r15 to r6 script How to get it for free? r15 to r6 script function moveSit() RightShoulder.MaxVelocity = 0.15 LeftShoulder.MaxVelocity = 0.15 RightShoulder:SetDesiredAngle(3.14 /2) LeftShoulder:SetDesiredAngle(-3.14 /2) RightHip:SetDesiredAngle(3.14 /2) LeftHip:SetDesiredAngle(-3.14 /2) end r15 to r6 script How to use it? r15 to r6 script local lastTick = 0 function move(time) local amplitude = 1 local frequency = 1 local deltaTime = time - lastTick lastTick = time local climbFudge = 0 local setAngles = false r15 to r6 script How to get it for free? r15 to r6 script if (jumpAnimTime > 0) then jumpAnimTime = jumpAnimTime - deltaTime end if (pose == "FreeFall" and jumpAnimTime <= 0) then playAnimation("fall", fallTransitionTime, Humanoid) elseif (pose == "Seated") then playAnimation("sit", 0.5, Humanoid) return r15 to r6 script How to get it for free? r15 to r6 script elseif (pose == "Running") then playAnimation("walk", 0.1, Humanoid) elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then -- print("Wha " .. pose) stopAllAnimations() amplitude = 0.1 frequency = 1 setAngles = true end r15 to r6 script How to use it? r15 to r6 script if (setAngles) then local desiredAngle = amplitude * math.sin(time * frequency) RightShoulder:SetDesiredAngle(desiredAngle + climbFudge) LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge) RightHip:SetDesiredAngle(-desiredAngle) LeftHip:SetDesiredAngle(-desiredAngle) end -- Tool Animation handling r15 to r6 script How to dowload it? r15 to r6 script local tool = getTool() if tool and tool:FindFirstChild("Handle") then local animStringValueObject = getToolAnim(tool) if animStringValueObject then toolAnim = animStringValueObject.Value -- message recieved, delete StringValue animStringValueObject.Parent = nil toolAnimTime = time + .3 r15 to r6 script How to get it for free? r15 to r6 script end if time > toolAnimTime then toolAnimTime = 0 toolAnim = "None" end animateTool() else stopToolAnimations() r15 to r6 script PasteShr r15 to r6 script toolAnim = "None" toolAnimInstance = nil toolAnimTime = 0 end end -- connect events Humanoid.Died:connect(onDied) Humanoid.Running:connect(onRunning) Humanoid.Jumping:connect(onJumping) r15 to r6 script How to get it? r15 to r6 script Humanoid.Climbing:connect(onClimbing) Humanoid.GettingUp:connect(onGettingUp) Humanoid.FreeFalling:connect(onFreeFall) Humanoid.FallingDown:connect(onFallingDown) Humanoid.Seated:connect(onSeated) Humanoid.PlatformStanding:connect(onPlatformStanding) Humanoid.Swimming:connect(onSwimming) -- setup emote chat hook game:GetService("Players").LocalPlayer.Chatted:connect(function(msg) r15 to r6 script How to use it? r15 to r6 script local emote = "" if msg == "/e dance" then emote = dances[math.random(1, #dances)] elseif (string.sub(msg, 1, 3) == "/e ") then emote = string.sub(msg, 4) elseif (string.sub(msg, 1, 7) == "/emote ") then emote = string.sub(msg, 8) end if (pose == "Standing" and emoteNames[emote] ~= nil) then r15 to r6 script PasteShr r15 to r6 script playAnimation(emote, 0.1, Humanoid) end end) -- main program -- initialize to idle playAnimation("idle", 0.1, Humanoid) r15 to r6 script How to get it? r15 to r6 script pose = "Standing" while Figure.Parent ~= nil do local _, time = wait(0.1) move(time) end if Humanoid.Health == 0 then print("death occured, waiting for respawn") r15 to r6 script How to get it for free? r15 to r6 script Figure:WaitForChild("Humanoid") print("making r6 again") oof() end end oof() r15 to r6 script