rendered paste body#include <GUIConstants.au3>
Opt ( "TrayAutoPause" , 0 )
Opt ( "TrayMenuMode" , 1 )
Dim $logonserver_var = 0
Dim $worldserver1_var = 0
Dim $worldserver2_var = 0
Dim $wait = 0
Dim $hide = 0
Dim $logonserver_pid = "0"
Dim $worldserver1_pid = "0"
Dim $worldserver2_pid = "0"
Dim $show
Dim $THide
Dim $exit
Dim $logonserver, $worldserver1, $worldserver2
Dim $logonserverpic, $worldserver1pic, $worldserver2pic
Dim $logonservertxt, $worldserver1txt, $worldserver2txt
Dim $hide, $reload
Dim $server1folder, $server2folder, $waittime , $logonserverexe, $worldserver1exe, $worldserver2exe
_CreateGUI()
_LoadData()
_LoadTrayOptions()
_LoadGUI()
GuiSetState()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
WinSetState ( $server1folder & "\" & $logonserverexe , "" , @SW_SHOW )
WinSetState ( $server1folder & "\" & $worldserver1exe , "" , @SW_SHOW )
WinSetState ( $server2folder & "\" & $worldserver2exe , "" , @SW_SHOW )
ExitLoop
Case Else
_logonserverLoop()
_worldserver1Loop()
_worldserver2Loop()
EndSelect
If $msg = $hide Then _Hide()
If $msg = $logonserver Then _logonserver()
If $msg = $worldserver1 Then _worldserver1()
If $msg = $worldserver2 Then _worldserver2()
If $msg = $reload Then
_LoadData()
_LoadGUI()
EndIf
If TrayGetMsg() = $Show Then _Show()
If TrayGetMsg() = $THide Then _Hide()
If TrayGetMsg() = $Exit Then Exit
WEnd
Func _CreateGUI()
$GUI = GUICreate ( "AutoUP" , 300, 145 )
EndFunc
Func _LoadGUI()
$logonserver = GUICtrlCreateButton ( "Start" , 10, 10, 80 )
$worldserver1 = GUICtrlCreateButton ( "Start" , 10, 40, 80 )
$worldserver2 = GUICtrlCreateButton ( "Start" , 10, 70, 80 )
$logonserverpic = GUICtrlCreatePic ( "images\offline.bmp" , 100, 10, 80, 25)
$worldserver1pic = GUICtrlCreatePic ( "images\offline.bmp" , 100, 40, 80, 25)
$worldserver2pic = GUICtrlCreatePic ( "images\offline.bmp" , 100, 70, 80, 25)
$logonservertxt = GUICtrlCreateLabel ( $logonserverexe , 200, 13, 100 )
$worldserver1txt = GUICtrlCreateLabel ( $worldserver1exe, 200, 43, 100 )
$worldserver2txt = GUICtrlCreateLabel ( $worldserver2exe, 200, 73, 100)
$hide = GUICtrlCreateButton ( "Hide All" , 45 , 110, 80 )
$reload = GUICtrlCreateButton ( "Reload Options" , 150, 110, 100 )
EndFunc
Func _loaddata()
$server1folder = IniRead ( "autoup.ini" , "FOLDERS" , "Server1" , "" )
$server2folder = IniRead ( "autoup.ini" , "FOLDERS" , "Server2" , "" )
$logonserverexe = IniRead ( "autoup.ini" , "SERVERS" , "Logonserver" , "logonserver.exe" )
$worldserver1exe = IniRead ( "autoup.ini" , "SERVERS" , "WorldServer1" , "ascent.exe" )
$worldserver2exe = IniRead ( "autoup.ini" , "SERVERS" , "WorldServer2" , "ascent.exe" )
$waittime = IniRead ( "autoup.ini" , "SETTINGS" , "Wait" , "5000" )
EndFunc
Func _logonserverLoop()
Select
Case $logonserver_var = 1
$logonserver_pid = WinGetState ( $server1folder & "\" & $logonserverexe )
If $logonserver_pid = "0" And $logonserver_var = 1 Then
Sleep ( $waittime )
ShellExecute ( $server1folder & "\" & $logonserverexe )
Sleep ( 1500 )
EndIf
EndSelect
EndFunc
Func _worldserver1Loop()
Select
Case $worldserver1_var = 1
$worldserver1_pid = WinGetState ( $server1folder & "\" & $worldserver1exe )
If $worldserver1_pid = "0" And $worldserver1_var = 1 Then
Sleep ( $waittime )
ShellExecute ( $server1folder & "\" & $worldserver1exe )
Sleep ( 1500 )
EndIf
Endselect
EndFunc
Func _worldserver2Loop()
Select
Case $worldserver2_var = 1
$worldserver2_pid = WinGetState ( $server2folder & "\" & $worldserver2exe )
If $worldserver2_pid = "0" And $worldserver2_var = 1 Then
Sleep ( $waittime )
ShellExecute ( $server2folder & "\" & $worldserver2exe )
Sleep ( 1500 )
EndIf
Endselect
EndFunc
Func _Hide()
WinSetState ( $server1folder & "\" & $logonserverexe , "" , @SW_HIDE )
WinSetState ( $server1folder & "\" & $worldserver1exe , "" , @SW_HIDE )
WinSetState ( $server2folder & "\" & $worldserver2exe , "" , @SW_HIDE )
GUISetState ( @SW_HIDE )
EndFunc
Func _Show()
WinSetState ( $server1folder & "\" & $logonserverexe , "" , @SW_SHOW )
WinSetState ( $server1folder & "\" & $worldserver1exe , "" , @SW_SHOW )
WinSetState ( $server2folder & "\" & $worldserver2exe , "" , @SW_SHOW )
GUISetState ( @SW_SHOW )
EndFunc
Func _logonserver()
If $logonserver_var = 0 And $wait = 0 Then
$logonserver_var = 1
$wait = 1
GUICtrlSetImage ( $logonserverpic , "images\online.bmp" )
GUICtrlSetData ( $logonserver , "Stop" )
EndIf
If $logonserver_var = 1 And $wait = 0 Then
$logonserver_var = 0
GUICtrlSetImage ( $logonserverpic , "images\offline.bmp" )
GUICtrlSetData ( $logonserver , "Start" )
EndIf
$wait = 0
EndFunc
Func _worldserver1()
If $worldserver1_var = 0 And $wait = 0 Then
$worldserver1_var = 1
$wait = 1
GUICtrlSetImage ( $worldserver1pic , "images\online.bmp" )
GUICtrlSetData ( $worldserver1 , "Stop" )
EndIf
If $worldserver1_var = 1 And $wait = 0 Then
$worldserver1_var = 0
GUICtrlSetImage ( $worldserver1pic , "images\offline.bmp" )
GUICtrlSetData ( $worldserver1 , "Start" )
EndIf
$wait = 0
EndFunc
Func _worldserver2()
If $worldserver2_var = 0 And $wait = 0 Then
$worldserver2_var = 1
$wait = 1
GUICtrlSetImage ( $worldserver2pic , "images\online.bmp" )
GUICtrlSetData ( $worldserver2 , "Stop" )
EndIf
If $worldserver2_var = 1 And $wait = 0 Then
$worldserver2_var = 0
GUICtrlSetImage ( $worldserver2pic , "images\offline.bmp" )
GUICtrlSetData ( $worldserver2 , "Start" )
EndIf
$wait = 0
EndFunc
Func _LoadTrayOptions()
$THide = TrayCreateItem ( "Hide All" )
$Show = TrayCreateItem ( "Show All" )
TrayCreateItem ( "-----" )
$Exit = TrayCreateItem ( "Exit" )
EndFunc