I’m currently recreating Wordle just for the sake of proof-of-concept stuff. But every time I try and test it my Fortnite times out and loses connection and won’t execute my Verse code. I have a button I press that brings up a text box for me to write my guess in and when I click confirm after putting in a 5 letter word (which is a check to begin comparing the guess to the answer) the script just stops and I freeze and eventually get kicked to the lobby.
UEFN Log:
uefn-attachments-2022.12.11-22.58.55.zip (4.5 MB)
My code is below, this specific block is what it cannot get past.
var Canvas:?canvas = false
var Text:string = ""
var Answer:string = ""
var AllowConfirmation:logic = true
var RandomWord:int = 0
@editable
Button:button_device := button_device{}
OnBegin<override>()<suspends>:void=
Button.InteractedWithEvent.Subscribe(OpenMenu)
RandomizeAnswer()
OpenMenu(Player:player):void=
Print("Wordle Started")
if (PlayerUI := GetPlayerUI[Player]):
if (TmpCanvas := Canvas?):
PlayerUI.RemoveWidget(TmpCanvas)
set Canvas = false
else:
NewCanvas := MakeCanvas()
PlayerUI.AddWidget(NewCanvas, player_ui_slot{ InputMode := ui_input_mode.All })
set Canvas = option{NewCanvas}
MakeCanvas():canvas =
VisualText:button_loud=button_loud{ DefaultText := "WORDLE" }
VisualText2:button_quiet=button_quiet{ DefaultText := "LOWERCASE ONLY" }
EnterGuess:editable_text_box=editable_text_box{ DefaultText := "TYPE HERE"}
ConfirmButton:button_regular=button_regular{ DefaultText := "CONFIRM" }
EnterGuess.OnTextCommitted.Subscribe(GuessTyped)
ConfirmButton.OnClick.Subscribe(GuessConfirmed)
NewCanvas := canvas:
Slots := array:
canvas_slot:
Anchors := anchors{ Maximum:= vector2{X:=1.0, Y:=1.0} }
Offsets := margin{ Top:=100.0, Left:=100.0, Right:=100.0, Bottom := 100.0 }
Widget := stack_box:
Orientation := orientation.Vertical
Slots := array:
stack_box_slot:
Widget := VisualText
stack_box_slot:
Widget := VisualText2
stack_box_slot:
Widget := EnterGuess
stack_box_slot:
Widget := ConfirmButton
return NewCanvas
GuessTyped(Message:widget_message):void=
if (UserInput := editable_text_base[Message.Source]):
set Text = UserInput.GetText()
# if (TmpPlayerUI := GetPlayerUI[Message.Player], TmpCanvas := Canvas?):
# TmpPlayerUI.RemoveWidget(TmpCanvas)
# set Canvas = false
for (LetterNumber -> Letter : Text):
Logger.Print("{Letter}")
GuessConfirmed(Message:widget_message):void=
if (ConfirmText := text_button_base[Message.Source]):
if (Text.Length <> 5):
ConfirmText.SetText("CONFIRM (ENTER A 5 LETTER WORD)")
else if (Text.Length = 5):
ConfirmText.SetText("LOADING...")
spawn {CheckAnswer()}
CheckAnswer()<suspends>:void=
Sleep(0.5)
# LETTER 1
if (Text[0] <> Answer[0] or Answer[1] or Answer[2] or Answer[3] or Answer[4]):
Print("1st Letter is Incorrect")
else if (Text[0] = Answer[0]):
Print("1st Letter is Correct")
else:
Print("1st Letter is Correct, but in the Wrong Place")
Sleep(0.5)
# LETTER 2
if (Text[1] <> Answer[0] or Answer[1] or Answer[2] or Answer[3] or Answer[4]):
Print("2nd Letter is Incorrect")
else if (Text[1] = Answer[1]):
Print("2nd Letter is Correct")
else:
Print("2nd Letter is Correct, but in the Wrong Place")
Sleep(0.5)
# LETTER 3
if (Text[2] <> Answer[0] or Answer[1] or Answer[2] or Answer[3] or Answer[4]):
Print("3rd Letter is Incorrect")
else if (Text[2] = Answer[2]):
Print("3rd Letter is Correct")
else:
Print("3rd Letter is Correct, but in the Wrong Place")
Sleep(0.5)
# LETTER 4
if (Text[3] <> Answer[0] or Answer[1] or Answer[2] or Answer[3] or Answer[4]):
Print("4th Letter is Incorrect")
else if (Text[3] = Answer[3]):
Print("4th Letter is Correct")
else:
Print("4th Letter is Correct, but in the Wrong Place")
Sleep(0.5)
# LETTER 5
if (Text[4] <> Answer[0] or Answer[1] or Answer[2] or Answer[3] or Answer[4]):
Print("5th Letter is Incorrect")
else if (Text[4] = Answer[4]):
Print("5th Letter is Correct")
else:
Print("5th Letter is Correct, but in the Wrong Place")
RandomizeAnswer():void=
RandomNum:int = GetRandomInt(1, 262)
set RandomWord = RandomNum
if (RandomWord = 1):
set Answer = "about"
else if (RandomWord = 2):
set Answer = "above"
else if (RandomWord = 3):
set Answer = "abuse"
else if (RandomWord = 4):
set Answer = "admit"
else if (RandomWord = 5):
set Answer = "adopt"
else if (RandomWord = 6):
set Answer = "adult"
else if (RandomWord = 7):
set Answer = "after"
else if (RandomWord = 8):
set Answer = "agent"
else if (RandomWord = 9):
set Answer = "agree"
else if (RandomWord = 10):
set Answer = "allow"
else if (RandomWord = 11):
set Answer = "along"
else if (RandomWord = 12):
set Answer = "alter"
else if (RandomWord = 13):
set Answer = "among"
else if (RandomWord = 14):
set Answer = "anger"
else if (RandomWord = 15):
set Answer = "apple"
else if (RandomWord = 16):
set Answer = "apply"
else if (RandomWord = 17):
set Answer = "argue"
else if (RandomWord = 18):
set Answer = "arise"
else if (RandomWord = 19):
set Answer = "avoid"
else if (RandomWord = 20):
set Answer = "award"