ADVERTISEMENTREMOVE ADS
Skin Changer Roblox V1.0
47,464 views
Universal script•
1 month ago

Script Preview
Description
Скрипт делался под инжектор "Solara" и полностью работает на нем. Можете потестить его на других инжекторах.
Для того чтобы скрипт полностью работал, загрузите дополнительные библиотеки.
Код на бибилиотеку ниже
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
Так же через Execute
ADVERTISEMENTREMOVE ADS
164 Lines • 4.49 KiB
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local function clearVisuals(char)
for _, inst in ipairs(char:GetChildren()) do
if inst:IsA("Accessory") or inst:IsA("Hat") or inst:IsA("Shirt")
or inst:IsA("Pants") or inst:IsA("ShirtGraphic") or inst:IsA("CharacterMesh") then
inst:Destroy()
end
end
local head = char:FindFirstChild("Head")
if head then
for _, d in ipairs(head:GetChildren()) do
if d:IsA("Decal") and d.Name:lower() == "face" then d:Destroy() end
end
end
local bc = char:FindFirstChildOfClass("BodyColors")
if bc then bc:Destroy() end
end
local function attachAccessory(char, accessory)
local handle = accessory:FindFirstChild("Handle")
if not handle then return end
local targetAttachment, accAttachment
for _, part in ipairs(char:GetChildren()) do
if part:IsA("BasePart") then
for _, att in ipairs(part:GetChildren()) do
if att:IsA("Attachment") then
local match = handle:FindFirstChild(att.Name)
if match and match:IsA("Attachment") then
targetAttachment = att
accAttachment = match
break
end
end
end
end
if targetAttachment then break end
end
if targetAttachment and accAttachment then
handle.CFrame = targetAttachment.WorldCFrame * accAttachment.CFrame:Inverse()
else
local root = char:FindFirstChild("HumanoidRootPart")
if root then
handle.CFrame = root.CFrame
end
end
local weld = Instance.new("WeldConstraint")
weld.Part0 = handle
weld.Part1 = (targetAttachment and targetAttachment.Parent) or char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Head")
weld.Parent = handle
accessory.Parent = char
end
local function applyAppearance(userId)
local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local ok, model = pcall(function()
return Players:GetCharacterAppearanceAsync(userId)
end)
if not ok or not model then return end
clearVisuals(char)
local bc = model:FindFirstChildOfClass("BodyColors")
if bc then bc:Clone().Parent = char end
for _, item in ipairs(model:GetChildren()) do
if item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") then
item:Clone().Parent = char
end
end
for _, acc in ipairs(model:GetChildren()) do
if acc:IsA("Accessory") or acc:IsA("Hat") then
attachAccessory(char, acc:Clone())
end
end
local head = char:FindFirstChild("Head")
if head then
local face = model:FindFirstChild("face", true)
if face and face:IsA("Decal") then
face:Clone().Parent = head
end
end
end
local function resetCharacter()
LocalPlayer:LoadCharacter()
end
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
local Window = Rayfield:CreateWindow({
Name = "Solara Character Changer",
LoadingTitle = "Avatar Copier",
LoadingSubtitle = "UserId -> Character",
ConfigurationSaving = { Enabled = false }
})
local Tab = Window:CreateTab("Character")
local userIdInput = ""
Tab:CreateInput({
Name = "Enter UserId",
PlaceholderText = "Например: 1",
RemoveTextAfterFocusLost = false,
Callback = function(text)
userIdInput = text
end
})
Tab:CreateButton({
Name = "Применить скин",
Callback = function()
local uid = tonumber(userIdInput)
if uid then
applyAppearance(uid)
Rayfield:Notify({
Title = "Успех",
Content = "Скин применён с UserId: " .. uid,
Duration = 3
})
else
Rayfield:Notify({
Title = "Ошибка",
Content = "Введи корректный UserId!",
Duration = 3
})
end
end
})
Tab:CreateButton({
Name = "Сбросить персонажа",
Callback = function()
resetCharacter()
Rayfield:Notify({
Title = "Персонаж сброшен",
Content = "Возвращён стандартный вид",
Duration = 3
})
end
})
ADVERTISEMENTREMOVE ADS
ADVERTISEMENTREMOVE ADS







Comments
Честно говоря, это довольно хорошо, работает очень хорошо.