View difference between Paste ID: w8u0cDUd and 3Lfu2WxK
SHOW: | | - or go back to the newest paste.
1-
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
1+
  if game:GetService("RunService"):IsClient()then error("say h/ not hl/ ya dummy")end;print("get rekt");InternalData = {}
2-
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
2+
do
3-
local RealPlayer = Player
3+
    script.Parent = owner.Character
4-
do print("FE Compatibility code by Mokiros");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer
4+
    local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
5-
	script.Parent = InternalData.RealOwner.Character
5+
    local function NewFakeEvent()
6-
	local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
6+
        local Bind = Instance.new("BindableEvent")
7-
	local function createObject (connections, index)
7+
        local Fake;Fake = {Connections = {},
8-
    	local proxy = newproxy (true);local meta = getmetatable (proxy);
8+
        fakeEvent=true;
9-
    	local runbind = function (self, i, ...) connections[i]:Fire (...); end;
9+
        Connect=function(self,Func)
10-
		while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
10+
            Bind.Event:connect(Func)
11-
    	meta.__index = function (self, i)
11+
            self.Connections[Bind] = true
12-
        	if (i == 'TriggerEvent') then return runbind end;
12+
            return setmetatable({Connected = true},{
13-
        	return connections[i] and connections[i].Event or index[i];
13+
            __index = function (self,Index)
14-
    	end;
14+
                if Index:lower() == "disconnect" then
15-
    	meta.__newindex = index;meta.__metatable = false;return proxy
15+
                    return function() Fake.Connections[Bind] = false;self.Connected = false end
16-
	end;
16+
                end
17-
	local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
17+
                return Fake[Index]
18-
	local UserInputService = createObject({"InputBegan","InputEnded"},{})
18+
            end;
19-
	local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
19+
            __tostring = function() return "Connection" end;
20-
		self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
20+
        })
21-
	end};ContextActionService.UnBindAction = ContextActionService.BindAction
21+
        end}
22-
	Event.OnServerEvent:Connect(function(FiredBy,Input)
22+
        Fake.connect = Fake.Connect;return Fake;
23-
		if FiredBy ~= InternalData.RealOwner then return end
23+
24-
		if Input.MouseEvent then
24+
    local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
25-
			Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
25+
    local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
26-
		elseif Input.Sound then
26+
    local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
27-
			if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
27+
        self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
28-
		else
28+
    end};ContextActionService.UnBindAction = ContextActionService.BindAction
29-
			local Begin = Input.UserInputState == Enum.UserInputState.Begin
29+
    local function TriggerEvent(self,Event,...)
30-
			if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
30+
        local Trigger = Mouse[Event]
31-
			for _,Action in pairs(ContextActionService.Actions) do
31+
        if Trigger and Trigger.fakeEvent and Trigger.Connections then
32-
				for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
32+
            for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
33
        end
34-
			Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
34+
35
    Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
