View difference between Paste ID: ywizCBwN and sYzat1KU
SHOW: | | - or go back to the newest paste.
1-
repeat
1+
--[[/-------------------------------\]]--
2-
  wait(0.5)
2+
--[[ .:{ Portable Script Builder }:. ]]--
3-
until game:service("Players").LocalPlayer.Character ~= nil
3+
--[[   (c) stephen77 || 04/28/2013   ]]--
4-
local Player = game:service("Players").LocalPlayer
4+
--[[    Version[Date]: 06/26/2013    ]]--
5-
local ch = Player.Character
5+
--[[\-------------------------------/]]--
6-
	local occ = Instance.new("BoolValue", ch)
6+
7-
	occ.Name = "Occupied"
7+
--[[ 
8-
	local swi = Instance.new("StringValue", ch)
8+
    Whats new in version 06/26/2013: 
9-
	swi.Name = "switch"
9+
        - FPS (@Frostftw)
10-
	local trans = Instance.new("BoolValue", ch)
10+
        - Gui tweens
11-
	trans.Name = "trans"
11+
        - Minor Bug Fix (4): #1. CreateLocal error Handling
12-
	repeat wait() until ch.Humanoid ~= nil
12+
                             #2. CreateLocal environment
13-
	ch.Humanoid.Died:connect(function()
13+
                             #3. Scroll-buttons '>' and '<' now depends on TextFit
14-
		Player.CharacterAdded:connect(function(chz)
14+
                             #4. ZIndex fix
15-
				local occ = Instance.new("BoolValue", chz)
15+
        - Faster RunLocal
16-
				occ.Name = "Occupied"
16+
17-
				local swi = Instance.new("StringValue", chz)
17+
    Full update list:
18-
				swi.Name = "switch"
18+
        [06/22/2013]:    - Menu
19-
				local trans = Instance.new("BoolValue", chz)
19+
                        - Differentiate between Run, Error, and Print
20-
				trans.Name = "trans"
20+
        [06/12/2013]:    - Can be used in other security context as well
21-
		end
21+
        [06/11/2013]:    - Now you can close output!
22-
		)
22+
                        - Main gui now supports cl, and l
23-
		end)
23+
                        - Draggable output! (Drag on the title!)
24-
local PGui = Player:WaitForChild("PlayerGui")
24+
        [06/10/2013]:    - Renewed output
25-
local Character = Player.Character
25+
                        - Scroll-buttons!
26-
local Humanoid = Character:WaitForChild("Humanoid")
26+
        [06/08/2013]:    - Fixed output
27-
local Head = Character:WaitForChild("Head")
27+
                        - New main gui!
28-
local Torso = Character:WaitForChild("Torso")
28+
        [06/06/2013]:    - Portable SB now optimized for Security Context 7
29-
local HRP = Character:WaitForChild("HumanoidRootPart")
29+
30-
local RArm = Character:WaitForChild("Right Arm")
30+
    To do:
31-
local LArm = Character:WaitForChild("Left Arm")
31+
        - Damned scrollbar.
32-
local RLeg = Character:WaitForChild("Right Leg")
32+
        - How about an auto-update?
33-
local LLeg = Character:WaitForChild("Left Leg")
33+
]]--
34-
msgz = Instance.new("Message", PGui)
34+
35-
msgz.Text = "Chat \'FGOD\' to go Golden Frieza, and \'off\' to turn it off!"
35+
wait();
36-
game.Debris:AddItem(msgz, 6.5)
36+
if _G.PortableSBRan == nil or _G.PortableSBRan == false then
37-
local Joints = {Head = Torso.Neck, Torso = HRP.RootJoint, RArm = Torso["Right Shoulder"], LArm = Torso["Left Shoulder"], RLeg = Torso["Right Hip"], LLeg = Torso["Left Hip"]}
37+
38-
local Refresh = function()
38+
if pcall(function() return settings() end) then pcall(function() script.Parent = _Portable_SB_; end) end
39-
  Joints.Head.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
39+
pcall(function() script.Parent = nil; end)
40-
  Joints.Torso.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
40+
41-
  Joints.RArm.C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
41+
Services = setmetatable(getmetatable(newproxy(true)), {__index = function(o, k) return game:service(k) or nil end; __call = function(o, k) return game:service(k) or nil end; __tostring = function(o, k) return "Services List" end; __metatable = "This metatable has been locked";});
42-
  Joints.LArm.C0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
42+
LocalPlayer = game:service'Players'.LocalPlayer;
43-
  Joints.RLeg.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
43+
Appearance, NameChosen = LocalPlayer.CharacterAppearance, LocalPlayer.Name;
44-
  Joints.LLeg.C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
44+
local GuiParent = pcall(function() game:service'CoreGui'.Name = game:service'CoreGui'.Name end) and game:service'CoreGui' or LocalPlayer.PlayerGui
45-
  Joints.Head.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
45+
local OutputGui, GuiPositionIndex, MaxStack, CurrentPosition, CurrentSub, TextList, TextClass, OutputFrame, MouseHold, MousePosition = Instance.new("ScreenGui"), {}, 15, 1, 1, {}, {["P"] = {}; ["E"] = {}; ["R"] = {};}, nil, "None", UDim2.new();
46-
  Joints.Torso.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
46+
local UsingEnter, UseChat, NoClip = false, false, true;
47-
  Joints.RArm.C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
47+
local Version = "06/26/2013 [STABLE]"
48-
  Joints.LArm.C1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
48+
pcall(function() OutputGui.Name = "[Portable SB] - Output"; end);
49-
  Joints.RLeg.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
49+
pcall(function() OutputGui.Parent = GuiParent; end);
50-
  Joints.LLeg.C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
50+
51
--[[ Important Function ]]--
52
local CreateLine, SetZIndex;
53-
local Anims = {Pose = function(active)
53+
function CreateLine(Position)
54-
  if active then
54+
    if GuiPositionIndex[Position] ~= nil then return GuiPositionIndex[Position] end
55-
    for i = 0, 10, 0.5 do
55+
    local NewLine = Instance.new("TextButton", OutputFrame)
56-
      wait(0.016666666666667)
56+
    NewLine.Name = "[Portable SB] - OutputLine"
57-
      Joints.Head.C0 = Joints.Head.C0 * CFrame.Angles(0.015, 0, 0)
57+
    NewLine.FontSize = "Size9"
58-
      Joints.Torso.C0 = Joints.Torso.C0 * CFrame.Angles(0.01, 0, 0)
58+
    NewLine.Size = UDim2.new(1, -15, 0, 15)
59-
      Joints.RArm.C0 = Joints.RArm.C0 * CFrame.Angles(-0.025, 0.03, math.rad(70) / 10)
59+
    NewLine.Position = UDim2.new(0, 0, 0, (Position * 15) + 10)
60-
      Joints.LArm.C0 = Joints.LArm.C0 * CFrame.Angles(-0.025, -0.03, -math.rad(70) / 10)
60+
    NewLine.TextXAlignment = "Left"
61-
      Joints.RLeg.C0 = Joints.RLeg.C0 * CFrame.Angles(-0.01, -0.02, 0.015)
61+
    NewLine.BorderSizePixel = 0
62-
      Joints.LLeg.C0 = Joints.LLeg.C0 * CFrame.Angles(-0.015, 0.01, 0)
62+
    NewLine.TextWrapped = true;
63
    NewLine.BackgroundColor3 = Color3.new(.5, .5, .5)
64-
  else
64+
    NewLine.BackgroundTransparency = .5
65-
    do
65+
    NewLine.BorderColor3 = Color3.new(1, 1, 1)
66-
      for i = 0, 10, 0.5 do
66+
    NewLine.TextStrokeColor3 = Color3.new()
67-
        wait(0.016666666666667)
67+
    NewLine.TextStrokeTransparency = 0.7
68-
        Joints.Head.C0 = Joints.Head.C0 * CFrame.Angles(0.015, 0, 0):inverse()
68+
    NewLine.ZIndex = 1;
69-
        Joints.Torso.C0 = Joints.Torso.C0 * CFrame.Angles(0.01, 0, 0):inverse()
69+
    GuiPositionIndex[Position] = NewLine;
70-
        Joints.RArm.C0 = Joints.RArm.C0 * CFrame.Angles(-0.025, 0.03, math.rad(70) / 10):inverse()
70+
    return NewLine
71-
        Joints.LArm.C0 = Joints.LArm.C0 * CFrame.Angles(-0.025, -0.03, -math.rad(70) / 10):inverse()
71+
end 
72-
        Joints.RLeg.C0 = Joints.RLeg.C0 * CFrame.Angles(-0.01, -0.02, 0.015):inverse()
72+
function SetZIndex(Prn, ZIdx)
73-
        Joints.LLeg.C0 = Joints.LLeg.C0 * CFrame.Angles(-0.015, 0.01, 0):inverse()
73+
    pcall(function() Prn.ZIndex = ZIdx; end);
74-
      end
74+
    if #Prn:children() > 0 then
75
        for i, v in pairs(Prn:children()) do
76-
  end
76+
            coroutine.resume(coroutine.create(SetZIndex), v, ZIdx);
77
        end
78-
, Implode = function(active)
78+
79-
  if active then
79+
80-
    for i = 0, 10, 0.75 do
80+
--[[ End of Important Function ]]--
81-
      wait(0.016666666666667)
81+
82-
      Joints.Head.C0 = Joints.Head.C0 * CFrame.Angles(-0.015, 0, 0)
82+
83-
      Joints.Torso.C0 = Joints.Torso.C0 * CFrame.Angles(-0.005, 0, 0)
83+
--[[ Shared ]]--
84-
      Joints.RArm.C0 = Joints.RArm.C0 * CFrame.Angles(-0.025, -0.055, 0.055)
84+
function CheckPermissions()
85-
      Joints.LArm.C0 = Joints.LArm.C0 * CFrame.Angles(-0.025, 0.055, -0.055)
85+
    local ran, err = pcall(function() return settings() end)
86-
      Joints.RLeg.C0 = Joints.RLeg.C0 * CFrame.Angles(-0.015, -0.025, -0.015)
86+
    return ran
87-
      Joints.LLeg.C0 = Joints.LLeg.C0 * CFrame.Angles(-0.015, 0.025, -0.015)
87+
88
function print(...)
89-
  else
89+
    local time = tick()
90-
    do
90+
    local hour = math.floor((time % 86400) / 3600)
91-
      for i = 0, 10, 0.75 do
91+
    local minute = math.floor((time % 3600) / 60)
92-
        wait(0.016666666666667)
92+
    local second = math.floor(time % 60)
93-
        Joints.Head.C0 = Joints.Head.C0 * CFrame.Angles(-0.015, 0, 0):inverse()
93+
    hour = string.len(hour) == 2 and hour or "0" .. hour
94-
        Joints.Torso.C0 = Joints.Torso.C0 * CFrame.Angles(-0.005, 0, 0):inverse()
94+
    minute = string.len(minute) == 2 and minute or "0" .. minute
95-
        Joints.RArm.C0 = Joints.RArm.C0 * CFrame.Angles(-0.025, -0.055, 0.055):inverse()
95+
    second = string.len(second) == 2 and second or "0" .. second
96-
        Joints.LArm.C0 = Joints.LArm.C0 * CFrame.Angles(-0.025, 0.055, -0.055):inverse()
96+
    local Msg = "";
97-
        Joints.RLeg.C0 = Joints.RLeg.C0 * CFrame.Angles(-0.015, -0.025, -0.015):inverse()
97+
    local args = {...}
98-
        Joints.LLeg.C0 = Joints.LLeg.C0 * CFrame.Angles(-0.015, 0.025, -0.015):inverse()
98+
    local pos = #TextList + 1
99-
      end
99+
    local function lastIndex(t)
100
        local last = 0;
101-
  end
101+
        for i, v in pairs(t) do
102
            last = i > last and i or last;
103-
}
103+
104-
local Create = assert(LoadLibrary("RbxUtility")).Create
104+
        return last;
