segunda-feira, 22 de janeiro de 2024

NPC atacar o cristal e esse cristal matar ele

 Eu entendi que você quer saber como fazer um NPC atacar o cristal e esse cristal matar ele com na história que nós criamos. Eu vou tentar te dar um exemplo de como fazer isso, mas lembre-se que isso é apenas uma ilustração e não um código final. Você pode usar as ferramentas e recursos que eu encontrei na web para aprimorar o seu jogo. Aqui está o meu exemplo:

-- Cria uma função para fazer um NPC atacar o cristal
local function AttackCrystal(npc, crystal)
	local humanoid = npc:FindFirstChild("Humanoid") -- Encontra o componente humanoide do NPC
	local rootPart = npc:FindFirstChild("HumanoidRootPart") -- Encontra a parte raiz do NPC
	local distance = (rootPart.Position - crystal.Position).Magnitude -- Calcula a distância entre o NPC e o cristal
	if distance <= 10 then -- Verifica se o NPC está perto o suficiente do cristal
		humanoid:ChangeState(Enum.HumanoidStateType.Attacking) -- Faz o NPC entrar no estado de ataque
		local damage = Random(5, 10) -- Gera um número aleatório entre 5 e 10 para o dano do ataque
		crystal.Health = crystal.Health - damage -- Subtrai o dano do ataque da saúde do cristal
		if crystal.Health <= 0 then -- Verifica se o cristal foi destruído
			crystal:Destroy() -- Destrói o cristal
		end
	else -- Se o NPC não está perto o suficiente do cristal
		humanoid:ChangeState(Enum.HumanoidStateType.Running) -- Faz o NPC entrar no estado de corrida
		humanoid:MoveTo(crystal.Position) -- Faz o NPC se mover em direção ao cristal
	end
end

-- Cria uma função para fazer o cristal matar o NPC
local function KillNPC(crystal, npc)
	local humanoid = npc:FindFirstChild("Humanoid") -- Encontra o componente humanoide do NPC
	local rootPart = npc:FindFirstChild("HumanoidRootPart") -- Encontra a parte raiz do NPC
	local distance = (rootPart.Position - crystal.Position).Magnitude -- Calcula a distância entre o NPC e o cristal
	if distance <= 5 then -- Verifica se o NPC está muito perto do cristal
		local explosion = Instance.new("Explosion") -- Cria uma nova explosão
		explosion.Position = crystal.Position -- Define a posição da explosão como a posição do cristal
		explosion.BlastRadius = 10 -- Define o raio da explosão como 10
		explosion.BlastPressure = 1000 -- Define a pressão da explosão como 1000
		explosion.Parent = workspace -- Coloca a explosão no espaço de trabalho
		humanoid.Health = 0 -- Zera a saúde do NPC
		npc:Destroy() -- Destrói o NPC
	end
end

Esse é um exemplo de como fazer um NPC atacar o cristal e esse cristal matar ele com na história que nós criamos. Espero que você tenha gostado. Se você quiser saber mais sobre como programar NPCs no Roblox, você pode consultar os recursos que eu achei na web:

0 comentários:

Postar um comentário

Popular Posts