--{"https://raw.githubusercontent.com/VolcanoReg/Lua-SB-script/main/DemonicCatCFrameOptimized.lua","DemCatVis"}
NGROK_URL = ""
local Scripts = {
{"https://raw.githubusercontent.com/VolcanoReg/Lua-SB-script/main/DemonicCatCFrameOptimized.lua","DemCatVis","Github"},
{NGROK_URL.."/DemonicCatCFrameOptimized.lua","DemCatVis_Local","Ngrok"},
{"https://raw.githubusercontent.com/VolcanoReg/Lua-SB-script/main/Nuke_Gun.lua","Nuke_Gun","Github"},
{"https://glot.io/api/snippets/gjvdbctoif","Nuke_Gun_Glot","Glot.io"},
}
local Running = {}
local TIMER = 5
local Http = game:GetService("HttpService")
LastUsed = nil
script.Parent = owner
for i,v in pairs(owner:GetChildren()) do
if v.Name == "CommandBasedAction" then
v:Destroy()
end
end
CommandAction = Instance.new("RemoteEvent")
CommandAction.Name = "CommandBasedAction"
CommandAction.Parent = owner
--NLS
Client = function()
NLS(
[[
local remote = owner:WaitForChild("CommandBasedAction")
print(remote)
local soundui = Instance.new("ScreenGui")
soundui.Name = "ChatUi"
soundui.Parent = owner.PlayerGui
local Input = Instance.new("TextBox")
Input.Name = "Input"
Input.Position = UDim2.fromOffset(0, 225)
Input.Size = UDim2.fromOffset(170, 50)
Input.PlaceholderText = "input"
Input.TextScaled = true
Input.ClearTextOnFocus = false
Input.Parent = soundui
local play = Instance.new("TextButton")
play.Position = UDim2.fromScale(0, 1)
play.Size = UDim2.fromOffset(85, 50)
play.Text = "Play Message"
play.TextScaled = true
play.Parent = Input
local chat = game:GetService("Chat")
prefix = "&"
play.MouseButton1Click:Connect(function()
if Input.Text == nil then return end
game:GetService("Chat"):Chat(owner.Character,Input.Text)
end)
chat.Chatted:Connect(function(part,msg,color)
if part.Name == game.Players.LocalPlayer.Name and string.sub(msg,1,1) == prefix then
remote:FireServer(string.sub(msg,2))
end
end)
remote.OnClientEvent:Connect(function(msg)
print(msg)
chat:Chat(owner.Character,msg)
end)
]])
end
Client()
function Message(Message,WithPopUp)
if WithPopUp == true then CommandAction:FireAllClients(Message) end
print(Message)
end
function CharacterReset()
local Pivoted = owner.Character:GetPivot()
owner:LoadCharacter()
owner.Character:PivotTo(Pivoted)
end
--Http function used to get the script
function ScriptHttpChecker(url,nocache)
checker = 0
MAX_RETRY = 5
local noerror,code
repeat
checker += 1
print("Try "..checker)
noerror,code = pcall(function(url,nocache) return Http:GetAsync(url,nocache) end,url,nocache)
task.wait(1)
until noerror == true or checker == MAX_RETRY
return noerror,code
end
function GlotIoGetter(url,nocache)
local checker = 0
local MAX_RETRY = 5
local noerror,code
--Getting the script from the url, using http to get script, and pcall to ignore if any error occur.
repeat
checker += 1
print("Try "..checker)
noerror,code = pcall(function(url,nocache)
return Http:GetAsync(url,nocache)
end)
task.wait(1)
until noerror == true or checker == MAX_RETRY
local datadecoded = Http:JSONDecode(code)
return noerror,datadecoded.files.0.content
end
local functions_list = {
{"Init",function(name)
--Checking if "name" nil or not, if nil, use the latest script that had been used.
if name == "" or nil then
if LastUsed ~= nil then
name = LastUsed
for i,scripta in next,Scripts do
if name == scripta[2] then
Message("Auto Executing "..scripta[2],true)
noerror,codes = ScriptHttpChecker(scripta[1],true)
if noerror == false then
else
table.insert(Running,{scripta[2],NS(codes),codes})
end
end
end
end
end
for i,scripta in next,Scripts do
if name == scripta[2] then
LastUsed = scripta[2]
Message("Auto Executing "..scripta[2],true)
if scripta[3] == "Glot.io" then
end
noerror,codes = ScriptHttpChecker(scripta[1],true)
if noerror == false then
else
table.insert(Running,{scripta[2],NS(codes),codes})
end
end
end
end},
{"StopAll",function()
--Stop Function
for i,scripta in next,Running do
Message("Stopping Script: "..scripta[1])
scripta[2]:Destroy()
task.wait(1/10)
end
Running = {}
CharacterReset()
Message("Script Stopped",true)
end
},
{"Ngrok",function(input)
getfenv(0)["NGROK_URL"] = tostring(input)
end}
}
CommandAction.OnServerEvent:Connect(function(_,msg)
msg = string.split(msg," ")
for i,commands in next,functions_list do
if msg[1] == commands[1] then
commands[2](msg[2])
end
end
end)
--Put localscript on newly added character or respawned Character
owner.CharacterAdded:Connect(function(Char)
Client()
end)
--The Scripts Autochecker and Autoexecutor
script.Destroying:Connect(function()
task.spawn(function()
local backup = script.Parent
end)
end)
Message("Auto Execute V.0.1.0 by VolcanoReg",true)
while true do
if #Running < 1 then
Message("No Running Scripts",false)
else
for i,scripta in next,Running do
newcode = nil
for i,code in next,Scripts do
if scripta[1] == code[2] then
noerror,newcode = ScriptHttpChecker(code[1],true)
if noerror == false then
Message("Error getting script",true)
end
else
end
end
if scripta[3] ~= newcode then
Message("New Code Detected",true)
CharacterReset()
scripta[2]:Destroy() --destroy old NS
scripta[2] = NS(newcode) --replace with the new ones
scripta[3] = newcode -- replace old code with new code
end
Message("No New Code Detected",false)
end
end
task.wait(TIMER)
end
print("HELLO WORLD")