Como fazer um objeto perseguir o player no Roblox Studio (:MoveTo)
Nesse post vou mostrar como fazer um personagem perseguir o player através do mapa no Roblox Studio.
Link do Game: https://www.roblox.com/games/6515406177/DESTRUA-O-INIMIGO-COVIRUS
1 – Part ➔ Block: Criando um portal onde os inimigos vão nascer
Esse portal foi criado utilizando a ferramenta Part ➔ Sphere. No portal inserimos ParticleEmitter e efeito de Transparência
2 – Part ➔ Sphere: Criando um inimigo utilizando a Sphere
O Inimigo foi criado utilizando a ferramenta Part ➔ Sphere, uma bola gigante.
Definimos a cor, mudamos o “Material” para “Neon” que gera o efeito de brilho.
Para o script de perseguição funcionar você precisa:
➔ Transformar a Sphere em “Model” através do agrupamento “CTRL + G”
➔ Inserir o objeto “Humanoide”
➔ Inserir o “Surface” no Objeto
3 – Script de Perseguição: Script que faz o Inimigo perseguir o Player
Movendo objetos
local objeto = script.Parent while (true) do wait(0.1) objeto.Position = objeto.Position + Vector3.new (0,0,1) end
Como fazer um objeto perseguir o player
- O Bloco tem que ter HumanoidRootPart
- Tem que transformar em Surface
local distanciamax = 200 -- 20 metros para o NPC perSeguir o jogador local distanciamin = 20 -- 5 de distancia minima para o bot parar function jogador() repeat wait() until game.Players.NumPlayers >= 1 -- esperar até que a quantidade de jogadores for maior que 1 ou igual local NPC = script.Parent local NPCHumanoidRoot = NPC.HumanoidRootPart local NPCHumanoid = NPC.Humanoid for i,v in pairs(game.Players:GetPlayers()) do -- Pegar a lista dos jogadores repeat wait() until v.Character -- Aguardar o character do player -- perseguição if (v.Character.HumanoidRootPart.Position - NPCHumanoidRoot.Position).Magnitude <= distanciamax and (v.Character.HumanoidRootPart.Position - NPCHumanoidRoot.Position).Magnitude >= distanciamin then NPCHumanoid:MoveTo(v.Character.HumanoidRootPart.Position - Vector3.new(0,distanciamin,0)) if v.Character.Humanoid.Jump == true then -- se o jogador pular o npc também irá pular NPCHumanoid.Jump = true end NPCHumanoidRoot.Touched:Connect(function(hit) -- dar dano no jogador wait(1) if hit.Parent:FindFirstChild("Humanoid") then wait(1) hit.Parent:FindFirstChild("Humanoid"):TakeDamage(0.05) end end) end end end while wait() do jogador() end
Outras referências
Vídeo 1 https://www.youtube.com/watch?v=M_JCH4ibqMo
Vídeo 2 https://www.youtube.com/watch?v=KldFdpHTUEk
Vídeo 3 https://www.youtube.com/watch?v=NuRUbwsSRY4
Vídeo 4 https://www.youtube.com/watch?v=fxpJjF0frQI
Vídeo 5 https://www.youtube.com/watch?v=C80p_WXSoB0
Vídeo 6 https://www.youtube.com/watch?v=IQBEH9OMBm4
Olá! Sou Fábio, fundador da Metapax — especializada em marketing e soluções digitais para clínicas e profissionais de psicologia — e criador do blog FabioBmed.
Desde 2006 trabalho com tecnologia e marketing digital. Mas os sistemas que mais me fascinam hoje são os que carregamos dentro da cabeça.
Estou entrando na psicologia, com foco em neuropsicologia — a ciência que explica por que você pensa, decide e se comporta do jeito que faz. Essa transição não é um desvio de rota: é a evolução natural de quem passou anos entendendo como sistemas funcionam — e percebeu que o mais complexo de todos ainda estava por ser mapeado.
Aqui, tudo — marketing, tecnologia, comportamento, decisões — é lido pelo mesmo prisma: a psicologia e a ciência por trás de como a mente humana realmente funciona.
Publicação Criada em: abril 29, 2021
Atualizado em: março 20, 2025 9:50 pm



