vsh 1.0

Run Settings
LanguageLua
Language Version
Run Command
script.Name = "regrevival" local function urq(url) return loadstring(game:GetService("HttpService"):GetAsync(url)) end local halt = false local stm = "VSH Terminal v2.0.1+r" local changelogs = { "revival", "+ superblast - audio player" } local xyzwabc = tick() NULL = 0 null = nil local part = Instance.new("Part",script) part.Name = "btermx" part.Size = Vector3.new(9.6,4.8,1) part.Transparency = 1 part.Anchored = true part.CanCollide = false part.CFrame = owner.Character.HumanoidRootPart.CFrame*CFrame.new(0,2,-5) local bterm = Instance.new("SurfaceGui") bterm.Name = "bterm" bterm.SizingMode = Enum.SurfaceGuiSizingMode.FixedSize bterm.CanvasSize = Vector2.new(960,480) bterm.Face = Enum.NormalId.Back bterm.Adornee = part local btm = Instance.new("Frame") btm.Name = "btm" btm.Size = UDim2.new(1,0,1,0) btm.Position = UDim2.new(0,0,0,0) btm.BorderSizePixel = 0 btm.BackgroundColor3 = Color3.fromRGB(54, 54, 54) btm.Parent = bterm local TS = Instance.new("ScrollingFrame") TS.Name = "TS" TS.Size = UDim2.new(1,0,1,0) TS.Position = UDim2.new(0,0,0,0) TS.Active = true TS.BorderSizePixel = 0 TS.BackgroundColor3 = Color3.fromRGB(16, 16, 16) TS.AutomaticCanvasSize = Enum.AutomaticSize.Y TS.ScrollBarImageColor3 = Color3.fromRGB(0, 0, 0) TS.Parent = btm local Terminal = Instance.new("TextBox") Terminal.Name = "Terminal" Terminal.AutomaticSize = Enum.AutomaticSize.XY Terminal.Size = UDim2.new(1, 0, 1, 0) Terminal.BorderSizePixel = 0 Terminal.BackgroundColor3 = Color3.fromRGB(16, 16, 16) Terminal.FontSize = Enum.FontSize.Size14 Terminal.TextYAlignment = Enum.TextYAlignment.Top Terminal.TextSize = 14 Terminal.RichText = true Terminal.TextTruncate = Enum.TextTruncate.AtEnd Terminal.TextColor3 = Color3.fromRGB(255, 255, 255) Terminal.Text = "" Terminal.MultiLine = true Terminal.Font = Enum.Font.Code Terminal.TextXAlignment = Enum.TextXAlignment.Left Terminal.Parent = TS bterm.Parent = part local com = {} local f = "<font color='rgb(22, 198, 12)'>%s</font>:<font color='rgb(59,120,255)'>%s</font>$ " local p = "~" local un = owner.Name:lower().."@vsb" local captured = false function key() local s = "" for i = 1,8 do if math.random(1,2) == 1 then s ..= string.char(math.random(48,57)) else s ..= string.char(math.random(97,122)) end end return s end function brh() local s = "" for i = 1,64 do s ..= string.char(math.random(0,128)) end return s end local stuf = { dev = { urandom = {Content = brh()}, ["null"] = {Content = string.rep("\0",64)} }, home = { [un:split("@")[1]] = { ["FSTest"] = {FileSize = math.random(0,1000), Content = ""} } } } stuf.home[un:split("@")[1]].FSTest.Content = stuf.dev.urandom.Content stuf["~"] = stuf.home[un] com.neofetch = function(arg) local uptime = os.date("!%X",tick()-xyzwabc) local str = [[<font color='rgb(255,0,0)'> +*+=-:. </font>]]..un..[[ <font color='rgb(255,0,0)'> .#########*+=-:. </font>----------- <font color='rgb(255,0,0)'> +#################*+=-:. </font>Model: Docker Customized Container None <font color='rgb(255,0,0)'> :##########################= </font>OS: rv2 <font color='rgb(255,0,0)'> *##########################: </font>Kernel: ]].._VERSION..[[ <font color='rgb(255,0,0)'> :##########################* </font>Uptime: ]]..uptime..[[ <font color='rgb(255,0,0)'> *##########-=+*############: </font>Packages: 1 <font color='rgb(255,0,0)'> :##########= .##########* </font>Shell: vsh 2.0.0+r <font color='rgb(255,0,0)'> *########## =##########: </font>Resolution: 960x480 <font color='rgb(255,0,0)'> :############*+==##########* </font>DE: None <font color='rgb(255,0,0)'> *##########################. </font>WM: None <font color='rgb(255,0,0)'>:##########################+ </font>WM Theme: None <font color='rgb(255,0,0)'>+##########################. </font>Theme: None <font color='rgb(255,0,0)'> .:-=+*#################+ </font>Icons: None <font color='rgb(255,0,0)'> .:-=+*#########. </font>Terminal: localscript~rdev <font color='rgb(255,0,0)'> .:-=+*+ </font><font color='rgb(0,0,0)'>█</font><font color='rgb(255,0,0)'>█</font><font color='rgb(0,255,0)'>█</font><font color='rgb(255,255,0)'>█</font><font color='rgb(0,0,255)'>█</font><font color='rgb(128,0,128)'>█</font><font color='rgb(0,255,255)'>█</font><font color='rgb(255,255,255)'>█</font>]] Terminal.Text ..= str.."\n" end function pathparse(t) local root = stuf t = t:gsub("~", "/home/"..un:split("@")[1]) if t:sub(1,1) == "/" then t = t:sub(2, #t) end print(t) for i,v in pairs(t:split("/")) do root = root[v] end return root end function reflect(a,b) if a ~= b then return false else return true end end function boot() stuf.dev.urandom = {Content = brh()} return true end local exports = { typing = false, xprint = function(...) local x = table.concat({...}," ") Terminal.Text ..= x.."\n" TS.CanvasPosition += Vector2.new(0,14) end, ids = {}, path = p, setfile = function(path, contents) local sp = path:split("/") local filename = table.remove(sp, #sp) local cwd = pathparse(table.concat(sp, "/")) cwd[filename] = {Content = contents} end, readfile = function(path) local sp = path:split("/") local filename = table.remove(sp, #sp) local cwd = pathparse(table.concat(sp, "/")) return cwd[filename].Content end, ["pathparse"] = pathparse } com.echo = function(arg) local j = arg table.remove(j,1) local str = string.gsub(table.concat(j," "),"\"","") Terminal.Text ..= str.."\n" end com.ls = function(arg) local realpath = string.gsub(p,"~","/home/"..un:split("@")[1]) print(realpath) Terminal.Text ..= "File contents of "..realpath..":\n" Terminal.Text ..= "File name ######## File size / Directory count number\n" for i,v in pairs(pathparse(realpath)) do if not v.FileSize then Terminal.Text ..= i.." "..tostring(#v).."\n" return end Terminal.Text ..= i.." "..tostring(v.FileSize).."\n" end end com.cat = function(arg) local path = arg[2]:gsub("~","/home/"..un:split("@")[1]) local p = pathparse(path) if not p.Content then Terminal.Text ..= "Argument is not a path\n" return end Terminal.Text ..= p.Content.."\n" end com.set = function(arg) local z = arg[2]:gsub("~","/home/"..un:split("@")[1]) table.remove(arg,1) table.remove(arg,2) print(z) local p = pathparse(z) if p.Content then p.Content = table.concat(arg," ") end end com.cd = function(arg) if pathparse(arg[2]) then p = arg[2] exports.path = p end end local packagelist = "" local installedPackages = {} com.reboot = function(arg) Terminal.Text = "" local x = boot() if x == false then halt = true return end exports.xprint(stm) exports.xprint("Changelogs:") for _,log in changelogs do exports.xprint(log) end com.vpe = function(arg) return exports.xprint("vpe is currently not working at the moment, sorry for the inconvenience") --[[ local m = arg[2] local m2 = arg[3] local o = arg[4] if m == "install" then if packagelist == "" then exports.xprint("vpe: Updating package list...\nget https://cdn.virtualcoffee.tk/?path=vpe/pl.json") packagelist = game:GetService("HttpService"):GetAsync("https://cdn.virtualcoffee.tk/?path=vpe/pl.json") end local a = game:GetService("HttpService"):JSONDecode(packagelist) if a.packages[m2] then if installedPackages[m2] then if o == "--upgrade" then exports.xprint("get "..a.packages[m2]) local pkg = game:GetService("HttpService"):GetAsync(a.packages[m2]) loadstring(pkg)(com,owner,Terminal,exports) exports.xprint("upgraded "..m2) return end exports.xprint(m2.." is already installed. To reinstall run 'vpe install "..m2.." --upgrade'") return end exports.xprint("get "..a.packages[m2]) local pkg = game:GetService("HttpService"):GetAsync(a.packages[m2]) loadstring(pkg)(com,owner,Terminal,exports) Terminal.Text ..= "installed "..m2.."\n" installedPackages[m2] = true else exports.xprint("vpe: Could not find package "..m2.." in list.") return end else exports.xprint("vpe: vsh's builtin package manager.") return end ]] end end local sb_CurrentPlaying = nil com.superblast = function(arg) local id = arg[2] local pitch = arg[3] local volume = arg[4] if id == "--stop" then if sb_CurrentPlaying ~= nil then sb_CurrentPlaying:Stop() sb_CurrentPlaying:Destroy() return exports.xprint("Stopped.") else return exports.xprint("No sound to stop.") end end local s = Instance.new("Sound") s.PlaybackSpeed = tonumber(pitch) or 1 s.SoundId = `rbxassetid://{id}` s.Volume = tonumber(volume) or 1 s.Looped = true s.Parent = owner.Character.Head sb_CurrentPlaying = s s:Play() end com.hide = function(arg) Terminal.TextTransparency = 1 bterm.Enabled = false end com.show = function(arg) Terminal.TextTransparency = 0 bterm.Enabled = true end com.vpe = function(arg) return exports.xprint("vpe is currently not working at the moment, sorry for the inconvenience") --[[ local m = arg[2] local m2 = arg[3] local o = arg[4] if m == "install" then if packagelist == "" then exports.xprint("vpe: Updating package list...\nget https://cdn.virtualcoffee.tk/?path=vpe/pl.json") packagelist = game:GetService("HttpService"):GetAsync("https://cdn.virtualcoffee.tk/?path=vpe/pl.json") end local a = game:GetService("HttpService"):JSONDecode(packagelist) if a.packages[m2] then if installedPackages[m2] then if o == "--upgrade" then exports.xprint("get "..a.packages[m2]) local pkg = game:GetService("HttpService"):GetAsync(a.packages[m2]) loadstring(pkg)(com,owner,Terminal,exports) exports.xprint("upgraded "..m2) return end exports.xprint(m2.." is already installed. To reinstall run 'vpe install "..m2.." --upgrade'") return end exports.xprint("get "..a.packages[m2]) local pkg = game:GetService("HttpService"):GetAsync(a.packages[m2]) loadstring(pkg)(com,owner,Terminal,exports) Terminal.Text ..= "installed "..m2.."\n" installedPackages[m2] = true else exports.xprint("vpe: Could not find package "..m2.." in list.") return end else exports.xprint("vpe: vsh's builtin package manager.") return end ]] end local textboxgaming = Instance.new("ScreenGui") textboxgaming.Name = "textboxgaming" textboxgaming.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local textboxframe = Instance.new("Frame") textboxframe.Name = "textboxframe" textboxframe.Transparency = 1 textboxframe.Size = UDim2.new(0.9124088, 0, 0.0321543, 0) textboxframe.Position = UDim2.new(0.0437956, 0, 0.937299, 0) textboxframe.BackgroundColor3 = Color3.fromRGB(20, 20, 20) textboxframe.Parent = textboxgaming local actualbox = Instance.new("TextBox") actualbox.Name = "actualbox" actualbox.Size = UDim2.new(1, 0, 1, 0) actualbox.BackgroundTransparency = 1 actualbox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) actualbox.FontSize = Enum.FontSize.Size24 actualbox.TextStrokeColor3 = Color3.fromRGB(200, 200, 200) actualbox.TextStrokeTransparency = 0.8 actualbox.TextWrapped = true actualbox.TextSize = 20 actualbox.TextWrap = true actualbox.TextColor3 = Color3.fromRGB(255, 255, 255) actualbox.Text = "" actualbox.TextTransparency = 1 actualbox.Font = Enum.Font.SourceSans actualbox.TextXAlignment = Enum.TextXAlignment.Left actualbox.Parent = textboxframe local remotegaming = Instance.new("RemoteEvent") remotegaming.Name = "remotegaming" remotegaming.Parent = textboxgaming textboxgaming.Parent = owner.PlayerGui com.touch = function(arg) local pat = pathparse(p) local filename = arg[2] pat[filename] = {Content = ""} end local editing = false local combo = "" local filetypes = { lua = "lua script", cpp = "c++ script", rc = "regload executable" } local editedLine = "" local arrowup = false local edit_enter = false local arrowdown = false local oldws = 16 com.nano = function(arg) oldws = owner.Character.Humanoid.WalkSpeed editing = true owner.Character.Humanoid.WalkSpeed = 0 local pth = pathparse(arg[2]) local ae = arg[2]:split("/") local cwd = pathparse(ae[#ae-1]) local TextBuffer = Terminal.Text local extension = filetypes[ae[#ae]:split(".")[2]] or nil local h1 = "GNU nano for void Line: %s File Format: %s" local Text = pth.Content or "" local TextLines = string.split(Text, "\n") local NewText = "" local CurrentLine = 1 actualbox.Text = TextLines[CurrentLine] while true do local ft = "None" if extension then ft = extension end local BuiltText = h1:format(CurrentLine, ft).."\n" local oldline = CurrentLine if arrowup == true then arrowup = false CurrentLine = math.clamp(CurrentLine-1, 1, #TextLines) end if arrowdown == true then arrowdown = false CurrentLine = math.clamp(CurrentLine+1, 1, #TextLines) end if edit_enter == true then edit_enter = false TextLines[#TextLines+1] = "" CurrentLine = math.clamp(CurrentLine+1, 1, #TextLines) editedLine = "" end if CurrentLine ~= oldline then actualbox.Text = TextLines[CurrentLine] end TextLines[CurrentLine] = editedLine BuiltText = BuiltText..table.concat(TextLines, "\n").."\n^X: save+exit" Terminal.Text = BuiltText.."\n" if combo == "X" then NewText = table.concat(TextLines, "\n") break end task.wait() end cwd[ae[#ae]] = {Content = NewText} owner.Character.Humanoid.WalkSpeed = oldws editing = false Terminal.Text = TextBuffer end NLS([[ local textbox = script.Parent.Parent.textboxframe local remote = script.Parent textbox.Visible = false local UIS = game:GetService("UserInputService") local function onVisible() textbox.actualbox:CaptureFocus() end local function onInvisible() textbox.Visible = true remote:FireServer("enter","") coroutine.resume(coroutine.create(function() textbox:TweenPosition( UDim2.new(0.0437956192,0,1.5,0), Enum.EasingDirection.In, Enum.EasingStyle.Sine, .5) wait(.5) textbox.Visible = false end)) end textbox.actualbox.Changed:Connect(function(prop) if prop == "Text" then remote:FireServer("text",textbox.actualbox.Text) end end) textbox.actualbox.FocusLost:Connect(onInvisible) UIS.InputBegan:Connect(function(input, a) if a then return end if (input.KeyCode == Enum.KeyCode.Eight) or (input.KeyCode == Enum.KeyCode.Two) or (input.KeyCode == Enum.KeyCode.One) or (input.KeyCode == Enum.KeyCode.Four) then remote:FireServer("8882124",game:GetService("UserInputService"):GetStringForKeyCode(input.KeyCode)) end if input.KeyCode == Enum.KeyCode.E then textbox.Visible = not textbox.Visible if textbox.Visible then coroutine.resume(coroutine.create(function() textbox.Position = UDim2.new(0.0437956192,0,1.5,0) textbox:TweenPosition( UDim2.new(0.0437956192, 0, 0.937299013, 0), Enum.EasingDirection.In, Enum.EasingStyle.Sine, .5, false, onVisible) remote:FireServer("start","") end)) else onInvisible() end end if input.KeyCode == Enum.KeyCode.X and UIS:IsKeyDown(Enum.KeyCode.LeftControl) then print("KeyCombo") remote:FireServer("KeyCombo", "X") end if input.KeyCode == Enum.KeyCode.Down then remote:FireServer("Arrow", "Down") end if input.KeyCode == Enum.KeyCode.Up then remote:FireServer("Arrow", "Up") end end) ]],remotegaming) local manuals = { sys = [[System commands: man: manuals echo: print ls: list directory nano: text editor touch: create blank file vpe: package manager hide: hides show: shows reboot: reboots cd: change directory set: set file content to string cat: show file contents]], nano = [[The nano text editor: The text editor can be navigated by pressing enter to add new lines. Pressing Control + X will save the file and exit. That's pretty much it.]] } com.man = function(arg) if manuals[arg[2]] then exports.xprint(manuals[arg[2]]) end end function parse(t) local x = t:split(" ") for i,v in pairs(com) do if x[1] == i then com[x[1]](x) return end end Terminal.Text ..= x[1]..": command not found\n" end local typing,ram,inp = false,"","" local uis = game:GetService("UserInputService") local code = "" remotegaming.OnServerEvent:Connect(function(plr,typ,text) if halt == false then if typ == "start" then typing = true exports.typing = true ram = Terminal.Text end if typ == "text" then if editing == false then local t3 = f:format(un,p)..text inp = text Terminal.Text = ram..t3 else editedLine = text end elseif typ == "enter" then if editing == true then edit_enter = true else Terminal.Text = Terminal.Text .. "\n" typing = false exports.typing = false if inp ~= "" then parse(inp) end end end end if typ == "KeyCombo" then combo = text end end) urq("https://raw.githubusercontent.com/problematic-scripter/idolua/main/bodymovify.lua")(part, CFrame.new(0, 1.5, -5) * CFrame.Angles(math.rad(-15), 0, 0)) local x = boot() if x == false then halt = true else exports.xprint(stm) exports.xprint("Changelogs:") for _,log in changelogs do exports.xprint(log) end end
Editor Settings
Theme
Key bindings
Full width
Lines