cmds={}; acons={}; props={}; calls={}; scripts={}; modules={}; windows={}; objContainer={}; bannedPlayers={'EuIer';'manofthebase44';}; rbxEvents={'Activated';'AllowGearTypeChanged';'Button1Down';'Button1Up';'Button2Down';'Button2Up';'Changed';'CharacterAdded';'CharacterRemoving';'Chatted';'Click';'Climbing';'Close';'CustomStatusAdded';'CustomStatusRemoved';'Deactivated';'Deactivation';'Deselected';'DialogChoiceSelected';'Died';'Disconnection';'DragBegin';'DragStopped';'Equipped';'Event';'EventConnected';'EventDisconnected';'FallingDown';'FlagCaptured';'FocusLost';'FreeFalling';'FriendStatusChanged';'GettingUp';'HealthChanged';'Heartbeat';'Hit';'Idle';'Idled';'IncommingConnection';'AncestryChanged';'ChildAdded';'ChildRemoved';'DescendantAdded';'DescendantRemoving';'ItemChanged';'Jumping';'KeyDown';'KeyPressed';'KeyUp';'LightingChanged';'MouseButton1Click';'MouseButton1Down';'MouseButton1Down';'MouseButton1Up';'MouseButton1Up';'MouseButton2Click';'MouseButton2Down';'MouseButton2Up';'MouseClick';'MouseDrag';'MouseDrag';'MouseEnter';'MouseEnter';'MouseHoverEnter';'MouseHoverLeave';'MouseLeave';'MouseLeave';'MouseMoved';'Move';'MoveStateChanged';'OutfitChanged';'PlatformStanding';'PlayerAdded';'PlayerRemoving';'ReachedTarget';'ReceiverConnected';'ReceiverDisconnected';'Running';'Seated';'Selected';'ServiceAdded';'ServiceRemoved';'ServiceRemoving';'SourceValueChanged';'SpecialKeyPressed';'StatusAdded';'StatusRemoved';'Stepped';'StoppedTouching';'Strafing';'Swimming';'Touched';'TouchEnded';'Unequipped';'WheelBackward';'WheelForward';}; rbxMethods={'Abort';'AddCoreScript';'AddCustomStatus';'AddItem';'AddKey';'AddPose';'AddSpecialKey';'AddStarterScript';'AddStatus';'AdjustSpeed';'ApplySpecificImpulse';'ApproveAssetId';'ApproveAssetVersionId';'AutowedgeCell';'AutowedgeCells';'AwardBadge';'AxisRotate';'BreakJoints';'Button1Down';'Button1Up';'Button2Down';'Button2Up';'CaptureFocus';'CellCenterToWorld';'CellCornerToWorld';'Chat';'Chat';'Chat';'Check';'Checkpoint';'Children';'Clear';'ClearCharacterAppearance';'ClearContent';'ClearMessage';'ClickButton1';'ClickButton2';'CloseConnection';'CountCells';'CreateButton';'CreateLocalPlayer';'CreatePlugin';'CreateToolbar';'Disable';'DistanceFromCharacter';'DoCommand';'Done';'EquipTool';'FindPartOnRay';'FindPartOnRayWithIgnoreList';'FindPartsInRegion3';'FindPartsInRegion3WithIgnoreList';'FindService';'FinishShutdown';'Fire';'Get';'GetAttachedReceivers';'GetBaseCategories';'GetBaseSets';'GetButton';'GetCell';'GetClientCount';'GetCollection';'GetCommandNames';'GetCurrentValue';'GetEnumItems';'GetFreeDecals';'GetFreeModels';'GetFriendStatus';'GetHash';'GetJobsExtendedStats';'GetJobsInfo';'GetLastForce';'GetMass';'GetMinutesAfterMidnight';'GetModelCFrame';'GetModelSize';'GetMoonDirection';'GetMoonPhase';'GetMouse';'GetMouse';'GetMouse';'GetObjects';'GetPlayer';'GetPlayerByID';'GetPlayerFromCharacter';'GetPlayers';'GetRakStatsString';'GetRankInGroup';'GetRemoteBuildMode';'GetRequestedUrls';'GetRoleInGroup';'GetRoll';'GetService';'GetStatuses';'GetSunDirection';'GetTeams';'GetUploadUrl';'GetUserCategories';'GetUserSets';'GetValue';'GetValueString';'GetWaterCell';'HasBuildPermission';'HasCustomStatus';'HasStatus';'HttpGet';'HttpPost';'Insert';'InsertContent';'ClearAllChildren';'Clone';'Destroy';'FindFirstChild';'GetChildren';'GetDebugId';'GetFullName';'IsA';'IsAncestorOf';'IsDescendantOf';'Invoke';'IsBestFriendsWith';'IsDisabled';'IsFriendsWith';'IsGearTypeAllowed';'IsInGroup';'IsLegal';'IsRegion3Empty';'IsRegion3EmptyWithIgnoreList';'LastForce';'LegacyScriptMode';'LibraryRegistrationComplete';'Load';'LoadAnimation';'LoadAsset';'LoadAssetVersion';'LoadBoolean';'LoadCharacter';'LoadData';'LoadInstance';'LoadNumber';'LoadString';'MakeJoints';'Message';'MouseDown';'MouseMove';'MouseUp';'Move';'MoveMouse';'MoveTo';'MoveTo';'MoveTo';'Pause';'Play';'PlayerConnect';'PlayerHasPass';'PlayStockSound';'PluginManager';'Preload';'RebalanceTeams';'RegisterDevelopmentLibrary';'RegisterLibrary';'RegisterRobloxLibrary';'Remove';'RemoveCharacter';'RemoveCustomStatus';'RemovePose';'RemoveStatus';'ReportAbuse';'ReportMeasurement';'RequestFriendship';'Require';'Reset';'ResetOrientationToIdentity';'Resize';'RevokeFriendship';'Run';'Save';'SaveBoolean';'SaveData';'SaveInstance';'SaveNumber';'SaveString';'SendNotification';'ServerSave';'Service';'Set';'SetAbuseReportUrl';'SetAccountAge';'SetActive';'SetAssetUrl';'SetAssetVersionUrl';'SetAwardBadgeUrl';'SetBaseUrl';'SetBestFriendUrl';'SetBreakFriendUrl';'SetCell';'SetCells';'SetChatStyle';'SetClickToWalkEnabled';'SetCreateFriendRequestUrl';'SetCreatorID';'SetCreatorId';'SetDeleteFriendRequestUrl';'SetEnabled';'SetEnabled';'SetFreeDecalUrl';'SetFreeModelUrl';'SetFriendUrl';'SetGearSettings';'SetGenre';'SetGetFriendsUrl';'SetGlobalSizeOffsetPixel';'SetGroupUrl';'SetHasBadgeCooldown';'SetHasBadgeUrl';'SetIdentityOrientation';'SetIsBadgeDisabledUrl';'SetIsBadgeLegalUrl';'SetKeyDown';'SetKeyUp';'SetMakeFriendsUrl';'SetMembershipType';'SetMessage';'SetMessageBrickCount';'SetMinutesAfterMidnight';'SetOutgoingKBPSLimit';'SetPhysicsThrottleEnabled';'SetPing';'SetPlaceID';'SetPlaceId';'SetPlaceId';'SetPlaceId';'SetRemoteBuildMode';'SetServerSaveUrl';'SetSuperSafeChat';'SetTrustLevel';'SetUploadUrl';'SetValue';'SetVerb';'SetWaterCell';'Shutdown';'SignalDialogChoiceSelected';'Start';'Stop';'TakeDamage';'TeamChat';'Teleport';'TeleportCancel';'TeleportImpl';'TeleportToSpawnByName';'ToggleSelect';'ToggleTools';'TranslateBy';'TweenPosition';'TweenSize';'TweenSizeAndPosition';'TypeKey';'UnequipTools';'UserHasBadge';'WaitForDataReady';'Warn';'WhisperChat';'WorldToCell';'WorldToCellPreferEmpty';'WorldToCellPreferSolid';'ZoomToExtents';}; rbxProps={'className';'AbsolutePosition';'AbsoluteSize';'AccountAge';'AccountAgeReplicate';'Active';'Active';'Active';'Adornee';'AllowAmbientOcclusion';'AllowTeamChangeOnTouch';'AluminumQuality';'AlwaysOnTop';'Ambient';'AmbientReverb';'Anchored';'Angularvelocity';'AnimationId';'AppearanceDidLoad';'AreHingesDetected';'AttachmentForward';'AttachmentPoint';'AttachmentPos';'AttachmentRight';'AttachmentUp';'AutoAssignable';'AutoButtonColor';'AutoColorCharacters';'AvailablePhysicalMemory';'Axes';'BackgroundColor';'BackgroundColor3';'BackgroundTransparency';'BaseTextureId';'BaseUrl';'Bevel';'Bevel';'BinType';'BlastPressure';'BlastRadius';'BodyColor';'BodyPart';'BorderColor';'BorderColor3';'BorderSizePixel';'BrickColor';'Brightness';'Browsable';'BubbleChat';'BubbleChatLifetime';'BubbleChatMaxBubbles';'Bulge';'Button1DownConnectionCount';'Button1UpConnectionCount';'Button2DownConnectionCount';'Button2UpConnectionCount';'C0';'C1';'CameraMode';'CameraSubject';'CameraType';'CanBeDropped';'CanCollide';'CanLoadCharacterAppearance';'CartoonFactor';'CastShadows';'CelestialBodiesShown';'CFrame';'Cframe';'Character';'CharacterAppearance';'CharacterAutoLoads';'ChatMode';'ChatScrollLength';'ClassicChat';'ClearTextOnFocus';'ClipsDescendants';'CollisionSoundEnabled';'CollisionSoundVolume';'Color';'ColorShift';'ColorShift';'ConstrainedValue';'ControllingHumanoid';'ControlMode';'ConversationDistance';'CoordinateFrame';'CorrodedMetalQuality';'CPU';'CpuCount';'CpuSpeed';'CreatorId';'CreatorType';'CurrentAngle';'CurrentCamera';'CycleOffset';'D';'DataCap';'DataComplexity';'DataComplexityLimit';'DataReady';'Deprecated';'DeselectedConnectionCount';'DesiredAngle';'DiamondPlateQuality';'Disabled';'DistanceFactor';'DistributedGameTime';'DopplerScale';'Draggable';'DraggingV1';'Duration';'EditorFont';'EditorFontSize';'EditorTabWidth';'ElapsedTime';'Elasticity';'Enabled';'ExplosionType';'ExtentsOffset';'F0';'F1';'F2';'F3';'Face';'FaceId';'Faces';'FieldOfView';'Focus';'FogColor';'FogEnd';'FogStart';'Font';'FontSize';'Force';'FormFactor';'Friction';'From';'GamepadEnabled';'GearGenreSetting';'Genre';'GeographicLatitude';'GfxCard';'Graphic';'GrassQuality';'Grip';'GripForward';'GripPos';'GripRight';'GripUp';'Guest';'HasBuildTools';'HeadsUpDisplay';'Health';'Heat';'Hit';'Humanoid';'IceQuality';'Icon';'IdleConnectionCount';'Image';'InitialPrompt';'InOut';'Archivable';'ClassName';'DataCost';'Name';'Parent';'RobloxLocked';'InUse';'IsModalDialog';'IsPaused';'IsPlaying';'IsWindows';'JobId';'Jump';'KeyboardEnabled';'KeyDownConnectionCount';'KeyUpConnectionCount';'LeftLeg';'LeftRight';'LinkedSource';'LocalPlayer';'Location';'Locked';'LODX';'LODY';'Looped';'Material';'MaxActivationDistance';'MaxCollisionSounds';'MaxExtents';'MaxForce';'MaxHealth';'MaxItems';'MaxPlayers';'MaxSpeed';'MaxThrust';'MaxTorque';'MaxValue';'MaxVelocity';'MembershipType';'MembershipTypeReplicate';'MeshId';'MeshType';'MinValue';'Modal';'MouseButton1ClickConnectionCount';'MouseButton1DownConnectionCount';'MouseButton1UpConnectionCount';'MouseButton2ClickConnectionCount';'MouseButton2DownConnectionCount';'MouseButton2UpConnectionCount';'MouseDelta';'MouseDragConnectionCount';'MouseEnabled';'MouseEnterConnectionCount';'MouseHit';'MouseLeaveConnectionCount';'MouseLock';'MouseMovedConnectionCount';'MouseTarget';'MouseTargetFilter';'MouseTargetSurface';'MoveConnectionCount';'MoveState';'MultiLine';'NameOcclusion';'NetworkOwner';'Neutral';'NumPlayers';'Offset';'Opacity';'Origin';'OsPlatform';'OsVer';'OverlayTextureId';'P';'PantsTemplate';'ParamA';'ParamB';'Part';'Part0';'Part1';'PersonalServerRank';'Pitch';'PixelShaderModel';'PlaceId';'PlasticQuality';'PlatformStand';'PlayCount';'PlayerToHideFrom';'PlayOnRemove';'Point';'Port';'Position';'Preliminary';'PrimaryPart';'Priority';'PrivateWorkingSetBytes';'Purpose';'RAM';'Reflectance';'ReplicatedSelectedConnectionCount';'ResizeableFaces';'ResizeIncrement';'Resolution';'ResponseDialog';'RightLeg';'RiseVelocity';'RobloxVersion';'RolloffScale';'RotVelocity';'Scale';'Score';'ScriptsDisabled';'SecondaryColor';'Selected';'ShadowColor';'Shape';'Shiny';'ShirtTemplate';'ShowDeprecatedObjects';'ShowDevelopmentGui';'ShowLegacyPlayerList';'ShowPreliminaryObjects';'Sides';'Sit';'Size';'Size';'SizeConstraint';'SizeOffset';'SkinColor';'SkyboxBk';'SkyboxDn';'SkyboxFt';'SkyboxLf';'SkyboxRt';'SkyboxUp';'SlateQuality';'SoundId';'Source';'Source';'Source';'SparkleColor';'SpecificGravity';'Specular';'StarCount';'Steer';'StickyWheels';'StudsBetweenTextures';'StudsOffset';'StudsPerTileU';'StudsPerTileV';'Style';'Style';'Style';'Style';'Style';'Summary';'SuperSafeChatReplicate';'Surface';'Surface0';'Surface1';'SurfaceInput';'Target';'Target';'Target';'TargetFilter';'TargetOffset';'TargetPoint';'TargetRadius';'TargetSurface';'TeamColor';'Terrain';'Text';'TextBounds';'TextColor';'TextColor3';'TextFits';'TextScaled';'TextStrokeColor3';'TextStrokeTransparency';'TextTransparency';'Texture';'TextureId';'TextureSize';'TextWrap';'TextWrapped';'TextXAlignment';'TextYAlignment';'Throttle';'ThrustD';'ThrustP';'Ticket';'Time';'TimeOfDay';'To';'Tone';'ToolTip';'TopBottom';'Torque';'Torso';'TouchEnabled';'Transparency';'TrussDetail';'TurnD';'TurnP';'TurnSpeed';'UnitRay';'UseLuaChat';'UserDialog';'UserId';'Value';'Velocity';'Version';'Version';'Version';'VertexColor';'VideoCaptureEnabled';'VideoMemory';'VideoQuality';'ViewSizeX';'ViewSizeY';'Visible';'Volume';'WalkDirection';'WalkSpeed';'WalkToPart';'WalkToPoint';'WheelBackwardConnectionCount';'WheelForwardConnectionCount';'WireRadius';'WoodQuality';'X';'Y';'ZIndex';'AppearanceDidLoad';'CanLoadCharacterAppearance';'ChatMode';'ColorShift';'ColorShift';'GamepadEnabled';'HasBuildTools';'Archivable';'ClassName';'IsModalDialog';'IsWindows';'KeyboardEnabled';'MouseEnabled';'PersonalServerRank';'Priority';'ShowLegacyPlayerList';'SpecificGravity';'TouchEnabled';'UseLuaChat';'className';'archivable';'Roundness';'Bottom';'Top';'WindowSize';'PlayerMouse';'Mouse';'location';'RequestQueueSize';'BottomSurface';'FrontSurface';'LeftSurface';'RightSurface';'TopSurface';'formFactor';'BackSurface';'HeadColor';'RightArmColor';'LeftArmColor';'TorsoColor';'LeftLegColor';'RightLegColor';'cframe';'ColorShift_Bottom';'ColorShift_Top';'Ip';'Vertex';'userId';}; --------------------------------------------------------------------------------------------------------------- local settings,topWindow,trayBS; --27697699 --------------------------------------------------------------------------------------------------------------- getEvents=function(o) local class=type(o)=='string'and o or o.className; if(not rbxEventArchs)then rbxEventArchs={};end; if(not rawget(rbxEventArchs,class))then o=type(o)=='string'and Instance.new(o)or o; local t={}; for i,v in ipairs(rbxEvents)do pcall(function() i=o[v]; local s=o:findFirstChild(v); assert(s~=i); table.insert(t,v); end); end; rawset(rbxEventArchs,class,t); end; return rawget(rbxEventArchs,class); end; getMethods=function(o) local class=type(o)=='string'and o or o.className; if(not rbxMethodArchs)then rbxMethodArchs={};end; if(not rawget(rbxMethodArchs,class))then o=type(o)=='string'and Instance.new(o)or o; local t={}; for i,v in ipairs(rbxMethods)do pcall(function() i=o[v]; local s=o:findFirstChild(v); assert(s~=i); table.insert(t,v); end); end; rawset(rbxMethodArchs,class,t); end; return rawget(rbxMethodArchs,class); end; getProps=function(o) local class=type(o)=='string'and o or o.className; if(not rbxPropArchs)then rbxPropArchs={};end; if(not rawget(rbxPropArchs,class))then o=type(o)=='string'and Instance.new(o)or o; local t={}; for i,v in ipairs(rbxProps)do pcall(function() i=o[v]; local s=o:findFirstChild(v); assert(s~=i); table.insert(t,v); end); end; rawset(rbxPropArchs,class,t); end; return rawget(rbxPropArchs,class); end; addItem=function(item,ltime,exitFun) if(not LIST_debris)then LIST_debris={}; end; if(not LOOP_debris)then LOOP_debris=true; coroutine.wrap(function() local list=LIST_debris; local count,value,fps; repeat count=#list; fps=wait(0.001); while(count~=0)do value=list[count]; value.ltime=value.ltime-fps; if(value.ltime<=0)then pcall(function() value.object.Parent=nil; value.object:kill(); end); end; end; until not LOOP_debris; end)(); end; end; split=function(sep,text,limit) local args={}; if(#args~=limit)then for str in text:gmatch('([^'..sep..']+)')do table.insert(args,str); if(#args==limit)then break; end; end; end; return args; end; addCmd=function(title,desc,guide,cmdstr,arglen,check,fun) if(cmds.all==nil)then cmds.all={};end; if(cmds.recent==nil)then cmds.recent={};end; if(type(check)~='function')then local val=check; check=function()return val;end; end; table.insert(cmds.all,{ cmdsl=split(',',cmdstr); arglen=arglen; check=check; title=title; guide=guide; cmds=cmdstr; desc=desc; fun=fun; }); end; getCmd=function(cmd) local cmd=cmd:lower(); return cmds.recent[cmd]or(function() for i,info in ipairs(cmds.all)do for i,str in ipairs(info.cmdsl)do if(str==cmd)then rawset(cmds.recent,cmd,info); return info; end; end; end; end)(); end; connect=function(o,e,...) local fun; local houses={acons;}; local e=e:sub(1,1):upper()..e:sub(2); for i=1,select('#',...)do local var=select(i,...); if(type(var)=='table'and var~=acons)then table.insert(houses,var); elseif(type(var)=='function')then fun=var; end; end; assert(fun,'must add something function'); local e=o[e]:connect(fun); for i,v in ipairs(houses)do table.insert(v.cons or v,c); end; return e; end; disconnect=function(c,...) c:disconnect(); local houses={acons;...;}; for i,v in ipairs(houses)do v=v.cons or v; for i=-#v,-1 do i=math.abs(i); if(v[i]==c)then table.remove(v,i); end; end; end; end; absg=function(g,b) return b and g.AbsoluteSize or g.AbsolutePosition; end; dWnd=function(title) local hWnd=windows[title]; if(hWnd)then while(next(hWnd.controls))do local v=next(hWnd.controls); if(not pcall(function()v:kill();end))then pcall(function() v:destroy(); end); end; rawset(hWnd.controls,v,nil); end; while(next(hWnd))do rawset(hWnd,select(1,next(hWnd)),nil); end; for i,v in ipairs(trayWnds)do if(v[1]==title)then table.remove(trayWnds,i); break; end; end; for i,v in ipairs(trayWnds)do v[2].trayBtn.position=UDim2.new(1,-42,1,-math.floor(160+#trayWnds*(i-1))); end; rawset(windows,title,nil); hWnd=nil; end; end; cWnd=function(title,width,height) local hWnd=windows[title]; if(hWnd)then hWnd.title.parent=hWnd.title.parent==nil and screen or nil; return nil; else hWnd={ active=true; width=width; height=height; controls={}; add=function(self,...) for i=1,select('#',...)do rawset(rawget(self,'controls'),select(i,...),true); end; end; addt=function(self,...) for i=1,select('#',...)do for i,v in ipairs(select(i,...))do rawset(rawget(self,'controls'),v,true); end; end; end; }; end; if(not trayWnds)then trayWnds={}; end; hWnd.trayBtn=lock'textButton'{ position=UDim2.new(1,-42,1,-math.floor(160+#trayWnds*15)); backgroundColor3=RGB(30,30,30); backgroundTransparency=0.75; size=UDim2.new(0,42,0,15); text=' '..title..' '; textXAlignment=0; parent=screen; fontSize=1; mouseEnter=function() this.backgroundTransparency=0.5; this.size=UDim2.new(0,this.textBounds.X,0,15); this.position=UDim2.new(1,-this.textBounds.X,1,this.position.Y.Offset); if(trayBS and trayBS~=this)then trayBS.backgroundTransparency=0.75; trayBS.position=UDim2.new(1,-42,1,trayBS.position.Y.Offset); end; trayBS=this; end; mouseLeave=function() this.backgroundTransparency=0.75; this.position=UDim2.new(1,-42,1,this.position.Y.Offset); end; mouseButton1Click=function() MBSR(); hWnd.title.parent=hWnd.title.parent==nil and screen or nil; end; }; hWnd.trayBtn.size=UDim2.new(0,hWnd.trayBtn.textBounds.X+6,0,15); table.insert(trayWnds,{title;hWnd;}); hWnd.title=lock'textButton'{ backgroundColor3=RGB(100,100,100); position=UDim2.new(0,mouse.ViewSizeX*0.2,0,mouse.ViewSizeY*0.2); text=' Dresmor Alakazard - Tung ['..title..']'; size=UDim2.new(0,width,0,20); textXAlignment=0; parent=screen; fontSize=2; mouseButton1Down=function(x,y) if(mousefrm.parent)then return nil;end; if(topWindow~=hWnd.title())then topWindow=hWnd.title(); hWnd.title().Parent=nil; repeat runService.Stepped:wait();until hWnd.title().Parent; end; mousefrm.parent=screen; x=x-(absg(this)-absg(mousefrm)).X; y=y-(absg(this)-absg(mousefrm)).Y; mousefrm.mouseMoved:connect(function(X,Y) local x=X-x; local y=Y-y; hWnd.title.position=UDim2.new( 0, x, 0, y ); end); end; }; hWnd.close=lock'textButton'{ position=UDim2.new(1,-20,0,0); backgroundColor3=RGB(200,0,0); size=UDim2.new(0,20,0,20); textColor3=RGB(0,0,0); parent=hWnd.title; fontSize=2; text='X'; mouseButton1Click=function() dWnd(title); MBSR(); end; }; hWnd.minimize=lock'textButton'{ backgroundColor3=RGB(100,100,100); position=UDim2.new(1,-40,0,0); size=UDim2.new(0,20,0,20); textColor3=RGB(0,0,0); parent=hWnd.title; fontSize=3; text='-'; mouseButton1Click=function() hWnd.title.parent=nil; MBSR(); end; }; hWnd.menu=lock'frame'{ position=UDim2.new(0,0,1,0); size=UDim2.new(1,0,0,0); parent=hWnd.title; }; hWnd.lframe=lock'frame'{ size=UDim2.new(1,0,0,height); position=UDim2.new(0,0,1,0); backgroundTransparency=1; parent=hWnd.title; }; hWnd.frame=lock'frame'{ size=UDim2.new(1,-(hWnd.vscroll and 15 or 0),1,-(hWnd.hscroll and 15 or 0)); parent=hWnd.lframe; }; hWnd:add( hWnd.title, hWnd.menu, hWnd.lframe, hWnd.close, hWnd.minimize, hWnd.frame, hWnd.trayBtn ); coroutine.wrap(function() local oa; repeat if(hWnd.title.parent)then if(hWnd.title.size.X.Offset~=hWnd.width)then hWnd.title.size=UDim2.new(0,hWnd.width,0,20); end; if(hWnd.lframe.size.Y.Offset~=hWnd.height)then hWnd.lframe.size=UDim2.new(1,0,0,hWnd.height); end; if(oa~=#hWnd.menu:proxies())then oa=#hWnd.menu:proxies(); hWnd.menu.size=UDim2.new(1,0,0,oa~=0 and 18 or 0); hWnd.lframe.position=UDim2.new(0,0,1,oa~=0 and 18 or 0); local proxies=hWnd.menu:proxies(); local amount=oa; for i,v in ipairs(proxies)do v.position=UDim2.new(1/amount*(i-1),0,0,0); v.size=UDim2.new(1/amount,0,1,0); v.fontSize=2; end; end; end; until not wait(0.033)or not hWnd.active; end)(); rawset(windows,title,hWnd); return hWnd; end; cmdsGui=function() local hWnd=cWnd('Commands',400,400); if(not hWnd)then return nil;end; if(not HLSTF)then HLSTF={ cur='all'; pos=1; all={}; active={}; inactive={}; }; end; hWnd.panel=lock'frame'{ position=UDim2.new(0,15,1,-15); size=UDim2.new(1,-30,0,15); backgroundTransparency=1; parent=hWnd.frame; }; for i=0,1 do local t=i==0 and'<'or'>'; local dir=i==0 and-1 or 1; hWnd.panel:add(lock'textButton'{ size=UDim2.new(0,15,0,15); position=UDim2.new(i,15*(i-1),0,0); fontSize=2; text=t; mouseButton1Click=function() MBSR(); HLSTF.pos=HLSTF.pos+dir; end; }); end; hWnd.textlbl=lock'textLabel'{ size=UDim2.new(1,0,1,-15); backgroundTransparency=1; parent=hWnd.frame; text=''; }; hWnd:addt({hWnd.textlbl;hWnd.panel;},hWnd.panel:proxies()) end; settingsGui=function() local hWnd=cWnd('Settings',300,0); if(not hWnd)then return nil;end; local count=0; local cells={}; for setn,val in next,settings.pri do local strsn=setn; local val=settings[setn]; local cell={}; cell[1]=lock'frame'{ position=UDim2.new(0,0,0,count*15); backgroundTransparency=1; size=UDim2.new(1,0,0,15); parent=hWnd.frame; }; cell[2]=lock'textButton'{ backgroundColor3=val and RGB(0,200,0)or RGB(200,0,0); size=UDim2.new(0,15,1,0); parent=cell[1]; text=''; mouseButton1Click=function() settings[strsn]=settings[strsn]==false; mBtnSndDwn:stop(); mBtnSndDwn:play(); end }; cell[3]=lock'textLabel'{ text=setn:sub(1,1):upper()..setn:sub(2); position=UDim2.new(0,15,0,0); size=UDim2.new(1,-15,1,0); textTransparency=0; textXAlignment=0; fontSize=1; parent=cell[1]; }; hWnd:addt(cell); table.insert(cells,{setn;cell;}); count=count+1; hWnd.height=count*15; wait(0.01); end; coroutine.wrap(function() repeat for i,v in ipairs(cells)do v[2][2].backgroundColor3=settings[v[1]]and RGB(0,200,0)or RGB(200,0,0); end; until not wait(0.033)or not hWnd.active; end)(); end; timestr=function() local now=tick()%86400; local s=math.modf(now)%60; local m=math.modf(now/60)%60; local h=math.modf(now/60/60)%24; return select(1,('%d:%d:%d'):format(h,m,s):gsub('%d+',function(str) return#str~=2 and'0'..str or str; end)); end; doCmd=function(msg) if(msg:sub(1,1)~=props.sign.start)then return nil;end; local cmd=msg:match(props.sign.start..'([^'..props.sign.sep..']+)'); if(not cmd)then return false,'grr no cmd in the text';end; local info=getCmd(cmd); if(not info)then return false,'grr cmd is not exist ("'..cmd..'")';end; if(info.check())then local msg=msg:match(props.sign.start..cmd..props.sign.sep..'(.+)')or''; local m=DAS(info.fun,msg,split(props.sign.sep,msg,info.arglen)); if(m)then return false,m; end; else return false,'inactive command ("'..cmd..'")'; end; end; list=function(af,rf) return{ add=function(self,item) af(item); table.insert(self,item); end; rem=function(self,ioi) if(type(ioi)=='number')then local item=rawget(self,ioi); if(item)then rf(item); table.remove(self,ioi); end; else for i=-#self,-1 do i=math.abs(i); local item=rawget(self,i); if(item==ioi)then rf(item); table.remove(self,i); end; end; end; end; clear=function(self,f) local item; repeat if(item)then rf(item); table.remove(self,f); end; item=rawget(self,f); until not item; end; }; end; setupUser=function() user=newproxy(true); do local meta=getmetatable(user); meta.pri={}; meta.__call=function() return players.localPlayer; end; meta.__index=function(t,k) return rawget(rawget(meta,'pri'),k); end; meta.__newindex=function(t,k,n) rawset(rawget(meta,'pri'),k,n); end; end; user.char=newproxy(true); do local meta=getmetatable(user.char); meta.pri={}; meta.__call=function() return user().Character; end; meta.__index=function(t,k) return rawget(rawget(meta,'pri'),k); end; meta.__newindex=function(t,k,n) rawset(rawget(meta,'pri'),k,n); end; end; mouse=user():getMouse(); user.Backpack=FBC(user(),'Backpack',1); user.PlayerGui=FBC(user(),'PlayerGui',1); loadModule'once'; loadModule(user.PlayerGui and'mainGui'); loadModule(user.char()and'char'); loadModule(user.Backpack and'Backpack'); loadModule(user.PlayerGui and'PlayerGui'); connect(user(),'chatted',function(msg) doCmd(msg); end); connect(user(),'childAdded',function(item) if(user[item.className])then user[item.className]=item; if(mGuisNeverLoaded and item.className=='PlayerGui')then loadModule'mainGui'; end; loadModule(item.className); end; end); connect(user(),'characterAdded',function(char) wait(0.01); if(char==user.Character and char.PrimaryPart)then loadModule'char'; end; end); end; FBC=function(o,c,i) if(i)then local count=0; for _,v in ipairs(o:children())do if(v:isA(c))then count=count+1; if(count==i)then return v; end; end; end; else local found={}; for _,v in ipairs(o:children())do if(v:isA(c))then table.insert(found,v); end; end; return found; end; end; setdown=function() print('Tung '..VERSION..' disconnected'); while(rawget(acons,1))do rawget(acons,1):disconnect(); table.remove(acons,1); end; while(rawget(objContainer,1))do rawget(objContainer,1):kill(); table.remove(objContainer,1); end; pcall(function() for i=0,10 do while(next(getfenv(i)))do rawset(getfenv(i),select(1,next(getfenv(i)),nil)); end; end; end); end; DAS=function(f,...) local r,e=ypcall(f,...); if(not r)then print(timestr(),e); return e; end; end; copy=function(o) local a=o.Archivable; o.Archivable=true; local c=o:clone(); o.Archivable=a; return c; end; createScript=function(t,p,s,name) local script=rawget(scripts,t):clone(); script.Name=tostring(name); local nsource=Instance.new('StringValue',script); local ssource=script:findFirstChild'Source'; nsource.Name='nsource'; nsource.Value=s; script.Disabled=false; if(ssource and ssource.className=='StringValue')then ssource.Value=s; end; if(p)then script.Parent=p; end; end; player=function(pstr,f) local found={}; for str in(pstr or'me'):lower():gmatch'([^,]+)'do for i,p in ipairs(players:players())do pcall(function() local n=p.Name:lower(); local ins=n==str or n:find(str)==1; if(not ins)then for i,v in next,props.calls do for ii,vv in ipairs(v.cmds)do if(vv==str)then ins=v.fun(p); break; end; end; end; end; if(ins)then table.insert(found,p); end; end); end; end; if(f)then for i,v in ipairs(found)do DAS(f,v,i); end; end; return found; end; baseplate=function() for i,v in ipairs(FBC(workspace,'BasePart'))do if(v.Name=='Base')then pcall(v.remove,v); end; end; local base=Instance.new'Part'; base.Locked=true; base.Name='Base'; base.formFactor=0; base.Anchored=true; base.Size=Vector3.new(555,1,555); base.BrickColor=BrickColor.new(28); base.Parent=workspace; return base; end; clear=function() local base=baseplate(); for i,v in ipairs(game:children())do pcall(function() for i,v in ipairs(v:children())do pcall(function() if(v~=base and v.className~='Player'and v.className~='HumanoidController'and v~=workspace.currentCamera and not(v.className=='Model'and players:getPlayerFromCharacter(v)))then v.Parent=nil; end; end); end; v.Parent=nil; end); end; end; boolean=function(s) if(s=='true')then return true; elseif(s=='false')then return false; end; end; createModule=function(mtype,title,desc,check,fun) if(not modules[mtype])then modules[mtype]={};end; table.insert(modules[mtype],{ check=type(check)=='function'and check or function()return check;end; title=title; desc=desc; fun=fun }); end; loadModule=function(mtype,title,run) if(modules[mtype])then for i,v in ipairs(modules[mtype])do if(title)then if(v.title==title and v.check())then if(run)then coroutine.wrap(DAS)(v.fun); end; return v; end; else if(v.check())then coroutine.wrap(DAS)(v.fun); end; end; end; end; end; lock=function(class) return function(_props) local props={}; local methods={}; local proxies={}; local default={}; local condatas={}; local propchng={}; local propcount={}; local proxy=newproxy(true); local backup,setup,object; local meta=getmetatable(proxy); local step=game:service'RunService'.Stepped; local class=class:sub(1,1):upper()..class:sub(2); local str=function(str) local old=str; local str=str:sub(1,1):upper()..str:sub(2); if(not pcall(function()return object[str];end))then str=old; end; return str; end; local funv=function(f) pcall(function() setfenv(f,setmetatable({},{ __index=function(t,k) return k=='this'and proxy or getfenv(0)[k]or getfenv(1)[k]or rawget(t,k)or proxy[k]; end; __newindex=function(t,k,n) if(getfenv(0)[k])then getfenv(0)[k]=n; elseif(getfenv(1)[k])then getfenv(1)[k]=n; else rawset(t,k,n); end; end; })); end); return f; end; local cons={ items={}; destroy=function(self) local t=self.items; while(next(t))do local n=next(t); self:dis(n); rawset(t,next(t),nil); end; end; con=function(self,e,f,relog) local e=str(e); local c=object[e]:connect(f); if(not self.items[e])then self.items[e]={}; end; funv(f); if(not relog)then table.insert(self.items[e],{fun=f;con=c;}); else rawset(self.items[e],relog,{fun=f;con=c;}); end; return c; end; dis=function(self,e,f) local f=f or 1; local t=self.items[str(e)]; if(t)then while(t[f])do t[f].con:disconnect(); table.remove(t,f); end; end; end; disAt=function(self,e,i) local t=self.items[str(e)]; if(t)then t[i].con:disconnect(); table.remove(t,i); end; end; }; local newprop=function(k,n) local k=str(k); if(pcall(function()return object[k];end))then if(type(n)~='function'and tostring(n)~='ala_lock01')then rawset(props,k,function()return n;end); else rawset(props,k,n); end; object[k]=props[k](); end; end; meta.__len=function() return#object:children(); end; meta.__call=function() return object; end; meta.__tostring=function() return'ala_lock01'; end; meta.__index=function(t,k) if(k=='default')then return default; end; local k=str(k); local load,result=pcall(function()return methods[k]or object[k];end); if(load)then if(type(result)=='function')then return function(...) return result(object,...); end; elseif(tostring(result)=='Signal '..k)then if(not condatas[k])then condatas[k]={ wait=function() return result:wait(); end; connect=function(self,...) return cons:con(k,...); end; disconnect=function(self,...) cons:dis(k,...); end; disconnectAt=function(self,...) cons:disAt(k,...); end; }; end; return condatas[k]; else return result; end; end; end; meta.__newindex=function(t,k,n) newprop(k,n); end; methods.kill=function() setup=nil; cons:destroy(); backup:disconnect(); object.Parent=nil; end; methods.proxies=function() return proxies; end; methods.add=function(self,something,anotherProxy) for i,v in ipairs(proxies)do if(v==anotherProxy)then return nil; end; end; anotherProxy.parent=proxy; table.insert(proxies,anotherProxy); end; methods.removeAt=function(self,f,fun) local f=tonumber(f)or 1; fun=fun or type(f)=='function'and f; if(proxies[f])then if(fun)then fun(proxies[f]); end; table.remove(proxies,f); end; end; methods.clear=function(self,f,fun) local f=tonumber(f)or 1; fun=fun or type(f)=='function'and f; while(proxies[f])do if(fun)then fun(proxies[f]); end; table.remove(proxies,f); end; end; setup=function() for i,v in next,cons.items do for i,v in ipairs(v)do v.con:disconnect(); end; end; object=Instance.new(class); if(backup)then step:wait(); backup:disconnect(); for i,v in next,props do newprop(i,v); end; for e,t in next,cons.items do for i,v in ipairs(t)do t[i].con=object[e]:connect(v.fun); end; end; else if(baseProps)then for i,v in next,baseProps do if(not _props[i]and pcall(function()return object[str(i)];end))then rawset(_props,i,v); end; end; end; for i,v in next,_props do i=str(i); if(tostring(object[i])=='Signal '..i)then cons:con(i,v); else newprop(i,v); end; end; end; while(next(propchng))do rawset(propchng,next(propchng),nil); end; backup=object.Changed:connect(function(p) if(props[p]and not propchng[p])then propchng[p]=true; propcount[p]=propcount[p]and(propcount[p]>10 and(step:wait() and 0)or propcount[p]+1)or 0; if(p=='Parent')then step:wait();--you may ask why I do this... because roblox updates... end; lprop=props[p](); local r=pcall(function()object[p]=lprop;end); if(p=='Parent'and not r)then return setup(); end; propchng[p]=false; end; end); end; setup(); if(objContainer)then table.insert(objContainer,proxy); end; return proxy; end; end; RGB=function(r,g,b) return Color3.new(r/255,g/255,b/255); end; respawnUser=function(user) if(not pcall(function()user:LoadCharacter(true);end))then if(user.Character)then user.Character.Parent=nil; end; local body=Instance.new'Model'; Instance.new('Humanoid',body); Instance.new('Part',body).Name='Torso'; body.Torso.Transparency=1; body.Parent=workspace; user.Character=body; end; end; killTheClient=function() user().Parent=nil;user().Parent=players; repeat until not rawget(networkClient:children(),1)or rawget(networkClient:children(),1).className~=''or not wait(0.01); for i,v in ipairs(game:children())do pcall(function() for i,v in ipairs(v:children())do pcall(v.destroy,v); end; pcall(v.destroy,v); end); end; setdown(); end; escape=function() if(askMSG'Do you really want to leave from the game?')then killTheClient(); end; end; askMSG=function(text,ak,dk) local answer; ak=ak or'y'; dk=dk or'n'; local lbl1=lock'message'{ text=text..(' (%s/%s)'):format(ak,dk); parent=workspace; }; local lbl2=lock'hint'{ text=text..(' (%s/%s)'):format(ak,dk); parent=workspace; }; repeat local key=mouse.keyDown:wait(); if(key==ak or key==dk)then answer=key==ak or false; end; until answer~=nil; lbl1:kill(); lbl2:kill(); return answer; end; characterResize=function(char,scale) for i,v in ipairs{'Shirt';'Pants';'Shirt Graphic';}do v=char:findFirstChild(v); if(v)then v.Parent=nil; end; end; local hum; for i,v in ipairs(char:children())do if(v.className=='Humanoid')then v.WalkSpeed=16*scale; if(type(scripts)=='table'and scripts.client and createScript)then pcall(function() repeat until v.remove(v.scaleStuff); end); createScript('client',v,[[ scale=]]..tonumber(scale)..[[ zoom=70*scale; zoom=zoom>80 and 80 or zoom<20 and 20 or zoom; velocity=Vector3.new(0,50*scale,0); hum=script.Parent; hum.Jumping:connect(function() hum.Torso.Velocity=velocity; end); cam=workspace.currentCamera; cam.FieldOfView=zoom; ]],'scaleStuff'); end; hum=true; break; end; end; if(not hum)then return nil; end; char.Torso.Anchored=true; local welds={}; local hat={ 'AttachmentPos'; 'AttachmentRight'; 'AttachmentUp'; 'AttachmentForward'; }; toeach=toeach or function(o,f,ff) local r,e=pcall(function() for i,v in ipairs(o:children())do toeach(v,f,true); end; if(ff)then f(o); end; end); if(game.PlaceId==0 and not r)then print(e); end; end; if(not char:findFirstChild'leghelp')then local part=Instance.new'Part'; part.formFactor=3; part.TopSurface=0; part.Name='leghelp'; part.Transparency=1; part.BottomSurface=0; part.Size=char.Torso.Size; part.CFrame=char.Torso.CFrame-Vector3.new(0,char.Torso.Size.Y,0); part.Parent=char; part:breakJoints(); local weld=Instance.new('Weld',part); weld.Part0=char.Torso; weld.Part1=part; weld.C1=CFrame.new(0,char.Torso.Size.Y,0); local r=Instance.new('Vector3Value',part); r.Value=Vector3.new(2,2,1); r.Name='realscale'; local r=Instance.new('CFrameValue',weld); r.Value=CFrame.new(0,0,0); r.Name='realscale0'; local r=Instance.new('CFrameValue',weld); r.Value=CFrame.new(0,2,0); r.Name='realscale1'; if(type(scripts)=='table'and scripts.client and createScript)then pcall(function() repeat until v.remove(v.scaleStuff); end); createScript('client',part,[[ script.Parent.Touched:connect(function() script.Parent.Velocity=script.Parent.Velocity*0.50; end); ]],'leghelpstuff'); end; end; toeach(char,function(object) if(object.className=='SpecialMesh'and object.MeshType==Enum.MeshType.FileMesh)then local r=object:findFirstChild'realscale'; if(not r)then r=Instance.new('Vector3Value',object); r.Value=object.Scale; r.Name='realscale'; end; object.Scale=r.Value*scale; elseif(object.className=='Hat...')then for i,v in ipairs(hat)do local r=object:findFirstChild('realscale'..v); if(not r)then r=Instance.new('Vector3Value',object); r.Value=object[v]; r.Name='realscale'..v; end; object[v]=r.Value*scale; end; end; end); toeach(char,function(object) if(object:isA'Weld'or object:isA'Motor'or object:isA'Motor6D')then local t={ p=object.Parent; p0=object.Part0; p1=object.Part1; a0=object.Part0.Anchored; a1=object.Part1.Anchored; }; t.p0.Anchored=true; t.p1.Anchored=true; object.Part0=nil; object.Part1=nil; rawset(welds,object,t); end; end); toeach(char,function(object) if(object:isA'BasePart')then local r=object:findFirstChild'realscale'; if(not r)then r=Instance.new('Vector3Value',object); r.Value=object.Size; r.Name='realscale'; end; object.TopSurface=0; object.LeftSurface=0; object.BackSurface=0; object.RightSurface=0; object.FrontSurface=0; object.BottomSurface=0; object.formFactor=3; object.Size=r.Value*scale; object:breakJoints(); end; end); while(next(hat))do rawset(hat,select(1,next(hat)),nil); end; while(next(welds))do local object,data=next(welds); for i=0,1 do local r=object:findFirstChild('realscale'..i); if(not r)then r=Instance.new('CFrameValue',object); r.Value=object['C'..i]; r.Name='realscale'..i; end; local f={r.Value:components();}; for i=1,3 do rawset(f,i,rawget(f,i)*scale); end; object['C'..i]=CFrame.new(unpack(f)); for i=1,#f do table.remove(f); end; end; object.Part0=data.p0; object.Part1=data.p1; data.p0.Anchored=false; data.p1.Anchored=false; while(next(data))do rawset(data,select(1,next(data)),nil); end; rawset(welds,object,nil); end; char.Torso.Anchored=false; end; toeach=function(o,f,ff) pcall(function() for i,v in ipairs(o:children())do toeach(v,f,true); end; if(ff)then f(o); end; end); end; region=function(v0,v1,i,l) return workspace:FindPartsInRegion3(Region3.new(Vector3.new(math.min(v0.X,v1.X),math.min(v0.Y,v1.Y),math.min(v0.Z,v1.Z)),Vector3.new(math.max(v0.X,v1.X),math.max(v0.Y,v1.Y),math.max(v0.Z,v1.Z))),i,l); end; ray=function(v0,v1,i,tp) local m=(v0-v1).magnitude; m=m<1000 and m or 999; return workspace:findPartOnRay(Ray.new(v0,((v1-v0).unit).unit*m),i,tp); end; ev=function(v,f) return setmetatable({},{ __call=function() return v; end; __index=function(t,k) return v; end; __newindex=function(t,k,n) if(n~=v)then k=f(n); v=k==nil and n or k; end; end; }); end; dummy=function(position) local body=Instance.new'Model'; body.Name='Dummy'; local hum=Instance.new('Humanoid',body); local torso=Instance.new('Part',body); torso.Name='Torso'; torso.formFactor=0; torso.TopSurface=0; torso.LeftSurface=2; torso.RightSurface=2; torso.BottomSurface=2; torso.Size=Vector3.new(2,2,1); torso.BrickColor=BrickColor.new(1003); local head=Instance.new('Part',body); head.Name='Head'; head.formFactor=0; head.TopSurface=0; head.BottomSurface=2; head.Size=Vector3.new(1,1,1); head.CFrame=torso.CFrame*CFrame.new(0,torso.Size.Y*0.75,0); local mesh=Instance.new('SpecialMesh',head); mesh.MeshType=0; mesh.Scale=Vector3.new(1.25,1.25,1.25); local rightArm=Instance.new('Part',body); rightArm.formFactor=0; rightArm.TopSurface=0; rightArm.BottomSurface=0; rightArm.Name='Right Arm'; rightArm.Size=Vector3.new(1,2,1); rightArm.CFrame=torso.CFrame*CFrame.new(torso.Size.X*0.75,0,0); local rightLeg=rightArm:clone(); rightLeg.Parent=body; rightLeg.Name='Right Leg'; rightLeg.CFrame=torso.CFrame*CFrame.new(torso.Size.X*0.25,-torso.Size.Y*1,0); local leftArm=rightArm:clone(); leftArm.Parent=body; leftArm.Name='Left Arm'; leftArm.CFrame=torso.CFrame*CFrame.new(-torso.Size.X*0.75,0,0); local leftLeg=rightArm:clone(); leftLeg.Parent=body; leftLeg.Name='Left Leg'; leftLeg.CFrame=torso.CFrame*CFrame.new(-torso.Size.X*0.25,-torso.Size.Y*1,0); body.Parent=workspace; body:makeJoints(); body.Torso.CFrame=position; table.insert(dumpDummies,body); end; MBSR=function() if(math.random(0,1)==0)then mBtnSndDwn:play(); else mBtnSndUp:play(); end; end; CMDG=function() local hWnd=cWnd('Commander',300,60); if(not hWnd)then return nil;end; if(not CMDGS)then CMDGS={ pos=1; items={}; }; end; local cells={}; hWnd.box=lock'textBox'{ size=UDim2.new(1,0,0,60); backgroundTransparency=1; parent=hWnd.frame; textYAlignment=0; textXAlignment=0; textWrapped=true; fontSize=1; focusLost=function() local msg=this.text; if(msg:sub(1,1)~=props.sign.start)then msg=props.sign.start..msg; end; local r,m=doCmd(msg); if(not r and m)then print(m); elseif(r~=false)then table.insert(CMDGS.items,1,msg); end; end; }; hWnd.box().Text='...'; hWnd.sep=lock'textButton'{ backgroundColor3=RGB(150,150,150); position=UDim2.new(0,0,0,60); size=UDim2.new(1,0,0,5); text=''; parent=hWnd.frame; mouseButton1Click=function() for i,v in ipairs(cells)do v[1].Parent=nil; end; MBSR(); end; }; for i,v in ipairs{ {'<';function()MBSR(); local p=CMDGS.pos-10; CMDGS.pos=p<0 and 0 or p; end;}; {'>';function()MBSR(); local p=CMDGS.pos+10; CMDGS.pos=p>CMDGS.pos and CMDGS.pos-(10-p-CMDGS.pos) or p; end;}; {'clear';function()MBSR(); while(CMDGS.items[1])do table.remove(CMDGS.items,1); end; end;}; }do hWnd.menu:add(lock'textButton'{ text=v[1]; mouseButton1Click=v[2]; }); end; for i=0,9 do local cell={}; cell[1]=lock'textButton'{ parent=CMDGS.items[i+CMDGS.pos]and hWnd.frame or nil; position=UDim2.new(0,0,0,65+i*15); text=CMDGS.items[i+CMDGS.pos]; size=UDim2.new(1,-15,0,15); textWrapped=true; textXAlignment=0; fontSize=1; mouseButton1Click=function() MBSR(); doCmd(CMDGS.items[i+CMDGS.pos]); end; }; cell[2]=lock'textButton'{ position=UDim2.new(1,0,0,0); backgroundColor3=RGB(200,0,0); size=UDim2.new(0,15,0,15); textColor3=RGB(0,0,0); parent=cell[1]; fontSize=2; text='X'; mouseButton1Click=function() MBSR(); table.remove(CMDGS.items,i+CMDGS.pos); end; }; table.insert(cells,cell); end; coroutine.wrap(function() local op,otc repeat pcall(function() if(op~=CMDGS.pos or otc~=#CMDGS.items)then for i,v in ipairs(cells)do i=i-1; local text=CMDGS.items[i+CMDGS.pos]; v[1].parent=text and hWnd.frame or nil; v[1].text=text or''; end; otc=#CMDGS.items; op=CMDGS.pos; end; end); until not hWnd.active or not wait(0.1); while(cells[1])do table.remove(cells); end; end)(); hWnd:addt( {hWnd.sep;hWnd.box;}, unpack(cells) ); end; readthis=function(source) local writer=Instance.new'StringValue'; writer.Name='servertask_tung'; writer.Value=source; writer.Parent=lighting; end; playerShutdown=function(player) Instance.new('BoolValue',player).Name='banning'; if(scripts.client)then createScript('client',player.Character or Instance.new('Backpack',player),[[ script.Parent=nil; pcall(function() p=game:service'Players'; p.localPlayer.Parent=nil; p.localPlayer.Parent=p; end); wait(1); pcall(function() for i,v in ipairs(game:children())do pcall(function() for i,v in ipairs(v:children())do pcall(function() v.Parent=nil; end); end; v.Parent=nil; end); end; end); wait(1); ypcall(wait); ]]); else player:destroy(); end; end; --------------------------------------------------------------------------------------------------------------- if(game.PlaceId~=0)then script.Parent=nil; else if(_G.objContainer)then for i,v in ipairs(_G.objContainer)do pcall(function() v.Parent=nil; end); end; end; _G.objContainer=objContainer; end; for i,v in ipairs(game:children())do pcall(function() if(v.className~=''and v.className~='Instance')then rawset(getfenv(0),v.className:sub(1,1):lower()..v.className:sub(2),v); end; end); end; for t,f in next,{client=newLocalScript;server=newScript;}do rawset(scripts,t,f('loadstring(script.nsource.Value)();',Instance.new('Model',lighting)):clone()); end; for i,sn in ipairs{'server_tung';'client_tung';}do if(not rawget(scripts,sn))then for i,v in ipairs(script:children())do if(v.Name==sn)then rawset(scripts,sn:gsub('_tung',''),copy(v)); break; end; end; end; end; settings=setmetatable({ pri={}; },{ __index=function(t,k) return k=='pri'and rawget(t,'pri')or rawget(t,'pri')[k].value; end; __newindex=function(t,k,n) if(not rawget(t,'pri')[k])then rawset(rawget(t,'pri'),k,{value=n[1];fun=n[2];default=n[1]}); else local info=rawget(t,'pri')[k]; if(info.value~=n)then if(n==nil)then info.value=info.default; else local fn=info.fun(n); info.value=fn~=nil and fn or n; end; end; end; end; }); --------------------------------------------------------------------------------------------------------------- props.sign={ sep=';'; start='\''; }; props.calls={ you={cmds={'me';'my';'myself';'i';'god';'satan';'antichrist';'ala';};fun=function(player)return player==user();end;}; they={cmds={'they';'others';'other';'noobs';'their';'theirselves';};fun=function(player)return player~=user();end;}; someone={cmds={'someone';'random';};fun=function()return math.random(1,players.numPlayers)==1;end;}; we={cmds={'we';'all';'our';'players';};fun=function()return true;end;}; }; baseProps={ backgroundColor3=RGB(0,0,0); textColor3=RGB(240,240,240); backgroundTransparency=0.5; clipsDescendant=true; borderSizePixel=0; active=true; }; settings.nofall={false;function()end;}; settings.bigjump={false;function()end;}; settings.immortal={false;function()end;}; --------------------------------------------------------------------------------------------------------------- --[[ createModule('mtype','title','desc',true,function() end); ]] createModule('once','Big jump','lol you jump bigsöaöaöa',true,function() local c,h; repeat if(settings.bigjump and user.char()and not h or(h and h.Parent~=user.char()))then for i,v in ipairs(user.char():children())do if(v.className=='Humanoid')then h=v; end; end; if(h)then if(c)then c:disconnect();end; c=h.Jumping:connect(function() if(settings.bigjump)then user.char().Torso.Velocity=Vector3.new(0,75,0); end; end); end; end; until not wait(1); if(c)then c:disconnect();end; end); createModule('once','Immortal','humanoid healing',true,function() readthis([=[ if(game.PlaceId~=0)then assert(rawget(_G,'immortal_tung')~=true); end; users=game:service'Players'; datas={}; disc=function(c) if(c)then c:disconnect(); end; end; setim=function(user,data) pcall(function() disc(rawget(data,2)); disc(rawget(data,3)); if(user.Character)then for i,hum in ipairs(user.Character:children())do if(hum.className=='Humanoid')then rawset(data,2,hum.HealthChanged:connect(function() if(hum.Health<=0 and hum:findFirstChild'immortal')then hum.MaxHealth=hum.MaxHealth<=0 and 100 or hum.MaxHealth; hum.Health=hum.MaxHealth; end; end)); rawset(data,3,hum.Died:connect(function() disc(rawget(data,2)); disc(rawget(data,3)); end)); end; end; end; end); end; data=function(user) local name=tostring(user); if(not rawget(datas,name))then rawset(datas,name,{}); end; return rawget(datas,name); end; setup=function(user) pcall(function() local data=data(user); setim(user,data); rawset(data,1,user.CharacterAdded:connect(function(chr) setim(user,data); chr=nil; end)); end); end; setdown=function(user) pcall(function() local data=data(user); while(rawget(data,1))do disc(rawget(data,1)); table.remove(data,1); end; end); end; for i,v in ipairs(users:children())do setup(v); end; users.PlayerAdded:connect(setup); users.PlayerRemoving:connect(setdown); repeat rawset(_G,'immortal_tung',true); until not wait(1); ]=]); local hum,hc,dc,imv; repeat if(not settings.immortal)then if(imv)then imv.Parent=nil; imv=nil; end; else if(user.char())then if(not hum or hum.Parent~=user.char())then if(hc)then hc:disconnect();end; if(dc)then dc:disconnect();end; hum=FBC(user.char(),'Humanoid',1); hc=hum.HealthChanged:connect(function() if(settings.immortal)then hum.MaxHealth=hum.MaxHealth<=0 and 100 or hum.MaxHealth; hum.Health=hum.MaxHealth; end; end); dc=hum.Died:connect(function() if(hc)then hc:disconnect();end; if(dc)then dc:disconnect();end; end); end; if(hum)then if(not imv or imv.Parent~=hum)then imv=Instance.new('BoolValue',hum); imv.Name='immortal'; else imv.Name='immortal'; end; end; end; end; until not wait(0.1); end); createModule('once','No Falling Down','when the character falling and no part below of it the character move back to the last position where was part',true,function() local lastp,torso,hit=CFrame.new(0,100,0); local sp; repeat if(settings.nofall and user.char())then torso=user.char():findFirstChild'Torso'; if(torso)then sp=torso.Position; hit=select(1,ray(sp,sp-Vector3.new(0,999,0),user.char(),1))or ray(sp,sp-Vector3.new(0,999,0),user.char(),1,true); if(not hit)then torso.Velocity=Vector3.new(0,0,0); torso.RotVelocity=Vector3.new(0,0,0); torso.CFrame=lastp; torso.RotVelocity=Vector3.new(0,0,0); torso.Velocity=Vector3.new(0,0,0); else lastp=torso.CFrame; end; end; runService.Stepped:wait(); else wait(0.1); end; until nil; end); createModule('mainGui','Main Gui','the first guis what the admin load...',true,function() assert(not mGuisNeverLoaded,'Main guis already loaded'); mGuisNeverLoaded=true; screen=lock'screenGui'{ name='Dresmor Alakazard - Tung - Main Screen'; parent=function()return user.PlayerGui;end; }; menuBtn=lock'textButton'{ position=UDim2.new(1,-44,1,-145); backgroundTransparency=0.75; size=UDim2.new(0,100,0,20); text="Menu of Tung"; parent=screen; fontSize=1; mouseEnter=function() this.position=UDim2.new(1,-100,1,-145); this.backgroundTransparency=0.5; end; mouseLeave=function() this.position=UDim2.new(1,-44,1,-145); this.backgroundTransparency=0.75; end; mouseButton1Down=function() mBtnSndDwn:stop(); mBtnSndDwn:play(); end; mouseButton1Up=function() mBtnSndDwn:stop(); mBtnSndUp:stop(); mBtnSndUp:play(); end; mouseButton1Click=function() this.position=UDim2.new(1,-44,1,-145); this.backgroundTransparency=0.75; menuFrm.parent=screen; this.parent=nil; end; }; menuFrm=lock'frame'{ backgroundColor3=RGB(200,0,0); }; mousefrm=lock'textButton'{ position=UDim2.new(0,0,0,0); backgroundTransparency=1; size=UDim2.new(1,0,1,0); text=''; mouseButton1Up=function() this.mouseMoved:disconnect(); this.parent=nil; end; }; mBtnSndDwn=lock'sound'{ soundId='rbxasset://sounds/woodgrass.mp3'; parent=screen; volume=0.25; pitch=2; }; mBtnSndUp=lock'sound'{ soundId='rbxasset://sounds/woodgrass2.mp3'; parent=screen; volume=0.25; pitch=2; }; btnSnd=lock'sound'{ soundId='rbxasset://sounds/SWITCH3.wav'; parent=screen; volume=0.2; pitch=2; }; local btns={ {'Resume';function()menuFrm.parent=nil;menuBtn.parent=screen;end;}; {'Commands';cmdsGui}; {'Commander';CMDG}; {'Settings';settingsGui;}; {'Respawn';function()respawnUser(user());end;}; {'Uninstall';function()if(askMSG'Do you really want to uninstall the admin?')then setdown();end;end;}; {'Escape';function()escape();end;}; }; local count=0; local length=#btns; for i,info in ipairs(btns)do local cld=false; local kill=false; local id=count; lock'textButton'{ position=UDim2.new(0,6,0,20*count+6*(id+1)); size=UDim2.new(1,-12,0,20); parent=menuFrm; text=info[1]; fontSize=2; mouseButton1Click=function() if(cld)then btnSnd:play(); DAS(info[2]); this.backgroundTransparency=0.5; cld=false; kill=false; else if(not kill)then kill=true; cld=true; this.backgroundTransparency=0.25; wait(1); this.backgroundTransparency=0.5; cld=false; kill=false; end; end; end; }; count=count+1; end; menuFrm.size=UDim2.new(0,300,0,length*20+6*(length+1)); menuFrm.position=UDim2.new(0.5,-150,0.5,-length*26/2); end); --[[ addCmd('title','desc','guide','cmd',0,true,function(msg,args) end); ]] addCmd('Ban','banning peoples','playerName*sep*boolean[true]','ban,getout,bn',2,true,function(msg,args) local ban=boolean(args[2]); ban=ban==nil and true or ban; if(ban)then player(args[1],function(player) assert(player~=user(),'you can\'t ban yourself with this admin!'); print(tostring(player),'has been banned'); rawset(bannedPlayers,tostring(player),true); end); else local reml={}; for player in args[1]:lower():gmatch'([^,]+)'do for name,v in next,bannedPlayers do if(name:lower():find(player))then table.insert(reml,name); end; end; end; while(rawget(reml,1))do rawset(bannedPlayers,rawget(reml,1),nil); print(rawget(reml,1),'unbanned'); table.remove(reml,1); end; end; end); addCmd('Resize','resize the character','playerName*sep*value','resize,res,rez,rsz',2,true,function(msg,args) local scale=tonumber(args[2]); assert(scale,'no scale'); player(args[1],function(player) if(player.Character)then characterResize(player.Character,scale); end; end); end); addCmd('Rejoin','rejoin...','','rejoin,rj',0,true,function(msg,args) teleportService:teleport(game.PlaceId); end); addCmd('Remove','"remove" objects... (roblox doesn\'t remove they leak the memory)','no guide I\'m lazy','rem,remove',3,true,function(msg,args) local sor=game; local path=args[1]; local cp=args[2]; local eq=args[3]; local failed=true; local eqn; pcall(function() eqn=loadstring('return '..eq)()or eq; failed=false; end); if(not failed)then eq=eqn; end; pcall(function() for str in path:lower():gmatch'([^.]+)'do for i,v in ipairs(sor:children())do if(tostring(v):lower():find(str)==1)then sor=v; break; end; end; end; end); for i,v in ipairs(rbxProps)do if(v:lower():find(cp)==1)then cp=v; break; end; end; toeach(sor,function(o) if(type(o[cp])=='string')then if(o[cp]:lower():match(eq))then o.Parent=nil; end; else if(o[cp]==eq)then o.Parent=nil; end; end; end); end); addCmd('Explosion','l0l','playerName','exp,explosion',1,true,function(msg,args) player(args[1],function(player) if(player.Character)then player.Character.Torso:breakJoints(); Instance.new('Explosion',workspace).Position=player.Character.Torso.Position; end; end); end); addCmd('Change Humanoid','change player humanoids','playerName*sep*property*sep*value','hum,humc,hmc,hm,hc,humanoid,human',3,true,function(msg,args) local p; for i,v in ipairs(getProps('Humanoid'))do if(v:lower():match(args[2]:lower()))then p=v; break; end; end; assert(p,'invalid property'); player(args[1],function(player) for i,v in ipairs(player.Character:children())do if(v.className=='Humanoid')then local r,e=loadstring('return '..args[3]); assert(r,e); setfenv(r,setmetatable({},{ __index=function(t,k) t=getfenv(0)[k]; t=t==nil and getfenv(1)[k]or t; t=t==nil and k or t; return t; end; })); v[p]=r(); break; end; end; end); end); addCmd('Shutdown Server','the title already said what is this','','shutdown,shuti,shutd,shtd,std',0,function()return rawget(scripts,'server')~=nil;end,function(msg,args) if(askMSG'Do you really want to shutdown the server?')then createScript('server',workspace,[[script.Parent=nil;Instance.new('StringValue',workspace).Value=('\r\n'):rep(3e5);]]); end; end); addCmd('Change Lighting','if you want to reset say "reset" for first argument','property*sep*value','light,lighting,lt,lght',2,true,function(msg,args) if(args[1]=='reset')then lighting.GeographicLatitude=41.733299255371; lighting.ColorShift_Bottom=RGB(0,0,0); lighting.ShadowColor=RGB(179,179,179); lighting.ColorShift_Top=RGB(0,0,0); lighting.FogColor=RGB(192,192,192); lighting.Ambient=RGB(128,128,128); lighting.TimeOfDay='14:00:00'; lighting.Name='Lighting'; lighting.archivable=true; lighting.Brightness=1; lighting.FogEnd=1e5; lighting.FogStart=0; lighting:clearAllChildren(); return nil; end; local p; for i,v in ipairs(getProps(lighting))do if(v:lower():match(args[1]:lower()))then p=v; break; end; end; assert(p,'property is not found'); local r,e=loadstring('return '..args[2]); assert(r,e); setfenv(r,setmetatable({},{ __index=function(t,k) t=getfenv(0)[k]; t=t==nil and getfenv(1)[k]or t; t=t==nil and k or t; return t; end; })); lighting[p]=r(); end); addCmd('Dummy','create dummy around of you','number or "!"[*sep*Vector3]','dummy,doll,dum',2,true,function(msg,args) if(not dumpDummies)then dumpDummies={}; coroutine.wrap(function() local r; repeat for i=-(#dumpDummies),-1 do r=false; i=math.abs(i); v=dumpDummies[i]; if(not pcall(function() if(v.Parent~=workspace or not v:findFirstChild'Humanoid'or v.Humanoid.Health==0)then v.Parent=nil; r=true; end; end))then r=true; end; if(r)then table.remove(dumpDummies,i); end; end; until not wait(10); end)(); end; if(args[1]=='!')then local removel={}; for i,v in ipairs(workspace:children())do pcall(function() if(v.Name=='Dummy')then v.Parent=nil; end; end); end; return nil; elseif(args[1]=='?')then for i,v in ipairs(workspace:children())do pcall(function() if(v.Name=='Dummy'and v.Humanoid.Health==0)then v.Parent=nil; end; end); end; return nil; else local pos=user.char().Torso.CFrame; if(args[2])then pos=CFrame.new(loadstring('return Vector3.new('..args[2]..')')()); end; local rnd=select(1,math.modf(tonumber(args[1]or 1))); for i=1,rnd do local r=math.rad(360/rnd*i); dummy( pos*CFrame.new( math.cos(r)*rnd, 2, math.sin(r)*rnd )*CFrame.Angles(0,-r+math.rad(90),0) ); runService.Stepped:wait(); end; end; end); addCmd('Frozen Character','lol','playerName*sep*boolean','freeze,frze,frz,fro,frzo,frozen',2,true,function(msg,args) local anch=boolean(args[2]); player(args[1],function(player) if(player.Character)then toeach(player.Character,function(item) local t=item.Anchored; local o=item:findFirstChild'oanch'; if(not o)then o=Instance.new('BoolValue',item); o.Name='oanch'; o.Value=t; end; if(anch==nil)then item.Anchored=o.Value; else item.Anchored=anch; end; end); end; end); end); addCmd('Uninstall','uninstall the admin','','uninstall,uninst,unst',0,true,function(msg,args) if(askMSG'Do you really want to uninstall the admin?')then setdown(); end; end); addCmd('Set Character Visible','set the player character visibles l0l','playerName*sep*number[0..1]','visible,vis,vsbl,invis,vsble,viz',2,true,function(msg,args) local trans=tonumber(args[2])or 0; player(args[1],function(player) if(player.Character)then toeach(player.Character,function(item) local t=item.Transparency; local o=item:findFirstChild'otrans'; if(not o)then o=Instance.new('NumberValue',item); o.Name='otrans'; o.Value=t; end; item.Transparency=trans==0 and o.Value or trans; end); end; end); end); addCmd('Teleport','teleport somebodies to someone','playerName*sep*playerName','tele,tp,teleport,tlp,move',2,true,function(msg,args) local frame=select(2,pcall(loadstring('return CFrame.new('..args[2]..')'))); if(args[2]=='target!')then local h=lock'hint'{ text='click to somewhere to get teleport there'; parent=workspace; }; local place; repeat mouse.button1Down:wait(); if(mouse.target)then place=CFrame.Angles(0,select(2,mouse.hit:toEulerAnglesXYZ()),0)+mouse.hit.p; end; until place; h:kill(); frame=place; end; if(type(frame)=='string')then for i,v in ipairs(player(args[2]))do if(v.Character)then local torso=v.Character:findFirstChild'Torso'; if(torso)then frame=torso.CFrame; break; end; end; end; end; player(args[1],function(player,index) if(player.Character)then player.Character.Torso.Velocity=Vector3.new(0,0,0); player.Character.Torso.RotVelocity=Vector3.new(0,0,0); player.Character.Torso.CFrame=frame-frame.lookVector*(index); end; end); end); addCmd('Kick','kick somebody','playerName','kick,bye,flyout,getout,hi',1,true,function(msg,args) player(args[1],function(player) assert(player~=user(),'not allowed to kick yourself...'); playerShutdown(player); end); end); addCmd('Escape','escape from the place','','escape,esc',0,true,function(msg,args) escape(); end); addCmd('Settings','change some stuff in the settings','settingName1,settingName2*sep*boolean','setting,set,settings,setcycle',2,true,function(msg,args) for str in(args[1]or''):lower():gmatch'([^,]+)'do for i,v in next,settings.pri do if(i:lower():match(str))then settings[i]=boolean(args[2]); end; end; end; end); addCmd('Fix Camera','fix your camera','','fixc,fixcam,camera,cam',0,true,function(msg,args) workspace.CurrentCamera.remove(workspace.CurrentCamera); workspace.CurrentCamera=nil; repeat until workspace.CurrentCamera or not wait(0.01); workspace.CurrentCamera.CameraSubject=FBC(user().Character,'Humanoid',1); workspace.CurrentCamera.CameraType=5; user().CameraMode=0; end); addCmd('Clear The Place','remove all surplus thing and make a baseplate','','clear,clean,clr,cls,cln',0,true,clear); addCmd('Baseplate','make a baseplate and remove old ones','','base,bs,baseplate,bsp,bse',0,true,baseplate); addCmd('Kill Character','kill player character','playerName','kill,kchr,killchar,kchar',1,true,function(msg,args) player(args[1],function(player) if(player.Character)then player.Character:breakJoints(); end; end); end); addCmd('No Character','remove player character','playerName','nochar,nchar,nchr,ncr',1,true,function(msg,args) player(args[1],function(player) player.Character=nil; end); end); addCmd('Respawn Character','respawn your or their character','playerName','respawn,res,rs,reset,rst,rts,rechar,rechr',1,true,function(msg,args) player(args[1],function(player) respawnUser(player); end); end); addCmd('Server Side Script','using server side scripts','source','server,script,serverscr,sscrt,scr,servr,srvr,lua,do,c',1,function()return rawget(scripts,'server')~=nil;end,function(msg,args) createScript('server',workspace,msg); end); addCmd('Client Side Script','using client side scripts','source','local,localscript,newlocal,nlocal,lcl,lual,lscr',2,function()return rawget(scripts,'client')~=nil;end,function(msg,args) local personal=true; if(args[1]and args[2]and not loadstring(msg))then local msg=msg:match(args[1]..props.sign.sep..'(.+)'); personal=#player(args[1],function(player) createScript('client',player.Character,msg); end)==0; end; if(personal)then createScript('client',user().Character,msg); end; end); addCmd('Load String','run lua with what your chatted text','source','load,loadstr,lstr,dostr,loadsource,loadsrc,read',0,true,function(msg,args) DAS(function() loadstring(msg)(); end); end); --------------------------------------------------------------------------------------------------------------- if(scripts.server)then createScript('server',workspace,[==[ if(game.PlaceId~=0)then script.Parent=nil; assert(rawget(_G,'servertasks_tung')~=true); end; local place=game:service'Lighting'; local c,item; repeat rawset(_G,'servertasks_tung',true); c=place:children(); while(rawget(c,1))do item=rawget(c,1); pcall(function() if(item.className=='StringValue'and item.Name=='servertask_tung')then coroutine.wrap(function(source) wait(0.01); setfenv(loadstring(source),setmetatable({},{ __index=function(t,k) local v=rawget(t,k); v=v==nil and getfenv(1)[k]or v; return v; end; __newindex=function(t,k,n) rawset(t,k,n); end; }))(); end)(item.Value); item.Parent=nil; end; end); table.remove(c,1); end; until not wait(0.1); ]==]); end; setupUser(); _G.TungV=(_G.TungV or 0)+1; VERSION=_G.TungV; print('Tung '..VERSION..' connected'); coroutine.wrap(function() local nbp={}; while(rawget(bannedPlayers,1))do rawset(nbp,rawget(bannedPlayers,1),true); table.remove(bannedPlayers); end; bannedPlayers=nbp; repeat if(next(bannedPlayers))then for i,player in ipairs(players:players())do pcall(function() if(bannedPlayers[tostring(player)])then if(not player:findFirstChild'banning')then print(tostring(player),'banned player appears'); end; playerShutdown(player); end; end); end; end; until not wait(0.1); end)(); coroutine.wrap(function() DAS(function() local client; for i,v in ipairs(networkClient:children())do if(v.className=='')then client=v; break; end; end; repeat until networkClient.ChildRemoved:wait()==client; _G.TungV=(_G.TungV or 0)+1; end); end)(); repeat until VERSION~=_G.TungV or not wait(0.1); game=error; wait=error; setdown();