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) |