Silkroad Starter

  • Hallo,

    ich möchte hier einmal mein erstes richtiges Programm vorstellen.

    Was es macht:
    Man kann in einem gewissen Maße seinen Silkroad Account verwalten und diesen (wenn gewünscht) bei start des Clients eintragen lassen.
    Ich habe überprüfungen eingebaut die ein Missbrauchen des Tools für Bots verhindert.
    autoit.de/wcf/attachment/5315/


    Wie man sehen kann ist dort eine Funktion namens Restart.
    Sobald man beim einloggen deinen disconnect bekommt (das geschieht sehr sehr oft) wird auf Legalem weg der Client neu Gestartet.

    Da es von Silkroad etliche Privatserver gibt und einer davon ECSRO heißt und diese einen Autopotter zur Verfügung stellen kann dieser mitgestartet werden.

    Edit:
    Was ich vergessen habe ist das dieses Programm auch eine Autoupdatefunktion enthält

  • ESCRO Privatserver ist verbot.Das Gui kenne ich von Steam ^^ ist im Steamdesign.
    Ich wollte es mir downloaden , aber wenn ich es Entpacke bekomme ich Trojanisches Pferd. Also habe ich es mal gelöscht auch wenn es in AutoIt gemacht worden ist.
    Du hast es dan Falsch Compiliert =)
    Mach mal Sourcecode rein ;)

    Und am lustigens finde ich

    Zitat

    Ich habe überprüfungen eingebaut die ein Missbrauchen des Tools für Bots verhindert.

    -- Das geht garnicht :rofl:

  • Sicher geht das ;)

    Spoiler anzeigen
    [autoit]


    #RequireAdmin
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=..\Exe\Silkroad Starter.exe
    #AutoIt3Wrapper_Res_Comment=Die Virusmeldung entsteht durch das Compilieren,daher wird von meiner Seite aus Entwarnung gegeben. Dieses Programm ist Freeware!
    #AutoIt3Wrapper_Res_Description=TheBigX´s Tools
    #AutoIt3Wrapper_Res_Fileversion=4.0.5.9
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_LegalCopyright=Freeware
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Run_AU3Check=n
    #AutoIt3Wrapper_Tidy_Stop_OnError=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #include <GuiButton.au3>
    #include <Misc.au3>
    #include <String.au3>
    #include <GuiFade.au3>
    #include <Constants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>
    #include <EditConstants.au3>
    #include <Debug.au3>
    #include <StaticConstants.au3>
    #Region ##Dateien die mitinstalliert werden##
    Func OnAutoItStart()
    If ProcessExists("Silkroad Starter.exe") = 1 Then
    MsgBox(64, "Fehler!", "Silkroad Starter wird schon ausgeführt")
    EndIf
    FileDelete(@ScriptDir & "\verschieben.exe")
    EndFunc ;==>OnAutoItStart
    FileInstall("F:\Selfcoded\Exe\verschieben.exe", @ScriptDir & "\verschieben.exe", 1)
    FileInstall("F:\Selfcoded\quellcode\cls.BMP", @ScriptDir & "\cls.BMP")
    FileInstall("F:\Selfcoded\quellcode\hdr.BMP", @ScriptDir & "\hdr.BMP")
    FileInstall("F:\Selfcoded\quellcode\cnr.BMP", @ScriptDir & "\cnr.BMP")
    FileInstall("F:\Selfcoded\quellcode\connect.exe", @TempDir & "\connect.exe", 1)
    FileInstall("E:\Bilder - Photoshop\PSP\Effekte.jpg", @TempDir & "\Effekte.jpg", 1)
    #EndRegion ##Dateien die mitinstalliert werden##
    #Region ##Allg. Optionen##
    AutoItSetOption("TrayAutoPause", 0)
    Opt("TrayIconDebug", 0)
    Opt("TrayMenuMode", 1)
    Opt("TrayOnEventMode", 1)
    Opt("GuiOnEventMode", 1)
    Opt("MouseCoordMode", 0)
    Opt("MustDeclareVars", 0)
    #EndRegion ##Allg. Optionen##
    #Region ##Internet Update##
    Global $log
    Global $thisver = "4.0.5.7"
    Global $Paused
    Global $oCLOSE
    Global $bots
    Global $sroking
    Global $sbot
    Global $agbot
    Global $handle
    $s_EncryptPassword = "ich habe den quellcode geupdated sodass die bots nun richtig geschlossen werden"
    $i_EncryptLevel = 2
    InetGet("http://semtexunion.se.funpic.de/srostart/actualver.exe", @TempDir & "\actualver.exe")
    If FileGetVersion(@TempDir & "\actualver.exe", "FileVersion") <> $thisver Then
    TrayTip("Aktuellere Version gefunden!", "Lade die neuere Version nun herunter", 3000, 1)
    InetGet("http://semtexunion.se.funpic.de/srostart/Silkroad Starter.exe", @TempDir & "\Silkroad Starter.exe")
    Run("verschieben.exe")
    Exit
    ElseIf FileGetVersion(@TempDir & "\actualver.exe", "FileVersion") = $thisver Then
    TrayTip("Kein Update nötig", "Du hast bereits die Aktuellste Version!", 5000, 1)
    EndIf
    #EndRegion ##Internet Update##
    #Region ##Ladescreen##
    ProcessClose("connect.exe")
    Run("connect.exe", @TempDir, @SW_HIDE)
    SplashImageOn("Test", @TempDir & "\Effekte.jpg", "134", "134", "-1", "-1", $DLG_NOTITLE)
    _GUIFadeIn("Test", "15", "0", "255")
    Sleep(2000)
    _GUIFadeOut("Test", "15", "255", "0")
    SplashOff()
    #EndRegion ##Ladescreen##
    #Region ##Tray##
    $tray1 = TrayCreateItem("Bugreport", -1, 0)
    $tray2 = TrayCreateItem("Hilfe", -1, 1)
    $tray3 = TrayCreateItem("Updates", -1, 1)
    $tray4 = TrayCreateItem("Ende", -1, 4)
    TrayItemSetOnEvent($tray1, "bug")
    TrayItemSetOnEvent($tray2, "hilfe")
    TrayItemSetOnEvent($tray3, "UPDATE")
    TrayItemSetOnEvent($tray4, "beenden")
    TraySetToolTip("Das Silkroad Starter Tool by - TheBigX and U17R4")
    TrayTip("-->Achtung!<--", "Guckt in die Hilfe und die Credits!", 5000, 1)
    #EndRegion ##Tray##
    #Region ##Gui##
    $Form1 = _makeWindow("Silkroad Starter", "Coded by TheBigX", 800, 500, -1, -1, True, "", "", "", @TempDir)
    GUISetOnEvent($GUI_EVENT_CLOSE, "beenden")
    $ID = GUICtrlCreateInput("", 15, 72, 121, 22)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $PW = GUICtrlCreateInput("", 15, 104, 121, 22, 0x0020)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $SROPfad = GUICtrlCreateInput(" ", 15, 136, 121, 22)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $reg = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Joymax\Silkroad", "InstallPath")
    If $reg <> " " Then GUICtrlSetData($SROPfad, $reg)
    GUICtrlCreateLabel("ID", 149, 75, 13, 18)
    GUICtrlSetBkColor(-1, 0x464646)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlCreateLabel("PW", 149, 106, 20, 18)
    GUICtrlSetBkColor(-1, 0x464646)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlCreateLabel("SROPfad", 149, 139, 48, 18)
    GUICtrlSetBkColor(-1, 0x464646)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Start = GUICtrlCreateButton("Starten", 225, 80, 99, 49, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetOnEvent($Start, "Start")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $Bug = GUICtrlCreateButton("Bugreport", 216, 450, 99, 33, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetOnEvent($Bug, "bug")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $Group1 = GUICtrlCreateGroup("Account Daten", 5, 56, 195, 113)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0x464646)
    $hide = GUICtrlCreateButton("Client Verstecken", 4, 470, 99, 25, 0)
    GUICtrlSetOnEvent($hide, "hide")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $show = GUICtrlCreateButton("Client Zeigen", 101, 470, 99, 25, 0)
    GUICtrlSetOnEvent($show, "show")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $silkexe = GUICtrlCreateButton("SROPfad suchen", 225, 136, 99, 25, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetOnEvent($silkexe, "srofolder")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $save = GUICtrlCreateButton("save", 15, 30, 50, 25, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetOnEvent($save, "save")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $load = GUICtrlCreateButton("load", 70, 30, 50, 25, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetOnEvent($load, "load")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $kill = GUICtrlCreateButton("Client schließen", 60, 445, 85, 25, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetOnEvent($kill, "kill")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $sw = RegRead("HKEY_CURRENT_USER\Software\Joymax\Silkroad", "RECENTSERVER")
    $server = GUICtrlCreateInput($sw, 580, 62, 100, 18)
    $sws = GUICtrlCreateButton("Speichern", 683, 61, 60, 20)
    GUICtrlSetBkColor(-1, 0x7D8078)
    GUICtrlSetOnEvent($sws, "serversave")
    GUICtrlCreateLabel("Serverwahl", 520, 65, 52, 15)
    $slowpc = GUICtrlCreateCheckbox("", 15, 180, 15, 17)
    GUICtrlCreateLabel("Langsamer PC", 32, 182, 65, 17)
    GUICtrlSetBkColor(-1, 0x464646)
    $ecsro = GUICtrlCreateCheckbox("", 15, 197, 15, 17)
    GUICtrlCreateLabel("ECSRO Autopotter starten ", 32, 199, 118, 47)
    GUICtrlSetOnEvent($ecsro, "ecsro")
    GUICtrlSetBkColor(-1, 0x464646)
    $restart = GUICtrlCreateCheckbox("", 15, 215, 15, 15)
    GUICtrlCreateLabel("Restart", 32, 216, 50, 17)
    GUICtrlSetBkColor(-1, 0x464646)
    $JMHP = GUICtrlCreateButton("Joymax Homepage", 570, 120, 123, 33, 0)
    GUICtrlSetOnEvent($JMHP, "JMHP")
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $JMBAN = GUICtrlCreateButton("Joymax Banliste", 570, 153, 123, 33, 0)
    GUICtrlSetOnEvent($JMBAN, "JMBAN")
    GUICtrlSetBkColor(-1, 0x7D8078)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $FORUM = GUICtrlCreateButton("Silkroad Online Forum", 570, 186, 123, 33, 0)
    GUICtrlSetOnEvent($FORUM, "FORUM")
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $UPDATE = GUICtrlCreateButton("Updates HP", 570, 219, 123, 33, 0)
    GUICtrlSetOnEvent($UPDATE, "UPDATE")
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $exit = GUICtrlCreateButton("Exit", 625, 450, 75, 25, 0)
    GUICtrlSetOnEvent($exit, "beenden")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $hilfe = GUICtrlCreateButton("Hilfe", 700, 450, 75, 25, 0)
    GUICtrlSetOnEvent($hilfe, "hilfe")
    GUICtrlSetBkColor(-1, 0x7D8078)
    $credits = GUICtrlCreateButton ("Credits",420,450,75,25,0)
    GUICtrlSetBkColor(-1, 0x7D8078)
    GUICtrlSetTip ($credits,"Coder: TheBigX aká Devil"&@LF&"Für die gute Unterstützung meinen Dank an:"&@LF&" U17R4"&@LF&" Coded für das Silkroadonline.de Forum","Credits!",1,1)
    ;~ $charwahl = GUICtrlCreateInput ("",20,50,15,20,$ES_NUMBER)
    ;~ GUICtrlCreateLabel ("Charnummer (von Links nach Rechts)",40,53,200,20)
    GUISetState(@SW_SHOW)
    HotKeySet("!^d", "beenden")
    HotKeySet("{PAUSE}", "TogglePause")
    HotKeySet("{F1}", "hilfe")
    While 1
    Sleep(1000)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Form1
    EndSwitch
    WEnd
    #EndRegion ##Gui##
    #Region ##Funktionen 1Seite##
    Func srofolder()
    $SROregPfad = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Joymax\Silkroad", "InstallPath")
    If @error Then
    $actualsropath = FileSelectFolder("Wähle den Ordner aus in dem Silkroad installiert ist:", @HomePath, 0)
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Joymax\Silkroad", "InstallPath", "Reg_SZ", $actualsropath)
    If @error Then
    GUICtrlSetData($SROPfad, "Silkroad not found.")
    Else
    GUICtrlSetData($SROPfad, $actualsropath)
    EndIf
    Else
    GUICtrlSetData($SROPfad, $SROregPfad)
    EndIf
    EndFunc ;==>srofolder
    Func Start()
    TrayTip("Wichtig!", "Damit die Automatische eingabe der ENTER taste / Automatischer Restart vom Clienten endet drücke bitte die ENDE taste nach der Dateneingabe im Clienten", 5)
    Run(GUICtrlRead($SROPfad))
    Sleep(2000)
    Winkill ("[CLASS:#32770]")
    Winkill ("[CLASS:wxWindowClassNR]")
    If Not WinExists ("SRO_Client") Or ("Silkroad Online Launcher") then Exit
    If WinExists("Silkroad Online Launcher") Then
    Sleep(10000)
    ControlClick("Silkroad Online Launcher", "", "[CLASS:Button; INSTANCE:1]")
    EndIf
    ProcessClose("connect.exe")
    ProcessWait("sro_client.exe")
    $handle = WinGetHandle("SRO_Client")
    WinSetState("SRO_Client", "", @SW_MAXIMIZE)
    Select
    Case _GUICtrlButton_GetCheck($slowpc) = 1
    Sleep(20000)
    Case _GUICtrlButton_GetCheck($slowpc) <> 1
    Sleep(10000)
    EndSelect

    [/autoit] [autoit][/autoit] [autoit]

    Send("{TAB}{TAB}")
    Sleep(250)
    ControlSend($handle, "", "", GUICtrlRead($ID))
    ControlSend($handle, "", "", "{TAB}")
    Sleep(200)
    ControlSend($handle, "", "", GUICtrlRead($PW))
    $dll = DllOpen("user32.dll")
    While 1
    Send("{ENTER}")
    Sleep(700)
    If _IsPressed("23", $dll) Then ExitLoop
    If Not WinExists("SRO_Client") Then
    TrayTip("Achtung", "DC / Clientfehler festgestellt! Restart...", 3)
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndIf
    If Not WinActive("SRO_Client") Then
    WinActivate("SRO_Client")
    EndIf
    WEnd
    DllClose($dll)

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(1000)
    Select
    Case _GUICtrlButton_GetCheck($restart) = 1
    If Not WinExists("SRO_Client") Then
    Sleep(1000)
    WinActivate("Silkroad Starter")
    Call("Start")
    EndIf
    Case _GUICtrlButton_GetCheck($restart) <> 1
    EndSelect
    EndFunc ;==>Start
    Func save()
    $cID = _StringEncrypt(1, GUICtrlRead($ID), $s_EncryptPassword, $i_EncryptLevel)
    $cPW = _StringEncrypt(1, GUICtrlRead($PW), $s_EncryptPassword, $i_EncryptLevel)
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "ID", "REG_SZ", $cID)
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "PW", "REG_SZ", $cPW)
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "SROPfad", "REG_SZ", GUICtrlRead($SROPfad))
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "ECSRO", "REG_SZ", GUICtrlRead($ecsro))
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "Restart", "REG_SZ", GUICtrlRead($restart))
    EndFunc ;==>save
    Func load()
    $ID2 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "ID")
    $eID = _StringEncrypt(0, $ID2, $s_EncryptPassword, $i_EncryptLevel)
    $PW2 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "PW")
    $ePW = _StringEncrypt(0, $PW2, $s_EncryptPassword, $i_EncryptLevel)
    $1 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "SROPfad")
    $2 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "ECSRO")
    $3 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "Restart")
    GUICtrlSetData($ID, $eID)
    GUICtrlSetData($PW, $ePW)
    GUICtrlSetData($SROPfad, $1)
    GUICtrlSetState($ecsro, $2)
    GUICtrlSetState($restart, $3)
    EndFunc ;==>load
    Func bug()
    $oIE = _IECreate("http://www.silkroadonline.de/index.php?form=Mail&userID=25108")
    EndFunc ;==>bug
    Func hide()
    Select
    Case WinExists("SRO_Client") = 1
    $handle = WinGetHandle("[CLASS:CLIENT]")
    WinSetState($handle, "", @SW_HIDE)
    Case WinExists("SRO_Client") = 0
    MsgBox(64, "", "Kein Silkroad Fenster gefunden!", 2)
    EndSelect
    EndFunc ;==>hide
    Func show()
    $handle = WinGetHandle("[CLASS:CLIENT]")
    WinSetState($handle, "", @SW_SHOW)
    EndFunc ;==>show
    Func hilfe()
    Opt("GuiOnEventMode", 1)
    $secondwindow = _makeWindow("Hilfe", "Lies dir die Hilfe bitte sorgfältig durch", 430, 350, -1, -1, True, "", "", "", @TempDir)
    _GUIFadeIn("Hilfe", "1", "1", "255")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Optionenende")
    $optend = GUICtrlCreateButton("Hilfe schließen", 190, 300, 80, 30)
    GUICtrlSetOnEvent($optend, "Optionenende")
    GUICtrlSetBkColor(-1, 0x7D8078)
    GUICtrlCreateLabel("ID: Bitte gib dort die ID deines Chars ein", 120, 60, 250, 20)
    GUICtrlCreateLabel("PW: Bitte gib dort das Passwort deines Chars ein", 120, 80, 250, 20)
    GUICtrlCreateLabel("SROPfad: Bitte gib dort den Pfad zum SilkroadClienten ein " & @LF & "(mit silkroad.exe oder loader.exe)", 120, 98, 265, 50)
    GUICtrlCreateLabel("Langsamer PC: Das Tool wartet länger auf den Clienten", 120, 130, 250, 50)
    GUICtrlCreateLabel("Restart: Das Tool startet den Clienten bei einem DC (beim einloggen) neu und fängt von vorn an", 120, 150, 265, 50)
    GUICtrlCreateLabel("Hotkeys:", 120, 200, 250, 30)
    GUICtrlCreateLabel("STRG + ALT + D = Tool direkt schließen" & @LF & "Pause-Taste = Script Pausieren (um z.b. zu Chatten)" & @LF & "F1 = Ruft diese Hilfe auf" & @LF & "Ende-Taste = Stoppt die Eingabe der Enter-Taste im Clienten", 120, 220, 265, 65)
    GUISetState(@SW_SHOW)
    While 0
    Sleep(1000)
    WEnd
    EndFunc ;==>hilfe
    Func kill()
    ProcessClose("sro_client.exe")
    EndFunc ;==>kill
    #EndRegion ##Funktionen 1Seite##
    #Region ##Funktionen 2Seite##
    Func serversave()
    RegWrite("HKEY_CURRENT_USER\Software\Joymax\Silkroad", "RECENTSERVER", "REG_SZ", GUICtrlRead($server))
    EndFunc ;==>serversave
    Func ecsro()
    While WinExists("[CLASS:CLIENT]")
    Run("autopotion.exe")
    While ProcessExists("autopotion.exe")
    Sleep(100)
    WEnd
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    WEnd
    EndFunc ;==>ecsro
    #EndRegion ##Funktionen 2Seite##
    #Region ##Funktionen 3Seite##
    Func UPDATE()
    $oIE = _IECreate("http://semtexunion.se.funpic.de/wordpress/?p=6")
    EndFunc ;==>UPDATE
    Func FORUM()
    $oIE = _IECreate("www.silkroadonline.de")
    EndFunc ;==>FORUM
    Func JMHP()
    $oIE = _IECreate("www.silkroadonline.net")
    EndFunc ;==>JMHP
    Func JMBAN()
    $oIE = _IECreate("http://www.joymax.com/silkroad/Silkroad_Front.jmx?workURL=http://silkroadcp.joymax.com/notarget/punishment/punishment_list.asp?")
    EndFunc ;==>JMBAN
    #EndRegion ##Funktionen 3Seite##
    #Region ##Funktionen Allg.##
    Func beenden()
    _GUIFadeOut("Silkroad Starter", "25", "255", "0")
    Exit
    EndFunc ;==>beenden
    Func Optionenende()
    _GUIFadeOut("Hilfe", "15", "255", "0")
    GUIDelete("Hilfe")
    EndFunc ;==>Optionenende
    Func TogglePause()
    $Paused = Not $Paused
    While $Paused
    Sleep(1000)
    TrayTip("Pause", "Um weiterzumachen bitte wieder PAUSE drücken aber vorher den Clienten wieder in den Vordergrund holen", 1)
    WEnd
    TrayTip("", "", 2)
    EndFunc ;==>TogglePause
    Func _makeWindow($sWINDOW_TITLE, $MainSectionText, $iWINDOW_WIDTH, $iWINDOW_HEIGHT, $iWINDOW_X, $iWINDOW_Y, $iwinShow, $iWINDOW_STYLE, $iWINDOW_xSTYLE, $iParent, $iPath)
    If $iPath = "" Then $iPath = @ScriptDir
    If Not FileExists($iPath & '\hdr.bmp') Then
    SetError(1)
    Return -1
    EndIf
    If Not FileExists($iPath & '\cls.bmp') Then
    SetError(2)
    Return -1
    EndIf
    If Not FileExists($iPath & '\cnr.bmp') Then
    SetError(3)
    Return -1
    EndIf
    If $iParent <> "" And Not IsHWnd($iParent) Then
    SetError(4)
    Return -1
    EndIf
    If $iWINDOW_STYLE = "" Then $iWINDOW_STYLE = BitOR($WS_POPUP, $WS_SYSMENU, $WS_MINIMIZEBOX)
    If $iWINDOW_xSTYLE = "" Then $iWINDOW_xSTYLE = $WS_EX_LAYERED
    $lDiff = $iWINDOW_WIDTH / 4
    $mDiff = $iWINDOW_WIDTH - $lDiff
    $iWindowName = GUICreate($sWINDOW_TITLE, $iWINDOW_WIDTH, $iWINDOW_HEIGHT, $iWINDOW_X, $iWINDOW_Y, $iWINDOW_STYLE, $iWINDOW_xSTYLE, $iParent)
    If $iWindowName = 0 Then
    SetError(5)
    Return -1
    EndIf
    GUISetFont(8, 400, 0, 'Tahoma')
    GUISetBkColor(0x494E49)
    GUICtrlCreatePic('hdr.bmp', 0, 0, $iWINDOW_WIDTH - 16, 20, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic('hdr.bmp', $iWINDOW_WIDTH - 16, 0, 11, 5, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic('hdr.bmp', $iWINDOW_WIDTH - 16, 16, 11, 4, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic('hdr.bmp', $iWINDOW_WIDTH - 5, 0, 5, 20, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreateGraphic(0, 20, 1, $iWINDOW_HEIGHT)
    GUICtrlSetColor(-1, 0x686A65)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateGraphic($iWINDOW_WIDTH - 1, 20, 1, $iWINDOW_HEIGHT)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0x686A65)
    GUICtrlCreateGraphic(0, $iWINDOW_HEIGHT - 1, $iWINDOW_WIDTH, 1)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0x686A65)
    $oCLOSE = GUICtrlCreatePic('cls.bmp', $iWINDOW_WIDTH - 16, 5, 11, 11, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    $oLABELHEADER = GUICtrlCreateLabel($sWINDOW_TITLE, 6, 0, $iWINDOW_WIDTH - 22, 20, $SS_CENTERIMAGE)
    GUICtrlSetColor(-1, 0xD8DED3)
    GUICtrlSetBkColor(-1, 0x5A6A50)
    GUICtrlCreateGraphic(1, 20, $lDiff, $iWINDOW_HEIGHT - 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0x464646)
    GUICtrlSetBkColor(-1, 0x464646)
    GUICtrlCreateGraphic($lDiff + 2, 20, 1, $iWINDOW_HEIGHT - 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0x3D423D)
    GUICtrlCreateGraphic($lDiff + 1, 20, 1, $iWINDOW_HEIGHT - 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0x424742)
    GUICtrlCreateGraphic($lDiff, 20, 1, $iWINDOW_HEIGHT - 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0x454A45)
    $oLABELTOP = GUICtrlCreateLabel($MainSectionText, $lDiff + 20, 31, $mDiff - 40, 20, $SS_CENTERIMAGE)
    GUICtrlSetFont(-1, 8, 800, 0, 'Tahoma')
    GUICtrlSetColor(-1, 0xC4B550)
    GUICtrlCreateGraphic($lDiff + 10, 51, $mDiff - 20, 1)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetColor(-1, 0x636763)
    ;make this the last graphic drawn in the main graphics section
    GUICtrlCreateGraphic($lDiff + 10, 30, $mDiff - 20, $iWINDOW_HEIGHT - 40)
    GUICtrlSetColor(-1, 0x686A65)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreatePic('cnr.bmp', 0, 0, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic('cnr.bmp', $iWINDOW_WIDTH - 1, 0, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic('cnr.bmp', 0, $iWINDOW_HEIGHT - 1, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic('cnr.bmp', $iWINDOW_WIDTH - 1, $iWINDOW_HEIGHT - 1, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG)
    If $iwinShow = True Then
    GUISetState(@SW_SHOW)
    EndIf
    Local $rWindows[7] = [$iWindowName, $lDiff, $mDiff, $oLABELHEADER, $oLABELTOP, $oCLOSE, $iwinShow]
    Return $rWindows
    EndFunc ;==>_makeWindow
    #EndRegion ##Funktionen Allg.##

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    wie kann man denn falsch compilieren xD

    Einmal editiert, zuletzt von TheBigX (30. Juni 2009 um 15:54)

  • Es liegt am UPX Packer von Scite

    daher kommt die virusmeldung
    Ich habe auch schon nen externen Packer (nicht Ultimate Packer for eXecutables) benutzt aber das gleiche ergebnis.. o_O

    Einmal editiert, zuletzt von TheBigX (30. Juni 2009 um 19:12)

  • Ein großes Update des Tools

    [autoit]


    #RequireAdmin
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=D:\Games\Silkroad\Silkroad.ico
    #AutoIt3Wrapper_outfile=..\Exe\Silkroad Starter.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Res_Comment=-
    #AutoIt3Wrapper_Res_Description=TheBigX´s Tools
    #AutoIt3Wrapper_Res_Fileversion=4.0.7.9
    #AutoIt3Wrapper_Res_LegalCopyright=Freeware
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Run_AU3Check=n
    #AutoIt3Wrapper_Tidy_Stop_OnError=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #include <GuiButton.au3>
    #include <Misc.au3>
    #include <String.au3>
    #include <GuiFade.au3>
    #include <Constants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <ProgressConstants.au3>
    #include <ComboConstants.au3>
    #include <date.au3>
    #include <file.au3>
    #include <WinAPI.au3>
    #include <NomadMemory.au3>
    Func OnAutoItStart()
    If ProcessExists ("Silkroad Starter.exe") = 1 Then
    MsgBox (64, "Fehler!", "Silkroad Starter wird schon ausgeführt")
    EndIf
    FileDelete (@TempDir & "\connect.exe")
    EndFunc ;==>OnAutoItStart
    FileInstall ("F:\AutoIt\Selfcoded\quellcode\verschieben.exe", @ScriptDir & "\verschieben.exe", 1)
    FileInstall ("E:\Bilder - Photoshop\PSP\Effekte.jpg", @TempDir & "\Effekte.jpg", 1)
    AutoItSetOption ("TrayAutoPause", 0)
    ;~ Opt ("TrayIconDebug", 1)
    Opt ("TrayMenuMode", 1)
    Opt ("TrayOnEventMode", 1)
    Opt ("GuiOnEventMode", 1)
    Opt ("MouseCoordMode", 0)
    Opt ("MustDeclareVars", 0)
    Global $log
    Global $thisver = "4.0.7.8"
    Global $Paused
    Global $oCLOSE
    Global $tCur
    Global $base
    Global $memopen
    Global $PID
    ;~ Global Const $expmax[141] = ["118","470","1058","1880","2938","5640","9048","13160","17978","23500","34898","47940","62628","78960","96938","127840","161798","198810","238878","282000","351231","427755","512196","605232","707587","820046","943453","1078717","1226815","1388803","1595229","1818827","2060796","2322414","2605043","2910129","3239210","3593924","3976012","4387323","4869381","5382982","5929882","6511920","7131034","7789258","8488730","9231697","10020519","10857676","11857343","12913686","14029449","15207495","16450818","17762545","19145941","20604414","22141527","23760997","25933410","28214785","30609702","39747505","51493509","55474876","59648780","64023195","68606389","73406955","79345238","85573753","92104572","98950215","106123703","113638552","121508783","129748946","138374168","147400127","158227752","169572387","181455292","193898546","206925087","220558723","234824141","249746989","265353867","281672373","369337595","473538898","430636533","688586209","686078166","630281734","843249355","963955058","1322659532","1406035568","1507651756","1614099432","1725577160","1842290785","1964454143","2092289330","2226026602","2365904969","2512172674","2665087076","2850768781","3045192767","3248716461","3461711006","3684561209","3962623419","4254053422","4559402688","4879244274","5214172680","5651667517","6110719303","6592227598","7097126521","7626386625","8181014569","8762056543","9370597975","10007766416","10674731122","11839645448","13064847484","14352905686","15706489007","17128369152","21327974495","25764141377","30447283657","35388227098","40598223991","Nicht eingeloggt"]
    ;~ Global Const $baseadress = 0x00d79654
    ;~ Global $xpoff = 0x848
    ;~ Global $spoff = 0x858
    ;~ Global $lvloff = 0x840
    ;~ Global $expproz
    ;~ Global $lvl
    ;~ Global $lvlzahl
    $s_EncryptPassword = ""
    $i_EncryptLevel = 2
    SplashImageOn ("Test", @TempDir & "\Effekte.jpg", "134", "134", "-1", "-1", $DLG_NOTITLE)
    _GUIFadeIn ("Test", "15", "0", "255")
    Sleep (2000)
    _GUIFadeOut ("Test", "15", "255", "0")
    SplashOff()
    $tray1 = TrayCreateItem("Bugreport", -1, 0)
    $tray2 = TrayCreateItem("Hilfe", -1, 1)
    $tray3 = TrayCreateItem("Updates", -1, 1)
    $tray4 = TrayCreateItem("Ende", -1, 4)
    TraySetToolTip ("Das Silkroad Starter Tool by - TheBigX and U17R4")
    TrayTip ("-->Achtung!<--", "--> Guckt in die Hilfe! <--", 5000, 1)
    $Form1 = GUICreate("Silkroad Starter",800,500)
    $ID = GUICtrlCreateInput("", 15, 72, 121, 22)
    $PW = GUICtrlCreateInput("", 15, 104, 121, 22, 0x0020)
    $SROPfad = GUICtrlCreateInput("", 15, 136, 121, 22)
    $reg = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Joymax\Silkroad", "InstallPath")
    If $reg <> " " Then GUICtrlSetData($SROPfad, $reg)
    $Start = GUICtrlCreateButton("Starten", 225, 80, 99, 49,$BS_DEFPUSHBUTTON)
    $Bug = GUICtrlCreateButton("Bugreport", 216, 450, 99, 33, 0)
    $hide = GUICtrlCreateButton("Client Verstecken", 3, 470, 99, 25, 0)
    $show = GUICtrlCreateButton("Client Zeigen", 102, 470, 99, 25, 0)
    $silkexe = GUICtrlCreateButton("SROPfad suchen", 225, 136, 99, 25, 0)
    $save = GUICtrlCreateButton("save", 15, 30, 50, 25, 0)
    $load = GUICtrlCreateButton("load", 70, 30, 50, 25, 0)
    $kill = GUICtrlCreateButton("Client schliessen", 60, 445, 85, 25, 0)
    $sw = RegRead("HKEY_CURRENT_USER\Software\Joymax\Silkroad", "RECENTSERVER")
    $server = GUICtrlCreateInput($sw, 580, 62, 100, 18)
    $sws = GUICtrlCreateButton("Speichern", 683, 61, 60, 20)
    $liste = GUICtrlCreateCombo("", 578, 82, 121, 266, $WS_VSCROLL + $CBS_DROPDOWN)
    $slowpc = GUICtrlCreateCheckbox("", 15, 180, 15, 17)
    $ecsro = GUICtrlCreateCheckbox("", 15, 197, 15, 17)
    $restart = GUICtrlCreateCheckbox("Restart", 15, 215, 15, 15)
    $JMHP = GUICtrlCreateButton("Joymax Homepage", 570, 120, 123, 33, 0)
    $JMBAN = GUICtrlCreateButton("Joymax Banliste", 570, 153, 123, 33, 0)
    $FORUM = GUICtrlCreateButton("Silkroad Online Forum", 570, 186, 123, 33, 0)
    $UPDATE = GUICtrlCreateButton("Updates herunterladen", 570, 219, 123, 33, 0)
    $exit = GUICtrlCreateButton("Exit", 625, 455, 75, 25, 0)
    $hilfe = GUICtrlCreateButton("Hilfe", 700, 455, 75, 25, 0)
    $credits = GUICtrlCreateButton("Credits",480,455,75,25,0)
    $shortcut = GUICtrlCreateButton("Verknüpfung erstellen",365,455,110,25)
    $time = GUICtrlCreateLabel ("",738,35,42,12)
    GUICtrlSetColor (-1,0xFF0000)
    GUICtrlSetFont ($ID, 8, 400, 0, "Arial")
    GUICtrlSetFont ($PW, 8, 400, 0, "Arial")
    GUICtrlSetFont ($SROPfad, 8, 400, 0, "Arial")
    GUICtrlSetFont ($Start, 8, 400, 0, "Arial")
    GUICtrlSetFont ($Bug, 8, 400, 0, "Arial")
    GUICtrlSetFont ($silkexe, 8, 400, 0, "Arial")
    GUICtrlSetFont ($save, 8, 400, 0, "Arial")
    GUICtrlSetFont ($load, 8, 400, 0, "Arial")
    GUICtrlSetFont ($kill, 8, 400, 0, "Arial")
    GUICtrlSetData ($liste, "<<ECSRO>>|ECSRO|ECSRO [Fembria]|ECSRO [VIP]|<<ISRO>>|Aege|Alexander|Alps|Apollo (New)|Ares (New)|Athens|Babel|Eldorado|Eos (New)|Gaia (New)|Greece|Hera (New)|Hercules|Iris (New)|Mars|Mercury|Neptune|Oasis|Odin|Olympus|Pacific|Persia|Phoenix (New)|Pluto|Poseidon|RedSea|Rome|Saturn|Sparta|Tibet|Titan (New)|Troy|Uranus|Venice|Venus|Xian|Zeus",$sw)
    GUICtrlSetFont ($JMHP, 8, 400, 0, "Arial")
    GUICtrlSetFont ($JMBAN, 8, 400, 0, "Arial")
    GUICtrlSetFont ($FORUM, 8, 400, 0, "Arial")
    GUICtrlSetFont ($UPDATE, 8, 400, 0, "Arial")
    GUICtrlCreateGroup ("Account Daten", 5, 56, 195, 113)
    GUICtrlSetFont (-1, 8, 400, 0, "Arial")
    GUICtrlCreateLabel ("ECSRO Autopotter starten", 32, 199, 125, 47)
    GUICtrlCreateLabel ("Langsamer PC", 32, 182, 70, 17)
    GUICtrlCreateLabel ("Serverwahl", 520, 65, 52, 15)
    GUICtrlCreateLabel ("ID", 149, 75, 13, 18)
    GUICtrlSetFont (-1, 8, 400, 0, "Arial")
    GUICtrlCreateLabel ("PW", 149, 106, 20, 18)
    GUICtrlSetFont (-1, 8, 400, 0, "Arial")
    GUICtrlCreateLabel ("SROPfad", 149, 139, 48, 18)
    GUICtrlSetFont (-1, 8, 400, 0, "Arial")
    GUICtrlCreateLabel ("Restart", 32, 216, 50, 17)
    ;~ -------------------------------------------------------------------------------------------------------------
    GUICtrlSetOnEvent ($oCLOSE, "beenden")
    GUISetOnEvent ($GUI_EVENT_CLOSE, "beenden")
    TrayItemSetOnEvent ($tray1, "bug")
    TrayItemSetOnEvent ($tray2, "hilfe")
    TrayItemSetOnEvent ($tray3, "UPDATE")
    TrayItemSetOnEvent ($tray4, "beenden")
    GUICtrlSetOnEvent ($Start, "Start")
    GUICtrlSetOnEvent ($Bug, "bug")
    GUICtrlSetOnEvent ($hide, "hide")
    GUICtrlSetOnEvent ($show, "show")
    GUICtrlSetOnEvent ($save, "save")
    GUICtrlSetOnEvent ($load, "load")
    GUICtrlSetOnEvent ($silkexe, "srofolder")
    GUICtrlSetOnEvent ($kill, "kill")
    GUICtrlSetOnEvent ($sws, "serversave")
    GUICtrlSetOnEvent ($ecsro, "ecsro")
    GUICtrlSetOnEvent ($JMHP, "JMHP")
    GUICtrlSetOnEvent ($JMBAN, "JMBAN")
    GUICtrlSetOnEvent ($FORUM, "FORUM")
    GUICtrlSetOnEvent ($UPDATE, "UPDATE")
    GUICtrlSetOnEvent ($exit, "beenden")
    GUICtrlSetOnEvent ($hilfe, "hilfe")
    GUICtrlSetOnEvent ($shortcut,"verkn")
    GUICtrlSetOnEvent ($liste,"serveractual")
    GUICtrlSetTip ($credits,"Coder: TheBigX aká Devil"&@LF&"Für die gute Unterstützung meinen Dank an:"&@LF&" U17R4"&@LF&" Coded für das Silkroadonline.de Forum","Credits!",1,1)
    GUICtrlSetTip ($UPDATE,"Läd das Aktuellste Update herunter","",1,1)
    GUICtrlSetTip ($SROPfad,"Gibt bitte hier deinen Silkroad Pfad an (zb. C:\Programme\Silkroad\Silkroad.exe)","",1,1)
    GUICtrlSetTip ($sws,"Speichert den von dir eingegebenen Servernamen","",1,1)
    ;~ -------------------------------------------------------------------------------------------------------------
    InetGet("http://semtexunion.se.funpic.de/srostart/actualver.exe", @TempDir & "\actualver.exe")
    If FileGetVersion(@TempDir & "\actualver.exe", "FileVersion") <> $thisver Then GUICtrlCreateLabel ("Aktuellere Version gefunden!"&@LF&"Bitte Starte das Update",570,270,150,50)
    GUISetState(@SW_SHOW)
    HotKeySet("!^d", "beenden")
    HotKeySet("{PAUSE}", "TogglePause")
    ;~ $expproz = GUICtrlCreateEdit ("",15,10,50,20,$ES_READONLY)
    ;~ $spproz = GUICtrlCreateEdit ("",65,10,120,20,$ES_READONLY + $ES_CENTER)
    ;~ $lvlproz = GUICtrlCreateEdit ("",185,10,54,20,$ES_READONLY + $ES_CENTER)

    [/autoit][autoit][/autoit][autoit]

    ;-----------------<<>>-------------<<>>-----------------<<>>------------------<<>>------------<<>>----------<<>>--------------
    While 1
    GUICtrlSetData ($time,_NowTime())
    ;~ If ProcessExists ("sro_client.exe") Then
    ;~ If $PID = "" Then
    ;~ $PID = ProcessExists ("sro_client.exe")
    ;~ $memopen = _MemoryOpen($PID)
    ;~ $base = _Memoryread($baseadress,$memopen)
    ;~ Else
    ;~ EndIf
    ;~ $lvl = _Memoryread($base+$lvloff,$memopen,"byte")
    ;~ IF IsNumber($lvl) = 1 Then
    ;~ Select
    ;~ Case $lvl > 100
    ;~ $lvl = 1
    ;~ Case $lvl < 1
    ;~ $lvl = 1
    ;~ EndSelect
    ;~ $exp = $expmax[$lvl-1]
    ;~ $xp = _Memoryread($base+$xpoff,$memopen)
    ;~ $sp = _Memoryread($base+$spoff,$memopen)
    ;~ GUICtrlSetData ($expproz,Round(($xp / $exp * 100),2)&" %")
    ;~ GUICtrlSetData ($spproz,$sp&" SP")
    ;~ GUICtrlSetData ($lvlproz,"Lv "&$lvl)
    ;~ Else
    ;~ GUICtrlSetData ($expproz,"Bitte")
    ;~ GUICtrlSetData ($spproz,"starten sie das")
    ;~ GUICtrlSetData ($lvlproz,"Update")
    ;~ EndIf
    ;~ Else
    ;~ EndIf
    Sleep(1000)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Form1
    EndSwitch
    WEnd
    ;-----------------<<>>-------------<<>>-----------------<<>>------------------<<>>------------<<>>----------<<>>--------------
    Func srofolder()
    $SROregPfad = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Joymax\Silkroad", "InstallPath")
    If @error Then
    $actualsropath = FileSelectFolder("Wähle den Ordner aus in dem Silkroad installiert ist:", @HomePath, 0)
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Joymax\Silkroad", "InstallPath", "Reg_SZ", $actualsropath)
    If @error Then
    GUICtrlSetData($SROPfad, "Silkroad not found.")
    Else
    GUICtrlSetData($SROPfad, $actualsropath)
    EndIf
    Else
    GUICtrlSetData($SROPfad, $SROregPfad)
    EndIf
    EndFunc ;==>srofolder
    Func Start()
    connect()
    TrayTip("Wichtig!", "Damit die Automatische eingabe der ENTER taste / Automatischer Restart vom Clienten endet drücke bitte die ENDE taste nach der Dateneingabe im Clienten", 5)
    Run(GUICtrlRead($SROPfad))
    Sleep(2000)
    If WinExists("Silkroad Online Launcher") Then
    Sleep(8000)
    ControlClick("Silkroad Online Launcher", "", "[CLASS:Button; INSTANCE:1]")
    EndIf
    ProcessWait("sro_client.exe")
    $handle = WinGetHandle("SRO_Client")
    WinSetState("SRO_Client", "", @SW_MAXIMIZE)
    Select
    Case _GUICtrlButton_GetCheck($slowpc) = 1
    Sleep(20000)
    Case _GUICtrlButton_GetCheck($slowpc) <> 1
    Sleep(10000)
    EndSelect
    Send("{TAB}{TAB}")
    Sleep(250)
    ControlSend($handle, "", "", GUICtrlRead($ID))
    ControlSend($handle, "", "", "{TAB}")
    Sleep(200)
    ControlSend($handle, "", "", GUICtrlRead($PW))
    $dll = DllOpen("user32.dll")
    ;~ SPEXP()
    Sleep (1000)
    Send("{ENTER}")
    Sleep(700)
    While 1
    GUICtrlSetData ($time,_NowTime())
    If _IsPressed("23", $dll) Then ExitLoop
    If Not WinExists("SRO_Client") Then
    TrayTip("Achtung", "DC / Clientfehler festgestellt! Restart...", 3)
    Select
    Case _GUICtrlButton_GetCheck($restart) = 1
    If Not WinExists("SRO_Client") Then
    Sleep(1000)
    WinActivate("Silkroad Starter")
    Call("Start")
    EndIf
    Case _GUICtrlButton_GetCheck($restart) <> 1
    ExitLoop
    EndSelect
    ExitLoop
    EndIf
    WEnd
    DllClose($dll)
    Sleep(1000)
    EndFunc ;==>Start
    Func save()
    $cID = _StringEncrypt(1, GUICtrlRead($ID), $s_EncryptPassword, $i_EncryptLevel)
    $cPW = _StringEncrypt(1, GUICtrlRead($PW), $s_EncryptPassword, $i_EncryptLevel)
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "ID", "REG_SZ", $cID)
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "PW", "REG_SZ", $cPW)
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "SROPfad", "REG_SZ", GUICtrlRead($SROPfad))
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "ECSRO", "REG_SZ", GUICtrlRead($ecsro))
    RegWrite("HKEY_CURRENT_USER\Software\TheBigX", "Restart", "REG_SZ", GUICtrlRead($restart))
    GUICtrlCreateLabel ("Erfolgreich!"&@LF&"Accountdaten Verschlüsselt und gespeichert!",570,270,150,50)
    sleep (2000)
    GUICtrlCreateLabel (""&@LF&"",570,270,150,50)
    EndFunc ;==>save
    Func load()
    $ID2 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "ID")
    $eID = _StringEncrypt(0, $ID2, $s_EncryptPassword, $i_EncryptLevel)
    $PW2 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "PW")
    $ePW = _StringEncrypt(0, $PW2, $s_EncryptPassword, $i_EncryptLevel)
    $1 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "SROPfad")
    $2 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "ECSRO")
    $3 = RegRead("HKEY_CURRENT_USER\Software\TheBigX", "Restart")
    GUICtrlSetData($ID, $eID)
    GUICtrlSetData($PW, $ePW)
    GUICtrlSetData($SROPfad, $1)
    GUICtrlSetState($ecsro, $2)
    GUICtrlSetState($restart, $3)
    GUICtrlCreateLabel ("Erfolgreich!"&@LF&"Accountdaten Entschlüsselt und gesetzt!",570,270,150,50)
    Sleep (2000)
    GUICtrlCreateLabel (""&@LF&"",570,270,150,50)
    EndFunc ;==>load
    Func bug()
    _FileCreate (@DesktopDir &"\Bugreport.tracker")
    _FileWriteToLine (@DesktopDir &"\Bugreport.tracker",1,@CPUArch & " CPU VER.")
    _FileWriteToLine (@DesktopDir &"\Bugreport.tracker",2,@DesktopHeight &"><"& @DesktopWidth &"><"& " Desktop Auflösung")
    _FileWriteToLine (@DesktopDir &"\Bugreport.tracker",3,@OSArch &"><"& @OSBuild &"><"& @OSLang &"><"& @OSServicePack &"><"& @OSType &"><"& " OS DATEN")
    _FileWriteToLine (@DesktopDir &"\Bugreport.tracker",4,$thisver& " Version")
    _FileWriteToLine (@DesktopDir &"\Bugreport.tracker",5,RegRead("HKEY_CURRENT_USER\Software\TheBigX","Gui")&" Gui-Nummer")
    _FileWriteToLine (@DesktopDir &"\Bugreport.tracker",6,GUICtrlRead($ID) & " Name")
    MsgBox (48,"Bugreport","Bitte schicke mir die Bugreport.report datei die nun auf deinem Desktop ist zu mir.")
    $oIE = _IECreate("http://www.silkroadonline.de/index.php?form=Mail&userID=25108")
    EndFunc ;==>bug
    Func hide()
    Select
    Case WinExists("SRO_Client") = 1
    $handle = WinGetHandle("[CLASS:CLIENT]")
    WinSetState($handle, "", @SW_HIDE)
    Case WinExists("SRO_Client") = 0
    MsgBox(64, "", "Kein Silkroad Fenster gefunden!", 2)
    EndSelect
    EndFunc ;==>hide
    Func show()
    $handle = WinGetHandle("[CLASS:CLIENT]")
    WinSetState($handle, "", @SW_SHOW)
    EndFunc ;==>show
    Func hilfe()
    Opt("GuiOnEventMode", 1)
    $secondwindow = GUICreate ("Hilfe",430, 350)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Optionenende")
    $optend = GUICtrlCreateButton("Hilfe schließen", 190, 300, 80, 30)
    GUICtrlSetOnEvent($optend, "Optionenende")
    GUICtrlCreateLabel("ID: Bitte gib dort die ID deines Chars ein", 120, 60, 250, 20)
    GUICtrlCreateLabel("PW: Bitte gib dort das Passwort deines Chars ein", 120, 80, 250, 20)
    GUICtrlCreateLabel("SROPfad: Bitte gib dort den Pfad zum SilkroadClienten ein " & @LF & "(mit silkroad.exe oder loader.exe)", 120, 98, 265, 50)
    GUICtrlCreateLabel("Langsamer PC: Das Tool wartet länger auf den Clienten", 120, 140, 250, 50)
    GUICtrlCreateLabel("Restart: Das Tool startet den Clienten bei einem DC (beim einloggen) neu und fängt von vorn an", 120, 170, 265, 50)
    GUICtrlCreateLabel("Hotkeys:", 120, 200, 250, 30)
    GUICtrlCreateLabel("STRG + ALT + D = Tool direkt schließen" & @LF & "Pause-Taste = Script Pausieren (um z.b. zu Chatten)" & @LF &"Ende-Taste = Stoppt die Eingabe der Enter-Taste im Clienten", 120, 220, 265, 65)
    GUISetState(@SW_SHOW)
    While 0
    Sleep(1000)
    WEnd
    EndFunc ;==>hilfe
    Func kill()
    ProcessClose("sro_client.exe")
    EndFunc ;==>kill
    Func serversave()
    RegWrite("HKEY_CURRENT_USER\Software\Joymax\Silkroad", "RECENTSERVER", "REG_SZ", GUICtrlRead($server))
    EndFunc ;==>serversave
    Func ecsro()
    While WinExists("[CLASS:CLIENT]")
    Run("autopotion.exe")
    While ProcessExists("autopotion.exe")
    Sleep(100)
    WEnd
    ExitLoop
    WEnd
    EndFunc ;==>ecsro
    Func UPDATE()
    $Progress1 = GUICtrlCreateProgress(572, 255, 120, 15, $PBS_SMOOTH)
    InetGet("http://semtexunion.se.funpic.de/srostart/actualver.exe", @TempDir & "\actualver.exe")
    GUICtrlSetData ($Progress1,5)
    If FileGetVersion(@TempDir & "\actualver.exe", "FileVersion") <> $thisver Then
    GUICtrlSetData ($Progress1,25)
    sleep (1000)
    GUICtrlSetData ($Progress1,75)
    sleep (1000)
    InetGet("http://semtexunion.se.funpic.de/srostart/Silkroad Starter.exe", @TempDir & "\Silkroad Starter.exe")
    GUICtrlCreateLabel ("Download abgeschlossen!"&@LF&"Starte Update!",570,270,150,50)
    GUICtrlSetData ($Progress1,100)
    sleep (2500)
    Run("verschieben.exe")
    Exit
    ElseIf FileGetVersion(@TempDir & "\actualver.exe", "FileVersion") = $thisver Then
    GUICtrlSetData ($Progress1,100)
    GUICtrlCreateLabel ("Kein Update nötig!"&@LF&"Du hast bereits die Aktuellste Version!",570,270,150,50)
    Sleep (2000)
    GUICtrlCreateLabel (""&@LF&"",570,270,150,50)
    GUICtrlDelete ($Progress1)
    EndIf
    EndFunc ;==>UPDATE
    Func FORUM()
    $oIE = _IECreate("www.silkroadonline.de")
    EndFunc ;==>FORUM
    Func JMHP()
    $oIE = _IECreate("www.silkroadonline.net")
    EndFunc ;==>JMHP
    Func JMBAN()
    $oIE = _IECreate("http://www.joymax.com/silkroad/Silkroad_Front.jmx?workURL=http://silkroadcp.joymax.com/notarget/punishment/punishment_list.asp?")
    EndFunc ;==>JMBAN
    Func beenden()
    _GUIFadeOut("Silkroad Starter", "25", "255", "0")
    Exit
    EndFunc ;==>beenden
    Func Optionenende()
    _GUIFadeOut("Hilfe", "15", "255", "0")
    GUIDelete("Hilfe")
    EndFunc ;==>Optionenende
    Func TogglePause()
    $Paused = Not $Paused
    While $Paused
    Sleep(1000)
    TrayTip("Pause", "Um weiterzumachen bitte wieder PAUSE drücken aber vorher den Clienten wieder in den Vordergrund holen", 1)
    WEnd
    TrayTip("", "", 2)
    EndFunc ;==>TogglePause
    Func connect()
    $address01 = "gwgt1.joymax.com"
    $address02 = "gwgt2.joymax.com"
    $address03 = "gwgt3.joymax.com"
    $address04 = "gwgt4.joymax.com"
    $port = 15779
    TCPStartup()
    $address1 = getserverip($address01)
    $address2 = getserverip($address02)
    $address3 = getserverip($address03)
    $address4 = getserverip($address04)
    If $address1 <> "" Then
    ConsoleWrite("Connecting to " & $address1 & " port " & $port & "..." & @CRLF)
    $socket1 = connecttoserver($address1, $port)
    If @error Then
    ConsoleWriteError("Connection failed.")
    Else
    ConsoleWrite("Connection OK.")
    EndIf
    Else
    ConsoleWriteError("Error, no IP was found for " & $address01 & ".")
    $socket1 = -1
    EndIf
    If $address2 <> "" Then
    ConsoleWrite("Connecting to " & $address2 & " port " & $port & "..." & @CRLF)
    $socket2 = connecttoserver($address2, $port)
    If @error Then
    ConsoleWriteError("Connection failed.")
    Else
    ConsoleWrite("Connection OK.")
    EndIf
    Else
    ConsoleWriteError("Error, no IP was found for " & $address02 & ".")
    $socket2 = -1
    EndIf
    If $address3 <> "" Then
    ConsoleWrite("Connecting to " & $address3 & " port " & $port & "..." & @CRLF)
    $socket3 = connecttoserver($address3, $port)
    If @error Then
    ConsoleWriteError("Connection failed.")
    Else
    ConsoleWrite("Connection OK.")
    EndIf
    Else
    ConsoleWriteError("Error, no IP was found for " & $address03 & ".")
    $socket3 = -1
    EndIf
    If $address4 <> "" Then
    ConsoleWrite("Connecting to " & $address4 & " port " & $port & "..." & @CRLF)
    $socket4 = connecttoserver($address4, $port)
    If @error Then
    ConsoleWriteError("Connection failed.")
    Else
    ConsoleWrite("Connection OK.")
    EndIf
    Else
    ConsoleWriteError("Error, no IP was found for " & $address04 & ".")
    $socket4 = -1
    EndIf
    If $socket1 <> -1 Or $socket2 <> -1 Or $socket3 <> -1 Or $socket4 <> -1 Then
    ConsoleWrite("Connection to server(s) established!")
    Else
    ConsoleWriteError("Error, could not connect to any server.")
    EndIf
    EndFunc
    Func getserverip($address)
    $i = 0
    Do
    $i += 1
    $qaddress = TCPNameToIP($address)
    If $qaddress = "" Then ConsoleWriteError("Error, could not get the IP. (failed " & $i & "/3)" & @CRLF)
    Until $qaddress <> "" Or $i = 3
    If $qaddress = "" Then SetError(1)
    Return $qaddress
    EndFunc
    Func connecttoserver($address, $port)
    $i = 0
    Do
    $i += 1
    $socket = TCPConnect($address, $port)
    If $socket = -1 Then ConsoleWriteError("Error, could not connect to server. (failed " & $i & "/3)" & @CRLF)
    Until $socket <> -1 Or $i = 3
    If $socket = -1 Then SetError(1)
    Return $socket
    EndFunc
    Func verkn()
    FileCreateShortcut (@ScriptDir & "\Silkroad Starter.exe","Silkroad Starter.lnk",@ScriptDir)
    FileMove (@ScriptDir & "\Silkroad Starter.lnk",@DesktopDir,1)
    GUICtrlCreateLabel ("Verknüpfung erstellt!"&@LF&"",570,270,150,50)
    Sleep (1500)
    GUICtrlCreateLabel (""&@LF&"",570,270,150,50)
    EndFunc
    Func serveractual()
    GUICtrlSetData ($server,GuiCtrlRead($liste),"")
    serversave()
    EndFunc
    ;~ Func SPEXP()
    ;~ $PID = ProcessExists ("sro_client.exe")
    ;~ $memopen = _MemoryOpen($PID)
    ;~ $base = _Memoryread($baseadress,$memopen)
    ;~ EndFunc

    [/autoit]

    Verwendete UDFs