Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
ca6d06a
Create EPS.lua
ATGFAIL Oct 8, 2025
94025b2
Rename EPS.lua to ESP.lua
ATGFAIL Oct 8, 2025
2eb1f68
Update ESP.lua
ATGFAIL Oct 8, 2025
2ead0ff
Update ESP.lua
ATGFAIL Oct 8, 2025
0f99be4
Create config.lua
ATGFAIL Oct 9, 2025
18b6aef
Create autosave.lua
ATGFAIL Oct 9, 2025
a6df941
Update autosave.lua
ATGFAIL Oct 9, 2025
aa72634
Create walkjump.lua
ATGFAIL Oct 9, 2025
37ef3cb
Update walkjump.lua
ATGFAIL Oct 9, 2025
59aa13c
Update walkjump.lua
ATGFAIL Oct 9, 2025
293e81a
Update walkjump.lua
ATGFAIL Oct 9, 2025
1ec92c9
Update walkjump.lua
ATGFAIL Oct 9, 2025
9f0fc3f
Update config.lua
ATGFAIL Oct 16, 2025
68ab504
Update config.lua
ATGFAIL Oct 16, 2025
c690752
Update config.lua
ATGFAIL Oct 16, 2025
c58196b
Update config.lua
ATGFAIL Oct 16, 2025
63cad5a
Update config.lua
ATGFAIL Oct 16, 2025
b5a5f87
Update autosave.lua
ATGFAIL Oct 16, 2025
cb25819
Update autosave.lua
ATGFAIL Oct 16, 2025
2c3d010
Update autosave.lua
ATGFAIL Oct 16, 2025
d862867
Update autosave.lua
ATGFAIL Oct 16, 2025
fa6e4c3
Update autosave.lua
ATGFAIL Oct 16, 2025
3cd4777
Update autosave.lua
ATGFAIL Oct 16, 2025
83019a7
Update autosave.lua
ATGFAIL Oct 16, 2025
6c032a7
Update autosave.lua
ATGFAIL Oct 16, 2025
e8a4d18
Update autosave.lua
ATGFAIL Oct 16, 2025
79f183a
Update autosave.lua
ATGFAIL Oct 16, 2025
316b9af
Create Macro.lua
ATGFAIL Oct 30, 2025
f16c0e6
Update Macro.lua
ATGFAIL Oct 30, 2025
31e73a8
Update Macro.lua
ATGFAIL Oct 30, 2025
c380cc0
Delete Macro.lua
ATGFAIL Oct 30, 2025
169cd4e
Update config.lua
ATGFAIL Oct 31, 2025
bdde79c
Update config.lua
ATGFAIL Oct 31, 2025
4db7605
Update config.lua
ATGFAIL Oct 31, 2025
7730693
Update config.lua
ATGFAIL Oct 31, 2025
06135a8
Update config.lua
ATGFAIL Oct 31, 2025
af41823
Update config.lua
ATGFAIL Oct 31, 2025
7fa59c3
Update config.lua
ATGFAIL Oct 31, 2025
cbd59b3
Update ATGComkub.lua
ATGFAIL Oct 31, 2025
eb66c65
Update autosave.lua
ATGFAIL Nov 8, 2025
96cf108
Update autosave.lua
ATGFAIL Nov 8, 2025
5bbe7dd
Update autosave.lua
ATGFAIL Nov 8, 2025
d0781c1
Update autosave.lua
ATGFAIL Nov 8, 2025
d0480c4
Update config.lua
ATGFAIL Nov 8, 2025
e4883b0
Update config.lua
ATGFAIL Nov 8, 2025
c713c0c
Update config.lua
ATGFAIL Nov 8, 2025
7618610
Update config.lua
ATGFAIL Nov 8, 2025
1849979
Update config.lua
ATGFAIL Nov 8, 2025
e2f31da
Update autosave.lua
ATGFAIL Nov 9, 2025
2401685
Update autosave.lua
ATGFAIL Nov 10, 2025
aa8e663
Update autosave.lua
ATGFAIL Nov 10, 2025
744ff0f
Update autosave.lua
ATGFAIL Nov 10, 2025
e8c0a57
Update autosave.lua
ATGFAIL Nov 10, 2025
2b9863e
Update autosave.lua
ATGFAIL Nov 10, 2025
27bb9ea
Update autosave.lua
ATGFAIL Nov 10, 2025
4dfd499
Update autosave.lua
ATGFAIL Nov 10, 2025
46340d7
Update autosave.lua
ATGFAIL Nov 18, 2025
f8d0b54
Create InterfaceManager.lua
ATGFAIL Nov 21, 2025
0968ccf
Update InterfaceManager.lua
ATGFAIL Nov 21, 2025
b5cdb42
Update autosave.lua
ATGFAIL Dec 1, 2025
c9ca1da
Update autosave.lua
ATGFAIL Dec 1, 2025
6290b46
Update autosave.lua
ATGFAIL Dec 1, 2025
28c9f23
Update autosave.lua
ATGFAIL Dec 1, 2025
f4de881
Update autosave.lua
ATGFAIL Dec 1, 2025
0df3b5b
Update autosave.lua
ATGFAIL Dec 2, 2025
a701e45
Update autosave.lua
ATGFAIL Dec 2, 2025
e6c3082
Update autosave.lua
ATGFAIL Dec 2, 2025
d02f916
Update InterfaceManager.lua
ATGFAIL Dec 9, 2025
44435b2
Update InterfaceManager.lua
ATGFAIL Dec 9, 2025
78ae345
Update autosave.lua
ATGFAIL Dec 11, 2025
25033ac
Update autosave.lua
ATGFAIL Dec 11, 2025
91849dd
Update autosave.lua
ATGFAIL Dec 16, 2025
9a288cc
Update autosave.lua
ATGFAIL Jan 1, 2026
a00be69
Refactor SaveManager loading and auto-save logic
ATGFAIL Mar 28, 2026
ec7b34c
Update autosave.lua
ATGFAIL Mar 28, 2026
8e6bdc8
Update autosave.lua
ATGFAIL Apr 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 113 additions & 51 deletions ATGComkub.lua
Original file line number Diff line number Diff line change
@@ -1,25 +1,73 @@
-- Improved place-based script loader
-- Features:
-- 1) allowlist as table with name + url (easier to maintain)
-- 2) HttpService check + basic URL validation
-- 3) retry mechanism + non-blocking coroutine
-- 4) clear logging (print/warn)
-- 5) fallback suggestion to use ModuleScript (see notes below)

