Hello, I have been studying the AutoIt Help files and am currently trying to assign a value to a variable. I'll post the script that I'm using below this message. Basically, I want $Stage to equal 0 at the start and after going through "If $Stage = 0 Then", $Stage's value will change to 1. After If = 1 it changes to 2 and after If = 2 it changes back to 0 to cycle through the If statements again. The issue that I'm having with my current commands is that the value of $Stage does not change from 0. I know this is very basic but its late and I'm not having much luck with it. Thanks in advance for any help. P.S. Sorry for the lack of layout of the text, Its tabbed/spaced properly before submitting the post. I marked the spots that I am questioning proper syntax by making them red. Dim $Stage ;;;;Sets variable for If Statements HotKeySet("o", "Stage") ;;;;Script is triggered when "o" is pressed. While 1 Sleep (100) WEnd ;;;;Required Func Stage () If $Stage = 0 Then $Stage = 1 Send("{numpad4}") Sleep(250) MouseClick("left") Sleep(500) ;;;;If the variable = 0 then the above is executed and the variable's value changes to 1 ElseIf $Stage=1 Then $Stage = 2 Send("{numpad4}") Sleep(250) MouseClick("left") Sleep(500) ;;;;If the variable = 1 then the above is executed and the variable's value changes to 2 ElseIf $Stage=2 Then $Stage = 0 Send("{numpad4}") Sleep(250) MouseClick("left") Sleep(500) ;;;;If the variable = 2 then the above is executed and the variable's value changes to 0 EndIf EndFunc :::::::::::::::::::::::::::::::::::::::::::::::::