local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local pos = character.HumanoidRootPart.Position + Vector3.new(3, 0, 0) -- Skopiowanie postaci gracza local clone = character:Clone() clone.Name = "you're cool " for _, v in pairs(clone:GetDescendants()) do if v:IsA("LocalScript") or v:IsA("Script") or v:IsA("Animator") then v:Destroy() end end clone.Parent = workspace clone:SetPrimaryPartCFrame(CFrame.new(pos)) local humanoid = clone:FindFirstChildOfClass("Humanoid") -- Funkcja do wyświetlania dymka i pisania na czacie local messages = {"I like you", "you're nice"} local function randomSayOrChat() local msg = messages[math.random(1, #messages)] -- Dymek nad głową humanoid.DisplayName = msg -- Pisanie na czacie (działa tylko w grach, które mają DefaultChatSystemChatEvents) local chatEvent = game.ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") if chatEvent and chatEvent:FindFirstChild("SayMessageRequest") then chatEvent.SayMessageRequest:FireServer(msg, "All") end wait(2) humanoid.DisplayName = "" end -- Losowe powtarzanie wypowiedzi i skakanie spawn(function() while true do local action = math.random(1,3) if action == 1 then randomSayOrChat() elseif action == 2 then if humanoid and humanoid.UseJumpPower then humanoid.Jump = true end end wait(math.random(8,18)) end end) -- Podążanie za graczem + teleportowanie jeśli za daleko spawn(function() while true do wait(1) if character and character:FindFirstChild("HumanoidRootPart") and clone:FindFirstChild("HumanoidRootPart") then local charHRP = character.HumanoidRootPart local cloneHRP = clone.HumanoidRootPart local targetPos = charHRP.Position + Vector3.new(3, 0, 0) local distance = (cloneHRP.Position - charHRP.Position).Magnitude -- Jeśli NPC jest za daleko, teleportuj go obok gracza if distance > 30 then clone:SetPrimaryPartCFrame(CFrame.new(targetPos)) else humanoid:MoveTo(targetPos) end end end end)