0% found this document useful (0 votes)
121 views22 pages

Panel Admin 7

The document is a Lua script for a game hub called 'Shadovis RPG Hub' that utilizes the Rayfield library. It includes various functionalities such as creating buttons and toggles for different combat actions, including damage stacking and spam attacks. The script also features a key system for access and allows for configuration saving, enhancing user experience in the game environment.

Uploaded by

cudorobloxvn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views22 pages

Panel Admin 7

The document is a Lua script for a game hub called 'Shadovis RPG Hub' that utilizes the Rayfield library. It includes various functionalities such as creating buttons and toggles for different combat actions, including damage stacking and spam attacks. The script also features a key system for access and allows for configuration saving, enhancing user experience in the game environment.

Uploaded by

cudorobloxvn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 22

local Rayfield = loadstring(game:HttpGet('https://sirius.

menu/rayfield'))()

local Window = Rayfield:CreateWindow({


Name = "Shadovis RPG Hub",
Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image
(number). 0 to use no icon (default).
LoadingTitle = "All damge script",
LoadingSubtitle = "by Nickjtoh",
Theme = "Default", -- Check
https://docs.sirius.menu/rayfield/configuration/themes

DisableRayfieldPrompts = false,
DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script
has a version mismatch with the interface

ConfigurationSaving = {
Enabled = true,
FolderName = nil, -- Create a custom folder for your hub/game
FileName = "Hub"
},

Discord = {
Enabled = false, -- Prompt the user to join your Discord server if their
executor supports it
Invite = "noninvitelink", -- 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 = true, -- Set this to true to use our key system


KeySettings = {
Title = "Key System",
Subtitle = "Key System",
Note = "Join Discord for Key", -- Use this to tell the user how to get a key
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 = {"Nickjtoh"} -- List of keys that will be accepted by the system, can
be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})

local Tab = Window:CreateTab("Damge", 4483362458) -- Title, Image'

local Button = Tab:CreateButton({


Name = "Gunshot Memento",
Interact = 'Click',
Callback = function()
-- Function to generate a directional vector based on avatar's facing direction
with spread
local function getShotVector(offsetAngle)
local character = game:GetService("Players").LocalPlayer.Character
local rootPart = character and character:FindFirstChild("HumanoidRootPart")
if rootPart then
local rotation = CFrame.Angles(0, math.rad(offsetAngle), 0) -- Yaw rotation
for spread
return (rootPart.CFrame * rotation).LookVector * math.random(8, 12) --
Apply rotation and scale
else
return Vector3.new(0, 0, 0) -- Default if rootPart is not found
end
end

-- Fire shots in a 360-degree spread, repeated 3 times


for i = 1, 3 do -- Fire 3 times
for angle = 0, 360, 20 do -- Spread shots every 36 degrees
local args = {
"Input",
"Solar Staff",
3,
"Annihilate",
getShotVector(angle)
}
game:GetService("Players").LocalPlayer.Character:WaitForChild("Combat"):WaitForChil
d("RemoteEvent"):FireServer(unpack(args))

end
wait(1) -- Add a small delay between rounds
end
end,
})

local Button = Tab:CreateButton({


Name = "Great pour",
Callback = function()
for i = 1, 3 do
local args = {
"Input",
"The Great Pour",
6,
"Breath"
}
game:GetService("Players").LocalPlayer.Character:WaitForChild("Combat"):WaitForChil
d("RemoteEvent"):FireServer(unpack(args))
end
end,
})

local Button = Tab:CreateButton({


Name = "Heaven slash",
Callback = function()
for i =1, 15 do
local args = {
"Input",
"Zenith Blade",
3.3333333333333335,
"Slash"
}
game:GetService("Players").LocalPlayer.Character:WaitForChild("Combat"):WaitForChil
d("RemoteEvent"):FireServer(unpack(args))
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Inf Artificial hood stack",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "ArtiphaseArtificer's Hood",
[3] = 6,
[4] = "Phase"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Inf Stunner",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Reality KnifeReality Dagger",
[3] = 8,
[4] = "Stunner"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Inf Slash",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Reality KnifeReality Dagger",
[3] = 8,
[4] = "Reality"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Button = Tab:CreateButton({


Name = "Insane artificial hood stack",
Callback = function()
for i = 1, 30 do
local args = {
[1] = "Input",
[2] = "ArtiphaseArtificer's Hood",
[3] = 6,
[4] = "Phase"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end
end,
})

local Button = Tab:CreateButton({


Name = "Insane Stunner x2 damge",
Callback = function()
for i = 1, 60 do
local args = {
[1] = "Input",
[2] = "Reality KnifeReality Dagger",
[3] = 8,
[4] = "Stunner"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end
end,
})
local Button = Tab:CreateButton({
Name = "God Slash",
Callback = function()
for i = 1, 70 do
local args = {
[1] = "Input",
[2] = "Reality KnifeReality Dagger",
[3] = 8,
[4] = "Reality"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Loadout Spam",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "LoadoutChange",
[2] = 1
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Fed Chest Spam",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "ChangeEquipment",
[2] = 358
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
wait()
local args = {
[1] = "ChangeEquipment",
[2] = 358,
[3] = true
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Button = Tab:CreateButton({


Name = "Dotf Damge stack",
Callback = function()
for i = 1, 25 do
local args = {
"Input",
"DukeDuke of the Federation",
20,
"E"
}
game:GetService("Players").LocalPlayer.Character:WaitForChild("Combat"):WaitForChil
d("RemoteEvent"):FireServer(unpack(args))
end
end,
})

local Button = Tab:CreateButton({


Name = "F Memento",
Interact = 'Click',
Callback = function()
-- Function to generate a directional vector based on avatar's facing direction
with spread
local function getShotVector(offsetAngle)
local character = game:GetService("Players").LocalPlayer.Character
local rootPart = character and character:FindFirstChild("HumanoidRootPart")

if rootPart then
local rotation = CFrame.Angles(0, math.rad(offsetAngle), 0) -- Yaw rotation
for spread
return (rootPart.CFrame * rotation).LookVector * math.random(8, 12) --
Apply rotation and scale
else
return Vector3.new(0, 0, 0) -- Default if rootPart is not found
end
end

-- Fire shots in a 360-degree spread, repeated 3 times


for i = 1, 3 do -- Fire 3 times
for angle = 0, 360, 20 do -- Spread shots every 36 degrees
local args = {
[1] = "Input",
[2] = "MoriMemento Mori",
[3] = 11.25,
[4] = "F",
[5] = getShotVector(angle) -- Get vector for each angle
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end
wait(1) -- Add a small delay between rounds
end
end,
})

local Button = Tab:CreateButton({


Name = "Gunshot Memento",
Interact = 'Click',
Callback = function()
-- Function to generate a directional vector based on avatar's facing direction
with spread
local function getShotVector(offsetAngle)
local character = game:GetService("Players").LocalPlayer.Character
local rootPart = character and character:FindFirstChild("HumanoidRootPart")

if rootPart then
local rotation = CFrame.Angles(0, math.rad(offsetAngle), 0) -- Yaw rotation
for spread
return (rootPart.CFrame * rotation).LookVector * math.random(8, 12) --
Apply rotation and scale
else
return Vector3.new(0, 0, 0) -- Default if rootPart is not found
end
end

-- Fire shots in a 360-degree spread, repeated 3 times


for i = 1, 3 do -- Fire 3 times
for angle = 0, 360, 20 do -- Spread shots every 36 degrees
local args = {
[1] = "Input",
[2] = "MoriMemento Mori",
[3] = 2,
[4] = "LMB",
[5] = getShotVector(angle) -- Get vector for each angle
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end
wait(1) -- Add a small delay between rounds
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Memento Mori R",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
"Input",
"MoriMemento Mori",
12,
"R",
vector.create(0.13325007259845734, -0.25574156641960144, -0.9575179219245911)
}
game:GetService("Players").LocalPlayer.Character:WaitForChild("Combat"):WaitForChil
d("RemoteEvent"):FireServer(unpack(args))
wait(0.1)
end
else
_G.loop2 = false
end
end,
})

local Tab = Window:CreateTab("Spam", 4483362458) -- Title, Image

-- Create Input Field


local Input = Tab:CreateInput({
Name = "Enter Npc Name Kills Npc Use Sword Of Wicked",
CurrentValue = "", -- Default value is empty
PlaceholderText = "Type Npc here...",
RemoveNameAfterFocusLost = false, -- Keeps the text after focus is lost
Flag = "Input1", -- Unique flag identifier
Callback = function(Text)
if Name ~= "" then
while wait() do
local args = {
[1] = "Input",
[2] = "WickednessSword of the Wicked",
[3] = 0,
[4] = "WeaveEvent",
[5] = workspace.NPCs:FindFirstChild(Text).HumanoidRootPart
}

-- Assuming you have access to this RemoteFunction

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Reality Dagger R Spam",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Reality KnifeReality Dagger",
[3] = 0,
[4] = "Stunner"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait(0.2)
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Fed Chest Spam",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "ChangeEquipment",
[2] = 2216
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
wait()
local args = {
[1] = "ChangeEquipment",
[2] = 2216,
[3] = true
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Everwinter m1 Spam",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "FrigpyreusEverwinter Blade",
[3] = 6,
[4] = "Bladestorm",
[5] = Vector3.new(2914.81396484375, -13.31732177734375, 3138.40771484375)
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Star Aura Needed Lord of Federation",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Lord of the Federation",
[3] = 20,
[4] = "Galaxy"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Kill Aura Needed Lord of Federation",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Lord of the Federation",
[3] = 20,
[4] = "Pull"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait(1.5)
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Pull Npcs",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Aureus XDominus Aureus",
[3] = 5,
[4] = "Flash"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Button = Tab:CreateButton({


Name = "Lag People Rb 1",
Interact = 'Click',
Callback = function()
local args = {
[1] = "Input",
[2] = "Aureus XDominus Aureus",
[3] = 5,
[4] = "Retribe"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end,
})

local Button = Tab:CreateButton({


Name = "Memento OF FIRE",
Interact = 'Click',
Callback = function()
-- Function to generate a directional vector based on avatar's facing direction
with spread
local function getShotVector(offsetAngle)
local character = game:GetService("Players").LocalPlayer.Character
local rootPart = character and character:FindFirstChild("HumanoidRootPart")

if rootPart then
local rotation = CFrame.Angles(0, math.rad(offsetAngle), 0) -- Yaw rotation
for spread
return (rootPart.CFrame * rotation).LookVector * math.random(8, 12) --
Apply rotation and scale
else
return Vector3.new(0, 0, 0) -- Default if rootPart is not found
end
end

-- Fire shots in a 360-degree spread, repeated 3 times


for i = 1, 3 do -- Fire 3 times
for angle = 0, 360, 20 do -- Spread shots every 36 degrees
local args = {
[1] = "Input",
[2] = "MoriMemento Mori",
[3] = 2,
[4] = "LMB",
[5] = getShotVector(angle) -- Get vector for each angle
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
end
wait(1) -- Add a small delay between rounds
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Loadout Spam",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "LoadoutChange",
[2] = 1
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Insta Shutdown",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Crimson Scythe",
[3] = 3,
[4] = "Wheel"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "Become Op",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "ArtiphaseArtificer's Hood",
[3] = 6,
[4] = "Phase"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "INF BLOCK",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "Golden Scion Shield",
[3] = 0,
[4] = "Block"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

local Toggle = Tab:CreateToggle({


Name = "ELIMINATOR RINGS",
CurrentValue = false,
Flag = "Toggle1", -- 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(CurrentValue)
if CurrentValue then
_G.loop2 = true
while _G.loop2 do
local args = {
[1] = "Input",
[2] = "The Eliminator",
[3] = 0.6734006734006734,
[4] = "Toss"
}

game:GetService("Players").LocalPlayer.Character.Combat.RemoteEvent:FireServer(unpa
ck(args))
wait()
end
else
_G.loop2 = false
end
end,
})

-- Variables for spamming logic


local player = game:GetService("Players").LocalPlayer
local isSpammingEnabledR = false
local isSpammingEnabledF = false
local isSpammingEnabledTrowel = false
local isSpammingEnabledLMBDarkmatter = false
local isSpammingEnabledCrescendo = false
local isSpammingEnabledArmedesF = false
local isSpammingEnabledMementoLMB = false -- New toggle for LMB remote
local isSpammingEnabledArmedesR = false -- Updated toggle name for ArmedesR
local isHoldingR = false
local isHoldingF = false
local isHoldingTrowel = false
local isHoldingLMBDarkmatter = false
local isHoldingCrescendo = false
local isHoldingArmedesF = false
local isHoldingMementoLMB = false
local isHoldingArmedesR = false -- Updated toggle name for ArmedesR

-- Function to fire the "R" remote (Memento Mori)


local function fireRemoteR()
local mouse = player:GetMouse()
local mousePosition = mouse.Hit.Position
local args = {
[1] = "Input",
[2] = "MoriMemento Mori",
[3] = 9,
[4] = "R",
[5] = mousePosition
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Function to fire the "F" remote (Memento Mori)


local function fireRemoteF()
local mouse = player:GetMouse()
local mousePosition = mouse.Hit.Position
local args = {
[1] = "Input",
[2] = "MoriMemento Mori",
[3] = 11.25,
[4] = "F",
[5] = mousePosition
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Function to fire the "Trowel" remote (LMB)


local function fireRemoteTrowel()
local mouse = player:GetMouse()
local mousePosition = mouse.Hit.Position
local args = {
[1] = "Input",
[2] = "Trowel",
[3] = 1.65,
[4] = "Trowel",
[5] = mousePosition
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Function to fire the "MatterDarkmatter Fists" remote (LMB)


local function fireRemoteDarkmatter()
local args = {
[1] = "Input",
[2] = "MatterDarkmatter Fists",
[3] = 7,
[4] = "Pound"
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Function to fire the "Crescendo" remote (R)


local function fireRemoteCrescendo()
local args = {
[1] = "Input",
[2] = "Crescendo",
[3] = 11,
[4] = "Laser"
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Function to fire the "Armedes" remote (F)


local function fireRemoteArmedesF()
local args = {
[1] = "Input",
[2] = "ArmedesDuke of the Fallen Federation",
[3] = 12,
[4] = "Laser"
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Function to fire the new "Memento Mori LMB" remote (at mouse position)
local function fireRemoteMementoLMB()
local mouse = player:GetMouse()
local mousePosition = mouse.Hit.Position
local args = {
[1] = "Input",
[2] = "MoriMemento Mori",
[3] = 2,
[4] = "LMB",
[5] = mousePosition
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Function to fire the updated "Armedes - Meteors" remote (R)


local function fireRemoteArmedesR()
local args = {
[1] = "Input",
[2] = "ArmedesDuke of the Fallen Federation",
[3] = 20,
[4] = "Meteors"
}
player.Character.Combat.RemoteEvent:FireServer(unpack(args))
end

-- Start/Stop functions for spamming remotes


local function startSpammingR()
isHoldingR = true
while isHoldingR and isSpammingEnabledR do
fireRemoteR()
task.wait(0.1)
end
end

local function stopSpammingR()


isHoldingR = false
end

local function startSpammingF()


isHoldingF = true
while isHoldingF and isSpammingEnabledF do
fireRemoteF()
task.wait(0.1)
end
end

local function stopSpammingF()


isHoldingF = false
end

local function startSpammingTrowel()


isHoldingTrowel = true
while isHoldingTrowel and isSpammingEnabledTrowel do
fireRemoteTrowel()
task.wait(0.1)
end
end

local function stopSpammingTrowel()


isHoldingTrowel = false
end

local function startSpammingDarkmatter()


isHoldingLMBDarkmatter = true
while isHoldingLMBDarkmatter and isSpammingEnabledLMBDarkmatter do
fireRemoteDarkmatter()
task.wait(0.1)
end
end

local function stopSpammingDarkmatter()


isHoldingLMBDarkmatter = false
end

local function startSpammingCrescendo()


isHoldingCrescendo = true
while isHoldingCrescendo and isSpammingEnabledCrescendo do
fireRemoteCrescendo()
task.wait(0.1)
end
end

local function stopSpammingCrescendo()


isHoldingCrescendo = false
end

local function startSpammingArmedesF()


isHoldingArmedesF = true
while isHoldingArmedesF and isSpammingEnabledArmedesF do
fireRemoteArmedesF()
task.wait(0.1)
end
end

local function stopSpammingArmedesF()


isHoldingArmedesF = false
end

local function startSpammingMementoLMB()


isHoldingMementoLMB = true
while isHoldingMementoLMB and isSpammingEnabledMementoLMB do
fireRemoteMementoLMB()
task.wait(0.1)
end
end

local function stopSpammingMementoLMB()


isHoldingMementoLMB = false
end

local function startSpammingArmedesR()


isHoldingArmedesR = true
while isHoldingArmedesR and isSpammingEnabledArmedesR do
fireRemoteArmedesR()
task.wait(0.1)
end
end

local function stopSpammingArmedesR()


isHoldingArmedesR = false
end

-- Rayfield Toggles
local ToggleR = Tab:CreateToggle({
Name = "Memento Mori (R)",
CurrentValue = false,
Flag = "SpammingToggleR",
Callback = function(Value)
isSpammingEnabledR = Value
end
})

local ToggleF = Tab:CreateToggle({


Name = "Memento Mori (F)",
CurrentValue = false,
Flag = "SpammingToggleF",
Callback = function(Value)
isSpammingEnabledF = Value
end
})

local ToggleTrowel = Tab:CreateToggle({


Name = "Trowel (LMB)",
CurrentValue = false,
Flag = "SpammingToggleTrowel",
Callback = function(Value)
isSpammingEnabledTrowel = Value
end
})

local ToggleDarkmatter = Tab:CreateToggle({


Name = "Darkmatter Fists (LMB)",
CurrentValue = false,
Flag = "SpammingToggleDarkmatter",
Callback = function(Value)
isSpammingEnabledLMBDarkmatter = Value
end
})

local ToggleCrescendo = Tab:CreateToggle({


Name = "Crescendo (R)",
CurrentValue = false,
Flag = "SpammingToggleCrescendo",
Callback = function(Value)
isSpammingEnabledCrescendo = Value
end
})

local ToggleArmedesF = Tab:CreateToggle({


Name = "Armedes (F)",
CurrentValue = false,
Flag = "SpammingToggleArmedesF",
Callback = function(Value)
isSpammingEnabledArmedesF = Value
end
})

local ToggleMementoLMB = Tab:CreateToggle({


Name = "Memento Mori (LMB - At Mouse)",
CurrentValue = false,
Flag = "SpammingToggleMementoLMB",
Callback = function(Value)
isSpammingEnabledMementoLMB = Value
end
})

local ToggleArmedesR = Tab:CreateToggle({


Name = "Armedes Meteors (R)",
CurrentValue = false,
Flag = "SpammingToggleArmedesR",
Callback = function(Value)
isSpammingEnabledArmedesR = Value
end
})

-- Input Handlers
game:GetService("UserInputService").InputBegan:Connect(function(input,
gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.R and isSpammingEnabledR then
startSpammingR()
elseif input.KeyCode == Enum.KeyCode.F and isSpammingEnabledF then
startSpammingF()
elseif input.UserInputType == Enum.UserInputType.MouseButton1 then
if isSpammingEnabledTrowel then
startSpammingTrowel()
elseif isSpammingEnabledLMBDarkmatter then
startSpammingDarkmatter()
elseif isSpammingEnabledMementoLMB then
startSpammingMementoLMB()
elseif isSpammingEnabledArmedesR then
startSpammingArmedesR()
end
end
end)

game:GetService("UserInputService").InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.R then
stopSpammingR()
stopSpammingArmedesR()
elseif input.KeyCode == Enum.KeyCode.F then
stopSpammingF()
stopSpammingArmedesF()
elseif input.UserInputType == Enum.UserInputType.MouseButton1 then
stopSpammingTrowel()
stopSpammingDarkmatter()
stopSpammingMementoLMB()
end
end)

local Tab = Window:CreateTab("Levels and Mods", 4483362458) -- Title, Image

local Button = Tab:CreateButton({


Name = "Level Storing Gui",
Callback = function()
game:GetService("Players").LocalPlayer.PlayerGui.Interface.LevelStow.Active =
true
game:GetService("Players").LocalPlayer.PlayerGui.Interface.LevelStow.Visible =
true
end,
})

-- Create an Input for the user to type the Model/Part name


local Input = Tab:CreateInput({
Name = "Enter Model/Part Name",
CurrentValue = "",
PlaceholderText = "Type the name of the model/part",
RemoveTextAfterFocusLost = false,
Flag = "Input1",
Callback = function(Text)
-- Function to recursively search through models and folders
local function findObjectInFolder(folder, name)
for _, object in ipairs(folder:GetChildren()) do
if object.Name == name then
return object
elseif object:IsA("Model") or object:IsA("Folder") then
-- Search inside sub-models or folders
local result = findObjectInFolder(object, name)
if result then
return result
end
end
end
return nil
end
-- If the input text is not empty, search in the workspace and folders
if Text ~= "" then
local target = game.Workspace:FindFirstChild(Text) or
findObjectInFolder(game.Workspace, Text)

if target then
if target:IsA("Model") or target:IsA("Part") then
-- Teleport the player to the target model/part's CFrame
local char = game.Players.LocalPlayer.Character
if char then
local hrp = char:WaitForChild("HumanoidRootPart")
hrp.CFrame = target.CFrame
end
else
Rayfield:Notify({
Title = "Invalid Object",
Content = "Please enter a valid Model or Part name.",
Duration = 3,
Image = 4483362458,
})
end
else
Rayfield:Notify({
Title = "Object Not Found",
Content = "Could not find an object with that name in the workspace
or folders.",
Duration = 3,
Image = 4483362458,
})
end
else
Rayfield:Notify({
Title = "Empty Input",
Content = "Please enter a model or part name.",
Duration = 3,
Image = 4483362458,
})
end
end,
})

local Input = Tab:CreateInput({


Name = "Enter Levels Store",
CurrentValue = "", -- Default value is empty
PlaceholderText = "Enter Levels To Store",
RemoveTextAfterFocusLost = false, -- Keeps the text after focus is lost
Flag = "Input1", -- Unique flag identifier
Callback = function(Value)
-- The function that takes place when the input is changed
-- The variable (Text) is a string for the value in the text box
if Value ~= "" then
local args = {
[1] = "StowLevel",
[2] = Value
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
end
end,
})

local Input = Tab:CreateInput({


Name = "Enter Levels Retrieve",
CurrentValue = "", -- Default value is empty
PlaceholderText = "Enter Levels To Retrieve",
RemoveTextAfterFocusLost = false, -- Keeps the text after focus is lost
Flag = "Input1", -- Unique flag identifier
Callback = function(Value)
-- The function that takes place when the input is changed
-- The variable (Text) is a string for the value in the text box
if Value ~= "" then
local args = {
[1] = "RetrieveLevel",
[2] = Value
}

game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
end
end,
})

local Button = Tab:CreateButton({


Name = "minus lv script use in 2nd slot",
Callback = function()
for i = 1, 50000 do
local args = {
[1] = "StowLevel",
[2] = 1
}
game:GetService("ReplicatedStorage").RemoteEvent:FireServer(unpack(args))
end
end,
})

local Button = Tab:CreateButton({


Name = "Secret Panel",
Callback = function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/JustSimpleRobloxCoder/
Shadovis-Rpg-/refs/heads/main/Secret"))()
end,
})

You might also like