--https://github.com/Mokiros/roblox-FE-compatibility if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end local Player,game,owner = owner,game local RealPlayer = Player do print("FE Compatibility code V2 by Mokiros") local RealPlayer = RealPlayer script.Parent = RealPlayer.Character --Fake event to make stuff like Mouse.KeyDown work local Disconnect_Function = function(this) this[1].Functions[this[2]] = nil end local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}} local FakeEvent_Metatable = {__index={ Connect = function(this,f) local i = tostring(math.random(0,10000)) while this.Functions[i] do i = tostring(math.random(0,10000)) end this.Functions[i] = f return setmetatable({this,i},Disconnect_Metatable) end }} FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect local function fakeEvent() return setmetatable({Functions={}},FakeEvent_Metatable) end --Creating fake input objects with fake variables local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()} FakeMouse.keyUp = FakeMouse.KeyUp FakeMouse.keyDown = FakeMouse.KeyDown local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil end} --Merged 2 functions into one by checking amount of arguments CAS.UnbindAction = CAS.BindAction --This function will trigger the events that have been :Connect()'ed local function TriggerEvent(self,ev,...) for _,f in pairs(self[ev].Functions) do f(...) end end FakeMouse.TriggerEvent = TriggerEvent UIS.TriggerEvent = TriggerEvent --Client communication local Event = Instance.new("RemoteEvent") Event.Name = "UserInput_Event" Event.OnServerEvent:Connect(function(plr,io) if plr~=RealPlayer then return end FakeMouse.Target = io.Target FakeMouse.Hit = io.Hit if not io.isMouse then local b = io.UserInputState == Enum.UserInputState.Begin if io.UserInputType == Enum.UserInputType.MouseButton1 then return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up") end if io.UserInputType == Enum.UserInputType.MouseButton2 then return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up") end for _,t in pairs(CAS.Actions) do for _,k in pairs(t.Keys) do if k==io.KeyCode then t.Function(t.Name,io.UserInputState,io) end end end FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false) end end) Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event") local Mouse = owner:GetMouse() local UIS = game:GetService("UserInputService") local input = function(io,RobloxHandled) if RobloxHandled then return end --Since InputObject is a client-side instance, we create and pass table instead Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) end UIS.InputBegan:Connect(input) UIS.InputEnded:Connect(input) local h,t --Give the server mouse data every second frame, but only if the values changed --If player is not moving their mouse, client won't fire events local HB = game:GetService("RunService").Heartbeat while true do if h~=Mouse.Hit or t~=Mouse.Target then h,t=Mouse.Hit,Mouse.Target Event:FireServer({isMouse=true,Target=t,Hit=h}) end --Wait 2 frames for i=1,2 do HB:Wait() end end]==],script) ----Sandboxed game object that allows the usage of client-side methods and services --Real game object local RealGame = game --Metatable for fake service local FakeService_Metatable = { __index = function(self,k) local s = rawget(self,"_RealService") if s then return typeof(s[k])=="function" and function(_,...)return s[k](s,...)end or s[k] end end, __newindex = function(self,k,v) local s = rawget(self,"_RealService") if s then s[k]=v end end } local function FakeService(t,RealService) t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService return setmetatable(t,FakeService_Metatable) end --Fake game object local FakeGame = { GetService = function(self,s) return rawget(self,s) or RealGame:GetService(s) end, Players = FakeService({ LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player) },"Players"), UserInputService = FakeService(UIS,"UserInputService"), ContextActionService = FakeService(CAS,"ContextActionService"), RunService = FakeService({ _btrs = {}, RenderStepped = RealGame:GetService("RunService").Heartbeat, BindToRenderStep = function(self,name,_,fun) self._btrs[name] = self.Heartbeat:Connect(fun) end, UnbindFromRenderStep = function(self,name) self._btrs[name]:Disconnect() end, },"RunService") } rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer) FakeGame.service = FakeGame.GetService FakeService(FakeGame,game) --Changing owner to fake player object to support owner:GetMouse() game,owner = FakeGame,FakeGame.Players.LocalPlayer end local s = Instance.new("Sound") s.Name = "Name" s.SoundId = "rbxassetid://407749940" s.Volume = 4 s.Looped = true s.archivable = false s.Parent = game.Workspace wait(0.2) s:play() local pchar = game.Players.LocalPlayer.Character -- Can change player here -- for i,v in pairs(pchar.Torso:GetChildren()) do if v.ClassName == 'Decal' then v:Destroy() end end for i,v in pairs(pchar:GetChildren()) do if v.ClassName == 'Hat' then v:Destroy() end end for i,v in pairs(pchar.Head:GetChildren()) do if v.ClassName == 'Decal' then v:Destroy() end end local duck = Instance.new('SpecialMesh', pchar.Torso) duck.MeshType = 'FileMesh' duck.MeshId = 'rbxassetid://1719079794' duck.TextureId = 'rbxassetid://1719079844' duck.Scale = Vector3.new(0.1, 0.1, 0.1) pchar.Head.Transparency = 1 pchar['Left Arm'].Transparency = 1 pchar['Right Arm'].Transparency = 1 pchar['Left Leg'].Transparency = 1 pchar['Right Leg'].Transparency = 1 CV="White" p = game.Players.LocalPlayer char = p.Character local txt = Instance.new("BillboardGui", char) txt.Adornee = char .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 = 1 text.Font = "Arcade" text.TextStrokeColor3 = Color3.fromRGB(255,0,0) v=Instance.new("Part") v.Name = "ColorBrick" v.Parent=p.Character v.FormFactor="Symmetric" v.Anchored=true v.CanCollide=false v.BottomSurface="Smooth" v.TopSurface="Smooth" v.Size=Vector3.new(10,5,3) v.Transparency=1 v.CFrame=char.Torso.CFrame v.BrickColor=BrickColor.new(CV) v.Transparency=1 text.TextColor3 = Color3.fromRGB(255,192,203) v.Shape="Block" text.Text = "evil guinea pig" --Converted with ttyyuu12345's model to script plugin v4 function sandbox(var,func) local env = getfenv(func) local newenv = setmetatable({},{ __index = function(self,k) if k=="script" then return var else return env[k] end end, }) setfenv(func,newenv) return func end cors = {} mas = Instance.new("Model",game:GetService("Lighting")) Tool0 = Instance.new("Tool") Part1 = Instance.new("Part") SpecialMesh2 = Instance.new("SpecialMesh") Sound3 = Instance.new("Sound") Sound4 = Instance.new("Sound") Sound5 = Instance.new("Sound") Script6 = Instance.new("Script") LocalScript7 = Instance.new("LocalScript") Camera8 = Instance.new("Camera") Tool0.Name = "ClassicSword" Tool0.Parent = mas Tool0.TextureId = "rbxasset://Textures/Sword128.png" Tool0.Grip = CFrame.new(0, 0, -1.5, 0, 0, 1, 1, 0, 0, 0, 1, 0) Tool0.GripForward = Vector3.new(-1, -0, -0) Tool0.GripPos = Vector3.new(0, 0, -1.5) Tool0.GripRight = Vector3.new(0, 1, 0) Tool0.GripUp = Vector3.new(0, 0, 1) Part1.Name = "Handle" Part1.Parent = Tool0 Part1.CFrame = CFrame.new(302.251343, 10.8100843, 95.5561295, 0.0910440385, -0.881099463, 0.464084357, 0.537011683, 0.435894847, 0.722229123, -0.838648558, 0.183463722, 0.512845576) Part1.Orientation = Vector3.new(-46.2400017, 42.1399994, 50.9300003) Part1.Position = Vector3.new(302.251343, 10.8100843, 95.5561295) Part1.Rotation = Vector3.new(-54.6199989, 27.6499996, 84.0999985) Part1.Color = Color3.new(0.388235, 0.372549, 0.384314) Part1.Size = Vector3.new(1, 0.800000012, 4) Part1.BottomSurface = Enum.SurfaceType.Smooth Part1.BrickColor = BrickColor.new("Dark stone grey") Part1.Locked = true Part1.Reflectance = 0.40000000596046 Part1.TopSurface = Enum.SurfaceType.Smooth Part1.brickColor = BrickColor.new("Dark stone grey") Part1.FormFactor = Enum.FormFactor.Plate Part1.formFactor = Enum.FormFactor.Plate SpecialMesh2.Parent = Part1 SpecialMesh2.MeshId = "rbxasset://fonts/sword.mesh" SpecialMesh2.TextureId = "rbxasset://textures/SwordTexture.png" SpecialMesh2.MeshType = Enum.MeshType.FileMesh Sound3.Name = "SwordSlash" Sound3.Parent = Part1 Sound3.SoundId = "http://www.roblox.com/asset/?id=12222216" Sound3.Volume = 0.69999998807907 Sound4.Name = "SwordLunge" Sound4.Parent = Part1 Sound4.SoundId = "http://www.roblox.com/asset/?id=12222208" Sound4.Volume = 0.60000002384186 Sound5.Name = "Unsheath" Sound5.Parent = Part1 Sound5.SoundId = "http://www.roblox.com/asset/?id=12222225" Sound5.Volume = 1 Script6.Name = "SwordScript" Script6.Parent = Tool0 table.insert(cors,sandbox(Script6,function() --Rescripted by Luckymaxer --EUROCOW WAS HERE BECAUSE I MADE THE PARTICLES AND THEREFORE THIS ENTIRE SWORD PRETTY AND LOOK PRETTY WORDS AND I'D LIKE TO DEDICATE THIS TO MY FRIENDS AND HI LUCKYMAXER PLS FIX SFOTH SWORDS TY LOVE Y'ALl --Updated for R15 avatars by StarWars --Re-updated by TakeoHonorable Tool = script.Parent Handle = Tool:WaitForChild("Handle") function Create(ty) return function(data) local obj = Instance.new(ty) for k, v in pairs(data) do if type(k) == 'number' then v.Parent = obj else obj[k] = v end end return obj end end local BaseUrl = "rbxassetid://" Players = game:GetService("Players") Debris = game:GetService("Debris") RunService = game:GetService("RunService") DamageValues = { BaseDamage = 5, SlashDamage = 10, LungeDamage = 30 } --For R15 avatars Animations = { R15Slash = 522635514, R15Lunge = 522638767 } Damage = DamageValues.BaseDamage Grips = { Up = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0), Out = CFrame.new(0, 0, -1.70000005, 0, 1, 0, 1, -0, 0, 0, 0, -1) } Sounds = { Slash = Handle:WaitForChild("SwordSlash"), Lunge = Handle:WaitForChild("SwordLunge"), Unsheath = Handle:WaitForChild("Unsheath") } ToolEquipped = false --For Omega Rainbow Katana thumbnail to display a lot of particles. for i, v in pairs(Handle:GetChildren()) do if v:IsA("ParticleEmitter") then v.Rate = 20 end end Tool.Grip = Grips.Up Tool.Enabled = true function IsTeamMate(Player1, Player2) return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor) end function TagHumanoid(humanoid, player) local Creator_Tag = Instance.new("ObjectValue") Creator_Tag.Name = "creator" Creator_Tag.Value = player Debris:AddItem(Creator_Tag, 2) Creator_Tag.Parent = humanoid end function UntagHumanoid(humanoid) for i, v in pairs(humanoid:GetChildren()) do if v:IsA("ObjectValue") and v.Name == "creator" then v:Destroy() end end end function Blow(Hit) if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped then return end local RightArm = Character:FindFirstChild("Right Arm") or Character:FindFirstChild("RightHand") if not RightArm then return end local RightGrip = RightArm:FindFirstChild("RightGrip") if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then return end local character = Hit.Parent if character == Character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid or humanoid.Health == 0 then return end local player = Players:GetPlayerFromCharacter(character) if player and (player == Player or IsTeamMate(Player, player)) then return end UntagHumanoid(humanoid) TagHumanoid(humanoid, Player) humanoid:TakeDamage(Damage) end function Attack() Damage = DamageValues.SlashDamage Sounds.Slash:Play() if Humanoid then if Humanoid.RigType == Enum.HumanoidRigType.R6 then local Anim = Instance.new("StringValue") Anim.Name = "toolanim" Anim.Value = "Slash" Anim.Parent = Tool elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then local Anim = Tool:FindFirstChild("R15Slash") if Anim then local Track = Humanoid:LoadAnimation(Anim) Track:Play(0) end end end end function Lunge() Damage = DamageValues.LungeDamage Sounds.Lunge:Play() if Humanoid then if Humanoid.RigType == Enum.HumanoidRigType.R6 then local Anim = Instance.new("StringValue") Anim.Name = "toolanim" Anim.Value = "Lunge" Anim.Parent = Tool elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then local Anim = Tool:FindFirstChild("R15Lunge") if Anim then local Track = Humanoid:LoadAnimation(Anim) Track:Play(0) end end end --[[ if CheckIfAlive() then local Force = Instance.new("BodyVelocity") Force.velocity = Vector3.new(0, 10, 0) Force.maxForce = Vector3.new(0, 4000, 0) Debris:AddItem(Force, 0.4) Force.Parent = Torso end ]] wait(0.2) Tool.Grip = Grips.Out wait(0.6) Tool.Grip = Grips.Up Damage = DamageValues.SlashDamage end Tool.Enabled = true LastAttack = 0 function Activated() if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then return end Tool.Enabled = false local Tick = RunService.Stepped:wait() if (Tick - LastAttack < 0.2) then Lunge() else Attack() end LastAttack = Tick --wait(0.5) Damage = DamageValues.BaseDamage local SlashAnim = (Tool:FindFirstChild("R15Slash") or Create("Animation"){ Name = "R15Slash", AnimationId = BaseUrl .. Animations.R15Slash, Parent = Tool }) local LungeAnim = (Tool:FindFirstChild("R15Lunge") or Create("Animation"){ Name = "R15Lunge", AnimationId = BaseUrl .. Animations.R15Lunge, Parent = Tool }) Tool.Enabled = true end function CheckIfAlive() return (((Player and Player.Parent and Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent) and true) or false) end function Equipped() Character = Tool.Parent Player = Players:GetPlayerFromCharacter(Character) Humanoid = Character:FindFirstChildOfClass("Humanoid") Torso = Character:FindFirstChild("Torso") or Character:FindFirstChild("HumanoidRootPart") if not CheckIfAlive() then return end ToolEquipped = true Sounds.Unsheath:Play() end function Unequipped() Tool.Grip = Grips.Up ToolEquipped = false end Tool.Activated:Connect(Activated) Tool.Equipped:Connect(Equipped) Tool.Unequipped:Connect(Unequipped) Connection = Handle.Touched:Connect(Blow) end)) LocalScript7.Name = "MouseIcon" LocalScript7.Parent = Tool0 table.insert(cors,sandbox(LocalScript7,function() --Made by Luckymaxer Mouse_Icon = "rbxasset://textures/GunCursor.png" Reloading_Icon = "rbxasset://textures/GunWaitCursor.png" Tool = script.Parent Mouse = nil function UpdateIcon() if Mouse then Mouse.Icon = Tool.Enabled and Mouse_Icon or Reloading_Icon end end function OnEquipped(ToolMouse) Mouse = ToolMouse UpdateIcon() end function OnChanged(Property) if Property == "Enabled" then UpdateIcon() end end Tool.Equipped:Connect(OnEquipped) Tool.Changed:Connect(OnChanged) end)) Camera8.Name = "ThumbnailCamera" Camera8.Parent = Tool0 Camera8.CFrame = CFrame.new(-5.67428207, 2.83736515, 3.79184556, 0.289030313, 0.416664183, -0.861888885, -0, 0.900314331, 0.435240269, 0.957319915, -0.125797629, 0.260218143) Camera8.CoordinateFrame = CFrame.new(-5.67428207, 2.83736515, 3.79184556, 0.289030313, 0.416664183, -0.861888885, -0, 0.900314331, 0.435240269, 0.957319915, -0.125797629, 0.260218143) Camera8.Focus = CFrame.new(-3.9505043, 1.96688461, 3.27140927, 1, 0, 0, 0, 1, 0, 0, 0, 1) Camera8.focus = CFrame.new(-3.9505043, 1.96688461, 3.27140927, 1, 0, 0, 0, 1, 0, 0, 0, 1) for i,v in pairs(mas:GetChildren()) do v.Parent = game:GetService("Players").LocalPlayer.Backpack pcall(function() v:MakeJoints() end) end mas:Destroy() for i,v in pairs(cors) do spawn(function() pcall(v) end) end local Victim='xVortex_ray' local A=Instance.new'Animation' A.AnimationId='rbxassetid://4047725350' local P=game:GetService'Players'.LocalPlayer local C=P.Character or P.CharacterAdded:Wait() local H=C:WaitForChild'Humanoid':LoadAnimation(A) H:Play() H:AdjustSpeed(3) while wait(0.1) do C:WaitForChild'HumanoidRootPart'.CFrame=CFrame.new(game:GetService'Players':FindFirstChild(Victim).Character:WaitForChild'HumanoidRootPart'.Position) end