105-
local Part = Create("Part")({TopSurface = 0, BottomSurface = 0, formFactor = "Custom", Size = Vector3.new(), Material = "Neon", Anchored = true, CanCollide = false})
105+
106-
local Transformed, Occupied = false, false
106+
    for i = 1, lastIndex(args) do
107-
local Flash = function(Par, Col, Duration, Delay, Async)
107+
        local v = args[i];
108-
  pcall(function()
108+
        Msg = Msg .. tostring(v) .. "\t";
109-
    Par = Par or PGui
109+
110-
    if not Col then
110+
    Msg = Msg:gsub("\n", " "):gsub("\t", " ");
111-
      Col = BrickColor:White().Color
111+
    Msg = " [" .. hour .. ":" .. minute .. ":" .. second .. "]\t" .. string.sub(Msg, 1, string.len(Msg) - 1);
112-
      Duration = Duration or 10
112+
    TextList[pos] = Msg;
113-
      if not Delay then
113+
    TextClass["P"][pos] = true;
114-
        Delay = 1 / Duration
114+
    if (pos - MaxStack) == CurrentPosition then
115-
        local G = Create("ScreenGui")({Parent = Par})
115+
        CurrentPosition = CurrentPosition + 1
116-
        if not Col then
116+
        for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
117-
          local F = Create("Frame")({Parent = G, BorderSizePixel = 0, Size = UDim2.new(1.2, 0, 1.2, 0), Position = UDim2.new(), ZIndex = 10, BackgroundColor3 = Color3.new(1, 1, 1), Transparency = 0})
117+
            local posx = (i - CurrentPosition) + 1
118-
          local f = function()
118+
            if TextList[i] ~= nil then
119-
      for i = 0, Duration, Delay do
119+
                local line = CreateLine(posx);
120-
        wait(0.016666666666667)
120+
                line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
121-
        F.Transparency = i / Duration
121+
                line.Text = string.sub(TextList[i], CurrentSub)
122-
      end
122+
            else
123-
      pcall(game.Destroy, G)
123+
                if GuiPositionIndex[posx] ~= nil then
124
                    GuiPositionIndex[posx].Parent = nil;
125
                    GuiPositionIndex[posx] = nil;
126-
          if Async then
126+
127-
            f = coroutine.wrap(f)
127+
128-
          end
128+
129-
          return f()
129+
130
    if (pos - CurrentPosition + 1) <= MaxStack then
131-
      end
131+
        local line = CreateLine(pos - CurrentPosition + 1);
132
        line.TextColor3 = Color3.new(1, 1, 1);
133-
  end
133+
        line.Text = string.sub(Msg, CurrentSub);
134-
)
134+
135
end
136
function GetRecursiveChildren(Parent)
137-
local Shake = function(Duration, Delay, Distance, Async)
137+
    local ret = {}