local HttpService = game:GetService("HttpService")
local RunService = game:GetService("RunService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local allowedToRun = true
-- -----------------------
-- Allowed Place configuration
-- -----------------------
-- เพิ่มรายการได้ง่าย: ใส่ placeId => { name = "...", url = "https://.../file.lua" }
local allowedPlaces = {
[8069117419] = { name = "demon", url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/demon.lua" },
[127742093697776] = { name = "Plants-Vs-Brainrots", url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Plants-Vs-Brainrots.lua" },
[96114180925459] = { name = "Lasso-Animals", url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Lasso-Animals.lua" },
[135880624242201] = { name = "Cut-Tree", url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/cut-tree.lua" },
[142823291] = { name = "Murder-Mystery-2", url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Murder-Mystery-2.lua" },
[127742093697776] = {
name = "Plants-Vs-Brainrots",
url = "https://api.luarmor.net/files/v3/loaders/059cb863ce855658c5a1b050dab6fbaf.lua"
},
[96114180925459] = {
name = "Lasso-Animals",
url = "https://api.luarmor.net/files/v3/loaders/49ef22e94528a49b6f1f7b0de2a98367.lua"
},
[135880624242201] = {name = "Cut-Tree", url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/cut-tree.lua"},
[126509999114328] = {
name = "99 Nights in the Forest",
url = "https://api.luarmor.net/files/v3/loaders/3be199e8307561dc3cfb7855a31269dd.lua"
},
[79546208627805] = {
name = "99 Nights in the Forest",
url = "https://api.luarmor.net/files/v3/loaders/3be199e8307561dc3cfb7855a31269dd.lua"
},
[102181577519757] = {
name = "DARK-DECEPTION-HUNTED",
url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Dark-Deception-Hunted.lua"
},
[136431686349723] = {
name = "DARK-DECEPTION-HUNTED",
url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Dark-Deception-Hunted.lua"
},
[125591428878906] = {
name = "DARK-DECEPTION-HUNTED",
url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Dark-Deception-Hunted.lua"
},
[142823291] = {
name = "Murder-Mystery-2",
url = "https://api.luarmor.net/files/v3/loaders/d48b61ec237a114790c3a9346aa4bedf.lua"
},
[126884695634066] = {
name = "Grow-a-Garden",
url = "https://api.luarmor.net/files/v3/loaders/30c274d8989e8c01a8c8fa3511756d0b.lua"
},
[124977557560410] = {
name = "Grow-a-Garden",
url = "https://api.luarmor.net/files/v3/loaders/30c274d8989e8c01a8c8fa3511756d0b.lua"
},
[122826953758426] = {
name = "Raise-Animals",
url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Raise-Animals.lua"
},
[115317601829407] = {
name = "Arise-Shadow-Hunt",
url = "https://api.luarmor.net/files/v3/loaders/595828b9a7e9744b44904048c7337210.lua"
},
[93978595733734] = {
name = "Violence-District",
url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Violence-District.lua"
},
[118915549367482] = {
name = "Dont-Wake-the-Brainrots",
url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/Dont-Wake-the-Brainrots.lua"
},
[10449761463] = {
name = "The-Strongest-Battlegrounds",
url = "https://raw.githubusercontent.com/ATGFAIL/ATGHub/main/The-Strongest-Battlegrounds.lua"
}
}

-- -----------------------
Expand All @@ -38,10 +86,16 @@ local function logError(...)
end

local function isValidLuaUrl(url)
if type(url) ~= "string" then return false end
if type(url) ~= "string" then
return false
end
-- basic checks: http/https and ends with .lua (case-insensitive)
if not url:match("^https?://") then return false end
if not url:lower():match("%.lua$") then return false end
if not url:match("^https?://") then
return false
end
if not url:lower():match("%.lua$") then
return false
end
return true
end

Expand All @@ -50,7 +104,7 @@ end
-- -----------------------
local placeConfig = allowedPlaces[game.PlaceId]
if not placeConfig then
logWarn("Script ไม่ทำงานในแมพนี้:", tostring(game.PlaceId))
game.Players.LocalPlayer:Kick("[ ATG ] NOT SUPPORT")
return
end

Expand All @@ -59,18 +113,21 @@ logInfo(("Script loaded for PlaceId %s (%s)"):format(tostring(game.PlaceId), tos
-- Check HttpService availability early
if not HttpService.HttpEnabled then
logError("HttpService.HttpEnabled = false. ไม่สามารถโหลดสคริปต์จาก URL ได้.")
-- ถ้าต้องการให้ทำงานต่อแม้ Http ปิด ให้ใส่ fallback (เช่น require ModuleScript) ด้านล่าง
-- return
-- ถ้าต้องการให้ทำงานต่อแม้ Http ปิด ให้ใส่ fallback (เช่น require ModuleScript) ด้านล่าง
-- return
end

-- -----------------------
-- Script loader (with retries)
-- -----------------------
local function fetchScript(url)
local ok, result = pcall(function()
-- second arg true = skip cache; บาง executor อาจรองรับ
return game:HttpGet(url, true)
end)
local ok, result =
pcall(
function()
-- second arg true = skip cache; บาง executor อาจรองรับ
return game:HttpGet(url, true)
end
)
return ok, result
end

Expand All @@ -88,14 +145,17 @@ local function loadExtraScript(url, options)
local ok, res = fetchScript(url)
if ok and type(res) == "string" and #res > 0 then
-- attempt to execute safely
local execOk, execRes = pcall(function()
-- loadstring may not exist in some environments; pcall + loadstring used here
local f, loadErr = loadstring(res)
if not f then
error(("loadstring error: %s"):format(tostring(loadErr)))
local execOk, execRes =
pcall(
function()
-- loadstring may not exist in some environments; pcall + loadstring used here
local f, loadErr = loadstring(res)
if not f then
error(("loadstring error: %s"):format(tostring(loadErr)))
end
return f()
end
return f()
end)
)

if execOk then
return true, execRes
Expand All @@ -117,23 +177,25 @@ local function loadExtraScript(url, options)
end

-- Run loader inside coroutine so main thread isn't blocked by network retries
coroutine.wrap(function()
logInfo("เริ่มโหลดสคริปต์สำหรับแมพ:", placeConfig.name, placeConfig.url)
local ok, result = loadExtraScript(placeConfig.url, { retries = 3, retryDelay = 1 })

if ok then
logInfo("✅ Extra script loaded successfully for", placeConfig.name)
else
logError("❌ ไม่สามารถโหลดสคริปต์เพิ่มเติมได้:", result)
-- ตัวอย่าง fallback: ถ้ามี ModuleScript เก็บไว้ใน ReplicatedStorage ให้ require แทน
-- local mod = ReplicatedStorage:FindFirstChild("Fallback_" .. placeConfig.name)
-- if mod and mod:IsA("ModuleScript") then
-- local success, modRes = pcall(require, mod)
-- if success then
-- logInfo("✅ Loaded fallback ModuleScript for", placeConfig.name)
-- else
-- logError("Fallback ModuleScript error:", modRes)
-- end
-- end
coroutine.wrap(
function()
logInfo("เริ่มโหลดสคริปต์สำหรับแมพ:", placeConfig.name, placeConfig.url)
local ok, result = loadExtraScript(placeConfig.url, {retries = 3, retryDelay = 1})

if ok then
logInfo("✅ Extra script loaded successfully for", placeConfig.name)
else
-- ตัวอย่าง fallback: ถ้ามี ModuleScript เก็บไว้ใน ReplicatedStorage ให้ require แทน
-- local mod = ReplicatedStorage:FindFirstChild("Fallback_" .. placeConfig.name)
-- if mod and mod:IsA("ModuleScript") then
-- local success, modRes = pcall(require, mod)
-- if success then
-- logInfo("✅ Loaded fallback ModuleScript for", placeConfig.name)
-- else
-- logError("Fallback ModuleScript error:", modRes)
-- end
-- end
logError("❌ ไม่สามารถโหลดสคริปต์เพิ่มเติมได้:", result)
end
end
end)()
)()
Loading