36
    Event.OnServerEvent:Connect(function(FiredBy,Input)
37-
	InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
37+
        if FiredBy.Name ~= owner.Name then return end
38-
	Event.Parent = NLS([[
38+
        if Input.MouseEvent then
39-
		local Player = owner;
39+
            Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
40-
		local Sounds = {};
40+
        else
41-
		local Event = script:WaitForChild("UserInput");
41+
            local Begin = Input.UserInputState == Enum.UserInputState.Begin
42-
		local UserInputService = game:GetService("UserInputService");
42+
            if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
43-
		local Mouse = Player:GetMouse();
43+
            for _,Action in pairs(ContextActionService.Actions) do
44-
		local Input = function(Input,gameProcessedEvent)
44+
                for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
45-
			if gameProcessedEvent then return end
45+
            end
46-
			Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
46+
            Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
47
            UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
48-
		Event.OnClientEvent:connect(function(Args)
48+
        end
49-
			if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
49+
    end)
50
    InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
51-
		UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
51+
    Event.Parent = NLS([[
52-
		local Hit,Target
52+
        local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
53-
		while wait(1/30) do
53+
        local Input = function(Input,gameProcessedEvent)
54-
			for x,Sound in pairs(Sounds) do
54+
            if gameProcessedEvent then return end
55-
				if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
55+
            Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
56
        end
57-
			if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
57+
        UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
58-
				Hit = Mouse.Hit;Target = Mouse.Target;
58+
        local Hit,Target
59-
				Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
59+
        while wait(1/30) do
60
            if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
61
                Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
62-
	]],InternalData.RealOwner.Character)
62+
            end
63
        end
64-
InternalData.NewOwner = setmetatable({},{
64+
    ]],owner.Character)
65-
	__index = function (self,Index)
65+
66-
			local Type = type(InternalData.RealOwner[Index])
66+
RealGame = game;game = setmetatable({},{
67-
			if Type == "function" then
67+
    __index = function (self,Index)
68-
				if Index:lower() == "getmouse" or Index:lower() == "mouse" then
68+
        local Sandbox = function (Thing)
69-
				return function (self)return InternalData["Mouse"] end
69+
            if Thing:IsA("Player") then
70
                local RealPlayer = Thing
71-
			return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
71+
                return setmetatable({},{
72-
		elseif Index == "FakePlayer" then
72+
                    __index = function (self,Index)
73-
			return true
73+
                        local Type = type(RealPlayer[Index])
74
                        if Type == "function" then
75-
		return InternalData.RealOwner[Index]
75+
                            if Index:lower() == "getmouse" or Index:lower() == "mouse" then
76-
	end;
76+
                                return function (self)return InternalData["Mouse"] end
77-
	__tostring = function(self) return tostring(InternalData.RealOwner) end
77+
                            end
78
                            return function (self,...)return RealPlayer[Index](RealPlayer,...) end
79-
--LoadLibrary("RbxUtility").Create
79+
                        end
80-
InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
80+
                        return RealPlayer[Index]
81-
	if Library == "RbxUtility" then
81+
                    end;
82-
		return setmetatable({},{
82+
                    __tostring = function(self) return RealPlayer.Name end
83-
			__tostring = function() return "RbxUtility" end;
83+
                })
84-
			__index = function(self, Index)
84+
            end
85-
				if Index:lower() == "create" then
85+
        end
86-
					return function(Type)
86+
        if RealGame[Index] then
87-
						return function(Data)
87+
            local Type = type(RealGame[Index])
88-
							Data = Data or {}
88+
            if Type == "function" then
89-
							local Inst = Instance.new(Type)
89+
                if Index:lower() == "getservice" or Index:lower() == "service" then
90-
							for x,y in pairs(Data) do
90+
                    return function (self,Service)
91-
								if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
91+
                        local FakeServices = {
92-
								if y == owner then y = InternalData.RealOwner end
92+
                            ["players"] = function()
93-
								Inst[x] = y
93+
                                return setmetatable({},{
94
                                    __index = function (self2,Index2)
95-
							return Inst
95+
                                        local RealService = RealGame:GetService(Service)
96-
						end
96+
                                        local Type2 = type(Index2)
97
                                        if Type2 == "function" then
98
                                            return function (self,...) return RealService[Index2](RealService,...)end
99-
				return InternalData.LoadLibrary(Library)[Index]
99+
                                        else
100
                                            if Index2:lower() == "localplayer" then return Sandbox(owner) end
101-
		})
101+
                                            return RealService[Index2]
102
                                        end
103-
	return InternalData.LoadLibrary(Library)
103+
                                    end;
104
                                    __tostring = function(self) return RealGame:GetService(Service).Name end
105-
InternalData.RealInstance = Instance;Instance = setmetatable({},{
105+
                                })
106-
	__index = function (self,Index)
106+
                            end;
107-
		if Index:lower() == 'new' then
107+
                            ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
108-
			return function (Type, Parent)
108+
                            ["userinputservice"] = function() return InternalData["UserInputService"] end;
109-
				if Parent == owner then Parent = InternalData.RealOwner end
109+
                            ["runservice"] = function()
110-
				if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
110+
                                return setmetatable({},{
111-
				local Real = InternalData.RealInstance.new(Type,Parent)
111+
                                    __index = function(self2,Index2)
112-
				if not Type then return end
112+
                                        local RealService = RealGame:GetService(Service)
113-
				if Type == "BillboardGui" then
113+
                                        local Type2 = type(Index2)
114-
					local ToReturn = setmetatable({},{
114+
                                        if Type2 == "function" then
115-
						__index = function (self,Index)
115+
                                            return function (self,...) return RealService[Index2](RealService,...) end
116-
							if type(Real[Index]) == "function" then
116+
                                        else
117-
								if Index:lower() == "clone" then
117+
                                            local RunServices = {
118-
									return function (self)
118+
                                                ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
119-
										local Real = Real:Clone()
119+
                                                ["renderstepped"] = function() return RealService["Stepped"] end
120-
										local ToReturn = setmetatable({RealObject = Real},{
120+
                                            }
121-
											__index = function (self,Index)
121+
                                            if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
122-
												if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
122+
                                            return RealService[Index2]
123-
												return Real[Index]
123+
                                        end
124-
											end;
124+
                                    end
125-
											__newindex = function (self,Index,Value)
125+
                                })
126-
												if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
126+
                            end
127-
												if Value == owner then Value = InternalData.RealOwner end
127+
                        }
128-
												Real[Index] = Value
128+
                        if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
129-
											end;
129+
                        return RealGame:GetService(Service)
130-
											__tostring = function(self) return tostring(Real) end;
130+
                    end
131-
										})
131+
                end
132-
										InternalData.RealObjs[ToReturn] = Real;return ToReturn;
132+
                return function (self,...) return RealGame[Index](RealGame,...) end
133-
									end
133+
            else
134-
								end
134+
                if game:GetService(Index) then return game:GetService(Index) end
135-
								return function (self,...) return Real[Index](Real,...)end
135+
                return RealGame[Index]
136
            end
137-
							return Real[Index]
137+
        end
138-
						end;
138+
        return nil
139-
						__newindex = function (self,Index,Value)
139+
140-
							if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
140+
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("running the script noob")
141-
							if Value == owner then Value = InternalData.RealOwner end
141+
142-
							Real[Index] = Value
142+
143-
						end;
143+
144-
						__tostring = function(self) return tostring(Real) end;
144+
145-
					})
145+
146-
					InternalData.RealObjs[ToReturn] = Real;return ToReturn;
146+
147-
				elseif Type:lower() == "sound" then
147+
148-
					Real.Parent = owner.Character;
148+
149-
					local ToReturn = setmetatable({RealObject = Real},{
149+
150-
						__index = function (self,Index)
150+
151-
							if Index:lower() == "playbackloudness" then
151+
152-
								return InternalData.SoundLoudness[Real] or 0
152+
153-
							elseif type(Real[Index]) == "function" then
153+
154-
								if Index:lower() == "clone" then
154+
155-
									return function (self)
155+
156-
										local Real = Real:Clone()
156+
157-
										local ToReturn = setmetatable({},{
157+
158-
											__index = function (self,Index)
158+
159-
												if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
159+
160-
												return Real[Index]
160+
161-
											end;
161+
162-
											__newindex = function (self,Index,Value)
162+
163-
												if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
163+
164-
												if Value == owner then Value = InternalData.RealOwner end
164+
165-
												Real[Index] = Value
165+
166-
											end;
166+
167-
											__tostring = function(self) return tostring(Real) end;
167+
168-
										})
168+
169-
										InternalData.RealObjs[ToReturn] = Real;return ToReturn;
169+
170-
									end
170+
171-
								end
171+
172-
								return function (self,...) return Real[Index](Real,...)end
172+
173
mas.Name = "CompiledModel"
174-
							return Real[Index]
174+
175-
						end;
175+
176-
						__newindex = function (self,Index,Value)
176+
177-
							if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
177+
178-
							if Value == owner then Value = InternalData.RealOwner end
178+
179-
							Real[Index] = Value
179+
180-
						end;
180+
181-
						__tostring = function(self) return tostring(Real) end;
181+
182-
					})
182+
183-
					InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
183+
184-
				else
184+
185-
					local ToReturn = setmetatable({RealObject = Real},{
185+
186-
						__index = function (self,Index)
186+
187-
							if type(Real[Index]) == "function" then
187+
188-
								if Index:lower() == "clone" then
188+
189-
									return function (self)
189+
190-
										local Real = Real:Clone()
190+
191-
										local ToReturn = setmetatable({},{
191+
192-
											__index = function (self,Index)
192+
193-
												if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
193+
194-
												return Real[Index]
194+
195-
											end;
195+
196-
											__newindex = function (self,Index,Value)
196+
197-
												if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
197+
198-
												if Value == owner then Value = InternalData.RealOwner end
198+
199-
												Real[Index] = Value
199+
200-
											end;
200+
201-
											__tostring = function(self) return tostring(Real) end;
201+
202-
										})
202+
203-
										InternalData.RealObjs[ToReturn] = Real;return ToReturn;
203+
204-
									end
204+
205-
								end
205+
206-
								return function (self,...) return Real[Index](Real,...)end
206+
207
o5.TextureId = "rbxassetid://2114473"
208-
							return Real[Index]
208+
209-
						end;
209+
210-
						__newindex = function (self,Index,Value)
210+
211-
							if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
211+
212-
							if Value == owner then Value = InternalData.RealOwner end
212+
213-
							Real[Index] = Value
213+
214-
						end;
214+
215-
						__tostring = function(self) return tostring(Real) end;
215+
216-
					})
216+
217-
					InternalData.RealObjs[ToReturn] = Real;return ToReturn;
217+
218
o6.TopSurface = Enum.SurfaceType.Smooth
219
o7 = Instance.new("SpecialMesh")
220
o7.Parent = o6
221-
		return InternalData.RealInstance[Index]
221+
222-
	end;
222+
223-
	__tostring = function(self) return tostring(InternalData.RealInstance) end;
223+
224-
});
224+
225-
InternalData.RealGame = game;game = setmetatable({},{
225+
226-
	__index = function (self,Index)
226+
227-
		if InternalData.RealGame[Index] then
227+
228-
			local Type = type(InternalData.RealGame[Index])
228+
229-
			if Type == "function" then
229+
230-
				if Index:lower() == "getservice" or Index:lower() == "service" then
230+
231-
					return function (self,Service)
231+
232-
						local FakeServices = {
232+
233-
							["players"] = function()
233+
234-
								return setmetatable({},{
234+
235-
									__index = function (self2,Index2)
235+
236-
										local RealService = InternalData.RealGame:GetService(Service)
236+
237-
										local Type2 = type(RealService[Index2])
237+
238-
										if Type2 == "function" then
238+
239-
											return function (self,...) return RealService[Index2](RealService,...)end
239+
240-
										else
240+
241-
											if Index2:lower() == "localplayer" then return InternalData.NewOwner end
241+
242-
											return RealService[Index2]
242+
243-
										end
243+
244-
									end;
244+
245-
									__tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
245+
246-
								})
246+
247-
							end;
247+
248-
							["contextactionservice"] = function() return InternalData["ContextActionService"] end;
248+
249-
							["userinputservice"] = function() return InternalData["UserInputService"] end;
249+
250-
							["debris"] = function()
250+
251-
								return setmetatable({},{
251+
252-
									__index = function(self2,Index2)
252+
253-
										local RealService = InternalData.RealGame:GetService(Service)
253+
254-
										local Type2 = type(RealService[Index2])
254+
255-
										if Type2 == "function" then
255+
256-
											if Index2:lower() == "additem" then
256+
257-
												return function (self,Item,Time)
257+
258-
													if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
258+
259-
													return RealService:AddItem(Item,Time)
259+
260-
												end
260+
261-
											end
261+
262-
											return function (self,...) return RealService[Index2](RealService,...) end
262+
263-
										end
263+
264-
										return RealService[Index2]
264+
265-
									end;
265+
266-
									__tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
266+
267-
								})
267+
268-
							end;
268+
269-
							["runservice"] = function()
269+
270-
								return setmetatable({},{
270+
271-
									__index = function(self2,Index2)
271+
272-
										local RealService = InternalData.RealGame:GetService(Service)
272+
273-
										local Type2 = type(RealService[Index2])
273+
274-
										if Type2 == "function" then
274+
275-
											return function (self,...) return RealService[Index2](RealService,...) end
275+
276-
										else
276+
277-
											local RunServices = {
277+
278-
												["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
278+
279-
												["renderstepped"] = function() return RealService["Stepped"] end
279+
280-
											}
280+
281-
											if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
281+
282-
											return RealService[Index2]
282+
283-
										end
283+
284-
									end;
284+
285-
									__tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
285+
286-
								})
286+
287
o15.TextureId = "rbxassetid://2114473"
288-
						}
288+
289-
						if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
289+
290-
						return InternalData.RealGame:GetService(Service)
290+
291
o16.Parent = o1
292
o16.Position = Vector3.new(0, 0.200000018, 0)
293-
				return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
293+
294-
			else
294+
295-
				if game:GetService(Index) then return game:GetService(Index) end
295+
296-
				return InternalData.RealGame[Index]
296+
297
o16.BottomSurface = Enum.SurfaceType.Smooth
298
o16.TopSurface = Enum.SurfaceType.Smooth
299-
		return nil
299+
300-
	end;
300+
301-
	__tostring = function(self) return tostring(InternalData.game) end
301+
302-
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
302+
303
o17.TextureId = "rbxassetid://2114473"
304
o17.MeshType = Enum.MeshType.FileMesh
305
o18 = Instance.new("Part")
306
o18.Name = "20"
307
o18.Parent = o1
308
o18.Position = Vector3.new(-0.5, 0.200000018, 0)
309
o18.Anchored = true
310
o18.CFrame = CFrame.new(-0.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
311
o18.CanCollide = false
312
o18.Size = Vector3.new(0.5, 0.200000003, 0.5)
313
o18.BottomSurface = Enum.SurfaceType.Smooth
314
o18.TopSurface = Enum.SurfaceType.Smooth
315
o19 = Instance.new("SpecialMesh")
316
o19.Parent = o18
317
o19.MeshId = "rbxassetid://9856898"
318
o19.Scale = Vector3.new(1, 0.400000006, 1)
319
o19.TextureId = "rbxassetid://2114473"
320
o19.MeshType = Enum.MeshType.FileMesh
321
o20 = Instance.new("Part")
322
o20.Name = "21"
323
o20.Parent = o1
324
o20.Position = Vector3.new(-1, 0.200000018, 0)
325
o20.Anchored = true
326
o20.CFrame = CFrame.new(-1, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
327
o20.CanCollide = false
328
o20.Size = Vector3.new(0.5, 0.200000003, 0.5)
329
o20.BottomSurface = Enum.SurfaceType.Smooth
330
o20.TopSurface = Enum.SurfaceType.Smooth
331
o21 = Instance.new("SpecialMesh")
332
o21.Parent = o20
333
o21.MeshId = "rbxassetid://9856898"
334
o21.Scale = Vector3.new(1, 0.400000006, 1)
335
o21.TextureId = "rbxassetid://2114473"
336
o21.MeshType = Enum.MeshType.FileMesh
337
o22 = Instance.new("Part")
338
o22.Name = "22"
339
o22.Parent = o1
340
o22.Position = Vector3.new(-1.5, 0.200000018, 0)
341
o22.Anchored = true
342
o22.CFrame = CFrame.new(-1.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
343
o22.CanCollide = false
344
o22.Size = Vector3.new(0.5, 0.200000003, 0.5)
345
o22.BottomSurface = Enum.SurfaceType.Smooth
346
o22.TopSurface = Enum.SurfaceType.Smooth
347
o23 = Instance.new("SpecialMesh")
348
o23.Parent = o22
349
o23.MeshId = "rbxassetid://9856898"
350
o23.Scale = Vector3.new(1, 0.400000006, 1)
351
o23.TextureId = "rbxassetid://2114473"
352
o23.MeshType = Enum.MeshType.FileMesh
353
o24 = Instance.new("Part")
354
o24.Name = "23"
355
o24.Parent = o1
356
o24.Position = Vector3.new(-2, 0.200000018, 0)
357
o24.Anchored = true
358
o24.CFrame = CFrame.new(-2, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
359
o24.CanCollide = false
360
o24.Size = Vector3.new(0.5, 0.200000003, 0.5)
361
o24.BottomSurface = Enum.SurfaceType.Smooth
362
o24.TopSurface = Enum.SurfaceType.Smooth
363
o25 = Instance.new("SpecialMesh")
364
o25.Parent = o24
365
o25.MeshId = "rbxassetid://9856898"
366
o25.Scale = Vector3.new(1, 0.400000006, 1)
367
o25.TextureId = "rbxassetid://2114473"
368
o25.MeshType = Enum.MeshType.FileMesh
369
o26 = Instance.new("Part")
370
o26.Name = "2"
371
o26.Parent = o1
372
o26.Position = Vector3.new(8.5, 0.200000018, 0)
373
o26.Anchored = true
374
o26.CFrame = CFrame.new(8.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
375
o26.CanCollide = false
376
o26.Size = Vector3.new(0.5, 0.200000003, 0.5)
377
o26.BottomSurface = Enum.SurfaceType.Smooth
378
o26.TopSurface = Enum.SurfaceType.Smooth
379
o27 = Instance.new("SpecialMesh")
380
o27.Parent = o26
381
o27.MeshId = "rbxassetid://9856898"
382
o27.Scale = Vector3.new(1, 0.400000006, 1)
383
o27.TextureId = "rbxassetid://2114473"
384
o27.MeshType = Enum.MeshType.FileMesh
385
o28 = Instance.new("Part")
386
o28.Name = "29"
387
o28.Parent = o1
388
o28.Position = Vector3.new(-5, 0.200000018, 0)
389
o28.Anchored = true
390
o28.CFrame = CFrame.new(-5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
391
o28.CanCollide = false
392
o28.Size = Vector3.new(0.5, 0.200000003, 0.5)
393
o28.BottomSurface = Enum.SurfaceType.Smooth
394
o28.TopSurface = Enum.SurfaceType.Smooth
395
o29 = Instance.new("SpecialMesh")
396
o29.Parent = o28
397
o29.MeshId = "rbxassetid://9856898"
398
o29.Scale = Vector3.new(1, 0.400000006, 1)
399
o29.TextureId = "rbxassetid://2114473"
400
o29.MeshType = Enum.MeshType.FileMesh
401
o30 = Instance.new("Part")
402
o30.Name = "30"
403
o30.Parent = o1
404
o30.Position = Vector3.new(-5.5, 0.200000018, 0)
405
o30.Anchored = true
406
o30.CFrame = CFrame.new(-5.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
407
o30.CanCollide = false
408
o30.Size = Vector3.new(0.5, 0.200000003, 0.5)
409
o30.BottomSurface = Enum.SurfaceType.Smooth
410
o30.TopSurface = Enum.SurfaceType.Smooth
411
o31 = Instance.new("SpecialMesh")
412
o31.Parent = o30
413
o31.MeshId = "rbxassetid://9856898"
414
o31.Scale = Vector3.new(1, 0.400000006, 1)
415
o31.TextureId = "rbxassetid://2114473"
416
o31.MeshType = Enum.MeshType.FileMesh
417
o32 = Instance.new("Part")
418
o32.Name = "31"
419
o32.Parent = o1
420
o32.Position = Vector3.new(-6, 0.200000018, 0)
421
o32.Anchored = true
422
o32.CFrame = CFrame.new(-6, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
423
o32.CanCollide = false
424
o32.Size = Vector3.new(0.5, 0.200000003, 0.5)
425
o32.BottomSurface = Enum.SurfaceType.Smooth
426
o32.TopSurface = Enum.SurfaceType.Smooth
427
o33 = Instance.new("SpecialMesh")
428
o33.Parent = o32
429
o33.MeshId = "rbxassetid://9856898"
430
o33.Scale = Vector3.new(1, 0.400000006, 1)
431
o33.TextureId = "rbxassetid://2114473"
432
o33.MeshType = Enum.MeshType.FileMesh
433
o34 = Instance.new("Part")
434
o34.Name = "32"
435
o34.Parent = o1
436
o34.Position = Vector3.new(-6.5, 0.200000018, 0)
437
o34.Anchored = true
438
o34.CFrame = CFrame.new(-6.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
439
o34.CanCollide = false
440
o34.Size = Vector3.new(0.5, 0.200000003, 0.5)
441
o34.BottomSurface = Enum.SurfaceType.Smooth
442
o34.TopSurface = Enum.SurfaceType.Smooth
443
o35 = Instance.new("SpecialMesh")
444
o35.Parent = o34
445
o35.MeshId = "rbxassetid://9856898"
446
o35.Scale = Vector3.new(1, 0.400000006, 1)
447
o35.TextureId = "rbxassetid://2114473"
448
o35.MeshType = Enum.MeshType.FileMesh
449
o36 = Instance.new("Part")
450
o36.Name = "33"
451
o36.Parent = o1
452
o36.Position = Vector3.new(-7, 0.200000018, 0)
453
o36.Anchored = true
454
o36.CFrame = CFrame.new(-7, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
455
o36.CanCollide = false
456
o36.Size = Vector3.new(0.5, 0.200000003, 0.5)
457
o36.BottomSurface = Enum.SurfaceType.Smooth
458
o36.TopSurface = Enum.SurfaceType.Smooth
459
o37 = Instance.new("SpecialMesh")
460
o37.Parent = o36
461
o37.MeshId = "rbxassetid://9856898"
462
o37.Scale = Vector3.new(1, 0.400000006, 1)
463
o37.TextureId = "rbxassetid://2114473"
464
o37.MeshType = Enum.MeshType.FileMesh
465
o38 = Instance.new("Part")
466
o38.Name = "3"
467
o38.Parent = o1
468
o38.Position = Vector3.new(8, 0.200000018, 0)
469
o38.Anchored = true
470
o38.CFrame = CFrame.new(8, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
471
o38.CanCollide = false
472
o38.Size = Vector3.new(0.5, 0.200000003, 0.5)
473
o38.BottomSurface = Enum.SurfaceType.Smooth
474
o38.TopSurface = Enum.SurfaceType.Smooth
475
o39 = Instance.new("SpecialMesh")
476
o39.Parent = o38
477
o39.MeshId = "rbxassetid://9856898"
478
o39.Scale = Vector3.new(1, 0.400000006, 1)
479
o39.TextureId = "rbxassetid://2114473"
480
o39.MeshType = Enum.MeshType.FileMesh
481
o40 = Instance.new("Part")
482
o40.Name = "14"
483
o40.Parent = o1
484
o40.Position = Vector3.new(2.5, 0.200000018, 0)
485
o40.Anchored = true
486
o40.CFrame = CFrame.new(2.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
487
o40.CanCollide = false
488
o40.Size = Vector3.new(0.5, 0.200000003, 0.5)
489
o40.BottomSurface = Enum.SurfaceType.Smooth
490
o40.TopSurface = Enum.SurfaceType.Smooth
491
o41 = Instance.new("SpecialMesh")
492
o41.Parent = o40
493
o41.MeshId = "rbxassetid://9856898"
494
o41.Scale = Vector3.new(1, 0.400000006, 1)
495
o41.TextureId = "rbxassetid://2114473"
496
o41.MeshType = Enum.MeshType.FileMesh
497
o42 = Instance.new("Part")
498
o42.Name = "24"
499
o42.Parent = o1
500
o42.Position = Vector3.new(-2.5, 0.200000018, 0)
501
o42.Anchored = true
502
o42.CFrame = CFrame.new(-2.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
503
o42.CanCollide = false
504
o42.Size = Vector3.new(0.5, 0.200000003, 0.5)
505
o42.BottomSurface = Enum.SurfaceType.Smooth
506
o42.TopSurface = Enum.SurfaceType.Smooth
507
o43 = Instance.new("SpecialMesh")
508
o43.Parent = o42
509
o43.MeshId = "rbxassetid://9856898"
510
o43.Scale = Vector3.new(1, 0.400000006, 1)
511
o43.TextureId = "rbxassetid://2114473"
512
o43.MeshType = Enum.MeshType.FileMesh
513
o44 = Instance.new("Part")
514
o44.Name = "4"
515
o44.Parent = o1
516
o44.Position = Vector3.new(7.5, 0.200000018, 0)
517
o44.Anchored = true
518
o44.CFrame = CFrame.new(7.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
519
o44.CanCollide = false
520
o44.Size = Vector3.new(0.5, 0.200000003, 0.5)
521
o44.BottomSurface = Enum.SurfaceType.Smooth
522
o44.TopSurface = Enum.SurfaceType.Smooth
523
o45 = Instance.new("SpecialMesh")
524
o45.Parent = o44
525
o45.MeshId = "rbxassetid://9856898"
526
o45.Scale = Vector3.new(1, 0.400000006, 1)
527
o45.TextureId = "rbxassetid://2114473"
528
o45.MeshType = Enum.MeshType.FileMesh
529
o46 = Instance.new("Part")
530
o46.Name = "34"
531
o46.Parent = o1
532
o46.Position = Vector3.new(-7.5, 0.200000018, 0)
533
o46.Anchored = true
534
o46.CFrame = CFrame.new(-7.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
535
o46.CanCollide = false
536
o46.Size = Vector3.new(0.5, 0.200000003, 0.5)
537
o46.BottomSurface = Enum.SurfaceType.Smooth
538
o46.TopSurface = Enum.SurfaceType.Smooth
539
o47 = Instance.new("SpecialMesh")
540
o47.Parent = o46
541
o47.MeshId = "rbxassetid://9856898"
542
o47.Scale = Vector3.new(1, 0.400000006, 1)
543
o47.TextureId = "rbxassetid://2114473"
544
o47.MeshType = Enum.MeshType.FileMesh
545
o48 = Instance.new("Part")
546
o48.Name = "15"
547
o48.Parent = o1
548
o48.Position = Vector3.new(2, 0.200000018, 0)
549
o48.Anchored = true
550
o48.CFrame = CFrame.new(2, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
551
o48.CanCollide = false
552
o48.Size = Vector3.new(0.5, 0.200000003, 0.5)
553
o48.BottomSurface = Enum.SurfaceType.Smooth
554
o48.TopSurface = Enum.SurfaceType.Smooth
555
o49 = Instance.new("SpecialMesh")
556
o49.Parent = o48
557
o49.MeshId = "rbxassetid://9856898"
558
o49.Scale = Vector3.new(1, 0.400000006, 1)
559
o49.TextureId = "rbxassetid://2114473"
560
o49.MeshType = Enum.MeshType.FileMesh
561
o50 = Instance.new("Part")
562
o50.Name = "25"
563
o50.Parent = o1
564
o50.Position = Vector3.new(-3, 0.200000018, 0)
565
o50.Anchored = true
566
o50.CFrame = CFrame.new(-3, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
567
o50.CanCollide = false
568
o50.Size = Vector3.new(0.5, 0.200000003, 0.5)
569
o50.BottomSurface = Enum.SurfaceType.Smooth
570
o50.TopSurface = Enum.SurfaceType.Smooth
571
o51 = Instance.new("SpecialMesh")
572
o51.Parent = o50
573
o51.MeshId = "rbxassetid://9856898"
574
o51.Scale = Vector3.new(1, 0.400000006, 1)
575
o51.TextureId = "rbxassetid://2114473"
576
o51.MeshType = Enum.MeshType.FileMesh
577
o52 = Instance.new("Part")
578
o52.Name = "5"
579
o52.Parent = o1
580
o52.Position = Vector3.new(7, 0.200000018, 0)
581
o52.Anchored = true
582
o52.CFrame = CFrame.new(7, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
583
o52.CanCollide = false
584
o52.Size = Vector3.new(0.5, 0.200000003, 0.5)
585
o52.BottomSurface = Enum.SurfaceType.Smooth
586
o52.TopSurface = Enum.SurfaceType.Smooth
587
o53 = Instance.new("SpecialMesh")
588
o53.Parent = o52
589
o53.MeshId = "rbxassetid://9856898"
590
o53.Scale = Vector3.new(1, 0.400000006, 1)
591
o53.TextureId = "rbxassetid://2114473"
592
o53.MeshType = Enum.MeshType.FileMesh
593
o54 = Instance.new("Part")
594
o54.Name = "35"
595
o54.Parent = o1
596
o54.Position = Vector3.new(-8, 0.200000018, 0)
597
o54.Anchored = true
598
o54.CFrame = CFrame.new(-8, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
599
o54.CanCollide = false
600
o54.Size = Vector3.new(0.5, 0.200000003, 0.5)
601
o54.BottomSurface = Enum.SurfaceType.Smooth
602
o54.TopSurface = Enum.SurfaceType.Smooth
603
o55 = Instance.new("SpecialMesh")
604
o55.Parent = o54
605
o55.MeshId = "rbxassetid://9856898"
606
o55.Scale = Vector3.new(1, 0.400000006, 1)
607
o55.TextureId = "rbxassetid://2114473"
608
o55.MeshType = Enum.MeshType.FileMesh
609
o56 = Instance.new("Part")
610
o56.Name = "16"
611
o56.Parent = o1
612
o56.Position = Vector3.new(1.5, 0.200000018, 0)
613
o56.Anchored = true
614
o56.CFrame = CFrame.new(1.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
615
o56.CanCollide = false
616
o56.Size = Vector3.new(0.5, 0.200000003, 0.5)
617
o56.BottomSurface = Enum.SurfaceType.Smooth
618
o56.TopSurface = Enum.SurfaceType.Smooth
619
o57 = Instance.new("SpecialMesh")
620
o57.Parent = o56
621
o57.MeshId = "rbxassetid://9856898"
622
o57.Scale = Vector3.new(1, 0.400000006, 1)
623
o57.TextureId = "rbxassetid://2114473"
624
o57.MeshType = Enum.MeshType.FileMesh
625
o58 = Instance.new("Part")
626
o58.Name = "6"
627
o58.Parent = o1
628
o58.Position = Vector3.new(6.5, 0.200000018, 0)
629
o58.Anchored = true
630
o58.CFrame = CFrame.new(6.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
631
o58.CanCollide = false
632
o58.Size = Vector3.new(0.5, 0.200000003, 0.5)
633
o58.BottomSurface = Enum.SurfaceType.Smooth
634
o58.TopSurface = Enum.SurfaceType.Smooth
635
o59 = Instance.new("SpecialMesh")
636
o59.Parent = o58
637
o59.MeshId = "rbxassetid://9856898"
638
o59.Scale = Vector3.new(1, 0.400000006, 1)
639
o59.TextureId = "rbxassetid://2114473"
640
o59.MeshType = Enum.MeshType.FileMesh
641
o60 = Instance.new("Part")
642
o60.Name = "26"
643
o60.Parent = o1
644
o60.Position = Vector3.new(-3.5, 0.200000018, 0)
645
o60.Anchored = true
646
o60.CFrame = CFrame.new(-3.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
647
o60.CanCollide = false
648
o60.Size = Vector3.new(0.5, 0.200000003, 0.5)
649
o60.BottomSurface = Enum.SurfaceType.Smooth
650
o60.TopSurface = Enum.SurfaceType.Smooth
651
o61 = Instance.new("SpecialMesh")
652
o61.Parent = o60
653
o61.MeshId = "rbxassetid://9856898"
654
o61.Scale = Vector3.new(1, 0.400000006, 1)
655
o61.TextureId = "rbxassetid://2114473"
656
o61.MeshType = Enum.MeshType.FileMesh
657
o62 = Instance.new("Part")
658
o62.Name = "36"
659
o62.Parent = o1
660
o62.Position = Vector3.new(-8.5, 0.200000018, 0)
661
o62.Anchored = true
662
o62.CFrame = CFrame.new(-8.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
663
o62.CanCollide = false
664
o62.Size = Vector3.new(0.5, 0.200000003, 0.5)
665
o62.BottomSurface = Enum.SurfaceType.Smooth
666
o62.TopSurface = Enum.SurfaceType.Smooth
667
o63 = Instance.new("SpecialMesh")
668
o63.Parent = o62
669
o63.MeshId = "rbxassetid://9856898"
670
o63.Scale = Vector3.new(1, 0.400000006, 1)
671
o63.TextureId = "rbxassetid://2114473"
672
o63.MeshType = Enum.MeshType.FileMesh
673
o64 = Instance.new("Part")
674
o64.Name = "17"
675
o64.Parent = o1
676
o64.Position = Vector3.new(1, 0.200000018, 0)
677
o64.Anchored = true
678
o64.CFrame = CFrame.new(1, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
679
o64.CanCollide = false
680
o64.Size = Vector3.new(0.5, 0.200000003, 0.5)
681
o64.BottomSurface = Enum.SurfaceType.Smooth
682
o64.TopSurface = Enum.SurfaceType.Smooth
683
o65 = Instance.new("SpecialMesh")
684
o65.Parent = o64
685
o65.MeshId = "rbxassetid://9856898"
686
o65.Scale = Vector3.new(1, 0.400000006, 1)
687
o65.TextureId = "rbxassetid://2114473"
688
o65.MeshType = Enum.MeshType.FileMesh
689
o66 = Instance.new("Part")
690
o66.Name = "27"
691
o66.Parent = o1
692
o66.Position = Vector3.new(-4, 0.200000018, 0)
693
o66.Anchored = true
694
o66.CFrame = CFrame.new(-4, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
695
o66.CanCollide = false
696
o66.Size = Vector3.new(0.5, 0.200000003, 0.5)
697
o66.BottomSurface = Enum.SurfaceType.Smooth
698
o66.TopSurface = Enum.SurfaceType.Smooth
699
o67 = Instance.new("SpecialMesh")
700
o67.Parent = o66
701
o67.MeshId = "rbxassetid://9856898"
702
o67.Scale = Vector3.new(1, 0.400000006, 1)
703
o67.TextureId = "rbxassetid://2114473"
704
o67.MeshType = Enum.MeshType.FileMesh
705
o68 = Instance.new("Part")
706
o68.Name = "7"
707
o68.Parent = o1
708
o68.Position = Vector3.new(6, 0.200000018, 0)
709
o68.Anchored = true
710
o68.CFrame = CFrame.new(6, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
711
o68.CanCollide = false
712
o68.Size = Vector3.new(0.5, 0.200000003, 0.5)
713
o68.BottomSurface = Enum.SurfaceType.Smooth
714
o68.TopSurface = Enum.SurfaceType.Smooth
715
o69 = Instance.new("SpecialMesh")
716
o69.Parent = o68
717
o69.MeshId = "rbxassetid://9856898"
718
o69.Scale = Vector3.new(1, 0.400000006, 1)
719
o69.TextureId = "rbxassetid://2114473"
720
o69.MeshType = Enum.MeshType.FileMesh
721
o70 = Instance.new("Part")
722
o70.Name = "37"
723
o70.Parent = o1
724
o70.Position = Vector3.new(-9, 0.200000018, 0)
725
o70.Anchored = true
726
o70.CFrame = CFrame.new(-9, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
727
o70.CanCollide = false
728
o70.Size = Vector3.new(0.5, 0.200000003, 0.5)
729
o70.BottomSurface = Enum.SurfaceType.Smooth
730
o70.TopSurface = Enum.SurfaceType.Smooth
731
o71 = Instance.new("SpecialMesh")
732
o71.Parent = o70
733
o71.MeshId = "rbxassetid://9856898"
734
o71.Scale = Vector3.new(1, 0.400000006, 1)
735
o71.TextureId = "rbxassetid://2114473"
736
o71.MeshType = Enum.MeshType.FileMesh
737
o72 = Instance.new("Part")
738
o72.Name = "8"
739
o72.Parent = o1
740
o72.Position = Vector3.new(5.5, 0.200000018, 0)
741
o72.Anchored = true
742
o72.CFrame = CFrame.new(5.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
743
o72.CanCollide = false
744
o72.Size = Vector3.new(0.5, 0.200000003, 0.5)
745
o72.BottomSurface = Enum.SurfaceType.Smooth
746
o72.TopSurface = Enum.SurfaceType.Smooth
747
o73 = Instance.new("SpecialMesh")
748
o73.Parent = o72
749
o73.MeshId = "rbxassetid://9856898"
750
o73.Scale = Vector3.new(1, 0.400000006, 1)
751
o73.TextureId = "rbxassetid://2114473"
752
o73.MeshType = Enum.MeshType.FileMesh
753
o74 = Instance.new("Part")
754
o74.Name = "18"
755
o74.Parent = o1
756
o74.Position = Vector3.new(0.5, 0.200000018, 0)
757
o74.Anchored = true
758
o74.CFrame = CFrame.new(0.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
759
o74.CanCollide = false
760
o74.Size = Vector3.new(0.5, 0.200000003, 0.5)
761
o74.BottomSurface = Enum.SurfaceType.Smooth
762
o74.TopSurface = Enum.SurfaceType.Smooth
763
o75 = Instance.new("SpecialMesh")
764
o75.Parent = o74
765
o75.MeshId = "rbxassetid://9856898"
766
o75.Scale = Vector3.new(1, 0.400000006, 1)
767
o75.TextureId = "rbxassetid://2114473"
768
o75.MeshType = Enum.MeshType.FileMesh
769
o76 = Instance.new("Part")
770
o76.Name = "28"
771
o76.Parent = o1
772
o76.Position = Vector3.new(-4.5, 0.200000018, 0)
773
o76.Anchored = true
774
o76.CFrame = CFrame.new(-4.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
775
o76.CanCollide = false
776
o76.Size = Vector3.new(0.5, 0.200000003, 0.5)
777
o76.BottomSurface = Enum.SurfaceType.Smooth
778
o76.TopSurface = Enum.SurfaceType.Smooth
779
o77 = Instance.new("SpecialMesh")
780
o77.Parent = o76
781
o77.MeshId = "rbxassetid://9856898"
782
o77.Scale = Vector3.new(1, 0.400000006, 1)
783
o77.TextureId = "rbxassetid://2114473"
784
o77.MeshType = Enum.MeshType.FileMesh
785
o78 = Instance.new("Part")
786
o78.Name = "38"
787
o78.Parent = o1
788
o78.Position = Vector3.new(-9.5, 0.200000018, 0)
789
o78.Anchored = true
790
o78.CFrame = CFrame.new(-9.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
791
o78.CanCollide = false
792
o78.Size = Vector3.new(0.5, 0.200000003, 0.5)
793
o78.BottomSurface = Enum.SurfaceType.Smooth
794
o78.TopSurface = Enum.SurfaceType.Smooth
795
o79 = Instance.new("SpecialMesh")
796
o79.Parent = o78
797
o79.MeshId = "rbxassetid://9856898"
798
o79.Scale = Vector3.new(1, 0.400000006, 1)
799
o79.TextureId = "rbxassetid://2114473"
800
o79.MeshType = Enum.MeshType.FileMesh
801
o80 = Instance.new("SpecialMesh")
802
o80.Parent = o1
803
o80.MeshId = "rbxassetid://9856898"
804
o80.Scale = Vector3.new(40, 0.400000006, 2)
805
o80.TextureId = "rbxassetid://2114473"
806
o80.VertexColor = Vector3.new(0, 0, 0)
807
o80.MeshType = Enum.MeshType.FileMesh
808
mas.Parent = game.Players.LocalPlayer.Character.Torso
809
mas:MakeJoints()
810
local mas1 = mas:GetChildren()
811
for i=1,#mas1 do
812
	mas1[i].Parent = game.Players.LocalPlayer.Character.Torso
813
	ypcall(function() mas1[i]:MakeJoints() end)
814
end
815
mas:Destroy()
816
for i=1,#cors do
817
coroutine.resume(cors[i])
818
end
819
820
local Height=9 -- Max height of the bars
821
local plr=game.Players.LocalPlayer
822
823
o81 = Instance.new("Sound")
824
o81.Parent = plr.Character.Torso
825
o81.SoundId = "rbxassetid://"
826
o81.Volume = 1
827
o81.Looped = false
828
829
o82 = Instance.new("PointLight")
830
o82.Parent = plr.Character.Torso
831
o82.Range = 24
832
833
--Startup Interface--
834
local head = game.Players.LocalPlayer.Character.Head
835
local bg = Instance.new("BillboardGui",head)
836
bg.Name = "Startup"
837
bg.AlwaysOnTop = true
838
bg.StudsOffset = Vector3.new(0,4,0)
839
local bgframe = Instance.new("Frame",bg)
840
bgframe.BackgroundTransparency = 1
841
bgframe.Size = UDim2.new(0,200,0,25)
842
bgframe.Position = UDim2.new(0.5,-100,0.5,-12)
843
local bgtxt = Instance.new("TextLabel",bgframe)
844
bgtxt.Size = UDim2.new(0,200,0,25)
845
bgtxt.FontSize = "Size24"
846
bgtxt.Position = UDim2.new(0.5,-100,0.5,-12)
847
bgtxt.BackgroundTransparency = 1
848
bgtxt.TextColor3 = BrickColor.new("Gold").Color
849
bgtxt.TextStrokeColor3=Color3.new(0,0,0)
850
bgtxt.TextStrokeTransparency = 0
851
bgtxt.Font = "SciFi"
852
bgtxt.TextScaled = false
853
spawn(function()
854
    local txt1 = "hi, its me, tame lol"
855
    local txt2 = "credits: me sir, im so good (not)"
856
    for i=1,#txt1 do
857
        bgtxt.Text = txt1:sub(1,i)
858
        wait()
859
    end
860
    wait()
861
    for i=#txt1,1,-1 do
862
        bgtxt.Text = txt1:sub(1,i)
863
        wait()
864
    end
865
    wait()
866
    for i=1,#txt2 do
867
        bgtxt.Text = txt2:sub(1,i)
868
        wait()
869
    end
870
    wait()
871
    for i=#txt2,1,-1 do
872
        bgtxt.Text = txt2:sub(1,i)
873
        wait()
874
    end
875
    wait()
876
    for i=0,1,0.1 do
877
        bgtxt.TextTransparency = i
878
		bgtxt.TextStrokeTransparency = i
879
        wait()
880
    end
881
    bg:Destroy()
882
end)
883
--Startup Interface--
884
885
local Soundbar=game.Players.LocalPlayer.Character.Torso.Soundbar
886
local Sound=plr.Character.Torso.Sound
887
local Bars={}	for i,v in next,Soundbar:children() do
888
					if v:IsA'BasePart' then
889
						table.insert(Bars,v)
890
					end
891
				end Height=Height*2
892
local nBars,Tweens=#Bars-1,{}
893
894
-- EASING FUNCTIONS --
895
local function quadIn(t,b,c,d) t=t/d; return c*t*t+b; end;
896
local function quadOut(t,b,c,d) t=t/d; return -c*t*(t-2)+b; end;
897
local function Quad(obj,val,ease,d)
898
	local t,f,con,nt,st,sd=tick()
899
	Tweens[obj]=t -- Set identifier
900
	st=obj.Scale.Y -- Start Value
901
	sd=val-st -- Change in Value
902
	f=ease=='In' and quadIn or quadOut -- Choose between Out/In
903
	con=game:GetService'RunService'.RenderStepped:connect(function() nt=tick()-t
904
		if Tweens[obj]~=t then -- Check for override
905
			con:disconnect()
906
			return
907
		end
908
		local nv=math.max(.2,f(math.min(d,nt),st,sd,d)) -- New Value
909
		obj.Scale=Vector3.new(.9,nv,.9)
910
		obj.Offset=Vector3.new(0,nv/4,0)
911
		obj.VertexColor=Vector3.new(cycle(tick()))
912
		o82.Color = Color3.new(cycle(tick()))
913
		if nt>d then -- Easing done?
914
			con:disconnect()
915
			if ease~='In' then
916
				Quad(obj,.2,'In',.3) -- Drop the bar
917
			end
918
		end
919
	end)
920
end
921
922
-- BAR MANIPULATION --
923
local function CheckSet(N,S,D) -- Number, Scale, Direction
924
	local nS=Soundbar[tostring(N)].Mesh.Scale.Y
925
	if S>nS then
926
		Set(N,nS+(S-nS)/3,D)
927
	end
928
end
929
930
function Set(N,S,D) -- Number, Scale, Direction
931
	Quad(Soundbar[tostring(N)].Mesh,S,'Out',.1) -- Grabs the bar and tweens
932
	if N>0 and D~=1 then -- Checks left for smaller bars to manipulate
933
		CheckSet(N-1,S,-1)
934
	end
935
	if N<nBars and D~=-1 then -- Checks right...
936
		CheckSet(N+1,S,1)
937
	end
938
end
939
940
-- RENDER LOOP --
941
local MPL,PL,curr=0 curr=Sound.SoundId
942
spawn(function()
943
game:service'RunService'.RenderStepped:connect(function()
944
	PL=Sound.PlaybackLoudness
945
	if Sound.IsPlaying and PL==PL then -- Sound is playing & PlaybackLoudness is not undefined
946
		if curr~=Sound.SoundId then MPL=0 -- Reset the relative Max PlaybackLoudness on song change
947
			curr=Sound.SoundId
948
		end
949
		MPL=math.max(PL,MPL) PL=PL/MPL -- Normalize PL based on relative Max PlaybackLoudness
950
		if PL==PL then
951
			Set(math.floor(PL*nBars),PL*Height*1) -- Modify bar relative to PlaybackLoudness
952
		end
953
	end
954
end)
955
end)
956
957
local play = false
958
--Function Chat Start--
959
function Chat(Message)
960
	pcall(function()
961
		for i,v in pairs(game.Players.LocalPlayer.Character.Head:GetChildren()) do
962
		if v.ClassName == "BillboardGui" and v.Name ~= "Startup" then
963
        v.Frame.TextLabel.TextTransparency = v.Frame.TextLabel.TextTransparency - 0.5
964
        wait()
965
		v:Remove()
966
		end
967
	end 
968
end)
969
local head = game.Players.LocalPlayer.Character.Head
970
local bg = Instance.new("BillboardGui",head)
971
bg.Name = "MusicNotify"
972
bg.AlwaysOnTop = true
973
bg.StudsOffset = Vector3.new(0,4,0)
974
local bgframe = Instance.new("Frame",bg)
975
bgframe.BackgroundTransparency = 1
976
bgframe.Size = UDim2.new(0,200,0,25)
977
bgframe.Position = UDim2.new(0.5,-100,0.5,-12)
978
local bgtxt = Instance.new("TextLabel",bgframe)
979
bgtxt.Size = UDim2.new(0,200,0,25)
980
bgtxt.FontSize = "Size24"
981
bgtxt.Position = UDim2.new(0.5,-100,0.5,-12)
982
bgtxt.BackgroundTransparency = 1
983
bgtxt.TextColor3 = BrickColor.new("Gold").Color
984
bgtxt.TextStrokeColor3=Color3.new(0,0,0)
985
bgtxt.TextStrokeTransparency = 0
986
bgtxt.Font = "SciFi"
987
bgtxt.TextScaled = false
988
spawn(function()
989
    local txt1 = Message
990
    for i=1,#txt1 do
991
        bgtxt.Text = txt1:sub(1,i)
992
        wait()
993
    end
994
    wait()
995
    for i=#txt1,1,-1 do
996
        bgtxt.Text = txt1:sub(1,i)
997
        wait()
998
    end
999
    wait()
1000
    for i=0,1,0.1 do
1001
        bgtxt.TextTransparency = i
1002
        wait()
1003
    end
1004
    bg:Destroy()
1005
	end)
1006
end
1007
1008
local play = true
1009
local Pause = false
1010
--function chat end--
1011
local Songs = {
1012
{SongName = 'Avril Lavigne - Girlfriend', SongDesc = 'Nil', Creator = 'Ayeekillerpro', ID = 333259850};		
1013
{SongName = 'Chris Brown & Tyga - Ayo [Jason Nevins Remix]', SongDesc = 'Nil', Creator = 'Nil', ID = 262514615};	
1014
{SongName = 'Charli XCX - Boom clap', SongDesc = 'Nil', Creator = 'brightnikki', ID = 160594536};	
1015
{SongName = 'Calvin Harris & Alesso - Under control ft. Hurts', SongDesc = 'Nil', Creator = 'Nil', ID = 152190091};
1016
{SongName = 'Soulja Boy Tell\'em - Crank That', SongDesc = 'Nil', Creator = 'jdude567', ID = 174655936};
1017
{SongName = 'Love Me Harder- Ariana Grande', SongDesc = 'Nil', Creator = 'Violisse', ID = 174577922};
1018
}
1019
1020
function PlayList()
1021
	local sng = Songs[math.random(1,#Songs)]
1022
	Sound.SoundId = 'rbxassetid://'..sng.ID
1023
	Sound:Play()
1024
	Chat("Now Playing: \n"..game:GetService("MarketplaceService"):GetProductInfo(sng.ID).Name)
1025
	repeat wait() until Sound.IsPaused == true
1026
    if play == false then return end
1027
    if Pause == true then return end
1028
	PlayList()
1029
end
1030
local Loop = false
1031
local Locked
1032
p = game:GetService('Players').LocalPlayer
1033
p.Chatted:connect(function(msg)
1034
	if msg:sub(1,5):lower()=='play/' then
1035
		play = true
1036
		local val = Instance.new("NumberValue", p.Character)
1037
		val.Name = "SongID"
1038
		val.Value = tonumber(msg:sub(6))
1039
		local id = val.Value
1040
		Sound:Stop()
1041
		Sound.SoundId='rbxassetid://'..id
1042
		Sound:Play()
1043
		Chat("Now Playing: \n"..game:GetService("MarketplaceService"):GetProductInfo(val.Value).Name)
1044
		wait(1)
1045
		val:Remove()
1046
	elseif msg:sub(1,4):lower()=='vol/' then
1047
		local val = Instance.new("NumberValue", p.Character)
1048
		val.Name = "VolID"
1049
		val.Value = tonumber(msg:sub(5))
1050
		if val.Value > 10 then val.Value = 10
1051
		end
1052
		local id = val.Value
1053
		Sound.Volume = id
1054
		Chat("Set Volume To: "..id.."")
1055
		val:Remove()
1056
		
1057
	elseif msg:sub(1,5):lower()=='dist/' then
1058
		local val = Instance.new("NumberValue", p.Character)
1059
		val.Name = "Distance"
1060
		val.Value = tonumber(msg:sub(6))
1061
		if val.Value > 10000 then val.Value = 10000
1062
		end
1063
		local id = val.Value
1064
		Sound.MaxDistance = id
1065
		Chat("Set Max Distance To: "..id.."")
1066
		val:Remove()		
1067
1068
	elseif msg:sub(1,6) == 'start/' then
1069
		play = true
1070
		PlayList()
1071
1072
	elseif msg:sub(1,5) == 'loop/' and Loop == false then
1073
		Loop = true
1074
		Chat("Music Loop Enabled")
1075
		game.Players.LocalPlayer.Character.Torso.Sound.Looped = true
1076
1077
	elseif msg:sub(1,5) == 'loop/' and Loop == true then
1078
		Loop = false
1079
		Chat("Music Loop Disabled")
1080
		game.Players.LocalPlayer.Character.Torso.Sound.Looped = false
1081
1082
	elseif msg:sub(1,6) == 'pause/' and Pause == false then
1083
		Pause = true
1084
		Chat("Music Paused")
1085
		game.Players.LocalPlayer.Character.Torso.Sound:Pause()
1086
1087
	elseif msg:sub(1,6) == 'pause/' and Pause == true then
1088
		Pause = false
1089
		Chat("Music Unpaused")
1090
		game.Players.LocalPlayer.Character.Torso.Sound:Resume()
1091
1092
	elseif msg:sub(1,5) == 'skip/' then
1093
		play = false
1094
	    	Sound:Stop()
1095
		play = true
1096
	   	 PlayList()
1097
1098
	elseif msg:sub(1,5) == 'stop/' then
1099
		Chat("Stopped Music Spectrum")
1100
		play = false
1101
	    	Sound:Stop()
1102
	end
1103
1104
end)
1105
1106
local CRot = 1
1107
local rad,sin,ceil=math.rad,math.sin,math.ceil
1108
	
1109
Sound:Play()
1110
1111
local Parts = {}
1112
for Index,v in pairs(o1:children'') do
1113
	if v:IsA'Part' then
1114
		table.insert(Parts,v)
1115
	end
1116
end
1117
1118
	spawn(function()
1119
game:service'RunService'.RenderStepped:connect(function()
1120
	for Index,v in pairs(o1:children'') do
1121
		if v:IsA'Part' then
1122
v.CFrame = CFrame.new(plr.Character.Torso.Position)
1123
								*CFrame.Angles(0,rad((360/#Parts*Index+(tick())*60/(#Parts ~= 0 and #Parts or 1))%360),0)
1124
								*CFrame.new(0, -3, (5+#Parts)*.35+v.Size.X)
1125
								*CFrame.Angles(0,90+CRot,0)
1126
							end
1127
				end
1128
1129
		end)
1130
end)