SHOW:
|
|
- or go back to the newest paste.
1 | - | explorer = Instance.new("Tool",game.Players.LocalPlayer.Backpack) ------- YOUR NAME HERE PLEASE |
1 | + | explorer = Instance.new("Tool",game.Players.LocalPlayer.Backpack) ------- bee1474 |
2 | explorer.GripPos = Vector3.new(-0.10000000149012,-0.10000000149012,0) | |
3 | explorer.Grip = CFrame.new(-0.10000000149012,-0.10000000149012,0) * CFrame.Angles(1.5707963705063, -1.5707963705063, 0) | |
4 | explorer.GripForward = Vector3.new(1,-0,-0) | |
5 | explorer.Name = "Explorer" | |
6 | explorer.GripRight = Vector3.new(0,-1,0) | |
7 | explorer.GripUp = Vector3.new(0,0,1) | |
8 | ||
9 | handle = Instance.new("Part",explorer) | |
10 | handle.FormFactor = Enum.FormFactor.Symmetric | |
11 | handle.TopSurface = Enum.SurfaceType.Smooth | |
12 | handle.Size = Vector3.new(1,1,3) | |
13 | handle.Name = "Handle" | |
14 | handle.CFrame = CFrame.new(25.5,0.5,19.5) * CFrame.Angles(-1.5707963705063, -1.5707963705063, 0) | |
15 | handle.BrickColor = BrickColor.new("Institutional white") | |
16 | handle.Friction = 0.30000001192093 | |
17 | handle.BottomSurface = Enum.SurfaceType.Smooth | |
18 | ||
19 | mesh = Instance.new("SpecialMesh",handle) | |
20 | mesh.Scale = Vector3.new(0.89999997615814,0.89999997615814,0.89999997615814) | |
21 | mesh.MeshId = "http://www.roblox.com/asset/?id=18715644" | |
22 | mesh.TextureId = "http://www.roblox.com/asset/?id=24562746" | |
23 | mesh.MeshType = Enum.MeshType.FileMesh | |
24 | ||
25 | Properties={nil,"Name","className","Parent","archivable","AttachmentForward","AttachmentPos","AttachmentRight","AttachmentUp","AnimationId","HeadColor","RightArmColor","LeftArmColor","TorsoColor","LeftLegColor","RightLegColor","Value","CameraType","CameraSubject","BaseTextureId","BodyPart","MeshId","OverlayTextureId","MaxActivationDistance","Shiny","Specular","Texture","Face","GripForward","GripPos","GripRight","GripUp","TextureId","TeamColor","Enabled","CFrame","BrickColor","Material","Reflectance","Transparency","Position","RotVelocity","Velocity","Anchored","CanCollide","Locked","Elasticity","Friction","Shape","Size","formFactor","BackSurface","BottomSurface","FrontSurface","LeftSurface","RightSurface","TopSurface","AbsolutePosition","AbsoluteSize","Active","BackgroundColor3","BackgroundTransparency","BorderColor3","BorderSizePixel","SizeConstraint","Visible","ZIndex","C0","C1","Part0","Part1","BinType","LeftLeg","RightLeg","Torso","Health","MaxHealth","WalkSpeed","Jump","PlatformStand","Sit","AutoButtonColor","Image","LinkedSource","Disabled","Text","PrimaryPart","CurrentAngle","DesiredAngle","MaxVelocity","PantsTemplate","ShirtTemplate","SoundId","Pitch","IsPlaying","IsPaused","Looped","PlayOnRemove","StudsPerTileU","StudsPerTileV","userId","BubbleChat","ClassicChat","MaxPlayers","NumPlayers","LocalPlayer","CharacterAppearance","Character","CurrentCamera","Ambient","Brightness","ColorShift_Bottom","ColorShift_Top","ShadowColor","GeographicLatitude","TimeOfDay","AmbientReverb","DistanceFactor","DopplerScale","RolloffScale"} | |
26 | GlobalProperties={nil,"Name","className","Parent","archivable"} | |
27 | GlobalEvents={nil,"AncestryChanged","ChildAdded","ChildRemoved","DescendantAdded","DescendantRemoving"} | |
28 | GlobalFunctions={nil,"Clone","FindFirstChild","GetChildren","GetFullName","IsA","IsAncesterOf","IsDescendantOf","Remove"} | |
29 | local Selection=game | |
30 | local updateDebounce=1 | |
31 | local Name="SpleenYanks" | |
32 | local Name=explorer.Parent.Parent.Name | |
33 | local P=game.Players:FindFirstChild(Name) | |
34 | if (P~=nil) then | |
35 | explorer.Parent=P.PlayerGui | |
36 | end | |
37 | Base="http://www.roblox.com/asset/?id=" | |
38 | Images={Value=40332408,Sound=40332463,Script=40332546,ScreenGui=40332596,Part=40332760,Nil=40332825,Model=40332865,Message=40332942,LocalScript=40332996,Joint=40333049,Frame=40333121,Camera=40333217,Backpack=40333260,Player=40332674,Body=40339623,HopperBin=40339572,Tool=40339513,Workspace=40484518,Mesh=40484580,Property=40493937,Animation=40531758,Hat=40531808,Humanoid=40531903} | |
39 | Min=1 | |
40 | Max=40 | |
41 | MAXPAGEN=40 | |
42 | --[[==================================================================]] | |
43 | function GetProperties(Object,Table) | |
44 | local Return={} | |
45 | local function C() end | |
46 | for i=1,#Table do | |
47 | if pcall(function() C(Object[Table[i]]) end) then | |
48 | if (Object:FindFirstChild(Table[i])==nil) then | |
49 | table.insert(Return,Table[i]) | |
50 | end end end | |
51 | return Return | |
52 | end | |
53 | ||
54 | function GetType(Prop) | |
55 | if (type(Prop)=="userdata") then | |
56 | if pcall(function() Prop.Name=Prop.Name end) then | |
57 | return Prop.Name | |
58 | end end | |
59 | return Prop | |
60 | end | |
61 | ||
62 | function SetPropGui() | |
63 | if (Selection~=nil) then | |
64 | local PropGuiPos=0 | |
65 | local Playergui=explorer.Parent | |
66 | local Gui=Playergui:FindFirstChild("PropertiesGui") | |
67 | if (Gui~=nil) then | |
68 | Gui:Remove() | |
69 | end | |
70 | PropGui=Instance.new("ScreenGui") | |
71 | PropGui.Parent=Playergui | |
72 | PropGui.Name="PropertiesGui" | |
73 | local Props=GetProperties(Selection,Properties) | |
74 | for i=1,#Props do | |
75 | PropGuiPos=i | |
76 | local Get=GetType(Props[i]) | |
77 | local Label=Instance.new("TextButton") | |
78 | Label.Parent=PropGui | |
79 | Label.Size=UDim2.new(0,150,0,15) | |
80 | Label.Text=" "..tostring(Get).." | "..tostring(Selection[Get]) | |
81 | Label.BackgroundColor3=Color3.new(0.7,0.7,0.9) | |
82 | Label.Name=tostring(Get) | |
83 | Label.TextXAlignment="Left" | |
84 | Label.Position=UDim2.new(0,230,0,(i*15)-15) | |
85 | Label.TextColor3=Color3.new(0,0,0) | |
86 | Label.BorderColor3=Color3.new(0,0,0) | |
87 | Label.BackgroundTransparency=0.5 | |
88 | Label.Active=false | |
89 | Label.AutoButtonColor=false | |
90 | CreateImageLabel(Label,Base..Images.Property) | |
91 | if (type(Selection[Props[i]])=="boolean") then | |
92 | if pcall(function() Selection[Props[i]]=Selection[Props[i]] end) then | |
93 | Label.Active=true | |
94 | Label.AutoButtonColor=true | |
95 | Label.BackgroundColor3=Color3.new(0.5,0.5,1) | |
96 | Label.MouseButton1Click:connect(function() | |
97 | if (Selection[Props[i]]==true) then | |
98 | Selection[Props[i]]=false | |
99 | elseif (Selection[Props[i]]==false) then | |
100 | Selection[Props[i]]=true | |
101 | end | |
102 | Label.Text=" "..tostring(Props[i]).." | "..tostring(Selection[Props[i]]) | |
103 | end) end end end | |
104 | end end | |
105 | ||
106 | function CreateImageLabel(Par,image) | |
107 | local label=Instance.new("ImageLabel") | |
108 | label.BackgroundColor3=Color3.new(1,1,1) | |
109 | label.BackgroundTransparency=1 | |
110 | label.Name="ItemImage" | |
111 | label.Size=UDim2.new(0,13,0,13) | |
112 | label.Position=UDim2.new(0,1,0,1) | |
113 | label.Image=image | |
114 | label.BorderSizePixel=0 | |
115 | label.Parent=Par | |
116 | end | |
117 | ||
118 | function SetImage(Par,class) | |
119 | if (class=="IntValue") or (class=="BoolValue") or (class=="StringValue") or (class=="ObjectValue") or (class=="CFrameValue") or (class=="Vector3Value") or (class=="NumberValue") or (class=="RayValue") or (class=="Color3Value") or (class=="BrickColorValue") then | |
120 | CreateImageLabel(Par,Base..Images.Value) | |
121 | elseif (class=="Sound") or (class=="StockSound") or (class=="SoundService") then | |
122 | CreateImageLabel(Par,Base..Images.Sound) | |
123 | elseif (class=="Script") then | |
124 | CreateImageLabel(Par,Base..Images.Script) | |
125 | elseif (class=="ScreenGui") or (class=="GuiMain") or (class=="BillboardGui") then | |
126 | CreateImageLabel(Par,Base..Images.ScreenGui) | |
127 | elseif (class=="Part") or (class=="WedgePart") or (class=="TrussPart") then | |
128 | CreateImageLabel(Par,Base..Images.Part) | |
129 | elseif (class=="Model") then | |
130 | CreateImageLabel(Par,Base..Images.Model) | |
131 | elseif (class=="Hint") or (class=="Message") then | |
132 | CreateImageLabel(Par,Base..Images.Message) | |
133 | elseif (class=="LocalScript") then | |
134 | CreateImageLabel(Par,Base..Images.LocalScript) | |
135 | elseif (class=="Weld") or (class=="Snap") or (class=="Glue") or (class=="Rotate") or (class=="RotateP") or (class=="RotateV") or (class=="JointsService") then | |
136 | CreateImageLabel(Par,Base..Images.Joint) | |
137 | elseif (class=="Frame") or (class=="TextLabel") or (class=="TextButton") or (class=="TextBox") or (class=="ImageButton") or (class=="ImageLabel") then | |
138 | CreateImageLabel(Par,Base..Images.Frame) | |
139 | elseif (class=="Camera") then | |
140 | CreateImageLabel(Par,Base..Images.Camera) | |
141 | elseif (class=="Backpack") or (class=="StarterGear") or (class=="StarterPack") or (class=="StarterGui") or (class=="PlayerGui") then | |
142 | CreateImageLabel(Par,Base..Images.Backpack) | |
143 | elseif (class=="Player") or (class=="PseudoPlayer") or (class=="Players") then | |
144 | CreateImageLabel(Par,Base..Images.Player) | |
145 | elseif (class=="BodyPosition") or (class=="BodyGyro") or (class=="BodyVelocity") or (class=="BodyThrust") or (class=="BodyForce") or (class=="RocketPropulsion") then | |
146 | CreateImageLabel(Par,Base..Images.Body) | |
147 | elseif (class=="HopperBin") then | |
148 | CreateImageLabel(Par,Base..Images.HopperBin) | |
149 | elseif (class=="Tool") then | |
150 | CreateImageLabel(Par,Base..Images.Tool) | |
151 | elseif (class=="Workspace") then | |
152 | CreateImageLabel(Par,Base..Images.Workspace) | |
153 | elseif (class=="BlockMesh") or (class=="SpecialMesh") or (class=="CylinderMesh") then | |
154 | CreateImageLabel(Par,Base..Images.Mesh) | |
155 | elseif (class=="Animation") or (class=="CharacterMesh") then | |
156 | CreateImageLabel(Par,Base..Images.Animation) | |
157 | elseif (class=="Hat") then | |
158 | CreateImageLabel(Par,Base..Images.Hat) | |
159 | elseif (class=="Humanoid") then | |
160 | CreateImageLabel(Par,Base..Images.Humanoid) | |
161 | else CreateImageLabel(Par,Base..Images.Nil) | |
162 | end | |
163 | end | |
164 | ||
165 | function SetExplGui() | |
166 | local Playergui=explorer.Parent | |
167 | if (Selection~=nil) then | |
168 | local Gui=Playergui:FindFirstChild("ExplorerGui") | |
169 | if (Gui~=nil) then Gui:Remove() end | |
170 | local Children=Selection:GetChildren() | |
171 | ExplGui=Instance.new("ScreenGui") | |
172 | ExplGui.Parent=Playergui | |
173 | ExplGui.Name="ExplorerGui" | |
174 | if (Selection.Parent~=nil) then | |
175 | local BackButton=Instance.new("TextButton") | |
176 | BackButton.Size=UDim2.new(0,120,0,15) | |
177 | BackButton.BorderColor3=Color3.new(0,0,0) | |
178 | BackButton.TextColor3=Color3.new(0,0,0) | |
179 | BackButton.Parent=ExplGui | |
180 | BackButton.Text="Back to " .. Selection.Parent.Name | |
181 | BackButton.BackgroundColor3=Color3.new(0.3,0.3,1) | |
182 | BackButton.BackgroundTransparency=0.5 | |
183 | BackButton.Position=UDim2.new(0,380,0,0) | |
184 | BackButton.Name="Back" | |
185 | BackButton.MouseButton1Click:connect(function() | |
186 | Selection=Selection.Parent | |
187 | SetExplGui() | |
188 | SetPropGui() | |
189 | end) end | |
190 | if (#Children>=MAXPAGEN) then | |
191 | local f=0 | |
192 | for i=Min,Max do | |
193 | f=f+1 | |
194 | local Obj=Instance.new("TextButton") | |
195 | Obj.Size=UDim2.new(0,120,0,15) | |
196 | Obj.BorderColor3=Color3.new(0,0,0) | |
197 | Obj.TextColor3=Color3.new(0,0,0) | |
198 | Obj.Parent=ExplGui | |
199 | Obj.Text=" "..Children[i].Name | |
200 | Obj.BackgroundColor3=Color3.new(0.4,0.4,0.6) | |
201 | Obj.BackgroundTransparency=0.5 | |
202 | Obj.TextXAlignment="Left" | |
203 | if (Selection.Parent~=nil) then Obj.Position=UDim2.new(0,380,0,(f*15)) else Obj.Position=UDim2.new(0,380,0,(f*15)-15) end | |
204 | Obj.Name=Children[i].Name | |
205 | SetImage(Obj,Children[i].className) | |
206 | Obj.MouseButton1Click:connect(function() pcall(function() Selection=Children[i] SetExplGui() SetPropGui() end) end) | |
207 | local Remove=Instance.new("TextButton") | |
208 | Remove.Size=UDim2.new(0,15,0,15) | |
209 | Remove.BorderColor3=Color3.new(0,0,0) | |
210 | Remove.TextColor3=Color3.new(0,0,0) | |
211 | Remove.Parent=ExplGui | |
212 | Remove.Text="X" | |
213 | Remove.BackgroundColor3=Color3.new(1,0.25,0.25) | |
214 | Remove.BackgroundTransparency=0.5 | |
215 | Remove.Name="Remove" .. Children[i].Name | |
216 | if (Selection.Parent~=nil) then Remove.Position=UDim2.new(0,500,0,(f*15)) else Remove.Position=UDim2.new(0,500,0,(f*15)-15) end | |
217 | Remove.MouseButton1Click:connect(function() if (pcall(function() Children[i]:Remove() end)) then SetPropGui() SetExplGui() else Remove.BackgroundColor3=Color3.new(1,1,1) wait(1) Remove.BackgroundColor3=Color3.new(1,0.25,0.25) end end) | |
218 | end | |
219 | local UP=Instance.new("TextButton") | |
220 | UP.Position=UDim2.new(0,515,0,0) | |
221 | UP.Size=UDim2.new(0,15,0,15) | |
222 | UP.BorderColor3=Color3.new(0,0,0) | |
223 | UP.TextColor3=Color3.new(0,0,0) | |
224 | UP.Parent=ExplGui | |
225 | UP.Text="^" | |
226 | UP.BackgroundColor3=Color3.new(1,0.25,0.25) | |
227 | UP.BackgroundTransparency=0.5 | |
228 | UP.Name="UpButton" | |
229 | UP.MouseButton1Click:connect(function() if (Min<=1) then return end Min=Min-1 Max=Max-1 SetExplGui() end) | |
230 | local DOWN=Instance.new("TextButton") | |
231 | DOWN.Position=UDim2.new(0,515,0,15) | |
232 | DOWN.Size=UDim2.new(0,15,0,15) | |
233 | DOWN.BorderColor3=Color3.new(0,0,0) | |
234 | DOWN.TextColor3=Color3.new(0,0,0) | |
235 | DOWN.Parent=ExplGui | |
236 | DOWN.Text="v" | |
237 | DOWN.BackgroundColor3=Color3.new(1,0.25,0.25) | |
238 | DOWN.BackgroundTransparency=0.5 | |
239 | DOWN.Name="DownButton" | |
240 | DOWN.MouseButton1Click:connect(function() if (Max>=#Children) then return end Min=Min+1 Max=Max+1 SetExplGui() end) | |
241 | else | |
242 | Max=MAXPAGEN | |
243 | Min=1 | |
244 | for i=1,#Children do | |
245 | local Obj=Instance.new("TextButton") | |
246 | Obj.Size=UDim2.new(0,120,0,15) | |
247 | Obj.BorderColor3=Color3.new(0,0,0) | |
248 | Obj.TextColor3=Color3.new(0,0,0) | |
249 | Obj.Parent=ExplGui | |
250 | Obj.Text=" "..Children[i].Name | |
251 | Obj.BackgroundColor3=Color3.new(0.4,0.4,0.6) | |
252 | Obj.BackgroundTransparency=0.5 | |
253 | Obj.TextXAlignment="Left" | |
254 | if (Selection.Parent~=nil) then Obj.Position=UDim2.new(0,380,0,(i*15)) else Obj.Position=UDim2.new(0,380,0,(i*15)-15) end | |
255 | Obj.Name=Children[i].Name | |
256 | SetImage(Obj,Children[i].className) | |
257 | Obj.MouseButton1Click:connect(function() pcall(function() Selection=Children[i] SetExplGui() SetPropGui() end) end) | |
258 | local Remove=Instance.new("TextButton") | |
259 | Remove.Size=UDim2.new(0,15,0,15) | |
260 | Remove.BorderColor3=Color3.new(0,0,0) | |
261 | Remove.TextColor3=Color3.new(0,0,0) | |
262 | Remove.Parent=ExplGui | |
263 | Remove.Text="X" | |
264 | Remove.BackgroundColor3=Color3.new(1,0.25,0.25) | |
265 | Remove.BackgroundTransparency=0.5 | |
266 | Remove.Name="Remove" .. Children[i].Name | |
267 | if (Selection.Parent~=nil) then Remove.Position=UDim2.new(0,500,0,(i*15)) else Remove.Position=UDim2.new(0,500,0,(i*15)-15) end | |
268 | Remove.MouseButton1Click:connect(function() if (pcall(function() Children[i]:Remove() end)) then SetPropGui() SetExplGui() else Remove.BackgroundColor3=Color3.new(1,1,1) wait(1) Remove.BackgroundColor3=Color3.new(1,0.25,0.25) end end) | |
269 | end | |
270 | end | |
271 | end | |
272 | ---------------- | |
273 | Selection.Changed:connect(function(prop) | |
274 | if (Selection==game) then return end | |
275 | if (updateDebounce==1) then | |
276 | updateDebounce=0 | |
277 | if (Selection.Parent==nil) then | |
278 | Selection=game | |
279 | updateDebounce=1 | |
280 | SetPropGui() | |
281 | SetExplGui() | |
282 | return end | |
283 | if (PropGui~=nil) then | |
284 | local Button=PropGui:FindFirstChild(prop) | |
285 | if (Button~=nil) then | |
286 | local Get=GetType(prop) | |
287 | Button.Text=" "..tostring(Get).." | "..tostring(Selection[Get]) | |
288 | end end | |
289 | wait() | |
290 | updateDebounce=1 | |
291 | end end) | |
292 | --------------------------- | |
293 | end | |
294 | SetPropGui() | |
295 | SetExplGui() | |
296 | ||
297 | exp = explorer.Parent.EXPGui | |
298 | function onEquippedLocal(mouse) | |
299 | player = game.Players.LocalPlayer | |
300 | exp.Parent = player.PlayerGui | |
301 | wait() | |
302 | exp.Disabled = false | |
303 | end | |
304 | ||
305 | function onUnS() | |
306 | exp.Disabled = true | |
307 | exp.Parent = script.Parent | |
308 | wait() | |
309 | player.PlayerGui.ExplorerGui.Parent = nil | |
310 | player.PlayerGui.PropertiesGui.Parent = nil | |
311 | end | |
312 | ||
313 | explorer.Activated:connect(onEquippedLocal) | |
314 | explorer.Equipped:connect(onEquippedLocal) | |
315 | explorer.Unequipped:connect(onUnS) | |
316 | explorer.Deactivated:connect(onUnS) | |
317 | ||
318 | exp = explorer.Parent.EXPGui | |
319 | player = game.Players.LocalPlayer | |
320 | function onUnS() | |
321 | exp.Parent = script.Parent | |
322 | exp.Disabled = true | |
323 | player.PlayerGui.ExplorerGui.Parent = nil | |
324 | player.PlayerGui.PropertiesGui.Parent = nil | |
325 | end | |
326 | explorer.Unequipped:connect(onUnS) |