I want it so when you click on the NPC that the dialog appears. It shows that I can click on it but the dialog isn't popping up. This is the script that I am using.
NPC = script.Parent Screen = game.StarterGui.FirstTextGui Frame = Screen.FirstTextBox Text = Frame.FirstText Button = Text.NextButton Talk = false function onClicked() if Talk == false then Screen.Enabled = true Frame.Visible = true Text.Visible = true Button.Visible = true Talk = true elseif Talk == true then Screen.Enabled = false Frame.Visible = false Text.Visible = false Button.Visible = false Talk = false end end NPC.ClickDetector.MouseClicked:connect(onClicked)
It doesn't seem to work so please try to help me as much as possible since I am very new at Lua.
this is the first question I've ever answered I've tested it, it works :)
using the StarterGui
is not a good way to store your information or gui idk
you should maybe store it somewhere like inside of the ReplicatedStorage
or simply just inside the script
quick thing yu don't need all that Visible
stuff if so throw it into one frame and only visible that one
your error was that in the startergui it enables but that doesn't show to anyone if it was to work it would throw it into everyone screen so coding has to know where to put it im probably really bad at explaining lol
wait(0.25) local NPC = script.Parent local Screen = script:WaitForChild('FirstTextGui') local Talk = false function onClicked(player) -- the player which clicked local startergui = player:WaitForChild('PlayerGui') -- the players gui shown only on the for them local screen = Screen:Clone() -- clone it if Talk == false then screen.Parent = startergui -- now paste it into the players gui Talk = true elseif Talk == true then if startergui:FindFirstChild(Screen.Name) then -- if found the gui startergui:FindFirstChild(Screen.Name):Destroy() -- kill it end Talk = false end end NPC.ClickDetector.MouseClick:connect(onClicked)
if it doesn't work uhh your doing something wrong
hopefully it works click the answer button :D cuz I need to answer one question atleast