Yes.
It works 20 times. Then the window is not closed and the action is not started.
At the same time, I have an alternative launch of the same action - it continues to work.
As you can see from the code, there is nothing there to cause the wait. Unless getting a Player from a parent module.
It could have been done in one line:
Player.PlayerGui.ScreenGui.Main.Window.open.Value = “frmSlims”
Russian
Да.
Раз 20 оно срабатывает. Потом окно не закрывается и действие не запускается.
При этом у меня есть альтернативный запуск этого же действия - он продолжает работать.
Как можно видеть из кода, там нет ничего, что могло бы вызвать ожидание. Разве что получение Player из вышестоящего модуля.
Можно было вообще одной строкой сделать:
Player.PlayerGui.ScreenGui.Main.Window.open.Value = “frmSlims”
Code
local Action = {};
-- Player = nil; -- Silences global warnings.
Action.Synchronous = false; -- Stops the player from proceeding to the next dialogue/leaving
-- the conversation until the action is complete.
-- Note: If this is an "action before" function,
-- this causes the dialogue box to be *blank*
-- until the action is complete.
Action.Variables = function()
-- This function is ran prior to the Execute function.
-- It's meant for setting conversation variables.
-- It's helpful if you want this to be an asynchronous action,
-- yet need to set variables for the dialogue that'll appear next.
return {}; -- These variables will overwrite any conversation variables you describe.
-- You can call these variables in your dialogue by using
-- [/variable=REPLACE_WITH_VARIABLE_NAME]
end
Action.Execute = function()
-- This is the code that's ran when the action is called.
local plr=Player
local pathMain=plr.PlayerGui.ScreenGui.Main.Window
pathMain.open.Value = "frmSlims"
print("слияние")
end;
return Action;
Message editing is now blocked while in delete mode
@GAVsi115 The plugin no longer lags the server after an action is repeatedly executed
I’m working on a way to smoothly update scripts like DialogueServerScript and DialogueClientScript, but to update these scripts, it’s necessary to manually edit these scripts.
The only one I edited for this update is DialogueServerScript. Click the link to go to the repo, and copy and paste the new code into the script located in the ServerScriptService.
In new projects, you don’t have to do this because I published the update directly to the plugin.
This seems like a great plugin and I’d love to use it, but there’s a bug. Whenever you click an NPC, your character freezes and you get this error in the output:
Happens even if I turn off all my plugins. I also tried clicking Fix Scripts, and it’s still happening.
Do any of the new versions help with mobile? Because in my game, I used your plugin, and someone on mobile couldn’t do anything after clicking the NPC so they had to reset. So I had to add
Enum.InputType.Tap
or something like that so mobile players could talk to NPCs without having to reset.
Can someone help me make this gui frame become visible after pressing a response? I have no idea how modules work .
Action.Execute = function()
local player = game:GetService("Players").LocalPlayer
local ReclassMOS = player.PlayerGui.ReclassMOS
ReclassMOS.Frame.Visible = true
end;
The error says “ServerScriptService.DialogueServerScript:148: ServerScriptService.DialogueServerScript.Actions.After.AfterAction:26: attempt to index nil with ‘PlayerGui’”
I can really see this useful to people who are new to scripting and don’t know how to make their own. This is a useful plugin, but I don’t really need it.