138-
  pcall(function()
138+
    for i, v in pairs(Parent:GetChildren()) do
139-
    local Cam = workspace.CurrentCamera
139+
        if #v:GetChildren() > 0 then
140-
    Duration = Duration or 10
140+
            local childs = GetRecursiveChildren(v)
141-
    if not Delay then
141+
            for i1, v1 in pairs(childs) do
142-
      Delay = 1 / Duration
142+
                ret[#ret + 1] = v1
143-
      Distance = Distance or 15
143+
144-
      local f = function()
144+
        end    
145-
      for i = 0, Duration, Delay do
145+
        ret[#ret + 1] = v
146-
        wait(0.016666666666667)
146+
147-
        local R = Cam.CoordinateFrame - Cam.CoordinateFrame.p
147+
    return ret
148-
        local Scroll = Cam.CoordinateFrame.p - Cam.Focus.p.magnitude
148+
149-
        local NewF = CFrame.new(Cam.Focus.p) * R * CFrame.new(math.random(-Distance, Distance) / (Distance / 0.25), math.random(-Distance, Distance) / (Distance / 0.25), math.random(-Distance, Distance) / (Distance / 0.25))
149+
function UnFilter(Msg)
150-
        Cam.CoordinateFrame = NewF * CFrame.new(0, 0, Scroll)
150+
    local newMsg = ""
151-
      end
151+
    for i = 1, string.len(Msg) do
152
        newMsg = newMsg .. string.sub(Msg, i, i) .. "\127"
153
    end
154-
      if Async then
154+
    return newMsg
155-
        f = coroutine.wrap(f)
155+
156-
      end
156+
--[[ End of Shared ]]--
157-
      return f()
157+
158
--[[ Non - Shared ]]--
159-
  end
159+
local function customError(msg, scr)
160-
)
160+
    local msg = (tostring(msg) == nil or tostring(msg) == "") and "Unknown Error" or tostring(msg);
161
    local pattern = ":(%d+):"
162
    local match = string.match(msg, pattern)
163-
local Sound = function(Prnt, Id, Pit, Vol)
163+
    local time = tick()
164-
  pcall(function()
164+
    local hour = math.floor((time % 86400) / 3600)
165-
    local cp = game:service("ContentProvider")
165+
    local minute = math.floor((time % 3600) / 60)
166-
    if type(Id) == "number" then
166+
    local second = math.floor(time % 60)
167-
      cp:Preload("rbxassetid://" .. Id)
167+
    hour = string.len(hour) == 2 and hour or "0" .. hour
168-
      Id = "rbxassetid://" .. Id
168+
    minute = string.len(minute) == 2 and minute or "0" .. minute
169
    second = string.len(second) == 2 and second or "0" .. second
170-
      if type(Id) == "string" then
170+
    local function GetLine(msg, line)
171-
        cp:Preload(Id)
171+
        if msg == nil or tonumber(line) == nil then return end
172-
        Id = Id
172+
        local line = tonumber(line) - 1
173-
      end
173+
        for i = 1, line do
174
            if string.find(msg, "\n") then local f = string.find(msg, "\n") msg = string.sub(msg, f + 1) end
175-
    local S = Create("Sound")({Parent = Prnt or workspace, SoundId = Id, Volume = Vol or 1, Pitch = Pit or 1})
175+
176-
    S:Play()
176+
        if string.find(msg, "\n") then local f = string.find(msg, "\n") msg = string.sub(msg, 1, f - 1) end
177-
    S:Stop()
177+
        return msg
178-
    S:Play()
178+
179-
    game:service("Debris"):AddItem(S, 0.9)
179+
    if match then
180-
  end
180+
        local st, en = string.find(msg, pattern)
181-
)
181+
        local rm
182
        if scr then
183
            local line = GetLine(scr, match)
184-
local Chat = function(Par, Msg, Col)
184+
            local txt = string.len(line) <= 25 and line or string.sub(line, 1, 22) .. "..."
185-
  if Msg then
185+
            rm = '[string "' .. txt .. '"]:' .. string.sub(msg, en + 1)
186-
    if not Par then
186+
        else
187-
      Par = Head
187+
            rm = string.sub(msg, en + 1)
188
        end
189-
    if not Col then
189+
        msg = rm;
190-
      Col = math.random(0, 2)
190+
191
    local pos = #TextList + 1
192-
    game:service("Chat"):Chat(Par, Msg, Col)
192+
    msg = " [" .. hour .. ":" .. minute .. ":" .. second .. "]\t" .. msg;
193-
  end
193+
    TextList[pos] = msg;
194
    TextClass["E"][pos] = true;
195
    if (pos - MaxStack) == CurrentPosition then
196-
local old = game.Players.LocalPlayer.Character.Head.BrickColor
196+
        CurrentPosition = CurrentPosition + 1
197-
local Transform = function(active)
197+
        for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
198-
  if active and not Transformed and not Occupied then
198+
            local posx = (i - CurrentPosition) + 1
199-
    Occupied = true
199+
            if TextList[i] ~= nil then
200-
    Humanoid.WalkSpeed = 0
200+
                local line = CreateLine(posx);
201-
    local cp = game:service("ContentProvider")
201+
                line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
202-
    cp:Preload("http://www.roblox.com/asset/?id=24388358")
202+
                line.Text = string.sub(TextList[i], CurrentSub)
203-
    Muscle = {}
203+
            else
204-
    AddLimbs = false
204+
                if GuiPositionIndex[posx] ~= nil then
205-
    local CreateMuscle = function(MainPart, Scale, CF)
205+
                    GuiPositionIndex[posx].Parent = nil;
206-
    local p = Part:clone()
206+
                    GuiPositionIndex[posx] = nil;
207-
    p.Transparency = 1
207+
208-
    p.BrickColor = BrickColor.new("Bright yellow")
208+
209-
    p.Parent = Character
209+
210-
    p.Anchored = false
210+
211-
    p:BreakJoints()
211+
    if (pos - CurrentPosition + 1) <= MaxStack then
212-
    local w = Create("Weld")({Parent = p, Part0 = p, Part1 = MainPart, C0 = CF})
212+
        local line = CreateLine(pos - CurrentPosition + 1);
213-
    local m = Create("SpecialMesh")({Parent = p, MeshId = "rbxasset://fonts/torso.mesh", Scale = Scale})
213+
        line.TextColor3 = Color3.new(1, 0, 0);
214-
    table.insert(Muscle, p)
214+
        line.Text = string.sub(msg, CurrentSub);
215-
  end
215+
216
end
217-
    local cher = Character
217+
local function createRun(msg)
218-
    for _,v in pairs(Character:GetChildren()) do
218+
    local time = tick()
219-
      if v.ClassName:lower() == "charactermesh" then
219+
    local hour = math.floor((time % 86400) / 3600)
220-
        AddLimbs = true
220+
    local minute = math.floor((time % 3600) / 60)
221-
      end
221+
    local second = math.floor(time % 60)
222
    hour = string.len(hour) == 2 and hour or "0" .. hour
223-
    if not AddLimbs then
223+
    minute = string.len(minute) == 2 and minute or "0" .. minute
224-
      local torso = Instance.new("SpecialMesh", Torso)
224+
    second = string.len(second) == 2 and second or "0" .. second
225-
      torso.MeshId = "rbxasset://fonts/torso.mesh"
225+
    local pos = #TextList + 1
226-
      torso.Scale = Vector3.new(1, 1, 1)
226+
    msg = " [" .. hour .. ":" .. minute .. ":" .. second .. "]\t" .. msg;
227-
      local rarm = Instance.new("SpecialMesh", RArm)
227+
    TextList[pos] = msg;
228-
      rarm.MeshId = "rbxasset://fonts/rightarm.mesh"
228+
    TextClass["R"][pos] = true;
229-
      rarm.Scale = Vector3.new(1, 1, 1)
229+
    if (pos - MaxStack) == CurrentPosition then
230-
      local larm = Instance.new("SpecialMesh", LArm)
230+
        CurrentPosition = CurrentPosition + 1
231-
      larm.MeshId = "rbxasset://fonts/leftarm.mesh"
231+
        for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
232-
      larm.Scale = Vector3.new(1, 1, 1)
232+
            local posx = (i - CurrentPosition) + 1
233-
      table.insert(Muscle, torso)
233+
            if TextList[i] ~= nil then
234-
      table.insert(Muscle, rarm)
234+
                local line = CreateLine(posx);
235-
      table.insert(Muscle, larm)
235+
                line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
236-
      CreateMuscle(RArm, Vector3.new(0.4, 0.5, 0.8), CFrame.new(-0.15, -0.6, 0))
236+
                line.Text = string.sub(TextList[i], CurrentSub)
237-
      CreateMuscle(RArm, Vector3.new(0.17, 0.4, 0.65), CFrame.new(-0.35, 0.3, 0))
237+
            else
238-
      CreateMuscle(RArm, Vector3.new(0.4, 0.55, 0.2), CFrame.new(0, -0.25, -0.45))
238+
                if GuiPositionIndex[posx] ~= nil then
239-
      CreateMuscle(RArm, Vector3.new(0.4, 0.55, 0.2), CFrame.new(0, -0.51, 0.45))
239+
                    GuiPositionIndex[posx].Parent = nil;
240-
      CreateMuscle(RArm, Vector3.new(0.3, 0.35, 0.2), CFrame.new(0, 0.35, 0.43))
240+
                    GuiPositionIndex[posx] = nil;
241-
      CreateMuscle(LArm, Vector3.new(0.4, 0.5, 0.8), CFrame.new(0.15, -0.6, 0))
241+
242-
      CreateMuscle(LArm, Vector3.new(0.17, 0.4, 0.65), CFrame.new(0.35, 0.3, 0))
242+
243-
      CreateMuscle(LArm, Vector3.new(0.4, 0.55, 0.2), CFrame.new(0, -0.25, -0.45))
243+
244-
      CreateMuscle(LArm, Vector3.new(0.4, 0.55, 0.2), CFrame.new(0, -0.51, 0.45))
244+
245-
      CreateMuscle(LArm, Vector3.new(0.3, 0.35, 0.2), CFrame.new(0, 0.35, 0.43))
245+
    if (pos - CurrentPosition + 1) <= MaxStack then
246-
      CreateMuscle(Torso, Vector3.new(0.5, 0.35, 0.2), CFrame.new(-0.5, -0.55, 0.5))
246+
        local line = CreateLine(pos - CurrentPosition + 1);
247-
      CreateMuscle(Torso, Vector3.new(0.5, 0.35, 0.2), CFrame.new(0.5, -0.55, 0.5))
247+
        line.TextColor3 = Color3.new(0, 1, 0);
248-
      CreateMuscle(Torso, Vector3.new(0.18, 0.18, 0.2), CFrame.new(-0.18, 0, 0.5))
248+
        line.Text = string.sub(msg, CurrentSub);
249-
      CreateMuscle(Torso, Vector3.new(0.18, 0.18, 0.2), CFrame.new(-0.18, 0.35, 0.5))
249+
250-
      CreateMuscle(Torso, Vector3.new(0.18, 0.18, 0.2), CFrame.new(-0.18, 0.7, 0.5))
250+
251-
      CreateMuscle(Torso, Vector3.new(0.18, 0.18, 0.2), CFrame.new(0.18, 0, 0.5))
251+
local function fake_loadstring(...)
252-
      CreateMuscle(Torso, Vector3.new(0.18, 0.18, 0.2), CFrame.new(0.18, 0.35, 0.5))
252+
    local args = {...}
253-
      CreateMuscle(Torso, Vector3.new(0.18, 0.18, 0.2), CFrame.new(0.18, 0.7, 0.5))
253+
    local rets = {loadstring(unpack(args))}
254
    return unpack(rets)
255-
    do
255+
256-
      Anims.Pose(true)
256+
local function FindPlayer(str)
257-
      Chat(nil, "No one even comes close..", "Blue")
257+
    local str = tostring(str) or " "
258-
      coroutine.resume(coroutine.create(function()
258+
    local rtn = {};
259-
    for i = 1, 2 do
259+
    if str == "me" then
260-
      Sound(Head, 2248511, 0.4, 0.6)
260+
        table.insert(rtn, LocalPlayer);
261-
      Sound(Head, 2691586, 0.4, 0.4)
261+
    elseif str == "all" then
262-
      Shake(8, 0.05, 55, true)
262+
        for i, v in pairs(game:service'Players':GetPlayers()) do 
263-
      wait(1)
263+
            if v ~= LocalPlayer then
264
                table.insert(rtn, v)
265-
  end
265+
266-
))
266+
267-
      for i = 1, 4 do
267+
        table.insert(rtn, LocalPlayer)
268-
        if i == 4 then
268+
    elseif str == "random" then
269-
          Chat(nil, "None suprass me..", nil)
269+
        rtn = {game:service'Players':GetPlayers()[math.random(#game:service'Players':GetPlayers())]}
270
    else
271-
        Shake(7, 0.05, 40, true)
271+
        for i, v in pairs(game:service'Players':GetPlayers()) do
272-
        Sound(Head, 2248511, 0.4, 0.6)
272+
            if str == "others" then
273-
        Sound(Head, 2691586, 0.4, 0.4)
273+
                if v ~= LocalPlayer then
274-
        Sound(Head, 2101137, 0.32, 0.8)
274+
                    table.insert(rtn, v)
275-
        local cols = {"New Yeller", "New Yeller", "New Yeller"}
275+
276-
        local h = Part:clone()
276+
            elseif str == "teams" then
277-
        h.CFrame = Torso.CFrame
277+
                if v.TeamColor == LocalPlayer.TeamColor then
278-
        h.Parent = Torso
278+
                    table.insert(rtn, v);
279-
        h.Transparency = 1
279+
280-
        h.Size = Vector3.new(1, 1, 1)
280+
            elseif str == "nonteams" then
281-
        h.Anchored = false
281+
                if v.TeamColor ~= LocalPlayer.TeamColor then
282-
        h.BrickColor = BrickColor.new(cols[math.random(1, #cols)])
282+
                    table.insert(rtn, v);
283-
        h:BreakJoints()
283+
284-
        local p = Part:clone()
284+
            else
285-
        p.CFrame = Torso.CFrame
285+
                if string.find(v.Name:lower(), str:lower()) then
286-
        p.Parent = Torso
286+
                    table.insert(rtn, v);
287-
        p.Transparency = 1
287+
288-
        p.Size = Vector3.new(1, 1, 1)
288+
289-
        p.Anchored = false
289+
290-
        p.BrickColor = h.BrickColor
290+
291-
        p:BreakJoints()
291+
    return rtn;
292-
        local w = Create("Weld")({Parent = h, Part0 = h, Part1 = HRP, C0 = CFrame.new()})
292+
293-
        local w2 = Create("Weld")({Parent = p, Part0 = p, Part1 = HRP, C0 = CFrame.new() * CFrame.Angles(math.rad(90), 0, 0)})
293+
local function MakeChat(Msg)
294-
        local m = Create("SpecialMesh")({Parent = h, MeshType = "Sphere", Scale = Vector3.new(i * 10, i * 10, i * 10)})
294+
    local Msg = tostring(Msg) or " "
295-
        local m2 = Create("SpecialMesh")({Parent = p, MeshType = "FileMesh", MeshId = "http://www.roblox.com/asset/?id=24388358", Scale = Vector3.new(i * 15, i * 15, i * 10 / 2)})
295+
    Msg = Msg:gsub("\n", " "):gsub("\t", " ");
296-
        for _i = i * 5, 0, -0.5 do
296+
    coroutine.wrap(function()
297-
          wait(0.016666666666667)
297+
        local function TweenColor3(obj, properties)
298-
          w2.C0 = w2.C0 * CFrame.Angles(-0.1, 0.1, -0.1)
298+
            local R, G, B = math.random(), math.random(), math.random();
299-
          m2.Scale = Vector3.new(_i, _i, _i) * 2
299+
            for x = 1, 3 do
300-
          m.Scale = Vector3.new(_i, _i, _i)
300+
                for i = 1, 50 do
301-
          p.Transparency = -(_i / (i * 5)) + 1
301+
                    obj[properties] = x == 1 and Color3.new(R + i/50, G, B) or x == 2 and Color3.new(R + 1, G + i/50, B) or x == 3 and Color3.new(R + 1, G + 1, B + i/50);
302-
          h.Transparency = -(_i / (i * 5)) + 1
302+
                    wait();
303
                end
304-
        h:Destroy()
304+
305-
        p:Destroy()
305+
306-
        wait(0.3)
306+
        local Part = Instance.new("Part", LocalPlayer.Character)
307-
      end
307+
        Part.CanCollide = false
308-
      Anims.Pose(false)
308+
        Part.Transparency = 1
309-
      Anims.Implode(true)
309+
        Part.Locked = true;
310-
      Chat(nil, "I am the emperor of the universe..", nil)
310+
        Part.Anchored = true;
311-
      coroutine.resume(coroutine.create(function()
311+
        Part:BreakJoints()
312-
    for i = 1, 2 do
312+
        local BBG = Instance.new("BillboardGui", Part)
313-
      Shake(2, 0.05, 40, true)
313+
        BBG.Adornee = Part
314-
      Flash(false, BrickColor.new("New Yeller").Color, 2, 0.05, true)
314+
        BBG.Size = UDim2.new(0, 10 * string.len(Msg), 0, 30)
315-
      Sound(Head, 3264793, 0.55, 0.9)
315+
        BBG.StudsOffset = Vector3.new(0, 1, 0)
316-
      Sound(Head, 2974249, 0.65, 0.9)
316+
        local Txt = Instance.new("TextLabel", BBG)
317-
      Sound(Head, 2974000, 0.65, 0.9)
317+
        Txt.Text = Msg
318-
      wait(0.6)
318+
        Txt.BackgroundTransparency = 1
319
        Txt.Font = "ArialBold"
320-
  end
320+
        Txt.FontSize = "Size24"
321-
))
321+
        Txt.BackgroundColor3 = Color3.new(1,1,1)
322-
      local h = Part:clone()
322+
        Txt.Size = UDim2.new(1, 0, 1, 0)
323-
      h.CFrame = Torso.CFrame
323+
        coroutine.wrap(function() TweenColor3(Txt, "TextColor3") end)();
324-
      h.Parent = Torso
324+
325-
      h.Transparency = 1
325+
            while Part.Parent == LocalPlayer.Character do
326-
      h.Size = Vector3.new(1, 1, 1)
326+
                Part.CFrame = LocalPlayer.Character.Head.CFrame * CFrame.new(0, 3, 0);
327-
      h.Anchored = false
327+
                wait();
328-
      h.BrickColor = BrickColor.new("New Yeller")
328+
329-
      h.Material = "Neon"
329+
        end))
330-
      h:BreakJoints()
330+
331-
      local p = Part:clone()
331+
            for i = 3, 250 do 
332-
      p.CFrame = Torso.CFrame
332+
                    BBG.StudsOffset = Vector3.new(0, 1 + (i / 25), 0);
333-
      p.Parent = Torso
333+
                    Txt.TextTransparency = i / 250;
334-
      p.Transparency = 1
334+
                    wait()
335-
      p.Size = Vector3.new(1, 1, 1)
335+
336-
      p.Anchored = false
336+
            Part.Parent = nil;
337-
      p.BrickColor = h.BrickColor
337+
        end))
338-
      p:BreakJoints()
338+
    end)()
339-
      local w = Create("Weld")({Parent = h, Part0 = h, Part1 = HRP, C0 = CFrame.new()})
339+
340-
      local w2 = Create("Weld")({Parent = p, Part0 = p, Part1 = HRP, C0 = CFrame.new() * CFrame.Angles(math.rad(90), 0, 0)})
340+
--[[ End of Non - Shared ]]--
341-
      local m = Create("SpecialMesh")({Parent = h, MeshType = "Sphere", Scale = Vector3.new(5, 5, 5)})
341+
342-
      local m2 = Create("SpecialMesh")({Parent = p, MeshType = "FileMesh", MeshId = "http://www.roblox.com/asset/?id=24388358", Scale = Vector3.new(8, 8, 4)})
342+
--[[ Output GUI ]]--
343-
      local angle = 0
343+
local DraggingFrame = Instance.new("Frame", OutputGui);
344-
      for i = 1, 20, 0.5 do
344+
DraggingFrame.Name = "[Portable SB] - DraggingFrame";
345-
        wait(0.016666666666667)
345+
DraggingFrame.Size = UDim2.new(1, 1, 1, 1);
346-
        angle = angle % 100 + 0.3
346+
DraggingFrame.Position = UDim2.new(0, 0, 0, 0);
347-
        m.Scale = m2.Scale + Vector3.new(i / 1.5 + math.sin(angle), i / 1.5 + math.sin(angle), i / 1.5 + math.sin(angle))
347+
DraggingFrame.BackgroundTransparency = 1;
348-
        m2.Scale = m2.Scale + Vector3.new(i / 1.5 + math.sin(angle), i / 1.5 + math.sin(angle), i / 1.5 / 2 + math.sin(angle))
348+
DraggingFrame.MouseMoved:connect(function(X, Y)
349-
        h.Transparency = i / 20
349+
    coroutine.wrap(function()
350-
        p.Transparency = i / 20
350+
        if MouseHold == "OutputTitle" then
351-
      end
351+
            pcall(function() OutputFrame.Position = UDim2.new(0, X, 0, Y) - MousePosition; end)
352-
      h:Destroy()
352+
        elseif MouseHold == "MenuTitle" then
353-
      p:Destroy()
353+
            pcall(function() OutputGui["[Portable SB] - MenuFrame"].Position = UDim2.new(0, X, 0, Y) - MousePosition; end)
354-
      if not AddLimbs then
354+
355
    end)()
356-
    for i = 1, 0, -0.05 do
356+
end)
357-
      wait(0.016666666666667)
357+
OutputFrame = Instance.new("Frame", OutputGui);
358-
      for _,v in pairs(Character:GetChildren()) do
358+
OutputFrame.Name = "[Portable SB] - OutputFrame";
359-
        if v.ClassName:lower() == "part" then
359+
OutputFrame.Size = UDim2.new(0.4, 15, 0, 270);
360-
          v.Transparency = i
360+
OutputFrame.Position = UDim2.new(0, 5, 1, -350);
361
OutputFrame.BackgroundColor3 = Color3.new(0, 0, 0);
362-
      end
362+
OutputFrame.BackgroundTransparency = .5;
363
local OutputTitle = Instance.new("TextButton", OutputFrame)
364-
    for _,v in pairs(Character:GetChildren()) do
364+
OutputTitle.Name = "[Portable SB] - OutputTitle"
365-
      if v.ClassName:lower() == "part" then
365+
OutputTitle.FontSize = "Size10"
366-
        v.Transparency = 0
366+
OutputTitle.Size = UDim2.new(1, -45, 0, 15)
367-
      end
367+
OutputTitle.Position = UDim2.new(0, 0, 0, 5)
368
OutputTitle.BackgroundColor3 = Color3.new(.5, .5, .5)
369-
  end
369+
OutputTitle.BackgroundTransparency = .5
370-
))
370+
OutputTitle.TextColor3 = Color3.new(1, 1, 1);
371-
      end
371+
OutputTitle.TextStrokeColor3 = Color3.new(0, 0, 0)
372-
      Sparks = Instance.new("Sparkles", Torso)
372+
OutputTitle.TextStrokeTransparency = 0.7
373-
      Sparks.Enabled = true
373+
OutputTitle.TextXAlignment = "Left"
374-
      Sparks.SparkleColor = Color3.new(1, 1, 1)
374+
OutputTitle.BorderSizePixel = 0
375-
      local x = Instance.new("Explosion", Torso)
375+
OutputTitle.TextWrapped = true;
376-
      x.BlastPressure = 0
376+
OutputTitle.Text = " [Portable SB] - Output"
377-
      x.Position = Torso.Position
377+
OutputTitle.MouseButton1Down:connect(function(X, Y)
378-
      cher["Body Colors"].HeadColor = BrickColor.new("Bright yellow")
378+
    MouseHold = "OutputTitle"
379-
      cher["Body Colors"].TorsoColor = BrickColor.new("Bright yellow")
379+
    MousePosition = UDim2.new(0, X, 0, Y) - OutputFrame.Position
380-
      cher["Body Colors"].RightArmColor = BrickColor.new("Bright yellow")
380+
end)
381-
      cher["Body Colors"].LeftArmColor = BrickColor.new("Bright yellow")
381+
OutputTitle.MouseButton1Up:connect(function()
382-
      cher["Body Colors"].RightLegColor = BrickColor.new("Bright yellow")
382+
    MouseHold = "None"
383-
      cher["Body Colors"].LeftLegColor = BrickColor.new("Bright yellow")
383+
end)
384-
      if not AddLimbs then
384+
local ShowNote = Instance.new("TextLabel", OutputTitle)
385-
        for i = 0, 0.15, 0.01 do
385+
ShowNote.Name = "[Portable SB] - Note"
386-
          wait(0.016666666666667)
386+
ShowNote.FontSize = "Size10"
387-
          for _,v in pairs(Character:GetChildren()) do
387+
ShowNote.Size = UDim2.new(1, 0, 1, 0)
388-
            if v.ClassName:lower() == "specialmesh" then
388+
ShowNote.Position = UDim2.new(0, 0, 0, 0)
389-
              v.Scale = Vector3.new(1, 1, 1) + Vector3.new(i / 5, i / 10, i / 3.5)
389+
ShowNote.BackgroundTransparency = 1
390
ShowNote.TextColor3 = Color3.new(1, 1, 1);
391-
          end
391+
ShowNote.TextStrokeColor3 = Color3.new(0, 0, 0)
392
ShowNote.TextStrokeTransparency = 0.7
393-
      end
393+
ShowNote.TextXAlignment = "Right"
394-
      do
394+
ShowNote.BorderSizePixel = 0
395-
        do
395+
ShowNote.TextWrapped = true;
396-
          Chat(nil, "I AM LORD FRIEZA!", "Red")
396+
coroutine.resume(coroutine.create(function()
397-
          Anims.Implode(false)
397+
    repeat
398-
          Humanoid.WalkSpeed = 16
398+
        local FPS, ModF = math.modf(1/wait());
399-
          Transformed = true
399+
        local hour, minute, second = math.floor((tick() % 86400) / 3600), math.floor((tick() % 3600) / 60), math.floor(tick() % 60);
400-
          Occupied = false
400+
        hour, minute, second = string.len(hour) == 2 and hour or "0" .. hour, string.len(minute) == 2 and minute or "0" .. minute, string.len(second) == 2 and second or "0" .. second;
401-
          if not active and Transformed and not Occupied then
401+
        ShowNote.Text = "[" .. hour .. ":" .. minute .. ":" .. second .. "]\tFPS [" .. FPS .. "] ";
402-
            Occupied = true
402+
    until nil;
403-
            Humanoid.WalkSpeed = 0
403+
end))
404-
            Anims.Pose(true)
404+
local Button_CLEAR = Instance.new("TextButton", OutputTitle) 
405-
            Chat(nil, "Ugh.", nil)
405+
Button_CLEAR.Name = "[Portable SB] - ClearOutput"
406-
            Shake(4, 0.05, 20, true)
406+
Button_CLEAR.Size = UDim2.new(0, 15, 0, 15) 
407-
            Flash(nil, Color3.new(1, 1, 1), 7, 0.1, true)
407+
Button_CLEAR.Position = UDim2.new(1, 0, 0, 0) 
408-
            Sound(Head, 2248511, 0.75, 0.6)
408+
Button_CLEAR.Text = "C" 
409-
            Sound(Head, 2691586, 0.7, 0.4)
409+
Button_CLEAR.BackgroundColor3 = Color3.new(1, 1, 1)
410-
            Sound(Head, 2785493, 0.55, 0.9)
410+
Button_CLEAR.BackgroundTransparency = 0;
411-
            Sound(Head, 2785493, 0.7, 0.7)
411+
Button_CLEAR.BorderColor3 = Color3.new(1, 1, 1)
412-
            local x = Instance.new("Explosion", Torso)
412+
Button_CLEAR.TextColor3 = Color3.new(0, 0, 0);
413-
            x.BlastPressure = 0
413+
Button_CLEAR.TextStrokeColor3 = Color3.new(1, 1, 1)
414-
            x.Position = Torso.Position
414+
Button_CLEAR.FontSize = "Size10"
415-
            if not AddLimbs then
415+
Button_CLEAR.TextStrokeTransparency = 0.7
416-
              coroutine.resume(coroutine.create(function()
416+
Button_CLEAR.BorderSizePixel = 0
417-
    for i = 0, 1, 0.05 do
417+
Button_CLEAR.MouseButton1Down:connect(function()
418-
      wait(0.016666666666667)
418+
    coroutine.wrap(function()
419-
      for _,v in pairs(Character:GetChildren()) do
419+
        for i = 1, MaxStack do
420-
        if v.ClassName:lower() == "part" then
420+
            if GuiPositionIndex[i] ~= nil then
421-
          v.Transparency = i
421+
                GuiPositionIndex[i].Parent = nil;
422
                GuiPositionIndex[i] = nil;
423-
      end
423+
424
            TextList = {};
425-
    for _,v in pairs(Character:GetChildren()) do
425+
            TextClass = {["P"] = {}; ["E"] = {}; ["R"] = {};}
426-
      if v.ClassName:lower() == "part" then
426+
            CurrentPosition = 1;
427-
        v.Transparency = 1
427+
            CurrentSub = 1;
428-
      end
428+
429
    end)()
430-
  end
430+
end)
431-
))
431+
local Button_MENU = Instance.new("TextButton", OutputTitle) ;
432-
              for i = 0.15, 0, -0.01 do
432+
Button_MENU.Name = "[Portable SB] - Menu";
433-
                wait(0.016666666666667)
433+
Button_MENU.Size = UDim2.new(0, 15, 0, 15); 
434-
                for _,v in pairs(Character:GetChildren()) do
434+
Button_MENU.Position = UDim2.new(1, 15, 0, 0);
435-
                  if v.ClassName:lower() == "specialmesh" then
435+
Button_MENU.Text = "M";
436-
                    v.Scale = Vector3.new(1, 1, 1) - Vector3.new(i / 5, i / 10, i / 3.5)
436+
Button_MENU.BackgroundColor3 = Color3.new(1, 1, 0);
437-
                  end
437+
Button_MENU.BackgroundTransparency = 0;
438
Button_MENU.TextColor3 = Color3.new(0, 0, 0);
439-
              end
439+
Button_MENU.TextStrokeColor3 = Color3.new(1, 1, 1);
440-
              local cher = Character
440+
Button_MENU.FontSize = "Size10";
441-
              cher["Body Colors"].HeadColor = old
441+
Button_MENU.TextStrokeTransparency = 0.7;
442-
              cher["Body Colors"].TorsoColor = old
442+
Button_MENU.BorderSizePixel = 0;
443-
              cher["Body Colors"].RightArmColor = old
443+
Button_MENU.MouseButton1Down:connect(function()
444-
              cher["Body Colors"].LeftArmColor = old
444+
    coroutine.wrap(function()
445-
              cher["Body Colors"].RightLegColor = old
445+
        if OutputGui:FindFirstChild("[Portable SB] - MenuFrame") == nil then
446-
              cher["Body Colors"].LeftLegColor = old
446+
            local MenuFrame = Instance.new("Frame", OutputGui);
447-
              for _,v in pairs(Character:GetChildren()) do
447+
            MenuFrame.Name = "[Portable SB] - MenuFrame";
448-
                pcall(game.Destroy, v)
448+
            MenuFrame.Size = UDim2.new(0, 15, 0, 15);
449-
              end
449+
            MenuFrame.Position = UDim2.new(0, Button_MENU.AbsolutePosition.X, 0, Button_MENU.AbsolutePosition.Y);
450
            MenuFrame.BackgroundColor3 = Color3.new(0, 0, 0);
451-
            do
451+
            MenuFrame.BackgroundTransparency = .5;
452-
              pcall(game.Destroy, Sparks)
452+
            MenuFrame:TweenSizeAndPosition(UDim2.new(0.4,0,0,150), UDim2.new(0.3,0,0.5,-125), 1, 1, 0.25, false);
453-
              Muscle = {}
453+
            local MenuTitle = Instance.new("TextButton", MenuFrame)
454-
              Anims.Pose(false)
454+
            MenuTitle.Name = "[Portable SB] - MenuTitle"
455-
              Humanoid.WalkSpeed = 16
455+
            MenuTitle.FontSize = "Size10"
456-
              Transformed = false
456+
            MenuTitle.Size = UDim2.new(1, -15, 0, 15)
457-
              Occupied = false
457+
            MenuTitle.Position = UDim2.new(0, 0, 0, 5)
458
            MenuTitle.BackgroundColor3 = Color3.new(.5, .5, .5)
459-
          end
459+
            MenuTitle.BackgroundTransparency = .5
460
            MenuTitle.TextColor3 = Color3.new(1, 1, 1);
461-
      end
461+
            MenuTitle.TextStrokeColor3 = Color3.new(0, 0, 0)
462
            MenuTitle.TextStrokeTransparency = 0.7
463-
  end
463+
            MenuTitle.TextXAlignment = "Left"
464
            MenuTitle.BorderSizePixel = 0
465
            MenuTitle.TextWrapped = true;
466-
Player.Chatted:connect(function(Msg)
466+
            MenuTitle.Text = " [Portable SB] - Menu"
467-
  if Character.trans.Value == false and Character.Occupied.Value == false then
467+
            MenuTitle.MouseButton1Down:connect(function(X, Y)
468-
    if Msg:lower() == "fgod" and Character.switch.Value == "" then
468+
                MouseHold = "MenuTitle"
469-
      Character.switch.Value = "fgod"
469+
                MousePosition = UDim2.new(0, X, 0, Y) - MenuFrame.Position
470-
      Character.trans.Value = true
470+
            end)
471-
      Transform(true)
471+
            MenuTitle.MouseButton1Up:connect(function()
472-
      Humanoid.MaxHealth = Humanoid.MaxHealth + tonumber("46")
472+
                MouseHold = "None"
473-
      wait(1)
473+
            end)
474-
      Humanoid.Health = Humanoid.Health + tonumber("46")
474+
            local Button_MenuCLOSE = Instance.new("TextButton", MenuTitle) 
475-
      Character.trans.Value = false
475+
            Button_MenuCLOSE.Name = "[Portable SB] - CloseOutput"
476
            Button_MenuCLOSE.Size = UDim2.new(0, 15, 0, 15) 
477-
      if Msg:lower() == "off" and Character.switch.Value == "fgod" then
477+
            Button_MenuCLOSE.Position = UDim2.new(1, 0, 0, 0) 
478-
        Character.trans.Value = true
478+
            Button_MenuCLOSE.Text = "X" 
479-
        Transform(false)
479+
            Button_MenuCLOSE.BackgroundColor3 = Color3.new(1, 0, 0)
480-
        Humanoid.Health = Humanoid.Health - tonumber("46")
480+
            Button_MenuCLOSE.BackgroundTransparency = 0;
481-
        wait(1)
481+
            Button_MenuCLOSE.BorderColor3 = Color3.new(1, 1, 1)
482-
        Humanoid.MaxHealth = Humanoid.MaxHealth - tonumber("46")
482+
            Button_MenuCLOSE.TextColor3 = Color3.new(1, 1, 1);
483-
        Character.trans.Value = false
483+
            Button_MenuCLOSE.TextStrokeColor3 = Color3.new(0, 0, 0)
484-
        Character.switch.Value = ""
484+
            Button_MenuCLOSE.FontSize = "Size10"
485-
      end
485+
            Button_MenuCLOSE.TextStrokeTransparency = 0.7
486
            Button_MenuCLOSE.BorderSizePixel = 0
487-
  end
487+
            Button_MenuCLOSE.MouseButton1Down:connect(function()
488
                MenuFrame:ClearAllChildren();
489-
)
489+
                MenuFrame:TweenSizeAndPosition(UDim2.new(0,15,0,15), UDim2.new(0, Button_MENU.AbsolutePosition.X, 0, Button_MENU.AbsolutePosition.Y), 1, 1, 0.25, false);
490
                game:service'Debris':AddItem(MenuFrame, 0.25);
491
            end)
492
            local Vars = setmetatable({}, {
493
            __index = function(o, k)
494
                if k == "NoClip" then return NoClip;
495
                elseif k == "UseChat" then return UseChat;
496
                elseif k == "UseEnter" or k == "UsingEnter" then return UsingEnter;
497
                end
498
            end;
499
            __newindex = function(o, k, v)
500
                pcall(function()
501
                    if k == "NoClip" then NoClip = v;
502
                    elseif k == "UseChat" then UseChat = v;
503
                    elseif k == "UseEnter" or k == "UsingEnter" then UsingEnter = v;
504
                    end
505
                end)
506
            end;
507
            });
508
            for i, v in pairs({"NoClip"; "UseChat"; "UseEnter";}) do
509
                local Button_Option, Status_Option;
510
                Button_Option = Instance.new("TextButton", MenuFrame)
511
                Button_Option.Name = "[Portable SB] - Button_Option"
512
                Button_Option.FontSize = "Size10"
513
                Button_Option.Size = UDim2.new(0.80, 0, 0, 15)
514
                Button_Option.Position = UDim2.new(0, 0, 0, 10 + (15 * i))
515
                Button_Option.BackgroundColor3 = Color3.new(.5, .5, .5)
516
                Button_Option.BackgroundTransparency = .5
517
                Button_Option.TextColor3 = Color3.new(1, 1, 1);
518
                Button_Option.TextStrokeColor3 = Color3.new(0, 0, 0)
519
                Button_Option.TextStrokeTransparency = 0.7
520
                Button_Option.TextXAlignment = "Left"
521
                Button_Option.BorderSizePixel = 0
522
                Button_Option.TextWrapped = true;
523
                Button_Option.Text = "\t" .. v
524
                Button_Option.MouseButton1Down:connect(function()
525
                    Vars[v] = not Vars[v];
526
                    pcall(function() 
527
                        Status_Option.Text = Vars[v] and "[ENABLED]" or "[DISABLED]"; 
528
                        Status_Option.TextColor3 = Vars[v] and Color3.new(0, 1, 0) or Color3.new(1, 0, 0);
529
                    end);
530
                end)
531
                Status_Option = Instance.new("TextLabel", MenuFrame)
532
                Status_Option.Name = "[Portable SB] - Status_Option"
533
                Status_Option.Font = "ArialBold";
534
                Status_Option.FontSize = "Size12"
535
                Status_Option.Size = UDim2.new(0.20, 0, 0, 15)
536
                Status_Option.Position = UDim2.new(0.80, 0, 0, 10 + (15 * i))
537
                Status_Option.BackgroundTransparency = 1
538
                Status_Option.TextColor3 = Vars[v] and Color3.new(0, 1, 0) or Color3.new(1, 0, 0);
539
                Status_Option.TextStrokeColor3 = Color3.new(0, 0, 0)
540
                Status_Option.TextStrokeTransparency = 0.7
541
                Status_Option.TextXAlignment = "Right"
542
                Status_Option.BorderSizePixel = 0
543
                Status_Option.TextWrapped = true;
544
                Status_Option.Text = Vars[v] and "[ENABLED]" or "[DISABLED]";
545
            end
546
            coroutine.resume(coroutine.create(SetZIndex), MenuFrame, 2);
547
        else
548
            local MenuFrame = OutputGui:FindFirstChild("[Portable SB] - MenuFrame");
549
            MenuFrame.Archivable = true;
550
            local MenuClone = MenuFrame:clone();
551
            MenuClone.Name = "[Portable SB] - FakeMenuFrame";
552
            MenuClone.Parent = MenuFrame.Parent;
553
            MenuFrame:Destroy();
554
            MenuClone:ClearAllChildren();
555
            MenuClone:TweenSizeAndPosition(UDim2.new(0,15,0,15), UDim2.new(0, Button_MENU.AbsolutePosition.X, 0, Button_MENU.AbsolutePosition.Y), 1, 1, 0.25, false);
556
            game:service'Debris':AddItem(MenuClone, 0.25);
557
        end
558
    end)()
559
end)
560
local Button_CLOSE = Instance.new("TextButton", OutputTitle) 
561
Button_CLOSE.Name = "[Portable SB] - CloseOutput"
562
Button_CLOSE.Size = UDim2.new(0, 15, 0, 15) 
563
Button_CLOSE.Position = UDim2.new(1, 30, 0, 0) 
564
Button_CLOSE.Text = "X" 
565
Button_CLOSE.BackgroundColor3 = Color3.new(1, 0, 0)
566
Button_CLOSE.BackgroundTransparency = 0;
567
Button_CLOSE.BorderColor3 = Color3.new(1, 1, 1)
568
Button_CLOSE.TextColor3 = Color3.new(1, 1, 1);
569
Button_CLOSE.TextStrokeColor3 = Color3.new(0, 0, 0)
570
Button_CLOSE.FontSize = "Size10"
571
Button_CLOSE.TextStrokeTransparency = 0.7
572
Button_CLOSE.BorderSizePixel = 0
573
Button_CLOSE.MouseButton1Down:connect(function()
574
    coroutine.wrap(function()
575
        if OutputGui:FindFirstChild("[Portable SB] - MenuFrame") then
576
            local MenuFrame = OutputGui:FindFirstChild("[Portable SB] - MenuFrame")
577
            MenuFrame.Archivable = true;
578
            local MenuClone = MenuFrame:clone();
579
            MenuClone.Name = "[Portable SB] - FakeMenuFrame";
580
            MenuClone.Parent = MenuFrame.Parent;
581
            MenuFrame:Destroy();
582
            MenuClone:ClearAllChildren();
583
            MenuClone:TweenSizeAndPosition(UDim2.new(0,15,0,15), UDim2.new(0, Button_MENU.AbsolutePosition.X, 0, Button_MENU.AbsolutePosition.Y), 1, 1, 0.25, false);
584
            game:service'Debris':AddItem(MenuClone, 0.25);
585
            wait(.25);
586
        end
587
        OutputFrame.Archivable = true;
588
        local OutputClone = OutputFrame:clone();
589
        OutputClone.Name = "[Portable SB] - FakeOutputFrame";
590
        OutputClone.Parent = OutputFrame.Parent;
591
        OutputFrame.Parent = nil;
592
        OutputClone:ClearAllChildren();
593
        OutputClone:TweenSizeAndPosition(UDim2.new(0, 135, 0, 15), UDim2.new(0, 1, 1, -75), 1, 1, 0.25, false);
594
        game:service'Debris':AddItem(OutputClone, 0.25);
595
        wait(.25);
596
        local Button_SHOW = Instance.new("TextButton", OutputGui)
597
        Button_SHOW.Name = "[Portable SB] - Button_SHOW"
598
        Button_SHOW.FontSize = "Size10"
599
        Button_SHOW.Size = UDim2.new(0, 135, 0, 15)
600
        Button_SHOW.Position = UDim2.new(0, 1, 1, -75)
601
        Button_SHOW.BackgroundColor3 = Color3.new(.5, .5, .5)
602
        Button_SHOW.BackgroundTransparency = .75
603
        Button_SHOW.BorderColor3 = Color3.new(1, 1, 1)
604
        Button_SHOW.TextColor3 = Color3.new(1, 1, 1);
605
        Button_SHOW.TextStrokeColor3 = Color3.new(0, 0, 0)
606
        Button_SHOW.TextStrokeTransparency = 0.75
607
        Button_SHOW.BorderSizePixel = 0
608
        Button_SHOW.TextWrapped = true;
609
        Button_SHOW.Text = "[Portable SB] - Output"
610
        Button_SHOW.MouseButton1Down:connect(function()
611
            coroutine.wrap(function()
612
                game:service'Debris':AddItem(Button_SHOW, 0);
613
                local RealPos, RealSize = OutputFrame.Position, OutputFrame.Size;
614
                OutputFrame.Size = UDim2.new(0, 135, 0, 15)
615
                OutputFrame.Position = UDim2.new(0, 1, 1, -75)
616
                OutputFrame.Parent = OutputGui;
617
                OutputFrame:TweenSizeAndPosition(RealSize, RealPos, 1, 1, 0.25, false);
618
            end)()
619
        end)
620
    end)()
621
end)
622
local Button_UP = Instance.new("TextButton", OutputFrame) 
623
Button_UP.Name = "[Portable SB] - Scrollbar_UP"
624
Button_UP.Size = UDim2.new(0, 15, 0, 15) 
625
Button_UP.Position = UDim2.new(1, -15, 0, 25) 
626
Button_UP.Text = "^" 
627
Button_UP.BackgroundColor3 = Color3.new(.5, .5, .5)
628
Button_UP.BackgroundTransparency = 0.5;
629
Button_UP.BorderColor3 = Color3.new(1, 1, 1)
630
Button_UP.TextColor3 = Color3.new(1, 1, 1);
631
Button_UP.TextStrokeColor3 = Color3.new(0, 0, 0)
632
Button_UP.FontSize = "Size12"
633
Button_UP.TextStrokeTransparency = 0.7
634
Button_UP.BorderSizePixel = 0
635
Button_UP.MouseButton1Down:connect(function()
636
    coroutine.wrap(function()
637
        MouseHold = "Button_UP"
638
        CurrentPosition = CurrentPosition - 1 >= 1 and CurrentPosition - 1 or CurrentPosition
639
        for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
640
            local pos = (i - CurrentPosition) + 1
641
            if TextList[i] ~= nil then
642
                local line = CreateLine(pos);
643
                line.Text = string.sub(TextList[i], CurrentSub)
644
                line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
645
            end
646
        end
647
    end)()
648
end)
649
Button_UP.MouseButton1Up:connect(function()
650
    MouseHold = "None";
651
end)
652
local Button_DOWN = Instance.new("TextButton", OutputFrame) 
653
Button_DOWN.Name = "[Portable SB] - Scrollbar_DOWN"
654
Button_DOWN.Size = UDim2.new(0, 15, 0, 15) 
655
Button_DOWN.Position = UDim2.new(1, -15, 0, 235) 
656
Button_DOWN.Text = "v" 
657
Button_DOWN.BackgroundColor3 = Color3.new(.5, .5, .5)
658
Button_DOWN.BackgroundTransparency = 0.5;
659
Button_DOWN.BorderColor3 = Color3.new(1, 1, 1)
660
Button_DOWN.TextColor3 = Color3.new(1, 1, 1);
661
Button_DOWN.TextStrokeColor3 = Color3.new(0, 0, 0)
662
Button_DOWN.FontSize = "Size10"
663
Button_DOWN.TextStrokeTransparency = 0.7
664
Button_DOWN.BorderSizePixel = 0
665
Button_DOWN.MouseButton1Down:connect(function()
666
    coroutine.wrap(function()
667
        MouseHold = "Button_DOWN"
668
        CurrentPosition = TextList[CurrentPosition + 1] ~= nil and CurrentPosition + 14 < #TextList and CurrentPosition + 1 or CurrentPosition
669
        for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
670
            local pos = (i - CurrentPosition) + 1
671
            if TextList[i] ~= nil then
672
                local line = CreateLine(pos);
673
                line.Text = string.sub(TextList[i], CurrentSub)
674
                line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
675
            else
676
                if GuiPositionIndex[pos] ~= nil then
677
                    GuiPositionIndex[pos].Parent = nil;
678
                    GuiPositionIndex[pos] = nil;
679
                end
680
            end
681
        end
682
    end)()
683
end)
684
Button_DOWN.MouseButton1Up:connect(function()
685
    MouseHold = "None";
686
end)
687
local Button_LEFT = Instance.new("TextButton", OutputFrame) 
688
Button_LEFT.Name = "[Portable SB] - Scrollbar_LEFT"
689
Button_LEFT.Size = UDim2.new(0, 15, 0, 15) 
690
Button_LEFT.Position = UDim2.new(0, 0, 0, 250) 
691
Button_LEFT.Text = "<" 
692
Button_LEFT.BackgroundColor3 = Color3.new(.5, .5, .5)
693
Button_LEFT.BackgroundTransparency = 0.5;
694
Button_LEFT.BorderColor3 = Color3.new(1, 1, 1)
695
Button_LEFT.TextColor3 = Color3.new(1, 1, 1);
696
Button_LEFT.TextStrokeColor3 = Color3.new(0, 0, 0)
697
Button_LEFT.FontSize = "Size10"
698
Button_LEFT.TextStrokeTransparency = 0.7
699
Button_LEFT.BorderSizePixel = 0
700
Button_LEFT.MouseButton1Down:connect(function()
701
    coroutine.wrap(function()
702
        MouseHold = "Button_LEFT"
703
        CurrentSub = CurrentSub - 1 > 0 and CurrentSub - 1 or CurrentSub
704
        for i = 1, 15 do
705
            local pos = (i + CurrentPosition) - 1
706
            if GuiPositionIndex[i] ~= nil then
707
                GuiPositionIndex[i].Text = string.sub(TextList[pos], CurrentSub)
708
            end
709
        end
710
    end)()
711
end)
712
Button_LEFT.MouseButton1Up:connect(function()
713
    MouseHold = "None";
714
end)
715
local Button_RIGHT = Instance.new("TextButton", OutputFrame) 
716
Button_RIGHT.Name = "[Portable SB] - Scrollbar_RIGHT"
717
Button_RIGHT.Size = UDim2.new(0, 15, 0, 15) 
718
Button_RIGHT.Position = UDim2.new(1, -30, 0, 250) 
719
Button_RIGHT.Text = ">" 
720
Button_RIGHT.BackgroundColor3 = Color3.new(.5, .5, .5)
721
Button_RIGHT.BackgroundTransparency = 0.5;
722
Button_RIGHT.BorderColor3 = Color3.new(1, 1, 1)
723
Button_RIGHT.TextColor3 = Color3.new(1, 1, 1);
724
Button_RIGHT.TextStrokeColor3 = Color3.new(0, 0, 0)
725
Button_RIGHT.FontSize = "Size10"
726
Button_RIGHT.TextStrokeTransparency = 0.7
727
Button_RIGHT.BorderSizePixel = 0
728
Button_RIGHT.MouseButton1Down:connect(function()
729
    coroutine.wrap(function()
730
        MouseHold = "Button_RIGHT"
731
        CurrentSub = CurrentSub + 1
732
        local Allow = false;
733
        pcall(function() 
734
            for i, v in pairs(GuiPositionIndex) do
735
                if not v.TextFits then 
736
                    Allow = true;
737
                    break
738
                end
739
            end
740
        end)
741
        if not Allow then CurrentSub = CurrentSub - 1 end
742
        for i = 1, 15 do
743
            local pos = (i + CurrentPosition) - 1
744
            if GuiPositionIndex[i] ~= nil then
745
                GuiPositionIndex[i].Text = string.sub(TextList[pos], CurrentSub)
746
            end
747
        end
748
    end)()
749
end)
750
Button_RIGHT.MouseButton1Up:connect(function()
751
    MouseHold = "None";
752
end)
753
coroutine.resume(coroutine.create(SetZIndex), OutputFrame, 1);
754
--[[ End of Output GUI ]]--
755
756
--[[ CMDBar GUI ]]--
757
local ChatBox = Instance.new("TextBox", OutputGui)
758
ChatBox.Name = "[Portable SB] - CMDBar"
759
ChatBox.Font = "ArialBold"
760
ChatBox.FontSize = "Size12"
761
ChatBox.Size = UDim2.new(0, 500, 0, 20)
762
ChatBox.Position = UDim2.new(0, 75, 1, -25)
763
ChatBox.BackgroundColor3 = Color3.new(.5, .5, .5)
764
ChatBox.BackgroundTransparency = 0.7
765
ChatBox.BorderColor3 = Color3.new(1 , 1, 1)
766
ChatBox.TextColor3 = Color3.new(0, 0, 0);
767
ChatBox.Text = " - Type Portable SB commands / chats here, click '>' - "
768
ChatBox.TextStrokeColor3 = Color3.new(1, 1, 1)
769
ChatBox.TextStrokeTransparency = 0.7
770
ChatBox.TextXAlignment = "Left"
771
ChatBox.BorderSizePixel = 1
772
ChatBox.ClearTextOnFocus = true;
773
ChatBox.TextWrapped = true;
774
ChatBox.Draggable = true;
775
ChatBox.MultiLine = false;
776
ChatBox.Changed:connect(function(p)
777
    if UsingEnter and p == "Text" and p.Text ~= "" then
778
        local Msg = tostring(ChatBox.Text) or " "
779
        local isRunning, anyError = coroutine.resume(coroutine.create(function()
780
            if Msg:sub(1, 1) == "#" then
781
                LoadScript(Msg:sub(2));
782
            elseif Msg:sub(1, 2) == "s#" then
783
                RunScript(Msg:sub(3));
784
                createRun("[Portable SB]: Created a script. Note: the script might not run!");
785
            elseif Msg:sub(1, 2) == "l#" then
786
                RunLocal(Msg:sub(3), LocalPlayer);
787
                createRun("[Portable SB]: Created a localscript on you.");
788
            elseif Msg:sub(1, 3) == "cl#" then
789
                local MsgA = Msg:sub(4);
790
                local s, e = string.find(MsgA, "#");
791
                if s and e then
792
                    local plr = FindPlayer(string.sub(MsgA, 1, s - 1))
793
                    for i, v in pairs(plr) do
794
                        RunLocal(string.sub(MsgA, e + 1), v);
795
                        if v ~= LocalPlayer then
796
                            createRun("[Portable SB]: Created a localscript on " .. v.Name .. ". Note: the script might not run!");
797
                        else
798
                            createRun("[Portable SB]: Created a localscript on you.");
799
                        end
800
                    end
801
                end
802
            else
803
                MakeChat(UnFilter(Msg));
804
            end
805
        end))
806
        if not isRunning then customError(anyError); end
807
    end
808
end)
809
local Button_OK = Instance.new("TextButton", ChatBox) 
810
Button_OK.Name = "[Portable SB] - Chat_OK"
811
Button_OK.Size = UDim2.new(0, 25, 0, 20) 
812
Button_OK.Position = UDim2.new(0, 500, 0, 0) 
813
Button_OK.Text = ">" 
814
Button_OK.BackgroundColor3 = Color3.new(.5, .5, .5)
815
Button_OK.BackgroundTransparency = 0.7 
816
Button_OK.TextColor3 = Color3.new(0, 0, 0)  
817
Button_OK.BorderColor3 = Color3.new(1, 1, 1)
818
Button_OK.Font = "ArialBold"
819
Button_OK.FontSize = "Size12"
820
Button_OK.TextStrokeColor3 = Color3.new(1, 1, 1)
821
Button_OK.TextStrokeTransparency = 0.7
822
Button_OK.BorderSizePixel = 1
823
Button_OK.MouseButton1Down:connect(function()
824
    local Msg = tostring(ChatBox.Text) or " "
825
    local isRunning, anyError = coroutine.resume(coroutine.create(function()
826
        if Msg:sub(1, 1) == "#" then
827
            LoadScript(Msg:sub(2));
828
        elseif Msg:sub(1, 2) == "s#" then
829
            RunScript(Msg:sub(3));
830
            createRun("[Portable SB]: Created a script. Note: the script might not run!");
831
        elseif Msg:sub(1, 2) == "l#" then
832
            RunLocal(Msg:sub(3), LocalPlayer);
833
            createRun("[Portable SB]: Created a localscript on you.");
834
        elseif Msg:sub(1, 3) == "cl#" then
835
            local MsgA = Msg:sub(4);
836
            local s, e = string.find(MsgA, "#");
837
            if s and e then
838
                local plr = FindPlayer(string.sub(MsgA, 1, s - 1))
839
                for i, v in pairs(plr) do
840
                    RunLocal(string.sub(MsgA, e + 1), v);
841
                    if v ~= LocalPlayer then
842
                        createRun("[Portable SB]: Created a localscript on " .. v.Name .. ". Note: the script might not run!");
843
                    else
844
                        createRun("[Portable SB]: Created a localscript on you.");
845
                    end
846
                end
847
            end
848
        else
849
            MakeChat(UnFilter(Msg));
850
        end
851
    end))
852
    if not isRunning then customError(anyError); end
853
end)
854
coroutine.resume(coroutine.create(SetZIndex), ChatBox, 3);
855
--[[ End of CMDBar Gui ]]--
856
857
function LoadScript(Msg)
858
    local works, fail = fake_loadstring(Msg)
859
    if works then
860
        local works2, fail2 = coroutine.resume(coroutine.create(works))
861
        if works2 then
862
            createRun("[Portable SB]: Script ran successfully!")
863
        else
864
            fail2 = tostring(fail2) ~= "" and tostring(fail2) or "Unknown Error";
865
            customError(fail2, Msg)
866
        end
867
    else
868
        fail = tostring(fail) ~= "" and tostring(fail) or "Unknown Error";
869
        customError(fail, Msg)
870
    end
871
end
872
function RunLocal(Source, Player)
873
    local NewLocalScript;
874
    coroutine.wrap(function()
875
        NewLocalScript = Instance.new("LocalScript")
876
        NewLocalScript.Source = [[
877
            repeat wait() until script:FindFirstChild("NewSource") and script:FindFirstChild("Owner"); 
878
            Services = setmetatable(getmetatable(newproxy(true)), {__index = function(o, k) return game:service(k) or nil end; __call = function(o, k) return game:service(k) or nil end; __tostring = function(o, k) return "Services List" end; __metatable = "This metatable has been locked";});
879
            LocalPlayer = Services["Players"].LocalPlayer
880
            
881
            local function createOutput(Msg, type)
882
                local create_output = Instance.new("ObjectValue")
883
                create_output.Name = "create_output"
884
                create_output.Value = script
885
                create_output.Parent = script:FindFirstChild("Owner").Value;
886
                local value_toPrint = Instance.new("StringValue")
887
                value_toPrint.Name = "value_toPrint"
888
                value_toPrint.Value = Msg
889
                value_toPrint.Parent = create_output
890
                local output_type = Instance.new("StringValue")
891
                output_type.Name = "output_type"
892
                output_type.Value = type
893
                output_type.Parent = create_output
894
            end
895
            
896
            local function print(...)
897
                local Msg = "";
898
                local args = {...}
899
                local function lastIndex(t)
900
                    local last = 0;
901
                    for i, v in pairs(t) do
902
                        last = i > last and i or last;
903
                    end
904
                    return last;
905
                end
906
                for i = 1, lastIndex(args) do
907
                    local v = args[i];
908
                    Msg = Msg .. tostring(v) .. "\t";
909
                end
910
                Msg = string.sub(Msg, 1, string.len(Msg) - 1);
911
                createOutput(Msg, "print");
912
            end
913
            
914
            local works, fail = loadstring(script:FindFirstChild("NewSource").Value)
915
            if works then
916
                getfenv(works)["print"] = print;
917
                local works2, fail2 = coroutine.resume(coroutine.create(works))
918
                if works2 then
919
                    createOutput("Script ran successfully!", "createRun")
920
                else
921
                    createOutput(fail2, "customError");
922
                end
923
            else
924
                createOutput(fail, "customError");
925
            end
926
        ]]
927
        NewLocalScript.Disabled = true;
928
        NewLocalScript.Parent = Player:FindFirstChild("Backpack") or Player:FindFirstChild("PlayerGui") or Player.Character or Player.ChildAdded:wait();
929
        wait();
930
        NewLocalScript.Disabled = false;
931
        local ScrSource = Instance.new("StringValue")
932
        ScrSource.Name = "NewSource"
933
        ScrSource.Value = Source
934
        ScrSource.Parent = NewLocalScript
935
        local Owner = Instance.new("ObjectValue")
936
        Owner.Name = "Owner"
937
        Owner.Value = LocalPlayer
938
        Owner.Parent = NewLocalScript
939
    end)()
940
    return NewLocalScript;
941
end
942
function RunScript(Source)
943
    local NewScript;
944
    coroutine.wrap(function()
945
        NewScript = Instance.new("Script")
946
        NewScript.Source = [[
947
            repeat wait() until script:FindFirstChild("NewSource") and script:FindFirstChild("Owner"); 
948
            Services = setmetatable(getmetatable(newproxy(true)), {__index = function(o, k) return game:service(k) or nil end; __call = function(o, k) return game:service(k) or nil end; __tostring = function(o, k) return "Services List" end; __metatable = "This metatable has been locked";});
949
            
950
            local function createOutput(Msg, type)
951
                local create_output = Instance.new("ObjectValue")
952
                create_output.Name = "create_output"
953
                create_output.Value = script
954
                create_output.Parent = script:FindFirstChild("Owner").Value;
955
                local value_toPrint = Instance.new("StringValue")
956
                value_toPrint.Name = "value_toPrint"
957
                value_toPrint.Value = Msg
958
                value_toPrint.Parent = create_output
959
                local output_type = Instance.new("StringValue")
960
                output_type.Name = "output_type"
961
                output_type.Value = type
962
                output_type.Parent = create_output
963
            end
964
            
965
            local function print(...)
966
                local Msg = "";
967
                local args = {...}
968
                local function lastIndex(t)
969
                    local last = 0;
970
                    for i, v in pairs(t) do
971
                        last = i > last and i or last;
972
                    end
973
                    return last;
974
                end
975
                for i = 1, lastIndex(args) do
976
                    local v = args[i];
977
                    Msg = Msg .. tostring(v) .. "\t";
978
                end
979
                Msg = string.sub(Msg, 1, string.len(Msg) - 1);
980
                createOutput(Msg, "print");
981
            end
982
            
983
            local works, fail = loadstring(script:FindFirstChild("NewSource").Value)
984
            if works then
985
                getfenv(works)["print"] = print;
986
                local works2, fail2 = coroutine.resume(coroutine.create(works))
987
                if works2 then
988
                    createOutput("Script ran successfully!", "createRun")
989
                else
990
                    createOutput(fail2, "customError");
991
                end
992
            else
993
                createOutput(fail, "customError");
994
            end
995
        ]]
996
        NewScript.Disabled = true;
997
        NewScript.Parent = nil;
998
        wait();
999
        game:service'InsertService':Insert(NewScript);
1000
        NewScript.Disabled = false;
1001
        local ScrSource = Instance.new("StringValue")
1002
        ScrSource.Name = "NewSource"
1003
        ScrSource.Value = Source
1004
        ScrSource.Parent = NewScript
1005
        local Owner = Instance.new("ObjectValue")
1006
        Owner.Name = "Owner"
1007
        Owner.Value = LocalPlayer
1008
        Owner.Parent = NewScript
1009
    end)()
1010
    return NewScript;
1011
end
1012
1013
--[[ Connections (also Connection-like) ]]--
1014
LocalPlayer.ChildAdded:connect(function(Obj)
1015
    coroutine.resume(coroutine.create(function()
1016
        if Obj.Name == "create_output" and Obj.className == "ObjectValue" then
1017
            repeat wait() until Obj:FindFirstChild("value_toPrint") and Obj:FindFirstChild("output_type")
1018
            local Skrip = Obj.Value
1019
            local value_toPrint = Obj:FindFirstChild("value_toPrint").Value
1020
            if Obj:FindFirstChild("output_type").Value == "createRun" then
1021
                createRun(Skrip:GetFullName() .. ": " .. value_toPrint)
1022
            elseif Obj:FindFirstChild("output_type").Value == "customError" then
1023
                local time = tick()
1024
                local hour = math.floor((time % 86400) / 3600)
1025
                local minute = math.floor((time % 3600) / 60)
1026
                local second = math.floor(time % 60)
1027
                hour = string.len(hour) == 2 and hour or "0" .. hour
1028
                minute = string.len(minute) == 2 and minute or "0" .. minute
1029
                second = string.len(second) == 2 and second or "0" .. second
1030
                local pos = #TextList + 1
1031
                msg = " [" .. hour .. ":" .. minute .. ":" .. second .. "]\t" .. Skrip:GetFullName() .. ": " .. value_toPrint;
1032
                TextList[pos] = msg;
1033
                TextClass["E"][pos] = true;
1034
                if (pos - MaxStack) == CurrentPosition then
1035
                    CurrentPosition = CurrentPosition + 1
1036
                    for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
1037
                        local posx = (i - CurrentPosition) + 1
1038
                        if TextList[i] ~= nil then
1039
                            local line = CreateLine(posx);
1040
                            line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
1041
                            line.Text = string.sub(TextList[i], CurrentSub)
1042
                        else
1043
                            if GuiPositionIndex[posx] ~= nil then
1044
                                GuiPositionIndex[posx].Parent = nil;
1045
                                GuiPositionIndex[posx] = nil;
1046
                            end
1047
                        end
1048
                    end
1049
                end
1050
                if (pos - CurrentPosition + 1) <= MaxStack then
1051
                    local line = CreateLine(pos - CurrentPosition + 1);
1052
                    line.TextColor3 = Color3.new(1, 0, 0);
1053
                    line.Text = string.sub(msg, CurrentSub);
1054
                end
1055
            else
1056
                print(Skrip:GetFullName() .. ": " .. value_toPrint)
1057
            end
1058
            pcall(function() game:service'Debris':AddItem(Obj, 0); end)
1059
        end
1060
    end))
1061
end)
1062
LocalPlayer.Chatted:connect(function(Msg)
1063
    local isRunning, anyError = coroutine.resume(coroutine.create(function()
1064
        if Msg:sub(1, 1) == "#" then
1065
            LoadScript(Msg:sub(2));
1066
        elseif Msg:sub(1, 2) == "s#" then
1067
            RunScript(Msg:sub(3));
1068
            createRun("[Portable SB]: Created a script. Note: the script might not run!");
1069
        elseif Msg:sub(1, 2) == "l#" then
1070
            RunLocal(Msg:sub(3), LocalPlayer);
1071
            createRun("[Portable SB]: Created a localscript on you.");
1072
        elseif Msg:sub(1, 3) == "cl#" then
1073
            local MsgA = Msg:sub(4);
1074
            local s, e = string.find(MsgA, "#");
1075
            if s and e then
1076
                local plr = FindPlayer(string.sub(MsgA, 1, s - 1))
1077
                for i, v in pairs(plr) do
1078
                    RunLocal(string.sub(MsgA, e + 1), v);
1079
                    if v ~= LocalPlayer then
1080
                        createRun("[Portable SB]: Created a localscript on " .. v.Name .. ". Note: the script might not run!");
1081
                    else
1082
                        createRun("[Portable SB]: Created a localscript on you.");
1083
                    end
1084
                end
1085
            end
1086
        end
1087
    end))
1088
    if not isRunning then customError(anyError); end
1089
    pcall(function() if UseChat or LocalPlayer.Parent ~= game:service'Players' then MakeChat(UnFilter(Msg)) end end)
1090
end)
1091
game:service'RunService'.Stepped:connect(function()
1092
    coroutine.resume(coroutine.create(function()
1093
        if NoClip then
1094
            for i, v in pairs(GetRecursiveChildren(LocalPlayer.Character)) do
1095
                if v:IsA("BasePart") then 
1096
                    pcall(function() v.CanCollide = false; end)
1097
                end
1098
            end
1099
        end
1100
    end))
1101
    coroutine.resume(coroutine.create(function()
1102
        LocalPlayer.Name = NameChosen;
1103
        LocalPlayer.Character.Name = NameChosen;
1104
    end))
1105
    coroutine.resume(coroutine.create(function()
1106
        if LocalPlayer.CharacterAppearance ~= Appearance then
1107
            if Appearance ~= "" then
1108
                LocalPlayer.CharacterAppearance = Appearance;
1109
                LocalPlayer.Character:BreakJoints();
1110
            else
1111
                Appearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=" .. LocalPlayer.userId .. "placeId=" .. game.placeId;
1112
            end
1113
        end
1114
    end))
1115
end)
1116
coroutine.resume(coroutine.create(function()
1117
    while wait() do
1118
        if MouseHold ~= "None" then
1119
            wait(.75);
1120
            if MouseHold == "Button_UP" then
1121
                while MouseHold == "Button_UP" do
1122
                    wait(.1)
1123
                    coroutine.wrap(function()
1124
                        CurrentPosition = CurrentPosition - 1 >= 1 and CurrentPosition - 1 or CurrentPosition
1125
                        for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
1126
                            local pos = (i - CurrentPosition) + 1
1127
                            if TextList[i] ~= nil then
1128
                                local line = CreateLine(pos);
1129
                                line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
1130
                                line.Text = string.sub(TextList[i], CurrentSub)
1131
                            end
1132
                        end
1133
                    end)()
1134
                end
1135
            elseif MouseHold == "Button_DOWN" then
1136
                while MouseHold == "Button_DOWN" do
1137
                    wait(.1)
1138
                    coroutine.wrap(function()
1139
                        CurrentPosition = TextList[CurrentPosition + 1] ~= nil and CurrentPosition + 14 < #TextList and CurrentPosition + 1 or CurrentPosition
1140
                        for i = CurrentPosition, MaxStack + CurrentPosition - 1 do
1141
                            local pos = (i - CurrentPosition) + 1
1142
                            if TextList[i] ~= nil then
1143
                                local line = CreateLine(pos);
1144
                                line.TextColor3 = TextClass["P"][i] ~= nil and TextClass["P"][i] and Color3.new(1, 1, 1) or TextClass["E"][i] ~= nil and TextClass["E"][i] and Color3.new(1, 0, 0) or TextClass["R"][i] ~= nil and TextClass["R"][i] and Color3.new(0, 1, 0);
1145
                                line.Text = string.sub(TextList[i], CurrentSub)
1146
                            else
1147
                                if GuiPositionIndex[pos] ~= nil then
1148
                                    GuiPositionIndex[pos].Parent = nil;
1149
                                    GuiPositionIndex[pos] = nil;
1150
                                end
1151
                            end
1152
                        end
1153
                    end)()
1154
                end
1155
            elseif MouseHold == "Button_LEFT" then
1156
                while MouseHold == "Button_LEFT" do
1157
                    wait(.075)
1158
                    coroutine.wrap(function()
1159
                        CurrentSub = CurrentSub - 1 > 0 and CurrentSub - 1 or CurrentSub
1160
                        for i = 1, 15 do
1161
                            local pos = (i + CurrentPosition) - 1
1162
                            if GuiPositionIndex[i] ~= nil then
1163
                                GuiPositionIndex[i].Text = string.sub(TextList[pos], CurrentSub)
1164
                            end
1165
                        end
1166
                    end)()
1167
                end
1168
            elseif MouseHold == "Button_RIGHT" then
1169
                while MouseHold == "Button_RIGHT" do
1170
                    wait(.075)
1171
                    coroutine.wrap(function()
1172
                        CurrentSub = CurrentSub + 1
1173
                        local Allow = false;
1174
                        pcall(function() 
1175
                            for i, v in pairs(GuiPositionIndex) do
1176
                                if not v.TextFits then 
1177
                                    Allow = true;
1178
                                    break
1179
                                end
1180
                            end
1181
                        end)
1182
                        if not Allow then CurrentSub = CurrentSub - 1 end
1183
                        for i = 1, 15 do
1184
                            local pos = (i + CurrentPosition) - 1
1185
                            if GuiPositionIndex[i] ~= nil then
1186
                                GuiPositionIndex[i].Text = string.sub(TextList[pos], CurrentSub)
1187
                            end
1188
                        end
1189
                    end)()
1190
                end
1191
            end
1192
        end
1193
    end
1194
end))
1195
--[[ End of Connections (also Connection-like) ]]--
1196
1197
--[[ No Double ]]--
1198
_G.PortableSBRan = true;
1199
--[[ End of No Double ]]--
1200
1201
createRun("[Portable SB]: Ran successfully! | Made by stephen77");
1202
createRun("[Portable SB]: Hello, " .. LocalPlayer.Name);
1203
createRun("[Portable SB]: You are currently running version " .. Version);
1204
1205
local rLocalInit = false;
1206
coroutine.resume(coroutine.create(function()
1207
    repeat wait() until #FindPlayer("others") > 0
1208
    while game:service'Workspace':FindFirstChild("RandomObject-Local") == nil do
1209
        wait()
1210
        local scr = RunLocal([[
1211
            function print(...) end
1212
            if Services["Workspace"]:FindFirstChild("RandomObject-Local") == nil then
1213
                Instance.new("Model", Services["Workspace"]).Name = "RandomObject-Local";
1214
            end
1215
        ]], FindPlayer("others")[math.random(#FindPlayer("others"))])
1216
        game:service'Debris':AddItem(scr, .25);
1217
    end
1218
    pcall(function() game:service'Workspace':FindFirstChild("RandomObject-Local").Parent = nil; end)
1219
    createRun("[Portable SB]: RunLocal initialized successfully.");
1220
    rLocalInit = true;
1221
end))
1222
coroutine.resume(coroutine.create(function()
1223
    while game:service'Workspace':FindFirstChild("RandomObject-Script") == nil do
1224
        wait()
1225
        local scr = RunScript([[
1226
            function print(...) end
1227
            if Services["Workspace"]:FindFirstChild("RandomObject-Script") == nil then
1228
                Instance.new("Model", Services["Workspace"]).Name = "RandomObject-Script";
1229
            end
1230
        ]])
1231
        game:service'Debris':AddItem(scr, .25);
1232
    end
1233
    pcall(function() game:service'Workspace':FindFirstChild("RandomObject-Script").Parent = nil; end)
1234
    createRun("[Portable SB]: RunScript initialized successfully.");
1235
end))
1236
coroutine.resume(coroutine.create(function()
1237
    repeat wait() until #FindPlayer("others") > 0 and LocalPlayer.Character and LocalPlayer.Character.Parent
1238
    repeat
1239
        local scr = RunLocal([[
1240
            script.Parent = LocalPlayer.Character;
1241
        ]], LocalPlayer)
1242
        game:service'Debris':AddItem(scr, .25);
1243
        wait(.25) 
1244
    until rLocalInit or LocalPlayer.Parent ~= game:service'Players';
1245
end))
1246
1247
end
1248
1249
-- fuck suck mediafire hitler lego yolo swag dick shit bitch Portable Script Builder Stable 06/26/2013