Como fazer um chat com NPC no Roblox
Código Utilizado na aula para fazer um Chat NPC no Roblox
local prompt = workspace.Bob.ProximityPrompt
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Bob = ReplicatedStorage.Bob
local NPCDialogue = ReplicatedStorage.NPCDialogue
local debounce = false
local playerGame =game.Players.LocalPlayer
local Messages ={
"Hello ",
"Obrigado por assistir minha aula",
"Se você gostou curte esse video e se inscreva no canal"
}
prompt.Triggered:Connect(function(player)
print("apertei o proximity")
if not debounce then
local Gui = NPCDialogue:Clone()
Gui.Parent = player.PlayerGui
debounce = true
Gui.Background.NPCName.Text =prompt.Parent.Name
local camera = Instance.new("Camera")
local viewportFrame= Gui.Background.ViewportFrame
viewportFrame.CurrentCamera = camera
local RigClone = Bob:Clone()
RigClone.Parent = Gui.Background.ViewportFrame
if RigClone:FindFirstChild("Head") then
local head= RigClone.Head
camera.CFrame = CFrame.new(head.Position + head.CFrame.LookVector *2, head.Position)
for _,v in pairs(Messages)do
if not playerGame:FindFirstChild("PlayerGui") then
return
end
if not playerGame.PlayerGui:FindFirstChild("NPCDialogue") then
return
end
for i=1, string.len(v) do
wait(0.025)
Gui.Background.DialogueText.Text = string.sub(v,1,i)
end
wait(3)
end
end
end
end)
prompt.PromptHidden:Connect(function(player)
print(" saiu do alcance do proximity")
if debounce and playerGame.PlayerGui.NPCDialogue then
playerGame.PlayerGui.NPCDialogue:Destroy()
debounce= false
end
end)