Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local ChatService = game:GetService("Chat")
- local player = Players.LocalPlayer
- -- Função para enviar mensagens como Bubble Chat para o clone
- local function SendBubbleChatToClone(clone, message)
- -- Verifica se o clone possui uma cabeça
- local head = clone:FindFirstChild("Head")
- if head then
- -- Envia a mensagem como Bubble Chat para a cabeça do clone
- ChatService:Chat(head, message, Enum.ChatColor.Red)
- end
- end
- -- Função para clonar o personagem
- local function CloneMe(char)
- char.Archivable = true
- local clone = char:Clone()
- char.Archivable = false
- return clone
- end
- -- Função para criar uma solda entre as partes
- local function weldParts(a, b)
- local weld = Instance.new("Weld")
- weld.Part0 = a.Parent
- weld.Part1 = b.Parent
- weld.C0 = a.CFrame
- weld.C1 = b.CFrame
- weld.Parent = a.Parent
- return weld
- end
- -- Função para criar a solda
- local function createWeld(name, parent, part0, part1, c0, c1)
- local weld = Instance.new("Weld")
- weld.Name = name
- weld.Part0 = part0
- weld.Part1 = part1
- weld.C0 = c0
- weld.C1 = c1
- weld.Parent = parent
- return weld
- end
- -- Função para encontrar um anexo no personagem
- local function findAttachment(parent, attachmentName)
- for _, child in pairs(parent:GetChildren()) do
- if child:IsA("Attachment") and child.Name == attachmentName then
- return child
- elseif not child:IsA("Accessory") and not child:IsA("Tool") then
- local attachment = findAttachment(child, attachmentName)
- if attachment then
- return attachment
- end
- end
- end
- end
- -- Função para anexar um acessório no personagem
- function attachAccessory(character, accessory)
- accessory.Parent = character
- local handle = accessory:FindFirstChild("Handle")
- if handle then
- local attachment = handle:FindFirstChildOfClass("Attachment")
- if attachment then
- local correspondingAttachment = findAttachment(character, attachment.Name)
- if correspondingAttachment then
- weldParts(correspondingAttachment, attachment)
- end
- else
- local head = character:FindFirstChild("Head")
- if head then
- createWeld("HeadWeld", head, head, handle, CFrame.new(0, 0, 0), accessory.AttachmentPoint)
- end
- end
- end
- end
- -- Função para mudar a aparência do clone
- function ChangeAppearance(clone, userId)
- local success, appearance = pcall(function()
- return Players:GetCharacterAppearanceAsync(userId)
- end)
- if success and appearance then
- for _, item in pairs(clone:GetChildren()) do
- if item:IsA("Shirt") or item:IsA("Pants") or item:IsA("Accessory") or item:IsA("CharacterMesh") or item:IsA("BodyColors") or item:IsA("Decal") then
- item:Destroy()
- end
- end
- for _, item in pairs(appearance:GetChildren()) do
- if item:IsA("Shirt") or item:IsA("Pants") or item:IsA("Accessory") or item:IsA("CharacterMesh") or item:IsA("BodyColors") or item:IsA("Decal") then
- local cloneItem = item:Clone()
- cloneItem.Parent = clone
- end
- end
- for _, accessory in pairs(appearance:GetChildren()) do
- if accessory:IsA("Accessory") then
- attachAccessory(clone, accessory)
- end
- end
- else
- warn("Erro ao carregar usuário:", userId)
- end
- end
- -- Função para spawnar o clone
- local function SpawnClone(userId, fakeMessage)
- local character = player.Character or player.CharacterAdded:Wait()
- local charClone = CloneMe(character)
- charClone.Parent = game.Workspace
- charClone:SetPrimaryPartCFrame(character.PrimaryPart.CFrame + Vector3.new(0, 5, 0))
- ChangeAppearance(charClone, userId)
- wait()
- local user = Players:GetNameFromUserIdAsync(userId)
- local emojis = {"[💻]", "[📱]"}
- local randomEmoji = emojis[math.random(1, #emojis)]
- local displayText = randomEmoji .. " - " .. user
- local div = charClone:FindFirstChild("Divisão")
- local patente = charClone:FindFirstChild("Patente")
- local nome = charClone:FindFirstChild("Nome")
- if nome then
- local nomeTexto = nome:FindFirstChild("NomeTexto")
- if nomeTexto then
- nomeTexto.Text = displayText
- nomeTexto.TextColor3 = Color3.fromRGB(255, 255, 0)
- end
- end
- if patente then
- local patenteTexto = patente:FindFirstChild("PatenteTexto")
- if patenteTexto then
- patenteTexto.Text = "Civil"
- patenteTexto.TextColor3 = Color3.fromRGB(255, 255, 0)
- end
- end
- if div then
- local divTexto = div:FindFirstChild("DivisãoTexto")
- if divTexto then
- divTexto.Text = "[CV]"
- divTexto.TextColor3 = Color3.fromRGB(255, 255, 0)
- end
- end
- local humanoid = charClone:FindFirstChildOfClass("Humanoid")
- if humanoid then
- local idleAnim = Instance.new("Animation")
- idleAnim.AnimationId = "rbxassetid://180435792"
- local animTrack = humanoid:LoadAnimation(idleAnim)
- animTrack:Play()
- end
- -- Envia a mensagem fake como Bubble Chat para o clone (na cabeça)
- if fakeMessage and fakeMessage ~= "" then
- SendBubbleChatToClone(charClone, fakeMessage)
- end
- end
- -- Função para obter o UserId a partir do nome de usuário
- local function GetUserIdFromUsername(username)
- local userId = nil
- local success, result = pcall(function()
- userId = Players:GetUserIdFromNameAsync(username)
- end)
- if success then
- return userId
- else
- return nil
- end
- end
- -- Função para carregar a UI e as funcionalidades do Macro
- local function LoadDrRay()
- local DrRayLibrary = loadstring(game:HttpGet("https://raw.githubusercontent.com/AZYsGithub/DrRay-UI-Library/main/DrRay.lua"))()
- local window = DrRayLibrary:Load("Macroability", "Default")
- local tab2 = DrRayLibrary.newTab("Clonagem", "13025876355")
- tab2.newLabel("Clonagem")
- local usernameInput
- local fakeMessageInput
- tab2.newInput("Nome de usuário", "Digite o nome de usuário para clonar", function(name)
- usernameInput = name
- end)
- tab2.newInput("Mensagem Fake", "Digite a mensagem que aparecerá como Bubble Chat", function(message)
- fakeMessageInput = message
- end)
- tab2.newButton("Spawnar Clone", "Cria um clone do jogador", function()
- if usernameInput then
- local userId = GetUserIdFromUsername(usernameInput)
- if userId then
- SpawnClone(userId, fakeMessageInput)
- else
- warn("Usuário não encontrado.")
- end
- else
- warn("Digite um nome de usuário válido.")
- end
- end)
- -- Macro functionalities
- local tab1 = DrRayLibrary.newTab("Macro", "18155304028")
- local Running = false
- local Frames = {}
- local TimeStart = tick()
- local HttpService = game:GetService("HttpService")
- local RunService = game:GetService("RunService")
- local Player = game:GetService("Players").LocalPlayer
- local WalkConnection
- -- Gravação
- local getChar = function()
- local Character = Player.Character
- if Character then
- return Character
- else
- Player.CharacterAdded:Wait()
- return getChar()
- end
- end
- local function CreateFolder()
- if not isfolder("Gravações") then
- makefolder("Gravações")
- end
- end
- local function StartRecord()
- Frames = {}
- Running = true
- TimeStart = tick()
- while Running do
- RunService.Heartbeat:Wait()
- local Character = getChar()
- local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
- local Humanoid = Character:FindFirstChild("Humanoid")
- if HumanoidRootPart and Humanoid then
- table.insert(Frames, {
- {HumanoidRootPart.CFrame:GetComponents()},
- Humanoid:GetState().Value,
- tick() - TimeStart
- })
- end
- end
- end
- local function StopRecord()
- Running = false
- end
- local function StartWalking()
- WalkConnection = RunService.RenderStepped:Connect(function()
- local Character = getChar()
- if Character and Character:FindFirstChild("Humanoid") then
- Character:FindFirstChild("Humanoid"):Move(Vector3.new(0, 0, -1), true)
- end
- end)
- end
- local function StopWalking()
- if WalkConnection then
- WalkConnection:Disconnect()
- WalkConnection = nil
- end
- end
- local function MoveToInitialPosition(initialCFrame, callback)
- local Character = getChar()
- if Character then
- local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
- if HumanoidRootPart then
- HumanoidRootPart.CFrame = initialCFrame
- end
- end
- end
- end
- -- Carrega a interface gráfica
- LoadDrRay()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement