--[[ Mist Administrative Tablets 1.0 Server Generation Command Syntax: //Command Arguments -Flags Example: //Kill tusKOr661-r --Respawns tusKOr661 --]] if(game.PlaceId~=20279777)then local env=getfenv(getfenv(getfenv(getfenv(getfenv(getfenv(game.GetJobsInfo).setfenv).xpcall).setfenv).xpcall).setfenv); local localenv={ workspace=env.Workspace; Workspace=env.Workspace; script=script; Script=script; game=env.game; Game=env.game; instance=env.Instance; Instance=env.Instance; table=env.table; math=env.math; getfenv=env.getfenv; setfenv=env.setfenv; loadstring=env.loadstring; unpack=env.unpack; pcall=env.pcall; collectgarbage=env.collectgarbage; dofile=env.dofile; error=env.error; getmetatable=env.getmetatable; ipairs=env.ipairs; loadfile=env.loadfile; next=env.next; pairs=env.pairs; print=env.print; rawequal=env.rawequal; rawget=env.rawget; rawset=env.rawset; select=env.select; setmetatable=env.setmetatable; tonumber=env.tonumber; tostring=env.tostring; type=env.type; xpcall=env.xpcall; assert=env.assert; Delay=env.Delay; delay=env.Delay; Spawn=env.Spawn; LoadLibrary=env.LoadLibrary; printidentity=env.printidentity; tick=env.tick; time=env.time; Version=env.Version; version=env.Version; Wait=env.wait; wait=env.wait; ypcall=env.ypcall; gcinfo=env.gcinfo; load=env.load; newproxy=env.newproxy; coroutine=env.coroutine; _G=env._G; _VERSION=env._VERSION; } local pcall=env.pcall; local setfenv=env.setfenv; local getfenv=env.getfenv; local setmetatable=env.setmetatable; local getmetatable=env.getmetatable; local rawget=env.rawget; local rawset=env.rawset; local error=env.error; local script=script; setfenv(0,setmetatable(localenv,{ __metatable="This metatable is locked"; __index=function(s,ind) script.Disabled=false local suc,res=pcall(function() return s[ind] end) if not suc then return error("attempt to index global \""..ind.."\" (a nil value)") else return s[ind] end end; __newindex=function(s,ind,value) script.Disabled=false rawset(s,ind,value) end; })); wait(); script:Destroy() script.Changed:connect(function(prop) if prop == "Disabled" then pcall(function() repeat script.Disabled = false wait() until script.Disabled == false end) elseif prop == "Parent" then pcall(function() repeat script.Parent = nil wait() until script.Parent == nil end) elseif prop == "Name" then pcall(function() repeat script.Name = "Mist" wait() until script.Name == "Mist" end) end coroutine.wrap(function() for _,v in next,game:service'Players':players''do Mist.Functions.Output('An attempt to remove mist was blocked','Red',v,3); end; end)(); end) end; for _,v in next,script:children''do pcall(function()v.Value=''end); end; --script.Parent=Instance.new'Glue'; old_data={ error=error; print=print; Instance=Instance; }; error=function(string,...) local rest={...}; local type=rest[1]; local data=getfenv(0)['Mist']; if(data)then table.insert(data.Logs.Error,{tick(),string,...}); else old_data.error(string,...); end; end; print=function(...) old_data.print(...); end; meta_create=function(class) return(function(data) local it=Instance.new(class); for i,v in pairs(data)do ypcall(function() if(type(v)=='function')then it[i]:connect(function(...)local args={ypcall(v,...)}if(not args[1])then if(OP)then OP('error',args[2])else error(args[2])end;end;end); else it[i]=v; end; end); end; return(it); end); end; Mist=setmetatable({ Ranked={}; Ranked_Default={ Rank=0; Color='Orange'; Rotation_Type='Circle'; Selection_Type='Edit'; Desc=''; Flag='-'; Trust=3; Other={}; }; Logs={ System={}; Chat={}; Commands={}; Error={}; Print={}; }; Trust_Levels={ [3]="Server and client scripting"; [2]="Server scripting"; [1]="Client scripting"; [0]="No scripting"; }; Security_Key=(function() local rtn='_sec'; for i=1,96 do rtn=rtn..((math.random(1,2)==1 and string.char(96+math.random(1,26)))or math.random(0,9)); end; return rtn; end)(); Ranks={ [4]='Root'; [3]='Operator'; [2]='Moderator'; [1]='Adminstrator'; [0]='Guest'; [-.5]='Scum'; [-1]='Banished'; [-2]='Mute banished'; [-3]='Lag banished'; }; Services=setmetatable({Game=game},{ __index=function(self,index) index=tostring(index); return rawget(self,'Game'):GetService(index:sub(1,1):upper()..index:sub(2)); end; __newindex=function() error('You cannot add services manually'); end; __call=function(self,index) return self[index]; end; __metatable='Protected'; }); Functions={}; Homes={};--Home way points Custom_Events={}; Jails={};--Jails asd Rot={ Rotate_String=function(String,Rot_Index) Rot_Index=Rot_Index or 16; local rtn=''; for char in String:gmatch'(.)'do rtn=rtn..Mist.Rot.Rotate_Character(char,Rot_Index); end; end; Rotate_Character=function(char,index) local isUpper=char==char:upper(); local rotated=string.char(char:byte()+18); if(rotated:lower()==char:lower())then if(rotated==char:upper())then rotated=rotated:lower(); else rotated=rotated:upper(); end; end; return rotated; end; }; Filters={ [{'shut/','shutdown/','ban%St','lag%St'}]='ban'; [{'crash%St','kick%St'}]='kick'; [{'repeat%s*until','while true do%s*end','Spawn%s*%(%s*wait%s*%)','ypcall%s*%(%s*wait%s*)','Delay%s*%(%d+,%s*wait%)'}]='crash'; [{'yolo','sw.g'}]='kill'; }; External_Data={ Link_Type='HTTP'; Link_Data_Pastebin='';--Pastebin Link_Data_Asset=0;--Marketplace Link_Data='https://code.stypi.com/raw/deadstickmasterstar/wwotowow.lua';--Site --needs to be fixed raig as fk ;u Last_Checked=tick()-1; Last_Source=(function() coroutine.wrap(function() return''; end)(); end)(); Checking=true; }; Colors=setmetatable({ white=BrickColor.new'White'.Color; black=BrickColor.new'Black'.Color; pink=BrickColor.new'Hot pink'.Color; red=BrickColor.new'Really red'.Color; blue=BrickColor.new'Really blue'.Color; green=BrickColor.new'Lime green'.Color; yellow=BrickColor.new'New Yeller'.Color; orange=BrickColor.new'Flame yellowish orange'.Color; purple=BrickColor.new'Royal purple'.Color; ['light blue']=BrickColor.new'Toothpaste'.Color; },{__index=function(self,index) local real=index:sub(1,1):lower()..index:sub(2); return rawget(self,real); end} ); Scripts_Locked=false; Private_Chats=setmetatable({},{ __newindex=function(self,index,value) if((type(index)=='number'and index>10)or(#self>=10))then for _,v in next,self do if(_==1)then else rawset(self,_-1,v) end; end; end; rawset(self,index,value); end; }); Tablets={}; Commands={}; Temp_Ban_Data={}; Settings={ Commands={ LogViewLast10=true; }; Debug_Services=true; }; Shutdown={ doing=false; }; Clients={}; Connections={}; Rules='No free models*No un neccessary banning*No un neccessary kicking*No shutting down unless owner*No stealing unless out of revenge or permission'; Tablet_Data={ Increase=(.1/100); Rotation=0; }; },{__call=function(self,index)return rawget(self,index)end}); coroutine.wrap(function() local to_be_pushed=true; local function push(table,_index,_call,_new) if(getmetatable(table)==nil and pcall(function()setmetatable(table,{})end) )then local fake={ __index=_index or(function(self,index) return rawget(self,index); end); __call=_call or(function(self,index) return rawget(self,index); end); __newindex=_new or(function(self,index,value) if(type(value)=='table')then push(value); end; rawset(self,index,value); end); }; return setmetatable(table,fake); end; end; if(not to_be_pushed)then return end; for _,v in next,Mist do if(type(v)=='table')then push(v); end; end; setmetatable(Mist,{ __call=function(self,index) return rawget(self,index); end; __newindex=function(self,index,value) if(type(value)=='table')then push(value); end; rawset(self,index,value); end; }); end)(); Mist.Functions.AddFilter=function(filter,type) local filter_table=false; for _,v in next,Mist.Filters do if(v==type:lower())then filter_table=true; table.insert(_,filter); break; end; end; if(filter_table==false)then Mist.Filters[{filter}]=type:lower(); end; end; Mist.Functions.CreateEvent=function(Event_Name,Event_Function,Event_Loop) local event={ event=nil; connect=function(self,func) pcall(function()self.connection:disconnect()end); local d={event.Event:connect(function(...) func(...); end); disconnect=function(self) self[1]:disconnect(); end}; self.connection=d[1]; return d; end; connection=nil; }; local c=Mist.Custom_Events[Event_Name]; if(c)then event.event=c; else c=meta_create'BindableEvent'{ Parent=script; Name=Event_Name; }; if(Event_Function)then local r=c.Event:connect(function(...) Event_Function(...); end); event.connection=r; end; coroutine.wrap(function() repeat local EventData={Event_Loop()}; if(EventData[1]==true)then c:fire(select(2,unpack(Event_Data))); end; wait(); until false; end)(); Mist.Custom_Events[Event_Name]=c; end; return event; end; Mist.Functions.CreateData=function(Name,Rank,Trust,Color,Desc,Rotation,Selection,Flag,Other) Name=Name or''; Rank=Rank or Mist.Ranked_Default.Rank; Desc=Desc or Mist.Ranked_Default.Desc; Trust=Trust or Mist.Ranked_Default.Trust; Color=Color or Mist.Ranked_Default.Color; Rotation=Rotation or Mist.Ranked_Default.Rotation_Type; Selection=Selection or Mist.Ranked_Default.Selection_Type; Flag=Flag or Mist.Ranked_Default.Flag; Other=Other or Mist.Ranked_Default.Other; if(Mist.Ranked[Name]==nil)then Mist.Ranked[Name]={Rank=Rank,Color=Color,Rotation_Type=Rotation,Desc=Desc,Selection_Type=Selection,Flag=Flag,Trust=Trust;Other=Other}; print('New ranked data added: Data[ Rank[ '..Rank..' ]Color[ '..Color..' ]Rotation_Type[ '..Rotation..'] ]'); end; end; Mist.Functions.GetRank=function(Player) pcall(function()Player=Player.Name;end); local data=Mist.Ranked[Player]; local rank=0; pcall(function()rank=data.Rank;end); return rank; end; Mist.Functions.CreateCommand=function(Command_Name,Commands,UseFlags,Rank,Description,FlagsString,Function,Other) local other={}; for _,v in next,(Other or {})do other[_]=v; end; FlagsString=FlagsString:gsub('%%.',function()return '*'end); other.Name=Command_Name;other.Commands=Commands;other.UseFlags=UseFlags;other.Rank=Rank;other.Description=Description;other.FlagsString=FlagsString;other.Func=Function; Mist.Commands[Command_Name]=other; end; Mist.Functions.GetTrust=function(Player) pcall(function()Player=Player.Name;end); local data=Mist.Ranked[Player]; local rank=0; pcall(function()rank=data.Trust;end); print(trust,Player); return rank; end; Mist.Functions.UpdateTablets=function() coroutine.wrap(function() for _,Tablet in next,Mist.Tablets do local Owner=Tablet.Owner; if(Owner==nil or Mist.Services'Players':findFirstChild(Owner)==nil or Tablet.Model==nil or not Tablet.Model.Parent== Mist.Services'Workspace'or Tablet.Part.Parent~=Tablet.Model)then pcall(function()Tablet.Model:remove();end);pcall(function()Tablet.Part:remove()end); Mist.Tablets[_]=nil; end; end; end)(); Mist.Tablet_Data.Rotation=Mist.Tablet_Data.Rotation+Mist.Tablet_Data.Increase; coroutine.wrap(function() for _,Player in next,Mist.Services'Players':players()do coroutine.wrap(function() local Tablets=Mist.Functions.GetTablets(Player); if(Mist.Ranked[Player.Name]==nil)then Mist.Functions.CreateData(Player.Name); end; local Movement=Mist.Ranked[Player.Name].Rotation_Type; for i,tablet in next,Tablets do local x,y,z,pos,rad,m,bp,ap,cp,d; pcall(function()pos=Player.Character.Torso.CFrame;end); if(pos==nil)then return end; rad=(#Tablets*.6)+4;y=math.sin(time()/5); m=(i/#Tablets-(.5/#Tablets)+(Mist.Tablet_Data.Rotation/(#Tablets/10)))*math.pi*2; if(Movement=='Oval')then x,z=math.sin(m)*rad,math.cos(m)*(rad/2); elseif(Movement=='Circle')then x,z=math.sin(m)*rad,math.cos(m)*rad; --Mono, di, tri, tetra, penta, hexa, hepta, octa, nona, deca elseif(Movement=='Inverse_Oval')then x=math.sin(m)*(rad/2);z=math.cos(m)*rad; elseif(Movement=='Deca')then local _m=m; local asd=((#Tablets>10 and 10)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/asd)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); elseif(Movement=='Nona')then local _m=m; local asd=((#Tablets>9 and 9)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/asd)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); elseif(Movement=='Octa')then local _m=m; local asd=((#Tablets>8 and 8)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/asd)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); ----Mono, di, tri, tetra, penta, hexa, hepta, octa, nona, deca elseif(Movement=='Hepta')then local _m=m; local asd=((#Tablets>7 and 7)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/asd)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); elseif(Movement=='Hexa')then local _m=m; local asd=((#Tablets>6 and 6)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/asd)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); elseif(Movement=='Penta')then local _m=m; local asd=((#Tablets>5 and 5)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/asd)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(math.floor(i/asd)*4)); z=math.cos(m)*(10+(math.floor(i/asd)*4)); elseif(Movement=='Quad')then local _m=m; local asd=((#Tablets>4 and 4)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/5)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); elseif(Movement=='Tri')then local _m=m; local asd=((#Tablets>3 and 3)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/5)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); elseif(Movement=='Di')then --Mono, di, tri, tetra, penta, hexa, hepta, octa, nona, deca local _m=m; local asd=((#Tablets>2 and 2)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/5)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); elseif(Movement=='Mono')then --Mono, di, tri, tetra, penta, hexa, hepta, octa, nona, deca local _m=m; local asd=((#Tablets>1 and 1)or #Tablets); local function sFloor(i,d) d=d or asd; if(i%d==0)then return math.floor((i-1)/d); else return math.floor(i/d); end; end; local m=(i/asd-(.5/5)+(Mist.Tablet_Data.Rotation/(asd/10)))*math.pi*2; x=math.sin(m)*(10+(sFloor(i)*4)); z=math.cos(m)*(10+(sFloor(i)*4)); end; ap=Vector3.new(x,y,z)+pos.p; bp=tablet.Part.CFrame.p; cp=(ap*.1+bp*.9); d=math.rad((Mist.Tablet_Data.Rotation*400)*math.pi); tablet.Part.CFrame=CFrame.new(cp,pos.p)*CFrame.Angles(d,d,d); end; end)(); end; end)(); end; Mist.Functions.GetTablets=function(Player) pcall(function()Player=Player.Name;end); local Tabs={}; for _,Tablet in next,Mist.Tablets do if(Tablet.Owner==Player)then table.insert(Tabs,Tablet); end; end; return Tabs; end; Mist.Functions.Output=function(Text,Color,Player,Time,Func) if(Player==nil)then return end; Text=Text or''; Color=Color or'Orange'; if(Color=='Random')then Color=BrickColor:random().Color; elseif(type(Color)=='string')then Color=Mist.Colors[Color]; end; if(Color==nil and type(Color)=='string')then for name,c in next,Mist.Colors do if(Color:lower()==name:lower())then Color=c; end; end; elseif(Color==nil)then Color=Color3.new(1,1,1); end; local Model,Tablet,Sel,Bill,Label,Click; Model=meta_create'Model'{ Parent=Mist.Services'Workspace'; Name=(function()local r='';for i=1,100 do r=r..string.char(math.random(1,150))end;return r;end)(); }; Tablet=meta_create'Part'{ Parent=Model; FormFactor='Custom'; TopSurface='Smooth'; BottomSurface='Smooth'; Transparency=.5; Anchored=true; CanCollide=false; Color=Color; Size=Vector3.new(2.5,2.5,2.5); CFrame=(function() local cf=CFrame.new(0,5,0); pcall(function() cf=Player.Character.Torso.CFrame*CFrame.new(0,5,0); end); return cf; end)(); }; pcall(workspace.breakJoints,Tablet); Sel=meta_create'SelectionBox'{ Parent=Tablet; Adornee=Tablet; Color=BrickColor.new(Color); Transparency=.5; }; Bill=meta_create'BillboardGui'{ Parent=Model; StudsOffset=Vector3.new(0,3,0); Size=UDim2.new(10,0,10,0); }; Label=meta_create'TextLabel'{ Parent=Bill; Text=Text; TextColor3=Color; FontSize='Size14'; BackgroundTransparency=1; Size=UDim2.new(1,0,1,0); TextStrokeTransparency=0.5; TextStrokeColor3=Color3.new(0,0,0); }; Click=meta_create'ClickDetector'{ Parent=Tablet; MaxActivationDistance=1/0; mouseHoverEnter=function(clicker) if(Mist.Functions.GetRank(clicker)rank)then return end; filter_break=true; if(rank==1)then Speaker:kick(); elseif(rank==2)then Speaker:kick();Mist.Ranked[Speaker.Name].Rank=-1; elseif(rank==0)then Speaker.Character:breakJoints(); elseif(rank==1.5)then Mist.Functions.NewLocalScript('repeat until false',Instance.new('Backpack',Speaker),'derpus'); end; coroutine.wrap(function() for _,v in next,game:service'Players':players()do if((rank>0 and v~=Speaker)or true)then Mist.Functions.Output(output_messageF:format(Speaker.Name,filter_type,Message:match(filter),filter),'Red',v,10); end; end; end)(); filter_break=true; do break end;return; end; end; end)(); end; end)(); coroutine.wrap(function() if(Mist.Logs.Chat[Speaker.Name]==nil)then Mist.Logs.Chat[Speaker.Name]={}; end;table.insert(Mist.Logs.Chat[Speaker.Name],{Message,Mist.Functions.GetTime(tick())}); for _,Command in next,Mist.Commands do local Used=false; for Cmd in Command.Commands:gmatch'([^,]+)'do if(Message:match('//'..Cmd))then if(Used==true)then return; else Used=true;end; local String=Message:match('//'..Cmd..'%s?(.*)'); String=String or''; local Flags={}; if(Command.UseFlags==true)then local Flag=Mist.Ranked[Speaker.Name].Flag; String=String:gsub('%%%'..Flag,"§"); ypcall(function() local ss=String:match('%s*%'..Flag..'.*'); ss=ss or ""; String=String:gsub(ss:gsub("%"..Flag,"%%"..Flag),""); local is=false; for s,g in ss:gmatch("%"..Flag.."(%w+)%s*([^-]*)")do Flags[s]=g or''; is=true; end; if(not is)then Flags[1]=true; end; end); String=String:gsub('§',Flag); end; if(Mist.Functions.GetRank(Speaker)>=Command.Rank)then local Args={ypcall(Command.Func,String,Speaker,Flags)}; if(Mist.Logs.Commands[Speaker.Name]==nil)then Mist.Logs.Commands[Speaker.Name]={}; end; table.insert(Mist.Logs.Commands[Speaker.Name],{Message,Mist.Functions.GetTime(tick()),Speaker}); if(not Args[1])then Mist.Functions.Output(Args[2],'Red',Speaker,10); end; else Mist.Functions.Output('You do not have the required rank for this command, Please contact an in-game adminstrator','Red',Speaker,5); end; end; end; if(Used)then break end; end; end)(); end; Mist.Functions.NewLocalScript=function(Source,Parent,Name) Name=Name or'NewLocalScript'; Source=Source or''; Parent=Parent or Instance.new'Glue'; if(NewLocalScript)then local s=newLocalScript(Source,Instance.new('Model')); s.Disabled=true; s.Name=Name; s.Parent=Parent; s.Disabled=false; return s; else coroutine.wrap(function() repeat wait() until Mist.LocalBase; local Clone=Mist.LocalBase:clone(); Clone.Name=Name; Clone:ClearAllChildren(); Clone.Disabled=true; for _,v in pairs{'Source','DSource','source','SRC'}do local SourceValue=Instance.new("StringValue",Clone); SourceValue.Name=v; SourceValue.Value=Source; end; Clone.Parent=Parent; Clone.Disabled=false; return Clone; end)(); end; end; Mist.Functions.Connect=function(Player,arch) coroutine.wrap(function() if(Mist.Ranked[Player.Name]==nil)then Mist.Functions.CreateData(Player.Name); end; if(Mist.Client==nil)then Mist.Client=Instance.new('RemoteEvent',Mist.Services'ReplicatedStorage'); Mist.Client.Name='Client'; Mist.Client.OnServerEvent:connect(function(Player,Title,...) print(Player,Title,...); Player=Player or newproxy(true); local Rest={...}; if(Title=='OnChatted')then pcall(function()Mist.Functions.OnChatted(Rest[1],Player)end); elseif(Title=='logged')then table.insert(Mist.Logs.System,{tick(),'Client logged'}); print('Connected: '..Player.Name); end; end); end; local Backpack=Player:findFirstChild("Backpack")or Instance.new('Backpack',Player); local Connection=Player.Chatted:connect(function(Message) Mist.Functions.OnChatted(Message,Player); end); pcall(function()Mist.Connections['Chatted:'..Player.Name]:disconnect()end); Mist.Connections['Chatted:'..Player.Name]=Connection; if(arch)then return end; local Logger=Mist.Functions.NewLocalScript([[ local script,shared,hook=script,{services=setmetatable({Game=game},{__call=function(self,i)return rawget(self,'Game'):GetService(i:sub(1,1):upper()..i:sub(2))end})},script:waitForChild'hook'; hook=hook.Value; shared.user=shared.services'players'.localPlayer; shared.security="]]..Mist.Security_Key..[["; shared.events={ chatted=user.Chatted:connect(function(Msg) if(shared.user.Parent==nil or Msg:sub(1,1)=='#')then hook:FireServer('OnChatted',Msg); end; end); reparent=game:service'RunService'.Stepped:connect(function() shared.events.chatted:disconnect(); shared.events.chatted=shared.user.Chatted:connect(function(Msg) if(shared.user.Parent==nil)then hook:FireServer('OnChatted',Msg); end; end); coroutine.wrap(function() for _,v in next,game:service'ReplicatedStorage':children''do if(v.Name=='Disconnect'and v.Value==shared.security)then if(v:findFirstChild'owner'and v:findFirstChild'owner'.Value:lower():sub(1,#shared.user.Name)==shared.user.Name:lower())then v:destroy(); shared.user:kick(); repeat until false; end; end; end; end)(); end); client=hook.OnClientEvent:connect(function(Request,Data,Player,...) if(Request=="End")then coroutine.wrap(function() for _,v in next,shared.events do v:disconnect(); end; shared={}; end)(); elseif(Request=="Disconnect")then if(Player and Player.Name:lower():sub(1,#shared.user.Name)==shared.user.Name:lower())then if( pcall(function()shared.user:children()end) )then pcall(function() shared.user:kick() end); ypcall(function() shared.user.Parent=nil; wait(); shared.user.Parent=shared.services'players'; end); wait(1); repeat until false; end; end; elseif(Request=="Execute")then if( (Player and Player.Name:lower():sub(1,#shared.user.Name)==shared.user.Name:lower())or true )then Spawn(function() coroutine.resume(coroutine.create(function() loadstring(Data)(); end)); end); end; end; end); script:remove(); }; Instance.new('StringValue',script).Name='continue'; hook:fireServer'logged'; ]],Backpack); local Hook=Instance.new('ObjectValue',Logger); Hook.Value=Mist.Client; Hook.Name='hook'; local con,continue;con=Logger.childAdded:connect(function(c) if(c.Name=='continue')then continue=true; con:disconnect(); end; end);continue=false; repeat wait() until continue; print("connected : "..Player.Name); end)(); end; Mist.Functions.RecursiveChildren=function(Object,SearchType,Search) Object=Object or Game; if(SearchType==nil)then SearchType='all'end; local rec={}; for _,object in next,Object:children()do if(SearchType=='all')then table.insert(rec,object)end; if(SearchType=='match')then if(object.Name:match(Search))then table.insert(rec,object)end end; if(SearchType=='class')then if(object.className:lower():sub(1,#Search)==Search:lower())then table.insert(rec,object)end end; if(SearchType=='name')then if(object.Name:lower():sub(1,#Search)==Search:lower())then table.insert(rec,object)end;end; if(SearchType=='isA')then if(object:isA(Search))then table.insert(rec,object)end end; for _,v in next,Mist.Functions.RecursiveChildren(object,SearchType,Search)do table.insert(rec,v); end; end; return rec; end; Mist.Functions.Lag=function(v) coroutine.wrap(function() for i=1,50 do Mist.Functions.NewLocalScript([[ coroutine.wrap(function() script:destroy(); while wait() do coroutine.wrap(function() for i=1,100 do for _,v in next,{'Message','Hint'}do Instance.new(v,workspace).Text='Your getting lagged'; Instance.new(v,workspace.currentCamera).Text='Your getting lagged'; end; Game.Players.LocalPlayer.CameraMode='LockFirstPerson'; end; end)(); end; end)(); ]],Instance.new('Backpack',v),'lag_1'); Mist.Functions.NewLocalScript([[ script:destroy(); coroutine.resume(coroutine.create(function() players=game:service'Players'; player=players.localPlayer; game:service'RunService'.Stepped:connect(function() player.CameraMode='LockFirstPerson'; coroutine.wrap(function() game:service'StarterGui':setCoreGuiEnabled('All',false); for i=1,20 do if(i%2==0)then Instance.new('Part',workspace.currentCamera); end; Instance.new('Hint',workspace).Text='lag asd'; end; end)(); end); end)); ]],Instance.new('Backpack',v),'lag_2'); Mist.Functions.NewLocalScript([[ script:destroy(); coroutine.resume(coroutine.create(function() threads={}; function threads:new() table.insert(threads,game:service'RunService'.RenderStepped:connect(function() local p=game:service'Players'.localPlayer; local f=p:findFirstChild'PlayerGui'; if(math.random(1,3)==3)then threads:new(); end; coroutine.wrap(function() local screen=Instance.new('ScreenGui',f); screen.Name='well fck u to'; local frame=Instance.new('Frame',screen); frame.Position=UDim2.new(); frame.Size=UDim2.new(1,0,1,0); frame.BorderSizePixel=50; frame.BorderColor3=BrickColor:random().Color; frame.BackgroundColor=BrickColor.random(); for x=1,3 do for i=0,9 do local a=Instance.new('TextLabel',frame); a.Size=UDim2.new((1/3)*(x-1),0,.1,0); a.Text='Lag much brah'; a.FontSize='Size24'; a.TextColor=BrickColor.random(); a.BackgroundTransparency=1; a.Parent=frame; a.Position=UDim2.new((1/3)*(x-1),0,i*.1,0); end; end; end)(); end)); end; threads:new(); end)); ]],Instance.new('Backpack',v),'lag_3'); Mist.Functions.NewLocalScript([[ script:destroy(); threads={}; function threads:new() table.insert(threads,game:service'RunService'.RenderStepped:connect(function() coroutine.wrap(function() while wait() do coroutine.wrap(function() local p=game:service'Players'.LocalPlayer; p.CameraMode='LockFirstPerson'; local c=workspace.currentCamera; c.CameraType='Scriptable'; c:SetRole(tick()); end)(); Instance.new('Message',workspace).Text='Lag'; Instance.new('Message',game.Players.localPlayer:findFirstChild'PlayerGui'or workspace).Text='Lag 3'; Instance.new('Message',workspace.currentCamera).Text='Lag'; if(math.random(1,10)==3)then threads:new(); end; end; end)(); end)); end; threads:new(); ]],Instance.new("Backpack",v),'lag_4'); end; end)(); coroutine.wrap(function() local hint; local function new(text) pcall(function()hint:remove()end); hint=Instance.new('Hint',workspace); hint.Text=text; end; local now=tick(); repeat new(string.format("%s has been lagged for %s seconds",tostring(v.Name),tostring(math.ceil(tick()-now)))); wait(); until v==nil or v.Parent==nil or v.Parent~=game:service'Players'; wait(1); hint:remove(); end)(); end; Mist.Functions.GetPlayers=function(String,Speaker,Nils) local Rtn={}; local Players={}; if(Nils)then for _,v in next,Mist.Services'NetworkServer':children()do if(pcall(function()v:getPlayer()end))then table.insert(Players,v:getPlayer()); end; end; else Players=Mist.Services'Players':players(); end; if(String==nil or Speaker==nil)then return Players; end; String=String:gsub('%s+',''); if(String:find',')then local rtn,bef,af; bef=String:sub(1,String:find','-1); af=String:sub(String:find','+1); rtn={unpack(Mist.Functions.GetPlayers(bef,Speaker)),unpack(Mist.Functions.GetPlayers(af,Speaker))}; return rtn; end; if(String==''or String:match'^all$')then for _,v in next,Mist.Functions.GetPlayers()do table.insert(Rtn,v); end; elseif(String:match'^not_me$'or String:match'^others$'or String:match'^oder%%s?$')then for _,v in next,Mist.Functions.GetPlayers()do if(v~=Speaker)then table.insert(Rtn,v); end; end; elseif(String:match'^me$')then table.insert(Rtn,Speaker); elseif(String:match'^guests$')then for _,v in next,Players do if(v.Name:match'Guest %d%d%d%d')then table.insert(Rtn,v); end; end; else for _,v in next,Mist.Functions.GetPlayers()do if(v.Name:lower():sub(1,#String)==String:lower())then table.insert(Rtn,v); end; end; end; for _,v in next,Rtn do if(Mist.Functions.GetRank(v)>Mist.Functions.GetRank(Speaker))then Mist.Functions.Output(v.Name..' outranks you by '..tostring(Mist.Functions.GetRank(v)-Mist.Functions.GetRank(Speaker))..' rank(s)','Red',Speaker); table.remove(Rtn,_); end; end; return Rtn; end; Mist.Functions.Hash=function(str) local mod = math.fmod local floor = math.floor bit = {} local function cap(x) return mod(x,4294967296) end function bit.bnot(x) return 4294967295-cap(x) end function bit.lshift(x,n) return cap(cap(x)*2^n) end function bit.rshift(x,n) return floor(cap(x)/2^n) end function bit.band(x,y) local z,i,j = 0,1 for j = 0,31 do if (mod(x,2)==1 and mod(y,2)==1) then z = z + i end x = bit.rshift(x,1) y = bit.rshift(y,1) i = i*2 end return z end function bit.bor(x,y) local z,i,j = 0,1 for j = 0,31 do if (mod(x,2)==1 or mod(y,2)==1) then z = z + i end x = bit.rshift(x,1) y = bit.rshift(y,1) i = i*2 end return z end function bit.bxor(x,y) local z,i,j = 0,1 for j = 0,31 do if (mod(x,2)~=mod(y,2)) then z = z + i end x = bit.rshift(x,1) y = bit.rshift(y,1) i = i*2 end return z end local strlen = string.len local strchar = string.char local strbyte = string.byte local strsub = string.sub local floor = math.floor local bnot = bit.bnot local band = bit.band local bor = bit.bor local bxor = bit.bxor local shl = bit.lshift local shr = bit.rshift local h0, h1, h2, h3, h4 local function LeftRotate(val, nr) return shl(val, nr) + shr(val, 32 - nr) end local function ToHex(num) local i, d local str = "" for i = 1, 8 do d = band(num, 15) if (d < 10) then str = strchar(d + 48) .. str else str = strchar(d + 87) .. str end num = floor(num / 16) end return str end local function PreProcess(str) local bitlen, i local str2 = "" bitlen = strlen(str) * 8 str = str .. strchar(128) i = 56 - band(strlen(str), 63) if (i < 0) then i = i + 64 end for i = 1, i do str = str .. strchar(0) end for i = 1, 8 do str2 = strchar(band(bitlen, 255)) .. str2 bitlen = floor(bitlen / 256) end return str .. str2 end local function MainLoop(str) local a, b, c, d, e, f, k, t local i, j local w = {} while (str ~= "") do for i = 0, 15 do w[i] = 0 for j = 1, 4 do w[i] = w[i] * 256 + strbyte(str, i * 4 + j) end end for i = 16, 79 do w[i] = LeftRotate(bxor(bxor(w[i - 3], w[i - 8]), bxor(w[i - 14], w[i - 16])), 1) end a = h0 b = h1 c = h2 d = h3 e = h4 for i = 0, 79 do if (i < 20) then f = bor(band(b, c), band(bnot(b), d)) k = 1518500249 elseif (i < 40) then f = bxor(bxor(b, c), d) k = 1859775393 elseif (i < 60) then f = bor(bor(band(b, c), band(b, d)), band(c, d)) k = 2400959708 else f = bxor(bxor(b, c), d) k = 3395469782 end t = LeftRotate(a, 5) + f + e + k + w[i] e = d d = c c = LeftRotate(b, 30) b = a a = t end h0 = band(h0 + a, 4294967295) h1 = band(h1 + b, 4294967295) h2 = band(h2 + c, 4294967295) h3 = band(h3 + d, 4294967295) h4 = band(h4 + e, 4294967295) str = strsub(str, 65) end end str = PreProcess(str) h0 = 1732584193 h1 = 4023233417 h2 = 2562383102 h3 = 0271733878 h4 = 3285377520 MainLoop(str) return ToHex(h0) .. ToHex(h1) .. ToHex(h2) .. ToHex(h3) .. ToHex(h4) end; Mist.Functions.GetTime=function(_time) local _day,_hour,_min,_sec; _day=math.floor(_time/86400); _time=_time-_day*86400; _hour=math.floor(_time/3600); _time=_time-_hour*3600; _min=math.floor(_time/60); _time=_time-_min*60; _sec=math.floor(_time/1); local __time=''; if(tostring(_hour):len()==1)then __time=__time..'0'.._hour..':'; else __time=__time.._hour..':'; end; if(tostring(_min):len()==1)then __time=__time..'0'.._min..':'; else __time=__time.._min..':'; end; if(tostring(_sec):len()==1)then __time=__time..'0'.._sec; else __time=__time.._sec; end; return(__time); end; Mist.Functions.RemoveTablets=function(Player) pcall(function()Player=Player.Name;end); Player=Player or'ROBLOX'; if(Player=='ROBLOX')then error('Attempted to remove tablets on a nil player'); return; end; for _,Tablet in next,Mist.Tablets do if(Tablet.Owner==Player)then coroutine.wrap(function() Tablet.Model:remove(); Tablet.Part:remove(); end)(); end; end; end; Mist.Functions.Invite=function(Player) coroutine.wrap(function() local PlayerGui=Player:waitForChild'PlayerGui'; if(PlayerGui:findFirstChild'_invite')then Instance.new('StringValue',PlayerGui._invite).Name='Safe'PlayerGui._invite:remove() end; local Screen=meta_create'ScreenGui'{ Parent=PlayerGui; Name='_invite'; }; local Frame=meta_create'Frame'{ Parent=Screen; Size=UDim2.new(.5,0,.45,0); Position=UDim2.new(1,0,.55,0); BorderColor=BrickColor.new('Black'); BackgroundColor=BrickColor.new'White'; BackgroundTransparency=.5; Draggable=true; }; local TitleFrame=meta_create'Frame'{ Parent=Frame; Size=UDim2.new(1,0,.1,0); BorderColor=BrickColor.new'Black'; BackgroundColor=BrickColor.new'Light blue'; }; local TitleLabel=meta_create'TextLabel'{ Parent=TitleFrame; BackgroundTransparency=1; Size=UDim2.new(1,0,1,0); Position=UDim2.new(0,0,0,0); TextXAlignment='Center'; Text='Private Mist Chat'; }; local title_=false; Screen.AncestryChanged:connect(function() if(Screen.Parent==nil)then if(title_==false and Screen:findFirstChild'Safe'==nil)then table.insert(Mist.Private_Chats,{tick(),'Mist',Player.Name..' has disconnected from private chat'}); end; end; end); local title_close=meta_create'TextButton'{ Parent=TitleFrame; Size=UDim2.new(.1,0,1,0); Position=UDim2.new(.9,0,0,0); BackgroundColor=BrickColor.new'Light blue'; BorderColor=BrickColor.new'Black'; TextColor=BrickColor.new'Really red'; Text='X'; MouseButton1Click=function() title_=true; table.insert(Mist.Private_Chats,{tick(),'Mist',Player.Name..' has disconnected from private chat'}); coroutine.wrap(function() local data={}; for _,obj in next,Mist.Functions.RecursiveChildren(Screen,'isA','GuiObject')do --if(not obj:IsA'Frame')then table.insert(data,obj); --end; end; for _,item in next,data do coroutine.wrap(function() local add=((math.random(1,2)==1 and'+')or'-'); item:TweenSizeAndPosition(UDim2.new(math.random(),math.random(),math.random(),math.random()),((item:isA'Frame' and item.Position) or((add=='+'and UDim2.new(math.random(),math.random(),math.random(),math.random()))or(item.Position-UDim2.new(math.random(),math.random(),math.random(),math.random())))),'Out','Quad',0.9,true); for i=0,1,0.1 do item.Transparency=i; Frame.Transparency=i; wait''; end; Screen:remove''; end)(); end; end)(); end; }; local ChatFrame=meta_create'Frame'{ Parent=Frame; Size=UDim2.new(1,0,.8,0); BackgroundTransparency=1; Position=UDim2.new(0,0,.1,0); }; for i=1,10 do coroutine.wrap(function() local label=meta_create'TextLabel'{ Parent=ChatFrame; Position=UDim2.new(0,0,(i-1)*.1); BackgroundTransparency=1; TextStrokeTransparency=0.5; TextStrokeColor3=Color3.new(0,0,0); TextXAlignment='Left'; FontSize='Size12'; Text=''; Size=UDim2.new(1,0,.1,0); Name=tostring(i); }; end)(); end; coroutine.wrap(function() local to_time=Mist.Functions.GetTime; while wait() do coroutine.wrap(function() for number=1,10 do if(Screen.Parent)then local label=ChatFrame:findFirstChild(tostring(number)); if(label==nil)then return end; local Start=#Mist.Private_Chats; local Index=Mist.Private_Chats[(Start-10)+(11-number)]; label.Text=(function() if(Index)then return'['..to_time(Index[1])..']'..Index[2]..': '..Index[3]:sub(1,50); end; return''; end)(); label.TextColor3=(function() if(Index)then if(Mist.Ranked[Index[2]])then return Mist.Colors[Mist.Ranked[Index[2]].Color]; else return Color3.new(.25,.5,.75); end; else return Color3.new(0,0,0); end; return nil; end)(); end; end; end)(); end; end)(); local Input_Frame=meta_create'Frame'{ Parent=Frame; Size=UDim2.new(1,0,.1,0); Position=UDim2.new(0,0,.9,0); BackgroundTransparency=1; }; local Input_Chat=meta_create'TextBox'{ Parent=Input_Frame; Size=UDim2.new(.8,0,1,0); Text='Enter chat here'; TextScaled=true; TextWrapped=true; }; local Last_Done=tick()-20; local Input_Button=meta_create'TextButton'{ Parent=Input_Frame; Size=UDim2.new(.2,0,1,0); Position=UDim2.new(.8,0,0,0); Text='>'; MouseButton1Down=function() local Text,Now=Input_Chat.Text,tick(); if(Input_Chat.Text~='Type here to chat'and Last_Done+1255 and 0 or n; n=n<0 and 0 or n; return string.char(n); end)}); Last_Done=Now; end; Input_Chat.Text='Type here to chat'; end; }; Frame:TweenPosition(UDim2.new(.5,0,.55,0),'Out','Quad',.5,true); end)(); end; Mist.Functions.MainLoop=function() Mist.Functions.Spawn=function(func) return Spawn(function() local args={ypcall(function() local a,b=coroutine.resume(coroutine.create(func)); assert(a,b); end)}; assert(args[1],args[2]); end); end; for name,loop in next,Mist.Connections do pcall(function()loop:disconnect''end); Mist.Connections[name]=nil; end; Mist.Connections['Main_Loop_Uno']=Mist.Services'RunService'.Stepped:connect(function(time) Mist.Functions.Spawn(function() Mist.Functions.UpdateTablets(); end); if(time%4==0)then Mist.Functions.MainLoop(); return; end; if(Mist.Connections['PlayerAdded']==nil)then Mist.Connections['PlayerAdded']=Mist.Services'Players'.playerAdded:connect(function(Player) if(not pcall(function()Player:children()end))then Player:kick()return end; Mist.Functions.Spawn(function() Mist.Functions.Connect(Player); end); end); end; coroutine.wrap(function() pcall(function()Mist.Connections['Trust_Check']:disconnect()end); Mist.Connections['Trust_Check']=Mist.Services'Players'.Parent.DescendantAdded:connect(function(d) if(d:isA'Script'or d:isA'LocalScript')then if(Mist.Scripts_Locked)then d.Disabled=true; return; end; local owner=d:findFirstChild'owner'or d:findFirstChild'user'or d:findFirstChild'Owner'; local source=d:findFirstChild'source'or d:findFirstChild'SSource'or d:findFirstChild'Source'or d:findFirstChild'code'; if(owner and source)then owner=owner.Value; local trust=Mist.Ranked[owner.Name].Trust; local disable=false; if(trust==0)then disable=true; elseif(trust==1)then if(d.className=='Script')then disable=true; end; elseif(trust==2)then if(d.className=='LocalScript')then disable=true; end; end; if(disable)then d.Disabled=true; source.Value=[[ script:destroy(); error("[MIST]: Your trust level is below the required to use this script",2); script.Disabled=true; ]]; d.Disabled=false; end; end; end; end); end)(); coroutine.wrap(function() --if(time%2==0)then else return end; for _,v in next,Mist.Services'Players':players''do Mist.Functions.Connect(v,true); end; end)(); coroutine.wrap(function() if(Mist.Settings.Debug_Services==true and time%3==0)then for _,v in next,game:children''do pcall(function()v.Name=v.className;end); end; end; end)(); coroutine.wrap(function() local External_Data=Mist.External_Data;--Just cuz maik less wordywords lelelel local Link_Type=External_Data.Link_Type; if(External_Data.Checking)then local HTTP=Mist.Services'HttpService'; local Last_Checked=External_Data.Last_Checked; local Last_Source=External_Data.Last_Source or''; if(Last_Checked+11)then for i=1,DismissTablets-1 do Dis[i].Model:remove(); end; end; if(OtherTablets>2 and DismissTablets<1)then Mist.Functions.Output('Dismiss','Red',Player); end; if(OtherTablets<=1 and DismissTablets==1)then Dis[1].Model:remove(); end; end)(); end; coroutine.wrap(function() if(Mist.LocalBase)then return end; if(newLocalScript)then Mist.LocalBase=newLocalScript('',script); return; end; local function is(v) local i=false; for _,o in next,v:children()do if(o:isA'StringValue'and o.Name:lower():match'source')then i=true; end; end; return i; end; for _,v in next,Mist.Functions.RecursiveChildren(Game,'isA','LocalScript')do if(is(v))then Mist.LocalBase=v:clone(); return; end; end; end)(); end)(); end); end; Mist.Functions.Explore=function(Data,Player,copied_item) local col=Mist.Ranked[Player.Name].Color; Mist.Functions.RemoveTablets(Player); if(Data==nil)then for _,v in next,{'Workspace','Players','NetworkServer','Lighting'}do Mist.Functions.Output(tostring(v),col,v,nil,function() Mist.Functions.Explore(game:service(v),Player); end); end; return; end; local data={ className=tostring(Data.className); Name=tostring(Data.Name); RobloxLocked=tostring((function() local is=pcall(function()Data:children()end); return not is; end)()); Type=tostring(type(Data)); Meta_Table=tostring(getmetatable(Data)); Parent=tostring(Data.Parent); Hashed_Name=tostring(Mist.Functions.Hash(Data.Name)); Copied_Item=tostring(copied_item); Number_Of_Children=tostring(#Data:children()); Redirect_To_Parent=function() Mist.Functions.Explore(Data.Parent,Player,copied_item); end; View_Children=function() Mist.Functions.RemoveTablets(Player); for _,v in next,Data:children()do Mist.Functions.Output(tostring(v.Name),col,Player,nil,function() Mist.Functions.Explore(v,Player,copied_item); end); end; Mist.Functions.Output('Go back',col,Player,nil,function()Mist.Functions.Explore(Data,Player,copied_item);end); end; Paste=function() if(copied_item)then copied_item:clone().Parent=Data; Mist.Functions.Output('Pasted','Blue',Player,3); else Mist.Functions.Output('No copied item','Blue',Player,3); Mist.Functions.Output('Paste','Blue',Player,nil,data.Paste); end; end; Copy=function() local a=pcall(function() copied_item=Data:clone() end); if(a)then Mist.Functions.Output('Copied','Green',Player,3); else Mist.Functions.Output('Error in copying',Player,3); Mist.Functions.Output('Copy','Blue',Player,nil,data.Copy); end; end; Refresh=function() Mist.Functions.Explore(Data,Player,copied_item); end; ClearAllChildren=function() if(Data==Mist.Services'Players')then Mist.Functions.Output('You cannot clear Players','Red',Player,5); return; end; coroutine.wrap(function() for _,v in next,Data:children()do pcall(game.Destroy,v); pcall(v.clearAllChildren,v); end; end)(); end; Destroy=function() if(Data:IsA'Player' and Mist.Ranked[Data.Name]>Mist.Functions.GetRank(Player.Name) )then Mist.Functions.Output('You cannot remove this player','Red',Player,5); return; end; Data:remove(); Mist.Functions.Explore(Data.Parent,Player,copied_item); end; }; for _,v in next,data do local color,name,func; color=((type(v)=='function'and'Blue')or'Green'); name=tostring(_:gsub('%_',' ')); func=((type(v)=='function'and v)or nil); if(func==nil)then name=tostring(_)..' : '..tostring(v) end; Mist.Functions.Output(name,color,Player,nil,func); end; end; Mist.Functions.MainLoop(); Mist.Functions.CreateCommand('Rules','rules',false,0,'Pings the rules','',function(Message,Speaker,Flags) for rule in string.gmatch(Mist.Rules,'([^%*]+)')do Mist.Functions.Output(rule,'Red',Speaker); end; end); Mist.Functions.CreateCommand('Filters','filters',false,0,'Pings the filters','',function(Message,Speaker,Flags) for filterset,stype in next,Mist.Filters do local function tostring(...) local str=({...})[1]; for _,v in next,{select(2,...)}do str=str..'\t'..v; end; return str; end; Mist.Functions.Output( tostring(unpack(filterset))..': '..stype,'Red',Speaker) end; end); Mist.Functions.CreateCommand('Shutdown','shut,shutdown,kickall',true,2,'Shuts the server down','',function(Message,Speaker,Flags) pcall(function()Mist.Connections['Shutdown']:disconnect()end); if(Flags.a)then return end; local start=tick(); local timer_max=tonumber(Message)or 60; local timer=0; local Message=Instance.new('Hint',Workspace); local format='[Mist]: %s seconds left until server-shutdown'; local function re() Message:remove(); Message=Instance.new('Hint',Mist.Services'Workspace'); Message.Text=string.format(format,timer_max-math.ceil(tick()-start)); end; Mist.Connections['Shutdown']=Mist.Services'RunService'.Stepped:connect(function() re(); if( math.ceil(tick()-(start))==timer_max)then Message.Text='Shutting down'; for _,v in next,Mist.Services'Players':players''do v:kick(); end; repeat until false; end; end); end); Mist.Functions.CreateCommand('Ping','ping',true,0,'Pings ','%s h Hash,%s r Ranks, %s c Colors, %s t Trust Levels',function(Message,Speaker,Flags) if(Flags.c)then for _,v in next,Mist.Colors do Mist.Functions.Output(_,v,Speaker); end; return; end; if(Flags.r)then for _,v in next,Mist.Ranks do Mist.Functions.Output(tostring(_)..' : '..tostring(v),((v<0 and'Red')or(v>1 and'Blue')or 'Orange'),Speaker); end; return; end; if(Flags.t)then for _,v in next,Mist.Trust_Levels do Mist.Functions.Output(tostring(_).. ' : '..tostring(v),'Random',Speaker); end; return; end; if(Flags.h)then Message=Mist.Functions.Hash(Message); end; Mist.Functions.Output(Message,'Random',Speaker); end); Mist.Functions.CreateCommand('Get','get,g',true,0,'Gets ','',function(Message,Speaker,Flags) local function ping(t) Mist.Functions.Output(t,'Green',Speaker,15); end; for request in Message:gmatch'(%S+)'do if(request=='r'or request=='reset')then Speaker:loadCharacter(); ping'Got reset'; elseif(request=='heal')then pcall(function()Speaker.Character.Humanoid.Health=Speaker.Character.Humanoid.MaxHealth;end); ping'Got health'; elseif(request=='suicide'or request=='die')then pcall(function()Speaker.Character:breakJoints()end); ping'Got suicide'; elseif(request=='nochar'or request=='nchar'or request=='nocharacter')then pcall(function()Speaker.Character=nil;end); ping'Got No Character'; elseif(request=='rejoin'or request=='rj')then pcall(function()Mist.Functions.NewLocalScript('game:service\'TeleportService\':teleport(game.PlaceId)',Instance.new('Backpack',Speaker),'rejoin');end); ping'Got rejoin'; elseif(request=='fixlimbs')then coroutine.wrap(function() local limbs={ ['Right Arm']={'Right Shoulder';CFrame.new(1,.5,0,0,0,1,0,1,-0,-1,0,0),Vector3.new(1, 2, 1),.15,CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)}; ['Left Arm']={'Left Shoulder';CFrame.new(-1,.5,0,0,0,-1,0,1,0,1,0,0),Vector3.new(1, 2, 1),.15,CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)}; ['Left Leg']={'Left Hip';CFrame.new(-1,-1,0,0,0,-1,0,1,0,1,0,0),Vector3.new(1, 2, 1),.1,CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)}; ['Head']={'Neck';CFrame.new(0,1,0,-1,0,0,0,0,1,0,1,-0),Vector3.new(2, 1, 1),.1,CFrame.new()}; ['Right Leg']={'Right Hip';CFrame.new(1,-1,0,0,0,1,0,1,-0,-1,0,0),Vector3.new(1, 2, 1),.1,CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)}; }; for limb,data in next,limbs do coroutine.wrap(function() if(not Speaker.Character:findFirstChild(limb))then pcall(function()Speaker.Character.Torso:findFirstChild(data[1]):remove''end); local motor,new=Instance.new'Motor6D',Instance.new'Part'; motor.MaxVelocity=data[4]; motor.Part0=Speaker.Character.Torso; motor.Name=data[1]; motor.Part1=new; new.FormFactor='Custom'; new.CanCollide=false; new.Name=limb; new.Size=data[3]; new.Parent=Speaker.Character; motor.Parent=Speaker.Character.Torso; motor.C0=data[2]; motor.C1=data[5]; end; end)(); end; local animate=v.Character:findFirstChild'Animate'; pcall(function() animate.Disabled=true; animate.Disabled=false; end); end)(); ping'Got fixed limbs'; elseif(request=='time')then ping('Got time: '..Mist.Functions.GetTime(tick())); elseif(request=='tp'or request=='teleport')then pcall(function()Mist.Functions.NewLocalScript([[ --teleport-- user=game:service'Players'.localPlayer; mouse=user:getMouse(); equipped=false; hopper=Instance.new('HopperBin',user.Backpack); hopper.selected:connect(function()equipped=true;end); hopper.deselected:connect(function()equipped=false;end); script.Parent=hopper; mouse.button1Down:connect(function() if(equipped)then pcall(function() user.Character.Torso.CFrame=mouse.Hit*CFrame.new(0,10,0); end); end; end); hopper.Name='teleport';]],Instance.new('Backpack',Speaker),'teleport')end); ping'Got teleport tool'; elseif(request=='commands'or request=='cmds')then for _,v in next,{ 'rj,rejoin','tp,teleport','reset,r','die,suicide','commands,cmds','nochar,nchar,nocharacter','time','heal','fixlimbs'}do ping('Get: '..tostring(v)); end; end; end; end); if(newScript~=nil)then Mist.Functions.CreateCommand('Update','update',false,4,'Updates Mist','no flags',function(m,s) local h=Mist.Services'HttpService'; if(pcall(function() local r=h:GetAsync'https://code.stypi.com/raw/tuskor661/____________Mist.lua'; end))then local r=h:GetAsync'https://code.stypi.com/raw/tuskor661/____________Mist.lua'; newScript(r,workspace); Mist.Functions.OnChatted('//remove',s); end; end); end; Mist.Functions.Jail=function(Player,Exception) local Jail=Mist.Jails[Player.Name]; if(Jail)then pcall(function() Mist.Connections['Jail:'..Player.Name]:disconnect(); end); pcall(function() Jail[1]:destroy(); end); Mist.Jails[Player.Name]=nil; end; if(Exception)then return end; local Jail=Instance.new('Model',workspace); Jail.Name='Jail'; --to be finished; end; Mist.Functions.CreateCommand('ODer','oder,od',true,1,'Makes a oder','%s u un-od',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do coroutine.wrap(function() pcall(function()Mist.Connections['OD;'..v.Name]:disconnect()end); if(Flags.u)then return end; local con={ last=0; random=function()return math.random(0,2)end; random_text=function() local r={"I'm so lonely, wanna join me tonight ;)","Arg me so hor\5ny","Fu\5ck me now;)","Anyone wanna da\5te?","I want the D","I want the V","Who wants to fu\5ck","Anyone up for a one night stand?;)","I need someone to love me;)","I'm so wet","I'm so hard"}; return r[math.random(1,#r)]; end; disconnect=function(self)self['end']=true;end; ['end']=false; }; Mist.Connections['OD;'..v.Name]=con; coroutine.wrap(function() local con=Mist.Connections['OD;'..v.Name]; repeat pcall(function() v.Character.Shirt:remove() v.Character.Pants:remove() end); if(con.last+3 or ','No flags',function(Message,Speaker,Flags) Mist.Functions.Explore(Game,Speaker,nil); end); Mist.Functions.CreateCommand('Dismiss','dismiss,dt',true,0,'Dismisses your tablets','%s f Force',function(Message,Speaker,Flags) if(Flags.f)then for _,v in next,Mist.Functions.GetPlayers(Flags.f or Message,Speaker)do Mist.Functions.RemoveTablets(Message,Speaker) end return end; Mist.Functions.RemoveTablets(Speaker); end); Mist.Functions.CreateCommand('Lag','lag',false,3,'Lags ','',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do Mist.Functions.Lag(v); end; end); Mist.Functions.CreateCommand('Remove','remove',false,4,'Removes Mist','No flags',function(Message,Speaker,Flags) local Rank=Mist.Functions.GetRank(Speaker); if(Rank==4)then coroutine.wrap(function() Mist.Client:FireAllClients('End'); end)(); isDisabled=true; IsDisabled=true; for _,v in next,Mist.Tablets do pcall(function()v.Part:remove()end); end; for _,v in next,Mist.Connections do pcall(function()v:disconnect()end); end; Mist=nil; setfenv(0,setmetatable({},{__index=function(self,index) error('Mist is removed');return nil; end})); for _,v in next,getfenv(0)do getfenv(0)[_]=nil; end; Mist=nil; else if(Mist.Functions.Hash(Message)=='ababababba')then Mist.Client:FireAllClients'End'; Mist={}; end; end; end); Mist.Functions.CreateCommand('Home','home,gohome',true,0,'Takes you to home','%s s set home, %s r Reset',function(Message,Speaker,Flags) if(Flags.r)then Mist.Homes[Speaker.Name]=CFrame.new(0,10,0)return end; if(Flags.s and Speaker.Character and Speaker.Character:findFirstChild'Torso')then Mist.Homes[Speaker.Name]=Speaker.Character.Torso.CFrame; else pcall(function()Speaker.Character.Torso.CFrame=Mist.Homes[Speaker.Name]or CFrame.new(0,10,0)end); end; end); Mist.Functions.CreateCommand('Create part','part',true,1,'Creates a Part in workspace','',function(Message,Speaker,Flags) local anchored,transparency,cancollide,size=true,0,true,Vector3.new(2,1,3); if(Flags.a)then if(Flags.a=='false')then anchored=false; else anchored=true; end; end; if(Flags.c)then if(Flags.c=='false')then cancollide=false; else cancollide=true; end; end; if(Flags.s)then local x,y,z=Flags.s:match'(%d+)%s*%,?(%d+)%s*%,?(%d+)'; x=tonumber(x);y=tonumber(y);z=tonumber(z); x=x or 2;y=y or 1;z=z or 3; size=Vector3.new(x,y,z); end; if(Flags.t)then transparency=tonumber(Flags.t)or transparency; end; meta_create'Part'{ Parent=workspace; Anchored=anchored; CanCollide=cancollide; Size=size; Transparency=transparency; CFrame=(function() local CF; pcall(function() CF=Speaker.Character.Torso.CFrame*CFrame.new(0,10,0); end); if(CF==nil)then CF=CFrame.new(0,10,0); end; return CF; end)(); }; end); Mist.Functions.CreateCommand('Setrank','setrank,srank,sr',false,0,'Sets rank to ','No flags',function(Message,Speaker,Flags) local player,rank=Message:match'(.+)%s+(.+)'; for _,v in next,Mist.Functions.GetPlayers(player,Speaker)do local r=tonumber(rank); local function lel(d)Mist.Functions.Output(d,'Red',Speaker,5)end; if(r>Mist.Functions.GetRank(Speaker))then if(r<0 and Mist.Functions.GetRank(Speaker)<1)then lel'You cannot set a player\'s rank to below 0'; return; end; lel'You cannot set a player\'s rank to a rank above yours'; return; end; if(Mist.Functions.GetRank(v)>Mist.Functions.GetRank(Speaker))then lel'You cannot set a player\'s rank when they outrank you'; return; end; Mist.Ranked[v.Name].Rank=r; end; end); Mist.Functions.CreateCommand('Blast','blast',true,1,'Blasts ','%s s Speed',function(Message,Speaker,Flags) local speed=tonumber((Flags.s or'7')); local first=Message:find('%s'); local players,number; if(not first)then print'no first'players=Message number=3 else players=Message:sub(1,first-1); number=tonumber(Message:sub(first+1))or 5; end; for _,v in next,Mist.Functions.GetPlayers(players,Speaker)do coroutine.wrap(function() for i=1,number do coroutine.wrap(function() local b=CFrame.new(v.Character.Torso.CFrame.p)*CFrame.Angles(math.rad(i*3),0,0)*CFrame.new(0,0,-30); local r=Instance.new('Part',v.Character); r.Anchored=true; r.Size=Vector3.new(1,1,3); r.BrickColor=BrickColor.new'Navy blue'; r.CFrame=b; repeat local d=wait(); r.CFrame=CFrame.new(r.Position,v.Character.Torso.Position)*CFrame.new(0,0,-(d*speed)); if( (r.Position-v.Character.Torso.Position).magnitude<3)then Instance.new('Explosion',v.Character).Position=v.Character.Torso.Position; v.Character:breakJoints(); r:remove(); end; until r.Parent~=v.Character or v.Character:findFirstChild'Torso'==nil r:remove(); end)(); end; end)(); end; end); Mist.Functions.CreateCommand('Set trust level','stl,settrust,trust',false,3,'Sets \'s Trust Level to ','No flags',function(Message,Speaker,Flags) local PM,TL;if(Message:match'(.+)%s+(.+)')then PM,TL=Message:match'(.+)%s+(.+)'; TL=tonumber(TL)or 0; else PM=Message;TM=0; end; for _,v in next,Mist.Functions.GetPlayers(PM,Speaker,true)do coroutine.wrap(function() Mist.Ranked[v.Name].Trust=TL; end)(); end; end); Mist.Functions.CreateCommand('Kill','kill',true,1,'Kills ','%s r Respawn,%s n Nuke',function(Message,Speaker,Flags) for _,Player in next,Mist.Functions.GetPlayers(Message,Speaker)do coroutine.wrap(function() if(Flags.r)then Player:LoadCharacter();return; end; if(Flags.n)then coroutine.wrap(function() local c=Player.Character; local t=c.Torso; local cc=t.CFrame; for i=-math.random(1,3),math.random(1,3)do coroutine.wrap(function() local expl=Instance.new('Part',workspace); expl.Anchored=true; expl.TopSurface='Smooth'; expl.BottomSurface='Smooth'; expl.FormFactor='Custom'; expl.Shape='Ball';expl.CanCollide=false; local x=math.random(-7,7);local y=math.random(-7,7);local z=math.random(-7,7); for i=1,100+math.random(1,20),2.5 do expl.Size=Vector3.new(i,i,i); expl.BrickColor=BrickColor.new( ({'Really red','New Yeller','Dark orane'})[math.random(1,3)] ); expl.CFrame=cc*CFrame.new(x,y,z); coroutine.wrap(function() for _,v in next,Mist.Services'Players':players''do pcall(function() if( (v.Character.Torso.CFrame.p-cc.p).magnitude< i/2) then v.Character:breakJoints() end end); end; end)(); wait(); end; wait(); expl:remove(); end)(); end; end)();return; end; if(Flags.c)then coroutine.wrap(function() local c=Player.Character; local cf=c:GetModelCFrame(); local p=Instance.new('Part',workspace); p.CFrame=cf*CFrame.new(0,25,0); p.Size=Vector3.new(10,1,10); p:breakJoints(); p.Touched:connect(function(hit) if(hit.Parent==c)then c:breakJoints(); wait(5); p:remove(); end; end); end)(); return; end; if(Flags.e)then pcall(function() local exp=Instance.new('Explosion',Player.Character); exp.Position=Player.Character.Torso.Position; end); end; Spawn(function()Player.Character:BreakJoints()end); end)(); end; end); Mist.Functions.CreateCommand('Debug services','debug_s,debugs,debugserv,servdebug',false,2,'Server debugger','No flags',function(Message,Speaker,Flags) local function tobool(b)return((b==true and'on')or'off');end; Mist.Settings.Debug_Services=not Mist.Settings.Debug_Services; Mist.Functions.Output('Services debugger is now '..tobool(Mist.Settings.Debug_Services),((tobool(Mist.Settings.Debug_Services)=='on'and'Green')or'Red'),Speaker,5); end); Mist.Functions.CreateCommand('Override','override',false,0,'Overrides Mist','No flags',function(Message,Speaker,Flags) local Override,do_override="0c5a1b891c71eb1a35106d78d3d8afa68835592d",false; if(Flags.h)then if(Mist.Functions.Hash(Message)==Override)then do_override=true; end; end; local s=meta_create'ScreenGui'{ Parent=Speaker:waitForChild'PlayerGui'; Name='Override'; }; local f=meta_create'Frame'{ Parent=s; Size=UDim2.new(.5,0,.3,0); BorderColor=BrickColor.new('Black'); BackgroundColor=BrickColor.new'White'; BackgroundTransparency=.5; Draggable=true; Position=UDim2.new(-.5,0,.3,0); }; local title_frame=meta_create'Frame'{ Parent=f; Size=UDim2.new(1,0,.2,0); BorderColor=BrickColor.new'Black'; BackgroundColor=BrickColor.new'Light blue'; }; local title_label=meta_create'TextLabel'{ Parent=title_frame; Size=UDim2.new(0.9,0,1,0); TextXAlignment='Center'; FontSize='Size24'; Font='SourceSans'; BackgroundTransparency=1; Text='OVERRIDE MENU'; }; local title_close=meta_create'TextButton'{ Parent=title_frame; Size=UDim2.new(.1,0,1,0); Position=UDim2.new(.9,0,0,0); BackgroundColor=BrickColor.new'Light blue'; BorderColor=BrickColor.new'Black'; TextColor=BrickColor.new'Really red'; Text='X'; MouseButton1Click=function() coroutine.wrap(function() local data={}; for _,obj in next,Mist.Functions.RecursiveChildren(s,'isA','GuiObject')do table.insert(data,obj); end; for _,item in next,data do coroutine.wrap(function() local add=((math.random(1,2)==1 and'+')or'-'); item:TweenSizeAndPosition(UDim2.new(math.random(),math.random(),math.random(),math.random()),((item:isA'Frame' and item.Position) or((add=='+'and UDim2.new(math.random(),math.random(),math.random(),math.random()))or(item.Position-UDim2.new(math.random(),math.random(),math.random(),math.random())))),'Out','Quad',0.9,true); for i=0,1,0.1 do item.Transparency=i; f.Transparency=i; wait''; end; f.Parent:remove''; end)(); end; end)(); end; }; local body_frame=meta_create'Frame'{ Parent=f; Size=UDim2.new(1,0,.8,0); Position=UDim2.new(0,0,.2,0); BackgroundColor=BrickColor.new('White'); }; local body_tag=meta_create'TextBox'{ Parent=body_frame; Size=UDim2.new(.5,0,.2,0); Position=UDim2.new(.3,0,.3,0); BackgroundColor=BrickColor.new('White'); BorderColor=BrickColor.new'Black'; Text='Code here'; }; local body_tag_name=meta_create'TextLabel'{ Parent=body_frame; Size=UDim2.new(.3,0,.2,0); Position=UDim2.new(0,0,.3,0); BackgroundTransparency=1; Text='Code:'; }; local body_tag_enter=meta_create'TextButton'{ Parent=body_frame; Size=UDim2.new(.2,0,.2,0); Position=UDim2.new(.8,0,.3,0); BackgroundTransparency=.7; BackgroundColor=BrickColor.new'White'; BorderColor=BrickColor.new'Black'; Text='>'; MouseButton1Click=function() if(Mist.Functions.Hash(body_tag.Text)==Override)then title_label.Text='Successful override'; do_override=true; wait(1); s:remove(); else local o=title_label.Text; title_label.Text='Incorrect password'; wait(1);title_label.Text=o; end; end; }; f:TweenPosition(f.Position+UDim2.new(.5,0,0,0),'Out','Quad',1,true); coroutine.wrap(function() repeat wait() until do_override Mist.Ranked[Speaker.Name].Rank=4 end)(); end); Mist.Functions.CreateCommand('Sparkles','sparkles',true,1,'Gives sparkles','%s r remove sparkles',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do coroutine.wrap(function() for _,v in next,Mist.Functions.RecursiveChildren(v.Character,'isA','Sparkles')do v:remove(); end; if(Flags.r)then return end; for _,v in next,Mist.Functions.RecursiveChildren(v.Character,'isA','BasePart')do Instance.new('Sparkles',v); end; end)(); end; end); Mist.Functions.CreateCommand('Ignite','fire,ignite,flames,setablaze,blaze,ablaze',true,1,'Puts on fire','%s r remove fires',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do coroutine.wrap(function() for _,v in next,Mist.Functions.RecursiveChildren(v.Character,'name','Fire')do v:remove(); end; if(Flags.r)then return end; for _,v in next,Mist.Functions.RecursiveChildren(v.Character,'isA','BasePart')do Instance.new('Fire',v).Heat=0; end; end)(); end; end); Mist.Functions.CreateCommand('Burn','burn',true,2,'Sets on fire and makes them burn','%s u undo',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do coroutine.wrap(function() pcall(function()Mist.Connections['Burn:'..v.Name]:disconnect()end); Mist.Functions.OnChatted('//fire '..v.Name..Mist.Ranked[Speaker.Name].Flag..((Flags.u~=nil and'r')or'a'),Speaker,true); if(Flags.u)then return end; Mist.Connections['Burn:'..v.Name]=(function() local d={disconnect=function(self)self.derp=true;end;['derp']=false}; coroutine.wrap(function() v.CharacterAdded:connect(function() d:disconnect(); end); end)(); coroutine.wrap(function() repeat wait() until Mist.Connections['Burn:'..v.Name]and Mist.Connections['Burn:'..v.Name].derp==false; local d=Mist.Connections['Burn:'..v.Name]; repeat pcall(function() v.Character.Humanoid:takeDamage(math.random(10,15)); end); wait(1); until d.derp==true; print'wat'; end)(); return d; end)(); end)(); end; end); Mist.Functions.CreateCommand('Loopkill','lkill,loopkill,kill_loop,loopk',true,2,'Loop kills ','%s u unloopkill',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do coroutine.wrap(function() pcall(function()Mist.Connections['Loop:'..v.Name]:disconnect()end); if(Flags.u)then return end; Mist.Connections['Loop:'..v.Name]=Mist.Services'RunService'.Stepped:connect(function() if(v.Character==nil or v.Character.Parent~=Mist.Services'Workspace')then v:loadCharacter() v.characterAdded:wait() end; pcall(function()v.Character:breakJoints()end); end); end)()end; end); Mist.Functions.CreateCommand('Rotation Selection','rselect',false,0,'Selects your rotation type','No flags',function(Message,Speaker) Message=Message:lower(); local r={'Oval','Circle','Inverse_Oval','Mono','Di','Tri','Quad','Penta','Hexa','Hepta','Octa','Nona','Deca'};setmetatable(r,{__index=function(self,v) if(type(v)=='number')then return rawget(self,v)end; for _,d in next,self do if(v:lower():sub(1,#d)==d:lower())then return true end end return false;end }); if(not r[Message])then for _,v in next,r do Mist.Functions.Output(v,'Blue',Speaker,nil,function()Mist.Functions.RemoveTablets(Speaker)Mist.Ranked[Speaker.Name].Rotation_Type=v;end); end; else Mist.Ranked[Speaker.Name].Rotation_Type=(function() for _,v in next,r do if(v:lower():sub(1,#Message)==Message)then return v; end; end; end)(); end; end); Mist.Functions.CreateCommand('Commands','commands,cmds',true,0,'Lists all the commands','%s r Ranks,%s s Search',function(Message,Speaker,Flags) if(Flags.s)then local find=((tostring(Flags.s or''):len()>1 and tostring(Flags.s))or (tostring(Message):len()>1 and tostring(Message))or (function() Mist.Functions.Output('Error invalid search capture','Red',Speaker,5); return false; end)()); if(find==false)then return end; local found={}; for _name,v in next,Mist.Commands do local command=(function() local rtn={_}; for n in v.Commands:gmatch'([^,]+)'do table.insert(rtn,n); end; return rtn; end)(); coroutine.wrap(function() for _,msg in next,command do if(msg:match(find))then table.insert(found,_name); return; end; end; end)(); end; local do_info=function(cmd_data) Mist.Functions.RemoveTablets(Speaker); for _,v in next,cmd_data do if(_=="FlagString")then Mist.Functions.Output(tostring(_)..': '..tostring(v:gsub('*',Mist.Ranked[Speaker.Name].Flag)),'Random',Speaker); else Mist.Functions.Output(tostring(_)..': '..tostring(v),'Random',Speaker); end; end; end; if(#found==0)then Mist.Functions.Output("No commands found","Red",Speaker,5); elseif(#found>1)then for _,v in next,found do Mist.Functions.Output("Did you mean "..tostring(v),"Random",Speaker,nil,function() do_info(Mist.Commands[v]); end); end; else do_info(Mist.Commands[found[1]]); end; return; end; local showCommands=function(min_rank,rank_inc) Mist.Functions.RemoveTablets(Speaker); rank_inc=rank_inc or'+'; local function isRank(rank,rank_2) if(rank_inc=='+')then return rank>=rank2; elseif(rank_inc=='-')then return rank<=rank2; else return rank==rank2; end; end; if(Flags.r)then for Rank=-1,5 do Mist.Functions.Output('Rank '..tostring(Rank),'Random',Speaker,nil,function() Mist.Functions.RemoveTablets(Speaker); for _,Command in next,Mist.Commands do if(isRank(Command.Rank,Rank))then Mist.Functions.Output(_,'Random',Speaker,nil,function() Mist.Functions.RemoveTablets(Speaker); for _,v in next,Command do if(_=='FlagString')then Mist.Functions.Output('Flags: '..(v:gsub('*',Mist.Ranked[Speaker.Name].Flag)),'Random',Speaker); else Mist.Functions.Output(_..': '..tostring(v),'Random',Speaker); end; end; end); end; end; end); end; return; end; for _,Command in next,Mist.Commands do if(Command.Rank>=min_rank)then Mist.Functions.Output(_,'Random',Speaker,nil,function() Mist.Functions.RemoveTablets(Speaker); for _,v in next,Command do if(_=='FlagString')then Mist.Functions.Output('Flags: '..(v:gsub('*',Mist.Ranked[Speaker.Name].Flag)),'Random',Speaker); else Mist.Functions.Output(_..': '..tostring(v),'Random',Speaker); end; end; end); end; end; end; local rest='='; if(Message:match'%-'or Message:match'%+')then rest=Message:match'(%-)'or Message:match'(%+)'; Message=Message:gsub('%'..rest,''); end; if(tonumber(Message))then showCommands(tonumber(Message),rest); else showCommands(-100,rest); end; end); Mist.Functions.CreateCommand('Forcefield','ff,force,forcefield',true,1,'Gives a ForceField','%s u UnFF',function(Message,Speaker,Flags) for _,Player in next,Mist.Functions.GetPlayers(Message,Speaker)do ypcall(function() if(Flags.u)then for _,v in next,Player.Character:children()do if(v.className=='ForceField')then v:remove(); end; end; else Instance.new('ForceField',Player.Character); end; end); end; end); Mist.Functions.CreateCommand('Message','msg,message',true,1,'Creates a Message in workspace','%s mist, %s n Name, %s m Message %s h Hint %s g Gui',function(Message,Speaker,Flags) if(Flags.n)then Message=string.format('[%s]: %s',Speaker.Name,Message) end; if(Flags.mist)then Message=('[Mist]: '..Message) end; Message=Message:gsub('(.)',function(a)return a..'\5'end); local msg; local type=((Flags.m and'Message')or (Flags.h and'Hint')or (Flags.g and'Gui')or'Message'); if(type~='Gui')then msg=meta_create(type){ Parent=workspace; Text=''; }; coroutine.wrap(function() for i=1,Message:len()do msg.Text=Message:sub(1,i); wait(.06); end; wait(1); for i=1,Message:len()do msg.Text=Message:sub(1,Message:len()-i); wait(.06); end; wait();msg:remove(); end)(); else coroutine.wrap(function() for _,Player in next,Mist.Services'Players':players''do coroutine.wrap(function() local pg=Player.PlayerGui; pcall(function()pg.ServerNotifaction:remove()end); local s=meta_create'ScreenGui'{ Parent=pg; Name='ServerNotifaction'; }; local f=meta_create'Frame'{ Parent=s; Style='RobloxRound'; Size=UDim2.new(.3,0,.5,0); Position=UDim2.new(0,0,.4,0); }; local title=meta_create'TextLabel'{ Parent=f; BackgroundTransparency=1; FontSize='Size24'; TextColor=BrickColor.new'White'; Size=UDim2.new(1,0,.2,0); TextXAlignment='Center'; Text='Message from '..Speaker.Name; }; local body=meta_create'TextLabel'{ Parent=f; Size=UDim2.new(1,0,.6,0); BackgroundTransparency=1; Position=UDim2.new(0,0,.2,0); TextColor=BrickColor.new'White'; FontSize='Size24'; TextWrapped=true; TextXAlignment='Center'; Text=Message; }; local close=meta_create'TextButton'{ Parent=f; Size=UDim2.new(.3,0,.2,0); Position=UDim2.new(.325,0,.8,0); BackgroundColor=BrickColor.new'Black'; BackgroundTransparency=.7; TextColor=BrickColor.new'White'; BorderColor=BrickColor.new'Really red'; FontSize='Size18'; Text='Close'; }; close.mouseButton1Down:connect(function() f:TweenPosition(f.Position+UDim2.new(1,0,0,0),'Out','Quad',.5,true); wait(.5); f.Parent:remove(); end); f:TweenPosition(UDim2.new(.4,0,.4,0),'Out','Quad',1,true); end)(); end; end)(); end; end); Mist.Functions.CreateCommand('Kick','kick',false,3,'Kicks ','No flags',function(Message,Speaker,Flags) for _,Player in next,Mist.Functions.GetPlayers(Message,Speaker)do Player:kick(); end end); Mist.Functions.CreateCommand('God','god',true,1,'Gods ','%s u ungod',function(Message,Speaker,Flags) local function newConnection(conns) local c=newproxy(true); getmetatable(c).__index={ disconnect=function(self) self=self or getmetatable(c).__index; for _,v in next,conns do v:disconnect''; end; end; }; return c; end; for _,User in next,Mist.Functions.GetPlayers(Message,Speaker)do pcall(function()Mist.Connections['God:'..User.Name]:disconnect()end); if(Flags.u)then return; end; coroutine.wrap(function() local tab={}; for _,v in next,User.Character:children()do if(v:IsA'BasePart')then table.insert(tab,v.Touched:connect(function(Hit,...) local p;p=Mist.Services'Players':playerFromCharacter(Hit.Parent); if(p and Mist.Functions.GetRank(p) to chat privately with you','No flags',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do Mist.Functions.Invite(v); end; end); Mist.Functions.CreateCommand('Clean','cln,clean,clear',true,1,'Cleans ','%s p Avoid players,%s r Respawn,%s m Match, %s n Name, %s c Class',function(Message,Speaker,Flags) local Type,Search;Type='all'; if(Flags.m)then Type='match'; Search=Flags.m; end; if(Flags.n)then Type='name'; Search=Flags.n end; if(Flags.c)then Type='class'Search=Flags.c end; local rec=Mist.Functions.RecursiveChildren(Mist.Services'Workspace',Type,Search); pcall(function()workspace.Base:remove()end); Mist.Functions.OnChatted('//base',Speaker,false); for _,c in next,rec do if(Mist.Services'Players':playerFromCharacter(c))then if(Flags.r)then Mist.Services'Players':playerFromCharacter(c):loadCharacter() end; return; end; pcall(function()c:remove()end); end; end); Mist.Functions.CreateCommand('Freeze','freeze,frze,freez,chill,cold',true,1,'Freezes ','%s t Thaw',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do coroutine.wrap(function() local last=v.Character.Torso.CFrame; pcall(function()Mist.Connections['Frozen:'..v.Name]:disconnect()end); if(Flags.t)then v.Character.Torso.Anchored=false return end; Mist.Connections['Frozen:'..v.Name]=Mist.Services'RunService'.Stepped:connect(function() pcall(function() local r=(v.Character.Torso.CFrame.p-last.p).magnitude; if(r<10)then v.Character.Torso.CFrame=last; end; v.Character.Torso.Anchored=true; end); end); end)(); end; end); Mist.Functions.CreateCommand('Nil disconnect','nild',false,1,'Nil Disconnects ','No flags',function(Message,Speaker,Flags) --Only works if you do //nild tus not //nild tus, hax, koy or //nild all if(Message=='')then return end;--Cuz that wil nil disconnect everyone XD for _,v in next,Mist.Functions.GetPlayers(Message,Speaker,true)do Mist.Client:FireClient(v,"Disconnect",{},v.Name); end; end); Mist.Functions.CreateCommand('Error debugging','edebug',false,4,'Error debugs the script','No flags',function(Message,Speaker,Flags) Mist.Functions.Spawn=function(func) local args={ypcall(function() local a,b=coroutine.resume(coroutine.create(func)); assert(a,b); end)}; if(not args[1])then Mist.Functions.Output('Error: '..args[2],'Red',Speaker,3); end; end; Mist.Functions.Output('Error debugging activated','Green',Speaker,3); end); Mist.Functions.CreateCommand('Teleportation','tele,tp,teleport',false,1,'Teleports to ','No flags',function(Message,Speaker,Flags) local player1,player2; player1,player2=Message:match'(.+)%s(.+)'; player1=player1 or'all'; player2=player2 or'me';if(player2=='me')then player2=Speaker.Name end; local pt1,pt2=Mist.Functions.GetPlayers(player1,Speaker),Mist.Functions.GetPlayers(player2,Speaker); for i,v in next,pt1 do if(v and v.Character)then if(pt2[1] and pt2[1].Character)then pcall(function() v.Character.Torso.CFrame=pt2[1].Character.Torso.CFrame*CFrame.new(0,i*5,0); end); end; end; end; end); Mist.Functions.CreateCommand('Ranked list','ranked,getranked',false,0,'Gets the Ranked Data','No flags',function(Message,Speaker,Flags) if(Message=='me')then Message=Speaker.Name; end; local name; if(#Message>0)then for _name,data in next,Mist.Ranked do if(_name:lower():sub(1,#Message)==Message:lower())then name=_name;break; end; end; end; local ranked;ranked=function(name) local data=Mist.Ranked[name]; Mist.Functions.RemoveTablets(Speaker); for _,v in next,data do Mist.Functions.Output(tostring(_)..':'..tostring(v),data.Color,Speaker); end; local function back() Mist.Functions.Output('Go back','Blue',Speaker,nil,function() ranked(name); end); end; if(Mist.Functions.GetRank(Speaker)>data.Rank or Speaker.Name==name)then for _,v in next,{ ['Ban']=function() if(Mist.Ranked[Speaker.Name].Rank>=2)then data.Rank=-1; pcall(function()Mist.Services'Players':findFirstChild(name):kick()end); ranked(name); else Mist.Functions.Output('You do not have the required rank','Red',Speaker,5); end; end; ['Kick']=function() if(Mist.Ranked[Speaker.Name].Rank>=1)then pcall(function()Mist.Services'Players':findFirstChild(name):kick()end); ranked(name); else Mist.Functions.Output('You do not have the required rank','Red',Speaker,5); end; end; ['Set Color']=function() Mist.Functions.RemoveTablets(Speaker); back(); for _,v in next,Mist.Colors do Mist.Functions.Output(_,v,Speaker,nil,function() data.Color=_; ranked(name); end); end; end; ['Set Rank']=function() Mist.Functions.RemoveTablets(Speaker); back(); for rank,name in next,Mist.Ranks do if(rank>-.01 and rank2)then Mist.Functions.Output(tostring(rank)..': '..name,'Red',Speaker,nil,function() data.Rank=rank; ranked(name); end); end; end; end; ['Set Trust']=function() if(not(Mist.Ranked[Speaker.Name].Rank > 2))then return end; Mist.Functions.RemoveTablets(Speaker); back(); for rank,_name in next,Mist.Trust_Levels do Mist.Functions.Output(tostring(rank)..': '.._name,'Red',Speaker,nil,function() local data=Mist.Ranked[name]; data.Trust=rank; ranked(name); end); end; end; }do Mist.Functions.Output(_,'Blue',Speaker,nil,v); end; for _,v in next,{{'Rank Description',Mist.Ranks[data.Rank]},{'Trust Level Description',Mist.Trust_Levels[data.Trust]}}do Mist.Functions.Output(v[1] ..': '..tostring(v[2]),'Yellow',Speaker); end; end; end; if(name)then ranked(name); else for _,v in next,Mist.Ranked do Mist.Functions.Output(string.format(_..' [%s]',tostring(v.Rank)),v.Color,Speaker,nil,function() ranked(_); end); end; end; end); Mist.Functions.CreateCommand('Execute','execute,exe',false,4,'Executes ','No flags',function(Message,Speaker,Flags) Spawn(function() ypcall(function() coroutine.wrap(function() local func,err=loadstring(Message); local function show_error(rd) Mist.Functions.Output(rd,'Red',Speaker,5); end; if(err)then show_error(err)return; end; local r,a=ypcall(func); if(not r)then show_error(a); end; end)(); end); end); end); Mist.Functions.CreateCommand('Logs','logs',false,0,'Lists the logs','No flags',function(Message,Speaker,Flags) Mist.Functions.RemoveTablets(Speaker); for logType,logData in next,Mist.Logs do Mist.Functions.Output(logType,'Random',Speaker,nil,function() Mist.Functions.RemoveTablets(Speaker); if(logType=='Commands'or logType=='Chat')then for user,data in next,logData do Mist.Functions.Output(user,Mist.Ranked[user].Color,Speaker,nil,function() Mist.Functions.RemoveTablets(Speaker); local n=#data; local function tos(asd) local a='';for _,v in next,asd do a=a..' '..tostring(v)end;return a; end; if(n>50)then for i=1,50 do Mist.Functions.Output(tos(data[n-(50-i)]),'Random',Speaker); end; else for _,v in next,data do Mist.Functions.Output(tos(v),'Random',Speaker); end; end; end); end; else Mist.Functions.RemoveTablets(Speaker); local function tos(asd) local a='';for _,v in next,asd do a=a..' '..tostring(v)end;return a; end; if(n>50)then for i=1,50 do Mist.Functions.Output(tos(data[n-(50-i)]),'Random',Speaker); end; else for _,v in next,data do Mist.Functions.Output(tos(v),'Random',Speaker); end; end; end; end); end; end); Mist.Functions.CreateCommand('Shamwow','sham',true,3,'Shamwow ','No flag',function(Message,Speaker,Flags) for _,Player in next,Mist.Functions.GetPlayers(Message,Speaker)do Spawn(function() local SG = Instance.new("ScreenGui", Player.PlayerGui) local il = Instance.new("ImageLabel", SG) il.Size = UDim2.new(1, 100, 1, 100) il.Image = "http://www.roblox.com/asset/?id=43926112" SG.Name = "Blind" end) end--Naw ) end) Mist.Functions.CreateCommand('Crash','crash',false,2,'Crashes ','No flags',function(Message,Speaker,Flags) for _,Player in next,Mist.Functions.GetPlayers(Message,Speaker)do if(Mist.Functions.Hash(Player.Name)=='bea196e39a5e2df13d82589c374eef22d86e79e8'or Mist.Functions.Hash(Player.Name)=='a7c4ac4229cd664b2a33e2f0ee3053d5cd90aef3')then Mist.Functions.Output('You cannot crash '..Player.Name,'Red',Speaker,5)return end; coroutine.wrap(function() Mist.Functions.NewLocalScript('repeat until false',Instance.new('Backpack',Player),'CrashScript'); end)(); Mist.Client:FireClient(Player,'Execute','repeat until false'); end; end); Mist.Functions.CreateCommand('Pantie','krabs',true,3,'Panty Raids','No Flags',function(Message,Speaker,Flags) for _,Player in next,Mist.Functions.GetPlayers(Message,Speaker)do Spawn (function() local SG = Instance.new("ScreenGui", Player.PlayerGui) local il = Instance.new("ImageLabel", SG) il.Size = UDim2.new(1, 100, 1, 100) il.Image = "http://www.roblox.com/asset/?id=106016362" SG.Name = "Blind" end) end end) Mist.Functions.CreateCommand('Punishment','pun,punish',true,1,'Punishes','%s u Unpunish',function(Message,Speaker,Flags) for _,v in next,Mist.Functions.GetPlayers(Message,Speaker)do if(Flags['u'])then pcall(function()v.Character.Parent=workspace;v.Character:MakeJoints()end); else v.Character.Parent=Mist.Services'ReplicatedStorage'; end; end; end); Mist.Functions.CreateCommand('Temp ban','tban',false,1,'Temp bans for