-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsource.lua
More file actions
20552 lines (18095 loc) · 761 KB
/
source.lua
File metadata and controls
20552 lines (18095 loc) · 761 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-- Discontinued permanently
-- Do not ask me to fix the game.Players:Chat(), the lag problem, or anything else
-- Read all the information below before viewing the source.
--[[
___ __ ________ ___ ___ ___ ________ ___ ___ _________ _______
|\ \|\ \ |\ __ \|\ \|\ \|\ \ |\ ____\|\ \ |\ \|\___ ___\\ ___ \
\ \ \/ /|\ \ \|\ \ \ \\\ \ \ \ \ \ \___|\ \ \ \ \ \|___ \ \_\ \ __/|
\ \ ___ \ \ \\\ \ \ __ \ \ \ \ \_____ \ \ \ \ \ \ \ \ \ \ \ \_|/__
\ \ \\ \ \ \ \\\ \ \ \ \ \ \ \____\|____|\ \ \ \____\ \ \ \ \ \ \ \ \_|\ \
\ \__\\ \__\ \_______\ \__\ \__\ \_______\____\_\ \ \_______\ \__\ \ \__\ \ \_______\
\|__| \|__|\|_______|\|__|\|__|\|_______|\_________\|_______|\|__| \|__| \|_______| Infinity
View the source here: https://kohlslite.pages.dev/source.lua
Kohlslite is updated here: https://github.com/S-PScripts/kohlslite/blob/main/source.lua
Debugged with: https://glot.io/new/lua
KohlsLite is a free, open-source script for the Roblox game created by agspureiam, Kohls Admin House (KAH).
This script was created by ScriptingProgrammer (Roblox) / ts2021 (Discord) / S-PScripts (GitHub).
This script is DISCONTINUED permanently; scroll down for more information!
This was one of the only KAH scripts that worked due to Roblox's chat update (30th APRIL 2025). Apart from CMD v3 (but agspureiam made a small update that broke the script anyway).
You can play KAH here: https://www.roblox.com/games/112420803/Kohls-Admin-House-NBC-Updated
This script is not recommended for KAH Legacy (https://www.roblox.com/games/14747334292/Kohls-Admin-House-NBC-Legacy).
This is because the code there is rather different, and therefore some features in this script are not compatible.
Here is a fun fact about KAH Legacy/Project NP: the owner, BoasGameAlt, is agspureiam's alt. However, it was password-guessed and is now owned by Tech.
KohlsLite is currently the longest/largest Kohls Admin House script that is open-source and freely available.
Shortcut v3-VAR had more stuff than KohlsLite, but it was not open-source, and you needed to ask the owner (Tech) to be able to use the script.
If you want to contact Tech, join his Discord server (link: sckah.space). Do note that SCV3-VAR is no longer updated, and does not work.
This script was built from the ground up. KohlsLite is not a fork of any other scripts (e.g, Shortcut v2 src1 being an extension to Shortcut v1).
KohlsLite is a bit like a mixture of all the scripts that already exist in KAH, such as:
-- > CMD (v1) [by quiving, the same person who made the Solara executor]
-- > CMD Y [by quiving]
-- > CMD v3 (Pi) [by quiving]
-- > Shortcut v1 [by SnowClan_8342/yeemi]
-- > Shortcut v2 [by SnowClan_8342/yeemi]
-- > Shortcut v3 [by Tech]
-- > Shortcut v3-VAR [by Tech; do note that I do not have the source]
-- > ii's Stupid Admin [by iiDk]
-- > Old PR Script [by atprog]
-- > KohlsNoob [by gamingkhoaito#1014 and haroldjd2017ipad#4295]
-- > KohlsCool [by sergioesquina/kohlscool]
-- > Noobsploit [by NoobSploit]
-- > Jotunnheim [by Jotunn]
-- > Shazam [by Tokio]
-- > Route [by Dizzy]
-- > SimpleKAH [by lnfiniteCoder]
-- > XKah [by lnfiniteCoder]
-- > Solinium v2 [by Knocks]
-- > Infinite Yield [by EdgeIY]
-- > Proton Admin [by Digitality]
-- > Many scripts from the KAH script archive by Damix [View it here: S-PScripts/kah-fork]
Some of the code here is from other creators; credit has been given. However, quite a lot is my own, and also some commands can't be changed code-wise that much.
There are no watermarks in this script. I included watermarks in my script when I first created it, but I wanted to make this script more 'premium' like Shortcut v3-VAR.
KohlsLite, however, has backdoors (dev section) due to dumb people using my script for bad. However, they have been disabled.
If you want to support this script, you can donate Robux to me on Roblox, especially since this script doesn't have much advertising going for it.
Even though I do not update KohlsLite anymore (more below), perhaps I might make a script for another game in the future.
Please do not use my script to abuse in-game. Don't skid it either. I made this free/open-source and don't want stupid people doing stuff that forces me to make this obfuscated.
Instead, you can make your own script and take stuff from here if necessary. As for abusing, you are just being annoying to everyone who plays. You are not fun.
There is no command handler, and this script looks terrible, to be honest. I am not making a full rewrite of this script, as that would take ages. There is no point in doing so, since this script still works fine.
Do note that I did try to remake this script a while ago, but I got bored and gave up.
I know my script is inconsistent when using Game with and without GetService... but I don't care. There are also some other inconsistencies that I cannot be bothered to fix.
KohlsLite has been moved to this repo from my old repo called scripts (which is now renamed to kohlslite-work-old). This is because the old repo was messy and the old loadstring was clunky.
There are some features in other scripts that KohlsLite does not have. Here are some of them:
- Boombox visualiser [Proton Admin]
- Part builder [ii's Stupid Admin, Jotunnheim, CMD PI/V3, Solinium v2]
- Custom commands [Shortcut v3-VAR]
- Skateboard kick [didn't bother to figure out how it works, method is private]
There is also no GUI, and the anti system does not work for individual players.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This script is discontinued due to the lack of a player base in Kohls Admin House. There are barely any players (10 at maximum), and most of those players are not exploiters who will use this script.
There is not enough demand for me to continue updating this script, and even if there was, what?
This script has many bugs due to the May Roblox chat update. Aliases and autorun commands do not work anymore, and a few commands may have issues.
I am not fixing them since I do not play Roblox too much now. You are free to fix them yourself.
Also, Roblox removed game.Players:Chat(), which was vital for this script, and there isn't a replacement for it. I changed Chat() to Speak() so this script isn't 100% dead, but it's just a crappy bandfix.
Now, there are no more exploiters in Kohls Admin House, and no one is making scripts for the game. This is a good thing; exploiters ruin the fun of the game.
It is a bit depressing, knowing I maintained one of the last KAH scripts. It's the end of a great era, with many people passing down the torch.
But it has to end someday, you know. Maybe one day, someone might make another new KAH script.
Agspureiam came back around August 2025 and made many updates. He also banned some exploiters, including me. They broke some things in this script, and I will not fix them.
To be honest, I should have waited until he left again in September...
KAH is dying, and yet it's not. Agspureiam somehow revived the game by his short return, and now it always has a few players in it (before it could be 0).
Perhaps it's revived because the game has no exploiters now? Who knows.
Here is a quick fact. Prison Life, a game without any major update since its v2.0 release 7 years ago, gets at least 500 people playing - even 1,000 sometimes.
Do you know why? It is partially because it does not get boring fast, unlike KAH. KAH is just you trying some admin commands, nothing else.
EDIT: Well, PL is actually getting updated again and managed to reach 50k players. This point is outdated... but oh well.
KAH has become boring to me, and so has this script. I have played KAH since August 2022, and have updated this script since its creation in December 2023.
Over the past few years, I have added hundreds of commands/features (nearly 1,000), but now... what is left?
I will not add the features I mentioned above. If you want them, just execute the scripts that I mentioned alongside KohlsLite.
I do not want to spend hours upon hours adding the features that you can get easily via a simple extra execution.
Another reason for the discontinuation of KohlsLite's development is that I have exams to take, specifically my GCSEs. These are VERY important, and they take a lot of time away.
If you read all of the above, thank you. I had a great time creating KohlsLite. <3
TS2021, October 2025
PS: KAH got revived again because of StromBrew during November 2025. Has 30 players at least, so a little less dead. And no exploiters still, that's neat I guess. Goodbye KAH!
Maybe if someone else makes a KAH script or something related to f3x/btools is found I'll come back... (only if a game.Players:Chat() replacement is found as well)
]]
--[[
____ _____ _____ _ _ ____
/ ___|| ____|_ _| | | | _ \
\___ \| _| | | | | | | |_) |
___) | |___ | | | |_| | __/
|____/|_____| |_| \___/|_|
]]
-- Script name = KohlsLite
if getgenv().scriptname then
--
else
getgenv().scriptname = "KohlsLite" -- change this if you're a skid
end
-- The prefix you are using for KohlsLite. This can be of any length.
getgenv().default_prefix = "."
-- The version of KohlsLite
getgenv().klversion = "Infinity"
-- Notifications
local function Remind(msg, length)
game.StarterGui:SetCore("SendNotification", {
Title = getgenv().scriptname.. " " ..getgenv().klversion,
Text = msg,
Duration = length or 1
})
end; -- this semi-colon is useless, but I don't want to remove it xd
-- From Infinite Yield
local IYchecks = {
-- Check if KAH is using legacy chat
legacyChat = (game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService),
-- Mobile checker
IsOnMobile = table.find({Enum.Platform.IOS, Enum.Platform.Android}, game:GetService("UserInputService"):GetPlatform())
}
-- Speak function
local function Speak(msg)
if IYchecks.legacyChat then
print("test")
game.ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(msg, "All")
else
print('test 2')
game:GetService("TextChatService").TextChannels.RBXGeneral:SendAsync(msg)
end
end
-- Chat function
local function Chat(msg)
Speak(msg)
end
-- Check if KohlsLite is already executed
if getgenv().kohlsexecuted then
return
Remind("You've already executed KohlsLite!")
end
if getgenv().ignorewronggame then
--
else
getgenv().ignorewronggame = false
end
-- Place checker
if getgenv().ignorewronggame then
--
else
if game.PlaceId ~= 112420803 and game.PlaceId ~= 115670532 and game.PlaceId ~= 14747334292 then
local response = Instance.new("BindableFunction")
function response.OnInvoke(answer)
if answer == "Yes" then
game:GetService("TeleportService"):Teleport(112420803, game:GetService("Players").LocalPlayer) -- nbc join only.
end
end
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = getgenv().scriptname.." Manager",
Text = "You are not in Kohls Admin House. Would you like to join KAH [NBC]?",
Duration = math.huge,
Callback = response,
Button1 = "Yes",
Button2 = "No"
})
return
end
end
clipboard_available = setclipboard or toclipboard or set_clipboard or (Clipboard and Clipboard.set) -- From Infinite Yield
--[[
_ _ _ _____ ___ ____ ____ _ ____ _ _ _____ ____
/ \ | | | |_ _/ _ \ / ___| _ \ / \ / ___|| | | | ____| _ \
/ _ \| | | | | || | | | | | |_) | / _ \ \___ \| |_| | _| | |_) |
/ ___ \ |_| | | || |_| | |___| _ < / ___ \ ___) | _ | |___| _ <
/_/ \_\___/ |_| \___/ \____|_| \_\/_/ \_\____/|_| |_|_____|_| \_\
-- This is an edited version of Knocks' autocrasher
-- You can find the original here: https://github.com/blueskykah/Solinium/blob/main/Solinium%20Autocrasher
-- This needs to be in your autoexecute (could use queue_on_teleport maybe but ¯\_(ツ)_/¯)
-- This no longer works. All crashes are patched (swagify, I don't think so, but it sux)
]]
function acperm()
task.spawn(function()
while true do
task.wait(0)
if perm2 == true then
if not game:GetService("Workspace").Terrain[GAMEFOLDER].Admin.Pads:FindFirstChild(game.Players.LocalPlayer.Name .. "'s admin") then
gotapad = false
if game:GetService("Workspace").Terrain[GAMEFOLDER].Admin.Pads:FindFirstChild("Touch to get admin") then
local pad = game:GetService("Workspace").Terrain[GAMEFOLDER].Admin.Pads:FindFirstChild("Touch to get admin"):FindFirstChild("Head")
local padCFrame = game:GetService("Workspace").Terrain[GAMEFOLDER].Admin.Pads:FindFirstChild("Touch to get admin"):FindFirstChild("Head").CFrame
task.wait(0.125)
pad.CanCollide = false
repeat task.wait() until game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
pad.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
task.wait(0.125)
pad.CFrame = padCFrame
pad.CanCollide = true
gotapad = true
else
fireclickdetector(game:GetService("Workspace").Terrain[GAMEFOLDER].Admin.Regen.ClickDetector, 0)
end
end
end
end
end)
end
function shopac() -- Autocrasher serverhop
if not ratelimited then
local NBC =
game:GetService("HttpService"):JSONDecode(
game:HttpGet("https://games.roblox.com/v1/games/112420803/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true")
)
local BC =
game:GetService("HttpService"):JSONDecode(
game:HttpGet("https://games.roblox.com/v1/games/115670532/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true")
)
if NBC["errors"] then
print("Failed to server hop. Retrying in 5 seconds...")
task.spawn(function()
ratelimited = true
task.wait(5)
ratelimited = false
end)
return
end
print("Checking for servers...")
local NBC_data = NBC.data
local servers_found = {}
--print("checking nbc")
for i, v in pairs(NBC_data) do
--print("check 1" .. type(v) == "table")
--print("check 2" .. v.id ~= game.JobId)
--print("check 3" .. tonumber(v.playing) < tonumber(v.maxPlayers))
--print("check 4" .. not table.find(v.playerTokens, getgenv().playertoken))
if type(v) == "table" and v.id ~= game.JobId and --[[tonumber(v.playing) < tonumber(v.maxPlayers) and]] not table.find(v.playerTokens, getgenv().playertoken) then
table.insert(servers_found, {["Version"] = "NBC", ["Job"] = v.id})
end
end
print(#servers_found)
if #servers_found > 0 then
local servertohop = servers_found[math.random(1, #servers_found)]
if servertohop["Version"] == "NBC" then
game:GetService("TeleportService"):TeleportToPlaceInstance(112420803, servertohop["Job"])
else end
else
print("No servers available...")
end
end
end
if getgenv().autocrasher then
if getgenv().playertoken then
repeat task.wait() until game:IsLoaded()
ac_continue = true
if getgenv().whitelistedppl then
for i, v in pairs(game.Players:GetPlayers()) do
if table.find(getgenv().whitelistedppl, v.Name) then
print("Whitelisted player found: " .. v.Name)
ac_continue = false
repeat task.wait()
shopac()
until false
end
end
end
if ac_continue then
if getgenv().perm then
regen_missing = false
perm2 = true
acperm()
if game:GetService("Workspace").Terrain[GAMEFOLDER].Admin.Regen then else regen_missing = true end
else
gotapad = true
end
repeat task.wait() until gotapad == true or regen_missing == true
if regen_missing then
repeat task.wait()
shopac()
until false
end
if getgenv().customcmds then
for i = 1, #getgenv().customcmds do
Chat(getgenv().customcmds[i])
end
end
if getgenv().acmode then
if getgenv().acmode == "Dog" then
print("Dog crash no longer works, using Swag.")
for i = 1,100 do
Chat("swagify all all all all all all")
end
elseif getgenv().acmode == "Freeze" then
print("Freeze crash no longer works, using Swag.")
for i = 1,100 do
Chat("swagify all all all all all all")
end
elseif getgenv().acmode == "Shield" or getgenv().acmode == "Rocket" then
print("Shield/Rocket crash no longer works, using Swag.")
for i = 1,100 do
Chat("swagify all all all all all all")
end
elseif getgenv().acmode == "Swagify" or getgenv().acmode == "Swag" then
for i = 1,100 do
Chat("swagify all all all all all all")
end
else
print("Invalid auto crash mode used, using Swag as default.")
for i = 1,100 do
Chat("swagify all all all all all all")
end
end
else
print("Auto crash mode unconfigured, using Swag as default.")
for i = 1,100 do
Chat("swagify all all all all all all")
end
end
print("Server crashed. JobId: "..game.JobId)
task.wait(3)
repeat task.wait(1.5)
shopac()
until false
end
else
getgenv().autocrasher = false
if clipboard_available then
Remind("You must have your player token to use the autocrasher. Check what has been printed in /console.", 2)
print("COPY THE CODE IN THIS WEBSITE: kohlslite.pages.dev/Assets/PLAYERTOKEN.lua")
print("It has also been copied to your clipboard.")
print("Once you have copied the code, join an empty server and run the code. Next, open a text editor like Notepad and find a string that looks like this: '5568CCBED82CD30E127119030810CE98'.")
print("Once you have found the string, copy it and input it into the playertoken variable.")
clipboard_available(game:HttpGet("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true"))
else
Remind("You must have your player token to use the autocrasher. Check what has been printed in /console.", 2)
print("COPY THE CODE IN THIS WEBSITE: kohlslite.pages.dev/Assets/PLAYERTOKEN.lua")
print("Once you have copied the code, join an empty server and run the code. Next, open a text editor like Notepad and find a string that looks like this: '5568CCBED82CD30E127119030810CE98'.")
print("Once you have found the string, copy it and input it into the playertoken variable.")
end
end
end
--[[
____ _____ _____ _ _ ____
/ ___|| ____|_ _| | | | _ \
\___ \| _| | | | | | | |_) |
___) | |___ | | | |_| | __/
|____/|_____| |_| \___/|_|
]]
-- Loader
if not game:IsLoaded() then
local notLoaded = Instance.new("Message")
notLoaded.Parent = game:GetService("CoreGui")
notLoaded.Text = "KohlsLite is waiting for the game to load..."
game.Loaded:Wait()
notLoaded:Destroy()
end
if getgenv().autocrasher then
return
end
--loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
-- Don't touch this!
getgenv().kohlsexecuted = true
-- KohlsLite Start Gui
if getgenv().kohlsgui then
--
else
getgenv().kohlsgui = false
end
-- Prefix checker (Do not edit!)
local prefix
if getgenv().theprefix then
prefix = getgenv().theprefix
else
prefix = getgenv().default_prefix
end
-- Defaults (you can change these)
-- no longer works (I'll find a fix if I can)
local defaults = {".tnok", ".antikill me", ".cmdbar"} --".antimsg me"
-- Misc variables (Do not edit these! They are for bug fixes... but they don't even work...).
local backend_stuff = {
bending = false, -- ignore
ratelj = false, -- ignore
eincrash = false, -- ignore
notifiedRespectFiltering = false,
regfind = false,
i_like_my_9jn_drippy_bruh = true,
pkickrn = false,
btkickrn = false
}
-- Thorn Anti Temp (DO NOT EDIT THIS)
local thorn_ig_anti = {
}
kah_np = (game.PlaceId == 14747334292) -- This checks if the game is KAH NP and fixes stuff accordingly
if kah_np == true then
GAMEFOLDER = "_Game"
else
GAMEFOLDER = "GameFolder"
end
-- Stats when loading (Stats code at end)
local Stats = {}
Stats.starttime = os.clock()
-- Start up scripts (Do not edit!)
local function startupScripts()
if not getgenv().autoruncmds then
for i = 1, #defaults do
Chat(defaults[i])
end
else
for i = 1, #getgenv().autoruncmds do
Chat(getgenv().autoruncmds[i])
end
end
end
-- Log Trap
pcall(function()
local umwhatdasigma = game:HttpGet("https://pastebin.com/raw/d7eTDKbJ") -- oofkohls
end)
-- local permpassid = 66254 or 64354 -> NBC, BC
-- local personpassid = 35748 or 37127 --> NBC, BC
-- Mover
local Mover = {}
Mover.Attached = {Value = false}
Mover.Finished = {Value = false}
Mover.Moving = false
Mover.PosSet = false
--[[
_ _ ____ _____ ____ _ ___ ____ _____ ____
| | | / ___|| ____| _ \ | | |_ _/ ___|_ _/ ___| There are some more in the Settings section
| | | \___ \| _| | |_) | | | | |\___ \ | | \___ \
| |_| |___) | |___| _ < | |___ | | ___) || | ___) |
\___/|____/|_____|_| \_\ |_____|___|____/ |_| |____/
]]
-- Serverlocked users
local blacklist = {
}
-- Whitelist/gear whitelists
-- I know I should use user IDS instead but I would have to go through all these usernames and since I'm lazy, I don't have the time to do that.
-- Not to mention recording the whitelist code
-- So if you change your username... SUCKS TO BE YOU!!!!
-- Users not affected by serverlock
local whitelist = {}
-- Perm Whitelist - only removable by editing the source code
local pwl = {
"me_123eq",
"me_crashking",
"ScriptingProgrammer",
"me_I23456",
"RickyMartin05",
"agspureiamReal",
"atprog",
"IceStuds",
"Dekryptionite",
"minecraftgamer2012YT",
"clydekash",
"cxotus",
"DeportedImported",
"GigaBlockSparkly",
"ripcxo",
"grimAuxiliatrix",
"undertaker629",
"jjjuuikjjikkju",
"FR6DDIIE",
"D_ionte",
"dawninja21",
"Dawninja21alt",
"t_echr"
}
-- Players you cannot kick... unless you're editing this source code (don't skid)
local nokick = {
"me_123eq",
"me_crashking",
"ScriptingProgrammer",
"me_I23456",
"RickyMartin05",
"agspureiamReal",
"atprog",
"IceStuds",
"Dekryptionite",
"minecraftgamer2012YT",
"clydekash",
"ripcxo",
"cxotus",
"GigaBlockSparkly",
"DeportedImported",
"grimAuxiliatrix",
"undertaker629",
"jjjuuikjjikkju",
"FR6DDIIE",
"D_ionte",
"dawninja21",
"Dawninja21alt",
"t_echr"
}
-- Users that can use blacklisted gears (or gears when antigear is on)
local GWhitelisted = {
}
-- Perm Gear Whitelist - only removable by editing the source code
local pgwl = {
"me_123eq",
"me_crashking",
"ScriptingProgrammer",
"me_I23456",
"RickyMartin05",
"agspureiamReal",
"atprog",
"IceStuds",
"Dekryptionite",
"minecraftgamer2012YT",
"clydekash",
"cxotus",
"ripcxo",
"grimAuxiliatrix",
"undertaker629",
"jjjuuikjjikkju",
"FR6DDIIE",
"D_ionte",
"dawninja21",
"Dawninja21alt",
"t_echr"
}
-- People that are thorn whitelisted
local exempt_from_thorns = {
}
-- People that can use your KohlsLite commands
local kl_wlst = {
}
-- Perm thorn whitelist
local peft = {
"me_123eq",
"me_crashking",
"ScriptingProgrammer",
"me_I23456",
"RickyMartin05",
"agspureiamReal",
"atprog",
"IceStuds",
"Dekryptionite",
"minecraftgamer2012YT",
"clydekash",
"cxotus",
"GigaBlockSparkly",
"DeportedImported",
"grimAuxiliatrix",
"undertaker629",
"jjjuuikjjikkju",
"FR6DDIIE",
"D_ionte",
"dawninja21",
"Dawninja21alt",
"t_echr"
}
-- atprog spexialpermz (Perms for non-developers)
local atprogperms = {
"atprog",
"IceStuds",
"Dekryptionite",
"minecraftgamer2012YT",
"clydekash",
"cxotus",
"DeportedImported",
"GigaBlockSparkly",
"undertaker629",
"jjjuuikjjikkju",
"FR6DDIIE",
"D_ionte",
"dawninja21",
"Dawninja21alt",
"t_echr"
}
-- The developer of KohlsLite
local specialperms = {
"me_123eq",
"me_crashking",
"ScriptingProgrammer",
"me_I23456",
"atprog",
"RickyMartin05",
"agspureiamReal"
}
-- New users get blacklisted (prevent crashers)
local newplrslocked = {}
--[[
____ _____ _____ _____ ___ _ _ ____ ____
/ ___|| ____|_ _|_ _|_ _| \ | |/ ___/ ___|
\___ \| _| | | | | | || \| | | _\___ \
___) | |___ | | | | | || |\ | |_| |___) |
|____/|_____| |_| |_| |___|_| \_|\____|____/
]]
-- Server-centred stuff
mainbar_stuff = {
-- Normal serverlock
slockenabled = false,
-- More advanced serverlock (Tech's)
superchargeslock = false,
-- Gojo domain (part of deiv command)
gjdelock = false,
-- if new players under (newlen) days join they get blacklisted
newplrautoslock = false,
-- Control what age an account stops becoming new
newlen = 21,
-- Spread the KohlsLite watermark in some announcements...
watermark_kl = false,
-- The backdoor
backdoor_enabled = true,
-- The tag above KL Admins
billboard = true,
-- Execute KohlsLite when serverhopping
KeepKL = false
}
-- Auto stuff (extra)
local auto_stuff_mbar = {
-- Auto rejoin if kicked
autorejoin = false,
-- Auto afk
autoafk = false,
AFKMessage = "[AFK]" -- Auto afk name message
}
-- Random lists of players
local rand_players = {
-- Players loopkilled
loopkill = {},
-- Spam name users
byecam = {},
-- Car lag
carcar = {}
}
-- Gamepass saving
-- Users that use perm will be placed here
local gamepasses = {
-- Users that use perm will be placed here
permusers = {},
-- Users that use persons will be placed here
personsusers = {}
}
-- Spoofers
local editedstuff = {
-- Perm spoofer (speed)
editedspeedis = 16,
editedspeed = false,
-- Perm spoofer (jumppower)
editedjumpis = 50,
editedjump = false
}
-- Super command, spam, circa settings
local ex_settings = {
-- Boombox range
bgrange = 128,
-- Circlise range
circrad = 10,
-- Times the super command should run
amon = 100,
-- Super command
supermessage = "sword me",
-- Spam
spam = false,
-- Spam or not?
spamon = false,
-- What it should spam
spamtext = "sword me",
-- Spam command wait
spamwait = 0.01
}
-- Do something to player upon them joining/do something to player in server upon booting the script
local list_on_sight = {
-- Rocket kick the player
rkick_on_sight = {},
-- Crash the server
crash_on_sight = {
"jhjssikeksms",
"aliihsan12345",
"aliihsan12345Bloxy",
"Unknown35864",
"UnknownHasComeBack",
"OhMyAlt000",
"Roblox_girlsfree",
"aliihsan12345isafurry",
"IIIdev",
"ihateyou"
},
-- Message kick the player
mkick_on_sight = {},
-- Hat kick the player
hatkick_on_sight = {},
-- Car spam the player
suser_on_sight = {},
-- Char the player furry
furry_on_sight = {},
-- Gearban the player
gb_on_sight = {}
}
-- Scripts that run when certain users join (Work In Progress)
if getgenv().run_on_sight then
--
else
getgenv().run_on_sight = {
["ScriptingProgrammer"] = {".lua print('da owner joined so coolz')"}
}
end
-- Anti logs
local antimlog = false -- for music
local antiglog = false -- for gears [unused]
local anticlog = false -- for chars [unused]
-- Keybinds
local keybinds = {
housekeybind = "h", -- Teleport to the house
rekeybind = "r", -- Reset/respawn
flykeybind = "f", -- Fly (KAH Fly)
regenkeybind = "p", -- Regenerate the pads
crashkey = "e", -- Crash the server
keybindz = true, -- Enable the keybinds
keybindz_unsafe = false -- Enable crash keybind, risky!
}
-- Clicking (bizzare recode, I'm probably the first one to make a dynamic click)
local click_stuff = {
-- Click and it'll run the command below
click_for_something = false,
-- The command that should be run on the thing clicked in question
click_command = "explode"
}
-- Admin related
local admin_stuff = {
-- Grab a pad forever!
perm = false,
perm2 = false,
-- Grab all the pads forever!
loopgrab = false,
loopgrab2 = false,
-- Everyone in the server uses your admin to run commands!
alladmin = false,
-- All admin but for individual users
FAdmins = {},
-- Pad reinforcements (only 1 pad can be collected per player)
padreinforcements = false,
-- Resets the admin pads every time someone gets a pad (padbanned for everyone)
SRegen = false,
-- People that cannot use the admin pads
padbanned = {}
}
-- Antis (gears)
local gear_antis = {
-- Stop users from crashing with gears
anticrash = false,
-- Stop users from using gears
antigear = false,
-- Stop users from using the gearban gear, Portable Justice
antigb = false,
-- Stop users from using the Paint Bucket
antipaint = false,
-- Stop users from using the Ivory Periastron, the attach gear
antiivory = false,
-- Stop users from using ANY periastron, excluding the Ivory
antiperi = false,
-- Stop users from using the ray gun gears
antiraygun = false,
-- Stop users from using blacklisted tools that aren't part of the antis above
noblt = false,
-- Stop yourself from having gears in your inventory
antitoolm = false,
-- Stop yourself from having gears in your inventory (better)
antitoolm2 = false,
-- Stops you from getting kicked from crash gears (NOTE: This isn't useful anymore.)
antikick2 = false
}
-- Antis (workspace and other stuff)
local ws_antis = {
-- No 'flash'
antiflash = false,
-- No 'disco'
antidisco = false,
-- No 'fogend'
antifogend = false,
-- No 'fogstart'
antifogstart = false,
-- No 'fogcolor'
antifogcolor = false,
-- No 'ambient'
antiambient = false,
-- No 'outdoorambient'
antioutamb = false,
-- No 'brightness'
antibrightness = false,
-- No 'time'
antitime = false,
-- No light from the ivory
antiilight = false,
-- No Bite Plant
antiplant = false,
-- No Eggs
antiegg = false,
-- No tripmine
antitripmine = true,
-- Spams h messages for everyone lagging them
antichat = false,
-- Stop users saying attach commands
antiattach = false,
-- Stop lag
antilag = false
}
-- Auto stuff, things announced, pings
local player_relate = {
-- Automatically check for player's gamepasses
autogpcheck = false,
-- Auto gearban players when they join
autogb = false,
-- NOOB Detector - they aren't getting away with 'poop' player...
noobdetect = false,
-- Welcome/leave message when player joins/leaves
welcomemsg = false, -- No, I'm not going to be fancy and call it 'greetings'
-- Announces to everyone when gear antis are triggered (not when it is turned on and off)
crash_an = false,