All pastes #993920 Raw Edit

AutoUP

public text v1 · immutable
#993920 ·published 2008-04-22 23:22 UTC
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