As someone who can easily make their own dialogue gui, i'm actually really impressed by this, i usually use a bunch of text strings and use a script to play them out on the gui, keep it!
The only thing you can do then is to slow down the speed. click the settings button and then “Playback Speed” then play the video at .75x or .5x if you need to.
DialogueManeger: local Your NPC= workspace:WaitForChild("Your NPC") local dialogueMod = require(script:WaitForChild("Dialogue")) Shopkeeper.ProximityPrompt.Triggered:Connect(function( ) dialogueMod.Activate("Put What YOU Want Here", 0.3) end) Module Script: local ts = game:GetService("TweenService") local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local dialogueGui = script.Parent.Parent local dialogueFrame = dialogueGui.WaitForChild("DialogueBox") local dialogueText = dialoguebox:WaitForChild("Dialogue") local active = false local dialogue = { } local function openDialogue( ) dialoguebox.Size = UDim2.new(0,0,0,0) dialoguebox.Visable = true ts:Create(dialoguebox, tweenInfo {Size = UDim2.new(0,958,0,0,289,0)} ):Play( ) task.wait(1.3) end local function closeDialogue( ) ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0,0,0,0)}):Play( ) task.wait(1) dialoguebox.Visable = false end local function writeText(text, interval) dialogueText.Text = " " for _, letter in pairs(string.split(text, "")) do dialogueText.Text ..= letter task.wait(interval) end task.wait(0.5) dialogueText.Text = " " end function dialogue.Activated(text, interval) openDialogue( ) if active then return end active = true writeText(text, interval) closeDialogue( ) active = false end return dialogue
if you want the dialogue to loop after ending here. if dialogueMod.IsActive() then return end if talkCounter > #geraldDialogue then talkCounter = 1 end dialogueMod.Activated(geraldDialogue[talkCounter],0.05,gerald) talkCounter += 1 end)
I did all the scripts correctly and replaced Gerald with my user but when I go into the game, the dialogue ui is already there (without text) and when I press e, nothing happens I doubled and triple checked all scripts and it’s correct and there are no red highlights so idk what’s going on
local ts = game:GetService("TweenService") local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local dialogueGui = script.Parent.Parent local dialoguebox = dialogueGui:WaitForChild("DialogueBox") local dialogueText = dialoguebox:WaitForChild("Dialogue") local active = false local dialogue = {} local function openDialogue() dialoguebox.Size = UDim2.new(0,0,0,0) dialoguebox.Visible = true ts:Create(dialoguebox, tweenInfo, {size = UDim2.new(0.958,0,0.289,0)}):Play() task.wait(1.3) end local function closeDialogue() ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0,0,0,0)}):Play() task.wait(1) dialoguebox.Visible = false end local function writeText(text, interval) dialogueText.Text = "" for _, letter in pairs (string.split(text, "")) do dialogueText.Text ..= letter task.wait(interval) end task.wait(0.5) dialogueText.Text = "" end function dialogue.Activated(text, interval) if active then return end active = true openDialogue() writeText(text, interval) closeDialogue() active = false end return dialogue
When i copying the code, i have this unknown global ( i think i meant the variable isn't exist? ), vpfFrame is not a unknown global in 5:48, you didn't show all the instructions.
I think it’s because either your proximity prompt or you did something like didn’t add a parenthesis or forgot an end or something like that. Also, you may have named something he named, but isn’t actually called that. You may want to double-check on those.
There can be some mistakes and some errors but it still work like the video Dialogue Manager : local npc = workspace.Map.Npcs.rabdjhjk -- change to your npc location local dialogueMod = require(script:WaitForChild("Dialogue")) -- change to your screengui name local geraldDialogue = require(script:WaitForChild("rabdjhjkDialogue")) -- change to your dialogue module name local talkCounter = 1 npc.ProximityPrompt.Triggered:Connect(function() if talkCounter > #geraldDialogue or dialogueMod.IsActive() then return end dialogueMod.Activated(geraldDialogue[talkCounter], 0.3, npc) talkCounter+=1 end) Dialogue : local ts = game:GetService("TweenService") local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local dialogueGui = script.Parent.Parent local dialoguebox = dialogueGui:WaitForChild("DialogueBox") -- change to your frame name local dialogueText = dialoguebox:WaitForChild("Dialogue") -- change to your screengui name local vpfFrame = dialoguebox.Pfp.ViewportFrame -- Adjusted to refer to the correct path local pfp = dialoguebox:WaitForChild("Pfp") -- change to your pfp name local active = false local dialogue = {} local function openDialogue() dialoguebox.Size = UDim2.new(0, 0, 0, 0) dialoguebox.Visible = true ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0.762, 0, 0.173, 0)}):Play() task.wait(1.3) end local function closeDialogue() ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0, 0, 0, 0)}):Play() task.wait(1) dialoguebox.Visible = false end local function writeText(text, interval) dialogueText.Text = "" for _, letter in pairs(string.split(text, "")) do dialogueText.Text ..= letter task.wait(interval) end task.wait(0.5) dialogueText.Text = "" end local function addPfp(npc) local vpfCam = Instance.new("Camera", vpfFrame) vpfFrame.CurrentCamera = vpfCam local newNpc = npc:Clone() newNpc.Parent = vpfFrame.WorldModel newNpc.HumanoidRootPart.Anchored = true newNpc:PivotTo(CFrame.new(0, 0, 0)) vpfCam.CFrame = CFrame.new(newNpc.Head.Position + Vector3.new(0, 0, -2), newNpc.Head.Position) end local function closePfp() for _, v in pairs(vpfFrame.WorldModel:GetChildren()) do v:Destroy() end vpfFrame:FindFirstChild("Camera"):Destroy() end function dialogue.IsActive() return active end function dialogue.Activated(text, interval, npc) if active then return end active = true addPfp(npc) openDialogue() writeText(text, interval) closeDialogue() closePfp() active = false end return dialogue geraldDialogue : return { "Text", -- change "Text" to what you want the npc to say "TExt", -- change "Text" to what you want the npc to say "Text", -- change "Text" to what you want the npc to say }
The code was a hard part, i would just follow along but i also wanna know what it does, great video but maybe next time it would be a whole lot better if you explained what each part of the code did, thanks!
I like how everyone in the comments are mixed up about the text not working. The reason it's doing that is because one of the part that says, local dialogueGui = script.Parent.Parent local dialogueBox = dialogueGui:WaitForChild("DialogueBox") local dialogueText = dialogueGui:WaitForChild("dialogue") is referring to something else. This system works, just gotta make your own. you should def learn some tweening I know I will.
heyya bro i love ur vids may i ask how do you learn to coding in roblox? ive been strunggling to make my dream game and i just watch ur tutorial to make my game but it isnt enough for me can you give me some tips or tell me how you learn to do some coding in roblox (i subed btw cuz u helped me so much)
Just code. If you’re new to scripting it is recommended you don’t start making your dream game. I learnt simply by making scripts for small projects. Eventually i started learning about things like modules scripts and watched yt tutorial and devforum posts to learn more! I wish you luck 😁
The dialogue showing part i know how to fix it but the coming up the npc isn’t working for me either Go to the dialogue frame and anything that involved the thing that is visible go to it’s properties and make sure the visible setting is off
Yo I love your work and I got a question, on the first dev vlog you used moon animator to animate your actions. Could you make a tutorial on how to use moon animator like you did please?
IF YOUR DIALOGUE BOX AINT WORKIGN THEN LISTEN UP GO TO UR DARN MANAGER THEN THIS SHOULD POP UP (minus the fill-in names) local (npctitlehere) = workspace:WaitForChild("npcnamehere") local dialogueMod = require(script:WaitForChild("Dialogue")) (npcnamehere).ProximityPrompt.Triggered:Connect(function() dialogueMod.Activate("Hello there!", 0.3) end) CHANGE THE "Activate" IN "dialogueMod.Activate("Hello there!", 0.3)" TO "Activated" DO IT
how do i make it so i dont have to keep pressing talk and i can just have the first text appear, and then after its done typing the next one appears, and it keeps doing that until the table is done and then the box closes?
can somebody help me, i got this error 12:47:30.951 Activate is not a valid member of ModuleScript "Players.sofiarockzzzzz.PlayerGui.ScreenGui.LocalScript.Dialogue" and i checked the vid 3 times and i did it right, i dont know what to do please help this is my thing local noob = workspace:WaitForChild("noob") local dialogueMod = script:WaitForChild("Dialogue") noob.ProximityPrompt.Triggered:Connect(function() dialogueMod.Activate(" hi anything you wanna buy?", 0.3) end)
replace "script:WaitForChild("Dialogue")" with "require:WaitForChild("Dialogue")". Script trying to find something called "Activate", in a ModuleScript called "Dialogue", but can't find it.
Honestly I don't know if I'm the problem, but I named everything the same as the video, I wrote the scripts completely the same except for my NPC's name and in the end it didn't work. I don't know if I followed the steps wrong but the tutorial didn't help me at all
when I start the game, the screenGui is still on my screen and isn't hidden like yours? Please help when you get The time edit, also when i press E, the gui doesnt come up
if you are getting this error "Players.YourUsername.PlayerGui.Dialogue.DialogueManager:5: attempt to call a nil value" make the "Activate" on line 5 of DialogueManager into "Activated"
I'm normally not the person who would complain about this stuff. But this tutorial wasnt helpful at all. It kept going really fast. It kept cutting ahead, like here (4:55) line 3 just suddenly grows and if you werent looking right there, you would have missed it like me. It was hard to keep up with and over wasted my time because it didn't even work.
Hello, everytime i try the dialogue it comes up with this error from the DialogueManager: Infinite yield possible on 'Players.*myname*.PlayerGui.Dialogue.DialogueManager:WaitForChild("Dialogue")
a copy n paste with fill in the blank variables for names wouldve been nice but they say you learn better when writing something down, (or in this case typing) i guess. thanks nonetheless though. good tutorial
Its pretty simple. All you do is create an idle animation. At the start of the game, load the animation into a server script (or a local script if you want it to be smoother but then everyone will have to load the animation). THen make the npc play it
local anim = root.to.animation local npc = root.to.npc local animator = npc.Humanoid.Animator local loadedAnim = animator:LoadAnimation(anim) loadedAnim:Play()
a move idea for ur fighting game: Holy Javelin Desc: A Javelin from the heavens what it does: you thow the javelin at someone, it slows them for 3 seconds hope this helps. edit: It might be from item asylum but its different
@@Gameboy_X3 okok so what I did was in the DialogueManager script you know the local npc = workspace:WaitForChild("yourNPCname") line where you referenced the name of your npc? if you go down in the Dialogue script to where the function addPfp(npc) is, paste the same local npc = workspace:WaitForChild("yourNPCname") part that you have in the DialogueManager script right under the local function addPfp(npc) function which was around line 40 for me (you can see line numbers on the left side of the scripts) idk if it's the proper way to do it but it worked for me
@@Thecutekirby in the properties(on the right side) where the size and all that is located, there is something in DialogueBox called Visible. just turn that to unchecked
When i start the game the Dialogue box and everything are always on screen, and i already try to change the name of the "ModelScript" to "Dialogue" but it don't work
If you have any problems, JOIN THE DISCORD!!! I can help you there! 👍👍👍⚖ GUYS SUB IM SO CLOSE TO 1K!!!!
You know who i am and i know where you live Quaver cop
Discord invite doesn't work
@FadePlayz895 parents wont let you?
if im being honest this tutorial is a living nightmare to follow, theres sudden cuts, its literally a timelapse, nearly impossible to follow.
agreed
Fr
This is the only comment not hearted by the creator lol
Don't forget the bad grammar, and annoying tts.
its also not that flexible since everything is hard coded into one possible dialoge scenario.
As someone who can easily make their own dialogue gui, i'm actually really impressed by this, i usually use a bunch of text strings and use a script to play them out on the gui, keep it!
how It doesn't work for 2024
@@MarcusJackerys works for me, nvm he cuts too much bro its impossible
he was doing so much things so fast that i just gave up
There is something called pausing and rewinding
@@btdpuffer There wouldn't be any need to pause or rewind if the video was simply easier to follow for people who struggle with the pacing.
The only thing you can do then is to slow down the speed. click the settings button and then “Playback Speed” then play the video at .75x or .5x if you need to.
I love regular show
Me finishing the UI: Wow thats was so easy!
When i found out the video was 9 minutes:😀
This is really relevant to what I needed, thank you very much for this tutorial! You really helped me. Earned yourself a new subscriber.
Glad it helped!
took me 30 minutes cuz i kept having to pause the video, and then the tutorial didn't even work. WOOOO!!!!! thanks for wasting my time
samee, like the texts doesnt pop up and there's an error 😭 and the dialogue box shows up before i even press interact. imaaa dieeeee
@@LyricalMiracle1 me too
Just learn how to script
maybe ur just shit
ture
Thank you so much bro! Also congrats on hitting 1k subscribers!
DialogueManeger: local Your NPC= workspace:WaitForChild("Your NPC") local dialogueMod = require(script:WaitForChild("Dialogue")) Shopkeeper.ProximityPrompt.Triggered:Connect(function( ) dialogueMod.Activate("Put What YOU Want Here", 0.3) end) Module Script: local ts = game:GetService("TweenService") local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local dialogueGui = script.Parent.Parent local dialogueFrame = dialogueGui.WaitForChild("DialogueBox") local dialogueText = dialoguebox:WaitForChild("Dialogue") local active = false local dialogue = { } local function openDialogue( ) dialoguebox.Size = UDim2.new(0,0,0,0) dialoguebox.Visable = true ts:Create(dialoguebox, tweenInfo {Size = UDim2.new(0,958,0,0,289,0)} ):Play( ) task.wait(1.3) end local function closeDialogue( ) ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0,0,0,0)}):Play( ) task.wait(1) dialoguebox.Visable = false end local function writeText(text, interval) dialogueText.Text = " " for _, letter in pairs(string.split(text, "")) do dialogueText.Text ..= letter task.wait(interval) end task.wait(0.5) dialogueText.Text = " " end function dialogue.Activated(text, interval) openDialogue( ) if active then return end active = true writeText(text, interval) closeDialogue( ) active = false end return dialogue
w this guy
module script ples
@Yournormalhighschool189 ty
this steel didn`t work in my project
i have there red line under dialogueBox
Thank you! im planning to make a story game with my friends in the future, and this really helped!.
this actually helped me out, thanks!
I needed this I am working on planning for a game and npcs rn but I had like a system before but it broke completely this will help alot
Cool
Thank you, I've needed this for so long
if you want the dialogue to loop after ending here.
if dialogueMod.IsActive() then return end
if talkCounter > #geraldDialogue then
talkCounter = 1
end
dialogueMod.Activated(geraldDialogue[talkCounter],0.05,gerald)
talkCounter += 1
end)
"There, just remember what I said in slow motion" -GLaDOS Portal 2
i love portal quotes
why are you so underrated, you literally make one of the best roblox devlog games and you make useful tutorials
I did all the scripts correctly and replaced Gerald with my user but when I go into the game, the dialogue ui is already there (without text) and when I press e, nothing happens
I doubled and triple checked all scripts and it’s correct and there are no red highlights so idk what’s going on
The label is unfilled in so I’m not sure if that’s a problrm
same idk why
SAME
You have to uncheck the visible box in properties of the frame and text box and everything that appears on the screen more or less
Exact same problem you are not alone
local ts = game:GetService("TweenService")
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local dialogueGui = script.Parent.Parent
local dialoguebox = dialogueGui:WaitForChild("DialogueBox")
local dialogueText = dialoguebox:WaitForChild("Dialogue")
local active = false
local dialogue = {}
local function openDialogue()
dialoguebox.Size = UDim2.new(0,0,0,0)
dialoguebox.Visible = true
ts:Create(dialoguebox, tweenInfo, {size = UDim2.new(0.958,0,0.289,0)}):Play()
task.wait(1.3)
end
local function closeDialogue()
ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0,0,0,0)}):Play()
task.wait(1)
dialoguebox.Visible = false
end
local function writeText(text, interval)
dialogueText.Text = ""
for _, letter in pairs (string.split(text, "")) do
dialogueText.Text ..= letter
task.wait(interval)
end
task.wait(0.5)
dialogueText.Text = ""
end
function dialogue.Activated(text, interval)
if active then return end
active = true
openDialogue()
writeText(text, interval)
closeDialogue()
active = false
end
return dialogue
THANK YOU!!
bro i needed this ty:)
you are a hero
TYYYYY
thank you kind soul..
I have a small problem, the text box and frame gui are always on the screen, not only when the character speaks. It also only says "Label".
try renaming things a bit
had the same problem, all you have to do is go to the dialogue box in workspace and make sure visible is not checked
@@vawlrbxbut then when I try to talk, it doesn’t show up
@@TheEpikStormIsComing same
@@TheEpikStormIsComing Did you fix this, having the same problem
Thanks I am trying to make my first roblox game ever! I really liked this simple tutorial thank you so much!!!!!
I guess im an og, i know one day you will blow up ❤❤❤🎉🎉🎉
When i copying the code, i have this unknown global ( i think i meant the variable isn't exist? ), vpfFrame is not a unknown global in 5:48, you didn't show all the instructions.
same problem
@@julingymer8969nvm i fixed it
Congrats on 3k!
Keep up the good work bro! Your vids are high quality and you will become big one day 😍
I appreciate that!
I've did exactly what was needed in the video but it wouldn't work and im confused. Can you help or tell me why this is happening?
Any errors in the output?
same here. i was looking for spelling mistakes in my script and i i didn’t find any. it still didn’t work :(
I think it’s because either your proximity prompt or you did something like didn’t add a parenthesis or forgot an end or something like that. Also, you may have named something he named, but isn’t actually called that. You may want to double-check on those.
Turn on 'output' in view and look for any squiggly lines
i can now add my talking npc to my game thanks
There can be some mistakes and some errors but it still work like the video
Dialogue Manager :
local npc = workspace.Map.Npcs.rabdjhjk -- change to your npc location
local dialogueMod = require(script:WaitForChild("Dialogue")) -- change to your screengui name
local geraldDialogue = require(script:WaitForChild("rabdjhjkDialogue")) -- change to your dialogue module name
local talkCounter = 1
npc.ProximityPrompt.Triggered:Connect(function()
if talkCounter > #geraldDialogue or dialogueMod.IsActive() then return end
dialogueMod.Activated(geraldDialogue[talkCounter], 0.3, npc)
talkCounter+=1
end)
Dialogue :
local ts = game:GetService("TweenService")
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local dialogueGui = script.Parent.Parent
local dialoguebox = dialogueGui:WaitForChild("DialogueBox") -- change to your frame name
local dialogueText = dialoguebox:WaitForChild("Dialogue") -- change to your screengui name
local vpfFrame = dialoguebox.Pfp.ViewportFrame -- Adjusted to refer to the correct path
local pfp = dialoguebox:WaitForChild("Pfp") -- change to your pfp name
local active = false
local dialogue = {}
local function openDialogue()
dialoguebox.Size = UDim2.new(0, 0, 0, 0)
dialoguebox.Visible = true
ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0.762, 0, 0.173, 0)}):Play()
task.wait(1.3)
end
local function closeDialogue()
ts:Create(dialoguebox, tweenInfo, {Size = UDim2.new(0, 0, 0, 0)}):Play()
task.wait(1)
dialoguebox.Visible = false
end
local function writeText(text, interval)
dialogueText.Text = ""
for _, letter in pairs(string.split(text, "")) do
dialogueText.Text ..= letter
task.wait(interval)
end
task.wait(0.5)
dialogueText.Text = ""
end
local function addPfp(npc)
local vpfCam = Instance.new("Camera", vpfFrame)
vpfFrame.CurrentCamera = vpfCam
local newNpc = npc:Clone()
newNpc.Parent = vpfFrame.WorldModel
newNpc.HumanoidRootPart.Anchored = true
newNpc:PivotTo(CFrame.new(0, 0, 0))
vpfCam.CFrame = CFrame.new(newNpc.Head.Position + Vector3.new(0, 0, -2), newNpc.Head.Position)
end
local function closePfp()
for _, v in pairs(vpfFrame.WorldModel:GetChildren()) do
v:Destroy()
end
vpfFrame:FindFirstChild("Camera"):Destroy()
end
function dialogue.IsActive()
return active
end
function dialogue.Activated(text, interval, npc)
if active then return end
active = true
addPfp(npc)
openDialogue()
writeText(text, interval)
closeDialogue()
closePfp()
active = false
end
return dialogue
geraldDialogue :
return {
"Text", -- change "Text" to what you want the npc to say
"TExt", -- change "Text" to what you want the npc to say
"Text", -- change "Text" to what you want the npc to say
}
finally, one that isnt super long
i followed everything for it to not be what i was looking for...
The code was a hard part, i would just follow along but i also wanna know what it does, great video but maybe next time it would be a whole lot better if you explained what each part of the code did, thanks!
I like how everyone in the comments are mixed up about the text not working. The reason it's doing that is because one of the part that says,
local dialogueGui = script.Parent.Parent
local dialogueBox = dialogueGui:WaitForChild("DialogueBox")
local dialogueText = dialogueGui:WaitForChild("dialogue")
is referring to something else. This system works, just gotta make your own. you should def learn some tweening I know I will.
heyya bro i love ur vids may i ask how do you learn to coding in roblox? ive been strunggling to make my dream game and i just watch ur tutorial to make my game but it isnt enough for me can you give me some tips or tell me how you learn to do some coding in roblox (i subed btw cuz u helped me so much)
Just code. If you’re new to scripting it is recommended you don’t start making your dream game. I learnt simply by making scripts for small projects. Eventually i started learning about things like modules scripts and watched yt tutorial and devforum posts to learn more! I wish you luck 😁
@@MajesticUC thx for the tips bro il become a great dev some day like you!!
this is truly awsome!
the text to speech is so unbelievably ridiculusly devious and brain rotting
Why is my proximity prompt not working :(
Same
@@RealTacticalMax it worked for me but the script...
Can you tell me what plugins you use, not just for this video, but for all in general. If there is too much, just list the best plugins.
Ros particle editor is quite good
I did all the scripting but when i play the dialogue box is still there
EXACTLY
It’s prob a good tutorial I just can’t even keep up with the first 10 seconds
Same😂
it didnt work for me, the dialogue box is showing after spawning, when i come up to the guy it doesnt even do anything
The dialogue showing part i know how to fix it but the coming up the npc isn’t working for me either
Go to the dialogue frame and anything that involved the thing that is visible go to it’s properties and make sure the visible setting is off
I'm having the same problem :[
what is that letter on 4:27 after the second .? the video is kinda pixelated so...yeah, idk what that is, either way, great tutorial!
=
my game has 10k visits tysm!
congrats!!!
IM LITTERLY JUST TRYING TO MAKE A STORY GAME AND I LITTERLY GAVE UP CAUSE YOU SPEEDED UP THE VID AND IT WAS SO HARD
change play back speed on settings thats what I did because I got angry to but that fixed it! hope that helps lol
@@Down_Head Thank you!
@@StarCandy-jz4mp no thank you! for not giving up on what you were trying to do! hope whatever game your making goes great!
Great vid keep it up ❤ can u maybe do a tut on the inventory system for attacks like you did in your devlog?
Yo I love your work and I got a question, on the first dev vlog you used moon animator to animate your actions. Could you make a tutorial on how to use moon animator like you did please?
bro got hearted with no response ☠
@@kyu9148 keep in mind you are replying to a 1 year ago comment
@@NPSNEWSHD oh. But still, the youtuber noticed the comment but didn't answer the question lol.
IF YOUR DIALOGUE BOX AINT WORKIGN THEN LISTEN UP
GO TO UR DARN MANAGER THEN THIS SHOULD POP UP (minus the fill-in names)
local (npctitlehere) = workspace:WaitForChild("npcnamehere")
local dialogueMod = require(script:WaitForChild("Dialogue"))
(npcnamehere).ProximityPrompt.Triggered:Connect(function()
dialogueMod.Activate("Hello there!", 0.3)
end)
CHANGE THE "Activate" IN "dialogueMod.Activate("Hello there!", 0.3)" TO "Activated"
DO IT
THANK YOU!!!!!!!!1
no problem!!1 B)@@branchfromwish
THE PROBLEM STILL STAYS
how do i make it so i dont have to keep pressing talk and i can just have the first text appear, and then after its done typing the next one appears, and it keeps doing that until the table is done and then the box closes?
i thank the comments for saving my time
Omg thank you😊
Can you start making more easy development tutorials I'm a new Developer And you really help me out I'm a new sub
this is perfect i making a demon slayer game thx so much
Np!
Does anyone know what and how to fix this error code? “Attempt to concatenate nil with string
didnt work but learned a bit more of coding so still thx
can somebody help me, i got this error 12:47:30.951 Activate is not a valid member of ModuleScript "Players.sofiarockzzzzz.PlayerGui.ScreenGui.LocalScript.Dialogue" and i checked the vid 3 times and i did it right, i dont know what to do please help this is my thing
local noob = workspace:WaitForChild("noob")
local dialogueMod = script:WaitForChild("Dialogue")
noob.ProximityPrompt.Triggered:Connect(function()
dialogueMod.Activate(" hi anything you wanna buy?", 0.3)
end)
replace "script:WaitForChild("Dialogue")" with "require:WaitForChild("Dialogue")". Script trying to find something called "Activate", in a ModuleScript called "Dialogue", but can't find it.
i give up i cant with this being like 5x speed :/
great tutorial but how would you do this as a triggered thing, not needing the prompt interaction?
yooo www majestic hit 1k subs
at line 5 in the DialogueManager, it keeps failing because of the inactive function
as a person with almost no scripting experience, im stuggling absolutely nothing is working
Can you add like choices like the npc says
"How are you?" And you can choose between "good" or "bad"
The intro is my childhood
Honestly I don't know if I'm the problem, but I named everything the same as the video, I wrote the scripts completely the same except for my NPC's name and in the end it didn't work. I don't know if I followed the steps wrong but the tutorial didn't help me at all
when I start the game, the screenGui is still on my screen and isn't hidden like yours? Please help when you get The time edit, also when i press E, the gui doesnt come up
Yeah thats whats happeniing to me
it doesnt work for me as when i load in the dialogue box immediately appears i already looked through it again
the box doesn't dissapear when pressing play and it doesn't work
if you are getting this error "Players.YourUsername.PlayerGui.Dialogue.DialogueManager:5: attempt to call a nil value" make the "Activate" on line 5 of DialogueManager into "Activated"
Can you explain what you typed in "vpfFrame"? Is it just, local vpfFrame = pfp:WaitForChild("ViewportFrame") or what am i missing?
I'm normally not the person who would complain about this stuff. But this tutorial wasnt helpful at all. It kept going really fast. It kept cutting ahead, like here (4:55) line 3 just suddenly grows and if you werent looking right there, you would have missed it like me. It was hard to keep up with and over wasted my time because it didn't even work.
Hello, everytime i try the dialogue it comes up with this error from the DialogueManager:
Infinite yield possible on 'Players.*myname*.PlayerGui.Dialogue.DialogueManager:WaitForChild("Dialogue")
a copy n paste with fill in the blank variables for names wouldve been nice
but they say you learn better when writing something down, (or in this case typing) i guess.
thanks nonetheless though. good tutorial
I ACCIDENTLY LOST THE BAR THINGY TO THE LEFT SIDE AND IM SO CONFUSED..
it keeps saying attempt to call a nil value whenever I try to talk to the npc
how to set anchor point?
Can you make a guide on how to make idle animation for npcs
Its pretty simple. All you do is create an idle animation. At the start of the game, load the animation into a server script (or a local script if you want it to be smoother but then everyone will have to load the animation). THen make the npc play it
@@MajesticUC how do I make the npc play it?
local anim = root.to.animation
local npc = root.to.npc
local animator = npc.Humanoid.Animator
local loadedAnim = animator:LoadAnimation(anim)
loadedAnim:Play()
Thanks
1:10 did u deleted "ImageLabel" ?
i dont get the part at 4:57
It didn't work D:
It’s outdated
for some reason its not letting me talk to the npc, and the gui is just stuck on the screen doing nothing when i test it
Are you getting any errors?
@@MajesticUC yea but its not for the dialogue system
@@MajesticUCi did make my own, but i kinda used some of your stuff and it worked
This was kinda fast and hard to follow along pls hellppp idk how to anchor maybe im jus dum 😂😂
if you don't know how to anchor a part then I think you should be trying to learn how to use roblox studio before making a game
a move idea for ur fighting game:
Holy Javelin
Desc: A Javelin from the heavens
what it does: you thow the javelin at someone, it slows them for 3 seconds
hope this helps.
edit: It might be from item asylum but its different
I cant seem to put the Frame intot he Dialogue, i actually cant find Dialogue, i only see Dialog and DialogChoice. I cant put the Frame in both.
The "Dialogue" probably isn't the actual Dialog and DialogChoice elements built into ROBLOX, but a ScreenGui element renamed as "Dialogue"
the "Dialogue" is a ScreenGui element but its just renamed to "Dialogue"
1:11 what the hell did u just do im confused on this part
Can you make a tutorial on how to make the npc disappear after the dialog please?
bro how to make give a mission and how to add accesory to a dialugue npc
the dialogue box doesn't appear when i try to talk to the npc
do you have any errors
I already made another one, thanks for answering tho
@@MajesticUC i know he fixed his but mine says theres an attempt to call a nill value
@@Gameboy_X3 same i think the problem is the dialogueMod variable
@@Gameboy_X3 okok so what I did was
in the DialogueManager script you know the
local npc = workspace:WaitForChild("yourNPCname")
line where you referenced the name of your npc?
if you go down in the Dialogue script to where the function addPfp(npc) is,
paste the same
local npc = workspace:WaitForChild("yourNPCname")
part that you have in the DialogueManager script right under the
local function addPfp(npc)
function which was around line 40 for me (you can see line numbers on the left side of the scripts)
idk if it's the proper way to do it but it worked for me
the pfp doesnt pop up when the Dialogue box does
ok
Pls teach us how to make that menu on how to place attacks to the placeholders
The Dialouge box still is visible when I'm testing my game
Set visible to false in the explorer
@@MajesticUC where is that
@@Thecutekirby in the properties(on the right side) where the size and all that is located, there is something in DialogueBox called Visible. just turn that to unchecked
yo @@glitchagon09 i disabled it but when i tried interacting to my npc there's nothing
@@ayukee have u named ur module script to Dialogue?
its dosnt work, as soon as i join, the gui pops up on my screen
Regular show ahh intro
When i start the game the Dialogue box and everything are always on screen, and i already try to change the name of the "ModelScript" to "Dialogue" but it don't work
Did you check the "Visible" box
ALMOST 1K!!!!
YESSSS!!!!!!
do you know how to make them talk with sounds like in undertale?
Whenever it writes out another character, play the noise
is there a Model but I tryed making it work it does not seem it wants to work my NPC is also a GUI and in the GUI it as teams in it
the entire point of a tutorial is that im teaching you how to make it. Im not gonna create a model and at it to the toolbox
@@MajesticUC I got it to work =)
Dude, great tutorial, but I just used up 20 minutes of my life typing scripts. You GOTTA put the long ones in the description or something. PLEASE
Hey MajesticDev! :)
As a new developer and no skill in scripting, is it possible you could link the script in the description? yk, for me to copy. :)
pls make it more slower it took me 10 hours to make this it was so much pain EDIT: can you also paste the script in the desc thanks alot
I have error with dialogue its says Unknown global 'dialogue'
Ngl man i wanna make the Gui you made for the Abilities, Its for my game
Why is the dialogueBox is still showing when i'm not interacting and why is the text not showing?