-- Script nhẹ tâm Free Fire OB55 -- Tự động áp dụng cấu hình, dọn cache, tăng nhạy -- Không cần reset Free Fire -- Bước 1: Khai báo đường dẫn local basePaths = { "/sdcard/Android/data/com.dts.freefireth/files/", "/sdcard/Android/data/com.dts.freefiremax/files/" } local cachePaths = { "/sdcard/Android/data/com.dts.freefireth/cache/", "/sdcard/Android/data/com.dts.freefiremax/cache/", "/sdcard/Android/data/com.dts.freefireth/cache/character/", "/sdcard/Android/data/com.dts.freefiremax/cache/character/", "/sdcard/Android/data/com.dts.freefireth/cache/skin/", "/sdcard/Android/data/com.dts.freefiremax/cache/skin/" } local MAX_CACHE_AGE = 3 * 24 * 60 * 60 -- Bước 2: Hàm ghi file an toàn local function writeFile(path, content) local f = io.open(path, "r") if f then local old = f:read("*a") f:close() if old == content then return false end end local out = io.open(path, "w") if out then out:write(content) out:close() return true end return false end -- Bước 3: Hàm xóa file an toàn local function safeRemove(path) pcall(os.remove, path) end -- Bước 4: Hàm dọn dẹp cache local function cleanCache() local now = os.time() for _, dir in ipairs(cachePaths) do local f = io.popen("ls " .. dir .. " 2>/dev/null") if f then for file in f:lines() do local fullPath = dir .. file local attr = io.popen("stat -c %Y " .. fullPath .. " 2>/dev/null") if attr then local mtime = tonumber(attr:read("*a")) attr:close() if mtime and (now - mtime) > MAX_CACHE_AGE then safeRemove(fullPath) end end end f:close() end end end -- Bước 5: Cấu hình nhẹ tâm OB55 local lowSpecConfig = [[ [Graphics] Quality=0 Shadow=0 AntiAlias=0 Particle=0 Effect=0 RenderScale=0.3 FPS=60 TextureQuality=0 ModelQuality=0 CharacterDetail=0 EnvironmentDetail=0 GrassRender=0 WaterRender=0 SkyRender=0 [Render] HideBody=1 HideLegs=1 HideArms=1 HideHead=1 HideNeck=1 HideTorso=1 HideChest=1 HideAbdomen=1 HidePelvis=1 HideThigh=1 HideCalf=1 HideFoot=1 HideShoulder=1 HideUpperArm=1 HideForearm=1 HideHand=1 HideFinger=1 HideWeapon=0 HideBackpack=1 HideHelmet=1 HideVest=1 HideGloves=1 HideBoots=1 RenderHitboxOnly=1 CharacterLOD=0 SkeletonRender=0 SkinRender=0 AnimationRender=0 DisableBodyMesh=1 DisableLimbMesh=1 DisableTorsoMesh=1 DisableArmMesh=1 DisableLegMesh=1 DisableHeadMesh=1 DisableNeckMesh=1 DisableChestMesh=1 DisableAbdomenMesh=1 DisablePelvisMesh=1 DisableThighMesh=1 DisableCalfMesh=1 DisableFootMesh=1 DisableShoulderMesh=1 DisableUpperArmMesh=1 DisableForearmMesh=1 DisableHandMesh=1 DisableFingerMesh=1 DisableEnemyRender=1 DisableTeammateRender=1 [Performance] ThreadCount=4 HeapSize=256 CacheSize=128 [Touch] TouchSensitivity=100 AimSensitivity=100 FireSensitivity=100 ScopeSensitivity=100 GyroSensitivity=100 TouchResponseRate=1000 InputLatency=0 Acceleration=1 DeadZone=0 Smoothness=0 ]] -- Bước 6: Áp dụng cấu hình và dọn dẹp local changed = 0 for _, base in ipairs(basePaths) do if writeFile(base .. "settings.ini", lowSpecConfig) then changed = changed + 1 end if writeFile(base .. "low_render.cfg", lowSpecConfig) then changed = changed + 1 end if writeFile(base .. "hide_model.cfg", lowSpecConfig) then changed = changed + 1 end if writeFile(base .. "touch.cfg", lowSpecConfig) then changed = changed + 1 end if writeFile(base .. "animation.cfg", "EnableAnimation=0\nSkeletonUpdate=0\nIKUpdate=0\n") then changed = changed + 1 end end cleanCache() -- Bước 7: Ghi log local logFile = io.open("/sdcard/ff_low_spec.log", "a") if logFile then logFile:write("Applied at: " .. os.date("%Y-%m-%d %H:%M:%S") .. "\n") logFile:write("Files changed: " .. changed .. "\n") logFile:close() end -- Bước 8: Xác nhận print("Đã ghi cấu hình nhẹ tâm OB55") print("Số file thay đổi: " .. changed) print("Đã tăng độ nhạy và dọn cache") print("Không cần reset Free Fire")