-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local Players = game:GetService("Players") local RepSt = game:GetService("ReplicatedStorage") local MatS = game:GetService("MaterialService") local player = Players.LocalPlayer local function log(msg) print("[UnlockAll] "..tostring(msg)) end local function tryFire(remote, ...) if not remote then return false end local ok = pcall(function() if remote:IsA("RemoteEvent") then remote:FireServer(...) elseif remote:IsA("RemoteFunction") then remote:InvokeServer(...) elseif remote:IsA("BindableEvent") then remote:Fire(...) end end) return ok end local function UnlockAllRemotes() local fired = 0 local remotes = RepSt:GetDescendants() for _, obj in ipairs(remotes) do if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then local n = string.lower(obj.Name) if string.find(n, "unlock") or string.find(n, "purchase") or string.find(n, "buy") or string.find(n, "equip") or string.find(n, "skin") or string.find(n, "cosmetic") or string.find(n, "wrap") or string.find(n, "item") then for _, arg in ipairs({"All", "all", true, 1, "UnlockAll"}) do if tryFire(obj, arg) then fired = fired + 1 end end pcall(function() obj:FireServer() end) end end end log("Remote attempts fired: "..fired) end local function BoostWeaponCooldown(mul) mul = mul or 1 pcall(function() for _, gcVal in pairs(getgc(true)) do if type(gcVal) == "table" then for key, val in pairs(gcVal) do if type(key) == "string" and string.find(key:lower(), "cooldown") and type(val) == "number" then gcVal[key] = val * (1 - mul) end end end end end) end local weaponModels, wrapTextures = {}, {} pcall(function() weaponModels = player.PlayerScripts.Assets.ViewModels.Weapons:GetChildren() wrapTextures = player.PlayerScripts.Assets.WrapTextures:GetChildren() end) local function applySkin(weaponName, color, material, wrapName, reflectance) local models = {} for _, v in ipairs(weaponModels) do if weaponName == "ALL" or v.Name == weaponName then table.insert(models, v) end end for _, model in ipairs(models) do for _, part in ipairs(model:GetDescendants()) do if part:IsA("BasePart") and part.Transparency ~= 1 then if color then part.Color = color end if material then part.Material = material end if reflectance then part.Reflectance = reflectance end if wrapName then for _, child in ipairs(part:GetChildren()) do if child:IsA("Decal") or child:IsA("Texture") or child:IsA("SurfaceAppearance") then child:Destroy() end end for _, w in ipairs(wrapTextures) do if w.Name == wrapName then for _, c in ipairs(w:GetChildren()) do if c:IsA("Decal") or c:IsA("Texture") or c:IsA("SurfaceAppearance") then c:Clone().Parent = part end end break end end end end end end end local function AutoUnlockWraps() if #wrapTextures == 0 then log("Wrap textures not found, skip.") return end local idx = 0 for _, wrap in ipairs(wrapTextures) do idx = idx + 1 applySkin("ALL", nil, nil, wrap.Name, nil) end log("Applied "..idx.." wraps to all weapons.") end task.wait(1) UnlockAllRemotes() BoostWeaponCooldown(0.5) AutoUnlockWraps() local function randomizeAll() local mats = {} for _, v in pairs(Enum.Material:GetEnumItems()) do table.insert(mats, v) end for _, model in ipairs(weaponModels) do for _, part in ipairs(model:GetDescendants()) do if part:IsA("BasePart") and part.Transparency ~= 1 then part.Color = Color3.fromRGB(math.random(0,255), math.random(0,255), math.random(0,255)) part.Material = mats[math.random(#mats)] part.Reflectance = math.random() * 0.5 end end end log("Randomized all weapon skins.") end player.CharacterAdded:Connect(function() task.wait(2) local ok = pcall(function() weaponModels = player.PlayerScripts.Assets.ViewModels.Weapons:GetChildren() end) if ok then AutoUnlockWraps() end end) log("Skin changer standalone loaded.")