oh that's nasty beautiful. I've got this now:
Loop ; Goes through all the 'If's until number is entered and is within the specified range
InvalidNumber := false
InputBox, w, YouTube Video Player Creator, blaaa bla,, 350, 200
If ErrorLevel ; If User presses cancel
If w is not number ; If User enters anything but numbers
InvalidNumber := true
If (InvalidNumber || w > 1920 || w < 400)
MsgBox, You entered an invalid number.`nPlease try again
...AND the RegExReplace is working... with this:
InputBox, PlayerName, YouTube Video Player Creator, more blaaa lol,, 450, 200
If ErrorLevel = 1
WeirdCharacters = [\\/:*?"<>|`%]
PlayerName := RegExReplace(PlayerName, WeirdCharacters)
Thank you both Guest and Nimda!
There seem to be quite a few instances of the faulty old way where it stacks on itself. I understand now how a subroutine stacks when it keeps subroutining the subroutine that calls the subroutine. Makes sense for how silly that sounds.
I will update the rest of the script with the Loop, and post again when it is done, tomorrow. This requires a version number change
I like those.