
KeylessUniversal

-- by t1r4
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer
local okFluent, Fluent = pcall(function()
return loadstring(game:HttpGetAsync("https://github.com/ActualMasterOogway/Fluent-Renewed/releases/latest/download/Fluent.luau", true))()
end)
if not okFluent or not Fluent then
warn("[Chams by t1r4] Не удалось загрузить Fluent:", Fluent)
return
end
local SaveManager, InterfaceManager
pcall(function()
SaveManager = loadstring(game:HttpGetAsync("https://github.com/ActualMasterOogway/Fluent-Renewed/releases/latest/download/SaveManager.luau", true))()
end)
pcall(function()
InterfaceManager = loadstring(game:HttpGetAsync("https://github.com/ActualMasterOogway/Fluent-Renewed/releases/latest/download/InterfaceManager.luau", true))()
end)
local State = {
Enabled = false,
Material = "ForceField",
TeamCheck = false,
SeeThrough = true,
Color = Color3.fromRGB(120, 200, 255),
}
local Applied = {}
local Materials = {
["ForceField"] = { material = Enum.Material.ForceField, reflectance = 0, transparency = 0, tint = true },
["Neon"] = { material = Enum.Material.Neon, reflectance = 0, transparency = 0, tint = true },
["Glass"] = { material = Enum.Material.Glass, reflectance = 0.3, transparency = 0.4, tint = true },
["Marble"] = { material = Enum.Material.Marble, reflectance = 0, transparency = 0, tint = false },
["Foil"] = { material = Enum.Material.Foil, reflectance = 0.4, transparency = 0, tint = false },
["Metal"] = { material = Enum.Material.DiamondPlate, reflectance = 0.5, transparency = 0, tint = false },
["Wood"] = { material = Enum.Material.WoodPlanks, reflectance = 0, transparency = 0, tint = false },
["Ice"] = { material = Enum.Material.Ice, reflectance = 0.2, transparency = 0.2, tint = true },
}
local MaterialOrder = { "ForceField", "Neon", "Glass", "Ice", "Marble", "Foil", "Metal", "Wood" }
local function isBodyPart(inst)
return inst:IsA("BasePart") and inst.Name ~= "HumanoidRootPart"
end
local function restore(plr)
local rec = Applied[plr]
if not rec then return end
for part, orig in pairs(rec.originals) do
if part and part.Parent then
part.Material = orig.Material
part.Reflectance = orig.Reflectance
part.Color = orig.Color
part.Transparency = orig.Transparency
if orig.TextureID ~= nil then part.TextureID = orig.TextureID end
end
end
for inst, parentRef in pairs(rec.hidden) do
if inst then
pcall(function() inst.Parent = parentRef end)
end
end
if rec.highlight then rec.highlight:Destroy() end
Applied[plr] = nil
end
local function hideOverlay(rec, inst)
if rec.hidden[inst] == nil and inst.Parent then
rec.hidden[inst] = inst.Parent
pcall(function() inst.Parent = nil end)
end
end
local function apply(plr)
if plr == LocalPlayer then return end
if State.TeamCheck and plr.Team == LocalPlayer.Team then
restore(plr)
return
end
local char = plr.Character
if not char then return end
local preset = Materials[State.Material]
local rec = Applied[plr]
if not rec then
rec = { originals = {}, hidden = {}, highlight = nil }
Applied[plr] = rec
end
for _, inst in ipairs(char:GetDescendants()) do
if isBodyPart(inst) then
local part = inst
if not rec.originals[part] then
rec.originals[part] = {
Material = part.Material,
Reflectance = part.Reflectance,
Color = part.Color,
Transparency = part.Transparency,
TextureID = part:IsA("MeshPart") and part.TextureID or nil,
}
end
part.Material = preset.material
part.Reflectance = preset.reflectance
part.Transparency = preset.transparency or 0
if part:IsA("MeshPart") then
part.TextureID = ""
end
if preset.tint then
part.Color = State.Color
end
elseif inst:IsA("Shirt") or inst:IsA("Pants") or inst:IsA("ShirtGraphic")
or inst:IsA("Decal") or inst:IsA("Texture") or inst:IsA("SurfaceAppearance") then
hideOverlay(rec, inst)
end
end
if State.SeeThrough then
if not rec.highlight or not rec.highlight.Parent then
local hl = Instance.new("Highlight")
hl.Name = "MatChamsGlow"
hl.FillTransparency = 1
hl.OutlineTransparency = 0
hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
hl.Adornee = char
hl.Parent = CoreGui
rec.highlight = hl
end
rec.highlight.Adornee = char
rec.highlight.OutlineColor = State.Color
elseif rec.highlight then
rec.highlight:Destroy()
rec.highlight = nil
end
end
local function restoreAll()
for plr in pairs(Applied) do
restore(plr)
end
end
local function refreshAll()
if not State.Enabled then
restoreAll()
return
end
for _, plr in ipairs(Players:GetPlayers()) do
apply(plr)
end
end
RunService.RenderStepped:Connect(function()
if not State.Enabled then return end
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character then
apply(plr)
end
end
end)
Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function()
task.wait(0.3)
if State.Enabled then apply(plr) end
end)
end)
Players.PlayerRemoving:Connect(function(plr)
restore(plr)
end)
local Window = Fluent:CreateWindow({
Title = "Material Chams",
SubTitle = "by t1r4",
TabWidth = 160,
Size = UDim2.fromOffset(580, 460),
Acrylic = true,
Theme = "Dark",
MinimizeKey = Enum.KeyCode.LeftControl,
})
local Tabs = {
Chams = Window:AddTab({ Title = "Chams", Icon = "eye" }),
Settings = Window:AddTab({ Title = "Settings", Icon = "settings" }),
}
local Options = Fluent.Options
Tabs.Chams:AddToggle("MatEnabled", {
Title = "Включить чамсы",
Default = false,
Callback = function(v)
State.Enabled = v
refreshAll()
end,
})
Tabs.Chams:AddDropdown("MatMaterial", {
Title = "Материал",
Values = MaterialOrder,
Multi = false,
Default = 1,
Callback = function(sel)
if Materials[sel] then
restoreAll()
State.Material = sel
refreshAll()
end
end,
})
Tabs.Chams:AddColorpicker("MatColor", {
Title = "Оттенок (свечение/щит/стекло/контур)",
Default = Color3.fromRGB(120, 200, 255),
Callback = function(c)
State.Color = c
refreshAll()
end,
})
Tabs.Chams:AddToggle("MatSeeThrough", {
Title = "Видно сквозь стены",
Default = true,
Callback = function(v)
State.SeeThrough = v
refreshAll()
end,
})
Tabs.Chams:AddToggle("MatTeamCheck", {
Title = "Не трогать союзников (Team Check)",
Default = false,
Callback = function(v)
State.TeamCheck = v
refreshAll()
end,
})
Tabs.Chams:AddButton({
Title = "Вернуть исходные материалы",
Description = "Полный откат: материалы, одежда, текстуры",
Callback = function()
restoreAll()
refreshAll()
end,
})
if InterfaceManager then
pcall(function()
InterfaceManager:SetLibrary(Fluent)
InterfaceManager:SetFolder("MatChams")
InterfaceManager:BuildInterfaceSection(Tabs.Settings)
end)
end
if SaveManager then
pcall(function()
SaveManager:SetLibrary(Fluent)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({})
SaveManager:SetFolder("MatChams/configs")
SaveManager:BuildConfigSection(Tabs.Settings)
end)
end
Window:SelectTab(1)
Fluent:Notify({
Title = "Material Chams | by t1r4",
Content = "Выбери материал и включи чамсы во вкладке Chams.",
Duration = 6,
})
if SaveManager then
pcall(function() SaveManager:LoadAutoloadConfig() end)
endNo comments yet for this script.



