Taller Lua

Catálogo/Mascota que sigue

MundoMedio

Mascota que sigue

Al spawnear, aparece una mascota que te sigue. Cosmético: no da stats. Queda bien junto a la tienda.

Valores

Dónde va

  1. 01

    Script

    Pega en ServerScriptService. Cada jugador recibe su mascota al aparecer.

Explorer → ServerScriptServiceScriptMascota

Mascota.luaScript
--[[
  Mascota que sigue · Taller Lua
  Pega este Script en ServerScriptService y pulsa Play.
  Es para TU juego en Roblox Studio — no es un exploit.
]]

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

local PET_NAME = "Cubito"

local function attachPet(player, character)
	local hrp = character:WaitForChild("HumanoidRootPart")
	local old = character:FindFirstChild("TallerPet")
	if old then
		old:Destroy()
	end

	local pet = Instance.new("Part")
	pet.Name = "TallerPet"
	pet.Size = Vector3.new(1.6, 1.6, 1.6)
	pet.Color = Color3.fromRGB(188, 196, 210)
	pet.Material = Enum.Material.SmoothPlastic
	pet.Anchored = true
	pet.CanCollide = false
	pet.Parent = character

	local gui = Instance.new("BillboardGui")
	gui.Size = UDim2.fromOffset(80, 20)
	gui.StudsOffset = Vector3.new(0, 1.6, 0)
	gui.Parent = pet
	local label = Instance.new("TextLabel")
	label.BackgroundTransparency = 1
	label.Size = UDim2.fromScale(1, 1)
	label.Font = Enum.Font.SourceSans
	label.Text = PET_NAME
	label.TextColor3 = Color3.new(1, 1, 1)
	label.TextScaled = true
	label.Parent = gui

	local conn
	conn = RunService.Heartbeat:Connect(function()
		if not pet.Parent or not hrp.Parent then
			if conn then
				conn:Disconnect()
			end
			return
		end
		local target = hrp.CFrame * CFrame.new(3, 1.5, 2)
		pet.CFrame = pet.CFrame:Lerp(target, 0.12)
	end)

	character:FindFirstChildOfClass("Humanoid").Died:Connect(function()
		if conn then
			conn:Disconnect()
		end
		pet:Destroy()
	end)
end

local function setup(player)
	player.CharacterAdded:Connect(function(character)
		attachPet(player, character)
	end)
	if player.Character then
		attachPet(player, player.Character)
	end
end

Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do
	setup(player)
end