local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()
local Window = Rayfield:CreateWindow({
Name = "🔫 MetaHub MM2 🔪",
LoadingTitle = "MetaHub",
LoadingSubtitle = "by Xempis",
ConfigurationSaving = {
Enabled = false,
FolderName = nil, -- Create a custom folder for your hub/game
FileName = "MetaHubScriptConfig"
},
Discord = {
Enabled = true,
Invite = "mPkgQn8SFj", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ABCD would be ABCD
RememberJoins = true -- Set this to false to make them join the discord every time they load it up
},
KeySystem = false, -- Set this to true to use our key system
KeySettings = {
Title = "Untitled",
Subtitle = "Key System",
Note = "No method of obtaining the key is provided",
FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
Key = {"Hello"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
local MainTab = Window:CreateTab("🏠 Main", nil) -- Title, Image
local MainSection = MainTab:CreateSection("🔪 Knife Dupe 🔪")
local Input = MainTab:CreateInput({
Name = "Insert Knife Name",
PlaceholderText = "Knife",
RemoveTextAfterFocusLost = false,
Callback = function(Text)
-- The function that takes place when the input is changed
-- The variable (Text) is a string for the value in the text box
end,
})
local Button = MainTab:CreateButton({
Name = "🔪 Dupe Knives 🔪",
Callback = function()
Rayfield:Notify({
Title = "Dupe Sucessfully Activated! ✅",
Content = "Please Wait 3 Minutes For the Dupe to Finish ✅",
Duration = 5,
Image = nil,
Actions = { -- Notification Buttons
Ignore = {
Name = "Got it! ✔",
Callback = function()
print("The user tapped Okay!")
end
},
},
})
end,
})
local MainSection = MainTab:CreateSection("🔫 Gun Dupe 🔫")
local Input = MainTab:CreateInput({
Name = "Insert Gun Name",
PlaceholderText = "Gun",
RemoveTextAfterFocusLost = false,
Callback = function(Text)
-- The function that takes place when the input is changed
-- The variable (Text) is a string for the value in the text box
end,
})
local Button = MainTab:CreateButton({
Name = "🔫 Dupe Guns 🔫",
Callback = function()
Rayfield:Notify({
Title = "Dupe Sucessfully Activated! ✅",
Content = "Please Wait 3 Minutes For the Dupe to Finish ✅",
Duration = 5,
Image = nil,
Actions = { -- Notification Buttons
Ignore = {
Name = "Got it! ✔",
Callback = function()
print("The user tapped Okay!")
end
},
},
})
end,
})
local MiscTab = Window:CreateTab("🧩 Miscellaneous", nil) -- Title, Image
local Section = MiscTab:CreateSection("📃 Player Options 📃")
local Slider = MiscTab:CreateSlider({
Name = "🚶♂️ WalkSpeed 🚶♂️",
Range = {16, 50},
Increment = 1,
Suffix = "⚡ Speed ⚡",
CurrentValue = 0,
Flag = "Slider1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = (Value)
end,
})
local Toggle = MiscTab:CreateToggle({
Name = "🦘 Infinite Jump 🦘",
CurrentValue = false,
Flag = "ToggleInfJump", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
Rayfield:Notify({
Title = "Infinite Jump Activated ✅",
Content = "You may now jump infinitely!",
Duration = 5,
Image = nil,
Actions = { -- Notification Buttons
Ignore = {
Name = "Got it! ✔",
Callback = function()
print("The user tapped Okay!")
end
},
},
})
local InfiniteJumpEnabled = true
game:GetService("UserInputService").JumpRequest:connect(function()
if InfiniteJumpEnabled then
game:GetService"Players".LocalPlayer.Character:FindFirstChildOfClass'Humanoid':ChangeState("Jumping")
end
end)
local InfiniteJump = CreateButton("Infinite Jump: Off", StuffFrame)
InfiniteJump.Position = UDim2.new(0,10,0,130)
InfiniteJump.Size = UDim2.new(0,150,0,30)
InfiniteJump.MouseButton1Click:connect(function()
local state = InfiniteJump.Text:sub(string.len("Infinite Jump: ") + 1) --too lazy to count lol
local new = state == "Off" and "On" or state == "On" and "Off"
InfiniteJumpEnabled = new == "On"
InfiniteJump.Text = "Infinite Jump: " .. new
end)
end,
})
local Section = MiscTab:CreateSection("📃 Game Options 📃")
local Toggle = MiscTab:CreateToggle({
Name = "✈ E to Fly ✈",
CurrentValue = false,
Flag = "ToggleFly", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
repeat wait()
until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:findFirstChild("HumanoidRootPart") and game.Players.LocalPlayer.Character:findFirstChild("Humanoid")
local mouse = game.Players.LocalPlayer:GetMouse()
repeat wait() until mouse
local plr = game.Players.LocalPlayer
local torso = plr.Character.HumanoidRootPart
local flying = true
local deb = true
local ctrl = {f = 0, b = 0, l = 0, r = 0}
local lastctrl = {f = 0, b = 0, l = 0, r = 0}
local maxspeed = 50
local speed = 0
function Fly()
local bg = Instance.new("BodyGyro", torso)
bg.P = 9e4
bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
bg.cframe = torso.CFrame
local bv = Instance.new("BodyVelocity", torso)
bv.velocity = Vector3.new(0,0.1,0)
bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
repeat wait()
plr.Character.Humanoid.PlatformStand = true
if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
speed = speed+.5+(speed/maxspeed)
if speed > maxspeed then
speed = maxspeed
end
elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then
speed = speed-1
if speed < 0 then
speed = 0
end
end
if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then
bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then
bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
else
bv.velocity = Vector3.new(0,0.1,0)
end
bg.cframe = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*speed/maxspeed),0,0)
until not flying
ctrl = {f = 0, b = 0, l = 0, r = 0}
lastctrl = {f = 0, b = 0, l = 0, r = 0}
speed = 0
bg:Destroy()
bv:Destroy()
plr.Character.Humanoid.PlatformStand = false
end
mouse.KeyDown:connect(function(key)
if key:lower() == "e" then
if flying then flying = false
else
flying = true
Fly()
end
elseif key:lower() == "w" then
ctrl.f = 1
elseif key:lower() == "s" then
ctrl.b = -1
elseif key:lower() == "a" then
ctrl.l = -1
elseif key:lower() == "d" then
ctrl.r = 1
end
end)
mouse.KeyUp:connect(function(key)
if key:lower() == "w" then
ctrl.f = 0
elseif key:lower() == "s" then
ctrl.b = 0
elseif key:lower() == "a" then
ctrl.l = 0
elseif key:lower() == "d" then
ctrl.r = 0
end
end)
Fly()
end,
})
local Toggle = MiscTab:CreateToggle({
Name = "🦴 ESP 🦴",
CurrentValue = false,
Flag = "ToggleChams", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
Rayfield:Notify({
Title = "ESP Toggled! ✅",
Content = "You can now see all players! ✅",
Duration = 5,
Image = nil,
Actions = { -- Notification Buttons
Ignore = {
Name = "Got it! ✔",
Callback = function()
print("The user tapped Okay!")
end
},
},
})
loadstring(game:HttpGet("https://[Log in to view URL]"))(' Watermelon ?')
end,
})
local HelpTab = Window:CreateTab("⁉ Help and Support ⁉", nil) -- Title, Image
local Section = HelpTab:CreateSection("👍 Discord 👍")
local Input = HelpTab:CreateInput({
Name = "Discord Link🔀",
PlaceholderText = "Discord.gg/mPkgQn8SFj",
RemoveTextAfterFocusLost = false,
Callback = function(Text)
-- The function that takes place when the input is changed
-- The variable (Text) is a string for the value in the text box
end,
})
local Section = HelpTab:CreateSection("discord.gg/mPkgQn8SFj")
To embed this program on your website, copy the following code and paste it into your website's HTML: