PiroX's AntiAFK Bot Decompiled Source. menu

User Tag List

Results 1 to 10 of 10
  1. #1
    bind's Avatar Contributor
    Reputation
    85
    Join Date
    Jan 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    PiroX's AntiAFK Bot Decompiled Source.

    As always, the source speaks for itself.

    http://www.mediafire.com/?dzygugzjymm

    Enjoy.

    PiroX's AntiAFK Bot Decompiled Source.
  2. #2
    Flying Piggy's Avatar Banned
    Reputation
    1169
    Join Date
    Jan 2007
    Posts
    2,286
    Thanks G/R
    0/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    WTF ? why internet explorer ?
    Why for a bot ?

  3. #3
    bind's Avatar Contributor
    Reputation
    85
    Join Date
    Jan 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    If $msg = $pirox then $oIE = _IECreate ("www.pirox.de") it's harmless.

    From what I can see so far, the source is also harmless.

    He uses the PX.dll for screencapture (screenshots) and no where else in the source so that also appears harmless.
    DllCall("PX.dll", "int", "CaptureScreen", "str", "Screenshots/screen-"& $time &".jpg", "int", 85)
    Last edited by bind; 03-28-2007 at 06:49 PM.

  4. #4
    Flying Piggy's Avatar Banned
    Reputation
    1169
    Join Date
    Jan 2007
    Posts
    2,286
    Thanks G/R
    0/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    EDIT : Hooray to Autoit for confusing the cr*p out of me .
    Last edited by Flying Piggy; 03-28-2007 at 06:58 PM.

  5. #5
    bind's Avatar Contributor
    Reputation
    85
    Join Date
    Jan 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    Here's a shortened down working version of the script without all of the include source.

    Is the code safe? For the time being I'd say yes. This is NOT a Virus / Trojan / Keystealer or PW Stealer.
    I haven't looked at the Pirox Warcraft Addon yet or dissassembeled the PX.DLL but I'd say they are both safe also.

    Still as always guys, use these scripts with caution.

    Code:
    ; <AUT2EXE VERSION: 3.2.0.1>
    
    ; ----------------------------------------------------------------------------
    ; <AUT2EXE INCLUDE-START: C:\Dokumente und Einstellungen\IroX\Desktop\PiroX B0t\pirox.au3>
    ; ----------------------------------------------------------------------------
    
    ;#########################################################################
    ;                        AntiÄFK by PiroX
    ;                          Version 6.0
    ;                          www.pirox.de
    ;#########################################################################
    ; ALT + Pause/Break to terminate script, Pause/Break to "pause"
    ;#########################################################################
    ; Benötigte WoW Addons:
    ; - PiroX v2.0 ( /pirox )
    ;
    ;###############################
    ;-- Vars --
    ;###############################
    HotKeySet("{PAUSE}", "request_pause")
    HotKeySet("!{PAUSE}", "request_end")
    
    Dim $version="6.0"
    Dim $title = "PiroX AntiÄFK B0t"
    Dim $title2
    
    Dim $win_title = "WORLD OF WARCRAFT"
    Dim $win_title2 = "World of Warcraft"
    
    #include <IE.au3>
    #include <Misc.au3>
    #include <GuiConstants.au3>
    
    Dim $dll = DllOpen("user32.dll")
    
    ;############
    ;-- Vars --
    ;############
    
    Dim $paused = 0
    Dim $sek = 240            ;Sekundenzähler
    Dim $sekleft = 0
    Dim $max = 240
    Dim $key = "kpulcomn"    ;verfügbaren Tasten
    Dim $a = 0
    Dim $pos[4]
    Dim $screenshot = 0
    
    Dim $abc= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    
    dim $fraktion
    Dim $firstrun = 0
    Dim $npc2use
    dim $bg
    dim $bg_city
    dim $meldAn = 0
    
    Dim $coord_check_bg[2]
    
    Dim $mid[3]            ;Koords mitte des WoW Fensters
    Dim $bgActiv = 0
    Dim $bgCounter = 0
    Dim $waiting = 220
    Dim $youAreDeadTimer = 0
    Dim $avTunnelDone = 0
    Dim $moveAfterPort = 1
    Dim $blockSendTimer = 0
    Dim $blockSendOn = 0
    Dim $blockWhisperTimer = 0
    Dim $blockWhisperOn = 0
    Dim $logFiles=0
    Dim $open
    Dim $lang
    
    Dim $modusRun
    Dim $randomTitle
    Dim $whisperSound
    Dim $langCombo
    Dim $wScreenshotBox
    Dim $tooltipBox
    Dim $pic_ball
    Dim $pic_radar
    Dim $pic_chat
    Dim $button_save_settings
    
    Dim $posc[4]
    Dim $msg
    Dim $oIE
    
    Dim $npc[4][8]        ;[0][0]=av og
    ;Horde
    ;AV
    
    
    
    
    ;############
    
        ;standard farben
        Dim $S_color_blau = "0x0000E1"
        Dim $S_color_gelb = "0xEFEB00"
        Dim $S_color_grau = "0xEFEBEF"
        Dim $S_color_gm_whisper = "0xEF00EF"
        Dim $S_color_w = "0xBE61BF"
        Dim $S_color_npc = "0x00FF00"
        Dim $S_color_npc_neutral = "0xFFFF00"
    
    ;################
    ; pirox.ini VARS
    ;################
        Dim $key_port
        Dim $key_cat
        Dim $key_stealth
        Dim $key_buff
        Dim $gmWhisperAction
        Dim $playerWhisperAction
        Dim $gmWhisperSoundDur
        Dim $whisperSoundOn
        Dim $whisper_l
        Dim $whisper_t
        Dim $whisper_r
        Dim $whisper_b
        Dim $blockWhisperTime
        Dim $ball_x
        Dim $ball_y
        Dim $radar_x
        Dim $radar_y
        Dim $modusRunOn
        Dim $randomTitleOn
        Dim $lang
        Dim $tooltip
        Dim $wScreenshot
    
        Dim $color_blau
        Dim $color_gelb
        Dim $color_grau
        Dim $color_gm_whisper
        Dim $color_w
        Dim $color_npc
        Dim $color_npc_neutral
    
    
        Dim $msgOnWhisper[5]
        Dim $msgGmOnWhisper[5]
        Dim $msgOnWhisperCtr
        Dim $msgGmOnWhisperCtr
    
        Dim $gmWhisperActionListReal
        Dim $playerWhisperActionListReal
    
    ;#################
    
    ;##################
    ; Set WoW Window
    ;##################
    If Not WinExists($win_title, "") Then
        If WinExists($win_title2, "") Then
            $win_title = $win_title2
        Else
            If MsgBox(52, $title, $win_title & " has to be running!" & @CRLF & @CRLF &"Continue ?") = 7 then Exit
        EndIf
    EndIf
    
    If WinExists($win_title) then $pos = WinGetPos ($win_title)
    
    #cs
    WinActivate($win_title)
    MouseMove(round($pos[2]/2-$pos[2]*0.003,0),round($pos[3]/2+$pos[3]*0.008,0),5)
    while not _IsPressed("20",$dll)
        sleep(100)
    WEnd
    #ce
    ;### GUI Vars ###
    ;################
    
    $font="Verdana"
    
    global $posGUIcache[4]
    global $posGUI = WinGetPos($title)
    global $posPic, $pic1, $pic2, $pic3
    
    dim $label_bg_print
    dim $title_handle
    
    
    
    load_piroxini()
    
    ;#### Zahlen zu text #######
        If $playerWhisperAction = 0 Then $playerWhisperActionList = "a.Nothing"
        If $playerWhisperAction = 1 Then $playerWhisperActionList = "b.Send Msg"
        If $playerWhisperAction = 2 Then $playerWhisperActionList = "c.Close WoW"
    
        If $gmWhisperAction = 0 Then $gmWhisperActionList = "a.Nothing"
        If $gmWhisperAction = 1 Then $gmWhisperActionList = "b.Close WoW+Msg"
        If $gmWhisperAction = 2 Then $gmWhisperActionList = "c.Shutdown PC"
    ;####
    
    
    
    
    If $randomTitleOn = 1 then
        $a = random(5,13,1)
        $title = ""
        $version = ""
        while $a
            $title = $title & "" &StringMid($abc, random(0,51), 1)
            $a -= 1
        WEnd
    EndIf
    
    create_gui()
    
    
    Func create_gui()
        load_piroxini()
    
        $fraktion = -1
        $firstrun = 0
        $bg = -1
        $bg_city = -1
        $meldAn = 0
        $bgActiv = 0
        $waiting = 220
        $youAreDeadTimer = 0
        $avTunnelDone = 0
        $moveAfterPort = 1
        $blockSendTimer = 0
        $blockSendOn = 0
        $blockWhisperTimer = 0
        $blockWhisperOn = 0
        $label_bg_print = 0
    
    
    ; GUI
    If $randomTitleOn = 1 then
        $title2 = $title
    else
        $title2 = $title &" v" & $version
    EndIf
    
    $title_handle = GuiCreate($title2, 315, 350)
    GuiSetIcon("http://www.mmowned.com/forums/images/px.ico", 0)
    
    
    ; TAB
    GuiCtrlCreateTab(-1, 1, 338, 400)
    
    
    ;### TAB 1 ####
    GuiCtrlCreateTabItem("Main")
    
    
    GUICtrlCreateGroup("Battleground", 8, 32, 114, 73)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $bgList = GuiCtrlCreateList("", 10, 49, 110, 80)
    GuiCtrlSetData(-1, "Alteractal|Warsong|Arathibecken|Auge des Sturms", "")
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    
    GUICtrlCreateGroup("City:", 128, 32, 101, 109)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $cityList = GuiCtrlCreateList("", 130, 49, 97, 105)
    GuiCtrlSetData(-1, "h.Orgrimmar|h.Thunderbluff|h.Undercity|n.Shattrath|a.Stormwind|a.Ironforge|a.Darnassus", "")
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    
    GUICtrlCreateGroup("Fraction", 8, 112, 114, 49)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $fraktionList = GuiCtrlCreateList("", 10, 129, 110, 40)
    GuiCtrlSetData(-1, "Horde|Alliance", "")
    GUICtrlSetFont (-1,8, 400, 0, $font)
    ;GUICtrlSetBkColor (-1, 0xEF00EF)
    
    $label_bg = GuiCtrlCreateLabel("Mode1:"& @CRLF &"Choose battleground, city and fraction!", 130, 143, 180, 22)
    GUICtrlSetFont (-1,7, 800, 0, "Arial")
    GUICtrlSetColor ( -1,0xFF0000)
    
    
    ;$langCombo = GUICtrlCreateCombo ("", 130,145,100,20) ; create first item
    ;GUICtrlSetData(-1,"Horde|Alliance","Fraktion")
    ;GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GUICtrlCreateGroup("Info (Mode1 only!)", 8, 170, 165, 121)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $label_info = GuiCtrlCreateLabel(" - Window Mode ON!" & @CRLF & _
                    " - load PiroXs Bot WoW Addon!" & @CRLF & @CRLF & _
                    " PiroX Addon:" & @CRLF & _
                    "   /pirox  <<  Status" & @CRLF & _
                    "   /pirox help  <<  command list" & @CRLF & _
                    "   /pirox on/off  <<  Ball on/off", 12, 187, 160, 160)
    GUICtrlSetFont (-1,7, 400, 0, "Arial")
    ;GUICtrlSetColor ( -1,0x3333)
    
    
    
    GUICtrlCreateGroup("Mode1 (pro)", 180, 170, 125, 55)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $label_modus = GuiCtrlCreateLabel("- Autosignup BG" & @CRLF & _
                    "- Check Whispers" & @CRLF & _
                    "- WoW is set on top!", 186, 185, 100, 50)
    GUICtrlSetFont (-1,7, 400, 0, "Arial")
    ;GUICtrlSetColor ( -1,0x666666)
    
    GUICtrlCreateGroup("Mode2 (light)", 180, 230, 125, 62)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $label_modus = GuiCtrlCreateLabel("- Only antiAFK" & @CRLF & _
                    "- WoW can be minimized!" & @CRLF & _
                    "  You can play another" & @CRLF & _
                    "  game at the same time :)", 186, 242, 120, 50)
    GUICtrlSetFont (-1,7, 400, 0, "Arial")
    ;GUICtrlSetColor ( -1,0x666666)
    
    
    GUICtrlCreateGroup("Keys", 8, 295, 247, 46)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $label_keys = GuiCtrlCreateLabel(" [PAUSE]  -  to pause bot" & @CRLF & _
                    " [ALT]+[PAUSE]  -  to exit bot", 12, 309, 260, 40)
    GUICtrlSetFont (-1,7, 400, 0, "Arial")
    ;GUICtrlSetColor ( -1,0x666666)
    
    
    If FileExists("Images/pirox.jpg") then $pirox = GuiCtrlCreatePic("Images/pirox.jpg",260,297,50,50)
    
    
    
    $button_modus1 = GuiCtrlCreateButton("Mode 1", 234, 40, 77, 30)
    $button_modus2 = GuiCtrlCreateButton("Mode 2", 234, 70, 77, 30)
    $button_save_settings = GuiCtrlCreateButton("Save settings", 234, 100, 77, 20)
    $button_help = GuiCtrlCreateButton("Help", 234, 120, 77, 20)
    
    
    
    
    
    ;### TAB 2 ####
    GuiCtrlCreateTabItem("Options")
    
    
    GUICtrlCreateGroup("Keys:", 8, 32, 120, 90)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("AV trinket Port:", 18, 49, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $key_port = GuiCtrlCreateInput($key_port, 106, 46, 15, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Catform: ", 53, 67, 80, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $key_cat = GuiCtrlCreateInput($key_cat, 106, 64, 15, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Stealth: ", 59, 85, 48, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $key_stealth = GuiCtrlCreateInput($key_stealth, 106, 82, 15, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Buff/Erdschild: ", 23, 102, 80, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $key_buff = GuiCtrlCreateInput($key_buff, 106, 100, 15, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    
    
    GUICtrlCreateGroup("Other:", 135, 32, 172, 90)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    $tooltipBox = GUICtrlCreateCheckbox("Enable Tooltip", 141, 49, 110, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    If $tooltip = 0 then GuiCtrlSetState(-1, 4)
    If $tooltip = 1 then GuiCtrlSetState(-1, 1)
    
    $wScreenshotBox = GUICtrlCreateCheckbox("Take Screen on Whisper", 141, 66, 155, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    ;GuiCtrlSetState(-1, $wScreenshot)
    If $wScreenshot= 0 then GuiCtrlSetState(-1, 4)
    If $wScreenshot= 1 then GuiCtrlSetState(-1, 1)
    
    
    GuiCtrlCreateLabel("In-game language:", 141, 91, 147, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $langCombo = GUICtrlCreateCombo ("", 252,88,50,20) ; create first item
    GUICtrlSetData(-1,"eng|de",$lang)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    
    
    GUICtrlCreateGroup("Farben (no changes needed):", 8, 130, 230, 170)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Ball - grey:", 18, 145, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $color_grau = GuiCtrlCreateInput($color_grau, 106, 145, 65, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $labelColor_grau = GuiCtrlCreateLabel("", 175, 146, 15, 15)
    
    GuiCtrlCreateLabel("Ball - blue:", 18, 162, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $color_blau = GuiCtrlCreateInput($color_blau, 106, 162, 65, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $labelColor_blau = GuiCtrlCreateLabel("", 175, 163, 15, 15)
    
    GuiCtrlCreateLabel("Ball - yellow:", 18, 179, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $color_gelb = GuiCtrlCreateInput($color_gelb, 106, 179, 65, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $labelColor_gelb = GuiCtrlCreateLabel("", 175, 180, 15, 15)
    
    GuiCtrlCreateLabel("Ball - lila:", 18, 196, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $color_gm_whisper = GuiCtrlCreateInput($color_gm_whisper, 106, 196, 65, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $labelColor_gm_whisper = GuiCtrlCreateLabel("", 175, 197, 15, 15)
    
    GuiCtrlCreateLabel("Whisper:", 18, 213, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $color_w = GuiCtrlCreateInput($color_w, 106, 213, 65, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $labelColor_w = GuiCtrlCreateLabel("", 175, 214, 15, 15)
    
    GuiCtrlCreateLabel("NPC - green:", 18, 230, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $color_npc = GuiCtrlCreateInput($color_npc, 106, 230, 65, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $labelColor_npc = GuiCtrlCreateLabel("", 175, 231, 15, 15)
    
    GuiCtrlCreateLabel("NPC - yellow:", 18, 247, 90, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $color_npc_neutral = GuiCtrlCreateInput($color_npc_neutral, 106, 247, 65, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $labelColor_npc_neutral = GuiCtrlCreateLabel("", 175, 248, 15, 15)
    
    $button_standard_colors = GuiCtrlCreateButton("Standard colors", 53, 270, 100, 18)
    $button_load_standard = GuiCtrlCreateButton("All to standard", 110, 315, 100, 18)
    
    $button_set_ball_grau = GuiCtrlCreateButton("Set", 196, 146, 35, 16)
    $button_set_ball_blau = GuiCtrlCreateButton("Set", 196, 163, 35, 16)
    $button_set_ball_gelb = GuiCtrlCreateButton("Set", 196, 180, 35, 16)
    $button_set_ball_lila = GuiCtrlCreateButton("Set", 196, 197, 35, 16)
    
    If FileExists("Images/kugel_grau.jpg") then GuiCtrlCreatePic("Images/kugel_grau.jpg",258,146,32,25)
    If FileExists("Images/kugel_blau.jpg") then GuiCtrlCreatePic("Images/kugel_blau.jpg",258,174,32,25)
    If FileExists("Images/kugel_gelb.jpg") then GuiCtrlCreatePic("Images/kugel_gelb.jpg",258,202,32,25)
    If FileExists("Images/kugel_lila.jpg") then GuiCtrlCreatePic("Images/kugel_lila.jpg",258,230,32,25)
    
    
    ;### TAB 3 ####
    GuiCtrlCreateTabItem("Security")
    
    
    GUICtrlCreateGroup("Security:", 8, 32, 300, 200)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Action on player whisper:", 15, 49, 150, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $playerWhisperActionListReal = GuiCtrlCreateList("", 13, 64, 142, 60)
    GuiCtrlSetData(-1, "a.Nothing|b.Send Msg|c.Close WoW", $playerWhisperActionList)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Action on GM whisper:", 168, 49, 130, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $gmWhisperActionListReal = GuiCtrlCreateList("", 165, 64, 135, 60)
    GuiCtrlSetData(-1, "a.Nothing|b.Close WoW+Msg|c.Shutdown PC", $gmWhisperActionList)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    
    $whisperSound = GuiCtrlCreateCheckbox(" Play sound on player whisper", 18, 111, 260, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    If $whisperSoundOn = 0 then GuiCtrlSetState(-1, 4)
    If $whisperSoundOn = 1 then GuiCtrlSetState(-1, 1)
    
    
    $label_1 = GuiCtrlCreateLabel("Times to play sound on GM whisper", 40, 133, 200, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $gmWhisperSoundDur = GuiCtrlCreateInput($gmWhisperSoundDur, 18, 131, 20, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    $label_2 = GuiCtrlCreateLabel("Time to block incoming whispers after a whisper", 95, 150, 200, 40)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $blockWhisperTime = GuiCtrlCreateInput($blockWhisperTime, 18, 155, 53, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $label_2 = GuiCtrlCreateLabel("ms", 72, 155, 18, 15)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    
    $modusRun = GuiCtrlCreateCheckbox(" Run around in BG", 18, 190, 260, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    If $modusRunOn = 0 then GuiCtrlSetState(-1, 4)
    If $modusRunOn = 1 then GuiCtrlSetState(-1, 1)
    
    $randomTitle = GuiCtrlCreateCheckbox(" Random window title", 18, 207, 260, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    If $randomTitleOn = 0 then GuiCtrlSetState(-1, 4)
    If $randomTitleOn = 1 then GuiCtrlSetState(-1, 1)
    
    
    
    
    ;### TAB 4 ####
    GuiCtrlCreateTabItem("MSGs")
    
    
    
    GUICtrlCreateGroup("Msg on player Whisper:", 8, 32, 300, 110) ;229,2
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgOnWhisper[0] = GuiCtrlCreateInput($msgOnWhisper[0],12, 49, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgOnWhisper[1] = GuiCtrlCreateInput($msgOnWhisper[1],12, 67, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgOnWhisper[2] = GuiCtrlCreateInput($msgOnWhisper[2],12, 85, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgOnWhisper[3] = GuiCtrlCreateInput($msgOnWhisper[3],12, 103, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgOnWhisper[4] = GuiCtrlCreateInput($msgOnWhisper[4],12, 121, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GUICtrlCreateGroup("Msg on GM Whisper:", 8, 147, 300, 111) ;229,2
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgGmOnWhisper[0] = GuiCtrlCreateInput($msgGmOnWhisper[0],12, 165, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgGmOnWhisper[1] = GuiCtrlCreateInput($msgGmOnWhisper[1],12, 183, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgGmOnWhisper[2] = GuiCtrlCreateInput($msgGmOnWhisper[2],12, 201, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgGmOnWhisper[3] = GuiCtrlCreateInput($msgGmOnWhisper[3],12, 219, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $msgGmOnWhisper[4] = GuiCtrlCreateInput($msgGmOnWhisper[4],12, 237, 292, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    
    
    ;### TAB 4 - COORDS ####
    GuiCtrlCreateTabItem("Coords")
    
    ;BALL
    If WinExists($win_title) then
        If $ball_x = 0 then $ball_x = round($pos[2]/2-$pos[2]*0.003,0)
        If $ball_y = 0 then $ball_y = round($pos[3]/2+$pos[3]*0.008,0)
    EndIf
    
    GUICtrlCreateGroup("Ball", 8, 32, 143, 97)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    GuiCtrlCreateLabel("X:", 20, 51, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $ball_x = GuiCtrlCreateInput($ball_x,35, 49, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Y:", 20, 69, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $ball_y = GuiCtrlCreateInput($ball_y,35, 67, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    $button_set_coords_ball = GuiCtrlCreateButton("Set coords", 14, 88, 85, 17)
    $button_show_coords_ball = GuiCtrlCreateButton("Show coords", 14, 106, 85, 17)
    
    $pic_ball = GuiCtrlCreateButton("big", 101, 88, 45, 19)
    If FileExists("Images/kugel.jpg") then GuiCtrlCreatePic("Images/kugel.jpg",95,44,50,43)
    
    ;RADAR
    
    If WinExists($win_title) then
        If $radar_x = 0 then $radar_x = round($pos[2]*0.90,0)
        If $radar_y = 0 then $radar_y = round($pos[3]*0.112,0)
    EndIf
    
    GUICtrlCreateGroup("Radar", 163, 32, 145, 97)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    GuiCtrlCreateLabel("X:", 175, 51, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $radar_x = GuiCtrlCreateInput($radar_x,191, 49, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Y:", 175, 69, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $radar_y = GuiCtrlCreateInput($radar_y,191, 67, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    $button_set_coords_radar = GuiCtrlCreateButton("Set coords", 169, 88, 85, 17)
    $button_show_coords_radar = GuiCtrlCreateButton("Show coords", 169, 106, 85, 17)
    
    $pic_radar = GuiCtrlCreateButton("big", 256, 88, 45, 19)
    If FileExists("Images/radar.jpg") then GuiCtrlCreatePic("Images/radar.jpg",251,44,50,43)
    
    ;CHAT
    GUICtrlCreateGroup("Chat", 8, 140, 300, 110)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    GuiCtrlCreateLabel("1. point:", 25, 154, 100, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    GuiCtrlCreateLabel("X:", 19, 172, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $whisper_l = GuiCtrlCreateInput($whisper_l,34, 170, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Y:", 19, 190, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $whisper_t = GuiCtrlCreateInput($whisper_t,34, 188, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("2. point:", 96, 154, 120, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    GuiCtrlCreateLabel("X:", 95, 172, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $whisper_r = GuiCtrlCreateInput($whisper_r,110, 170, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    GuiCtrlCreateLabel("Y:", 95, 190, 15, 20)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    $whisper_b = GuiCtrlCreateInput($whisper_b,110, 188, 40, 17)
    GUICtrlSetFont (-1,8, 400, 0, $font)
    
    $button_set_coords_chat = GuiCtrlCreateButton("Set coords", 42, 211, 95, 17)
    $button_show_coords_chat = GuiCtrlCreateButton("Show coords", 42, 229, 95, 17)
    
    $pic_chat = GuiCtrlCreateButton("big", 207, 227, 45, 19)
    If FileExists("Images/chat.jpg") then GuiCtrlCreatePic("Images/chat.jpg",165,160,130,65)
    
    
    
    GuiCtrlCreateTabItem("")
    
    GuiSetState(@SW_SHOW)
    
    ;#############################
    ;##### MAIN - GUI ############
    ;#############################
    
    
    
        sleep(100)
        $posGUI = WinGetPos($title)
        $label_bg_print = GUICtrlRead($bgList)
    
    
        Opt("SendKeyDownDelay", random(70,90))
        While 1
            $msg = GUIGetMsg()
    
            $posGUIcache[0] = $posGUI[0]
            $posGUIcache[1] = $posGUI[1]
    
            $posGUI = WinGetPos($title)
    
    
                If $msg = $GUI_EVENT_CLOSE Then
                    If $open = 1 then
                        add2log("Bot quit")
                        FileClose($open)
                    EndIf
                    Exit
                EndIf
    
                If GUICtrlRead($playerWhisperActionListReal) = "a.Nothing" Then $playerWhisperAction = 0
                If GUICtrlRead($playerWhisperActionListReal) = "b.Send Msg" Then $playerWhisperAction = 1
                If GUICtrlRead($playerWhisperActionListReal) = "c.Close WoW" Then $playerWhisperAction = 2
    
                If GUICtrlRead($gmWhisperActionListReal) = "a.Nothing" Then $gmWhisperAction = 0
                If GUICtrlRead($gmWhisperActionListReal) = "b.Close WoW+Msg" Then $gmWhisperAction = 1
                If GUICtrlRead($gmWhisperActionListReal) = "c.Shutdown PC" Then $gmWhisperAction = 2
    
    
                If GUICtrlRead($cityList) = "h.Orgrimmar" Then $bg_city = 0
                If GUICtrlRead($cityList) = "h.Thunderbluff" Then $bg_city = 1
                If GUICtrlRead($cityList) = "h.Undercity" Then $bg_city = 2
                If GUICtrlRead($cityList) = "a.Ironforge" Then $bg_city = 3
                If GUICtrlRead($cityList) = "a.Stormwind" Then $bg_city = 4
                If GUICtrlRead($cityList) = "a.Darnassus" Then $bg_city = 5
                If GUICtrlRead($cityList) = "n.Shattrath" Then $bg_city = 6
    
                If GUICtrlRead($fraktionList) = "Horde" Then $fraktion = 0
                If GUICtrlRead($fraktionList) = "Alliance" Then $fraktion = 1
    
                If GUICtrlRead($bgList) = "Alteractal" Then $bg=0
                If GUICtrlRead($bgList) = "Warsong" Then $bg=1
                If GUICtrlRead($bgList) = "Arathibecken" Then $bg=2
                If GUICtrlRead($bgList) = "Auge des Sturms" Then $bg=3
    
                If $bg >=0 AND $fraktion >=0 AND $bg_city >=0 then
                    If NOT $label_bg_print then GUICtrlSetData($label_bg,"OK - you can run MODUS 1 now")
                    $label_bg_print = 1
                EndIf
    
    
                GUICtrlSetBkColor ($labelColor_grau, GUICtrlRead($color_grau))
                GUICtrlSetBkColor ($labelColor_blau, GUICtrlRead($color_blau))
                GUICtrlSetBkColor ($labelColor_gelb, GUICtrlRead($color_gelb))
                GUICtrlSetBkColor ($labelColor_gm_whisper, GUICtrlRead($color_gm_whisper))
                GUICtrlSetBkColor ($labelColor_w, GUICtrlRead($color_w))
                GUICtrlSetBkColor ($labelColor_npc, GUICtrlRead($color_npc))
                GUICtrlSetBkColor ($labelColor_npc_neutral, GUICtrlRead($color_npc_neutral))
    
    
                If NOT ($posGUIcache[0] = $posGUI[0] AND $posGUIcache[1] = $posGUI[1]) then moveGUIs()
    
    
                If $msg = $button_set_ball_grau then set_ball_grau()
                If $msg = $button_set_ball_blau then set_ball_blau()
                If $msg = $button_set_ball_gelb then set_ball_gelb()
                If $msg = $button_set_ball_lila then set_ball_lila()
    
                If $msg = $button_set_coords_ball then set_coords_ball()
                If $msg = $button_set_coords_chat then set_coords_chat()
                If $msg = $button_set_coords_radar then set_coords_radar()
                If $msg = $button_show_coords_ball then show_coords_ball()
                If $msg = $button_show_coords_chat then show_coords_chat()
                If $msg = $button_show_coords_radar then show_coords_radar()
                If FileExists("Images/radar.jpg") then
                    If $msg = $pic_radar then pic_radar()
                EndIf
                If FileExists("Images/kugel.jpg") then
                    If $msg = $pic_ball then pic_ball()
                EndIf
                If FileExists("Images/chat.jpg") then
                    If $msg = $pic_chat then pic_chat()
                EndIf
    
    
                If FileExists("Images/pirox.jpg") then
                    If $msg = $pirox then $oIE = _IECreate ("www.pirox.de")
                EndIf
                If $msg = $button_standard_colors then standard_colors()
                If $msg = $button_help then MsgBox(64,$title & " - Help","Have a look at README.TXT =D")
                If $msg = $button_load_standard then all2standard()
    
                If $msg = $button_save_settings then
                    save_settings()
                    MsgBox(64,$title,"Settings saved to pirox.ini")
                EndIf
    
    
            If $msg = $button_modus1 then
                If $bg >=0 AND $bg_city>=0 AND $fraktion>=0 then
                    save_settings()
                    If WinActivate($win_title) then
                        If $pic1 then GUISetState(@SW_HIDE,$pic1)
                        If $pic2 then GUISetState(@SW_HIDE,$pic2)
                        If $pic3 then GUISetState(@SW_HIDE,$pic3)
                        GUIDelete ( $title_handle)
                        modus1()
                    Else
                        MsgBox(64,$title,"WoW have to be running!")
                    EndIf
                Else
                    MsgBox(64,$title,"Please choose BG, City and fraction.")
                EndIf
            EndIf
            If $msg = $button_modus2 then
                If WinActivate($win_title) then
                    If $pic1 then GUISetState(@SW_HIDE,$pic1)
                    If $pic2 then GUISetState(@SW_HIDE,$pic2)
                    If $pic3 then GUISetState(@SW_HIDE,$pic3)
                    GUIDelete ( $title_handle)
                    modus2()
                Else
                    MsgBox(64,$title,"WoW have to be running!")
                EndIf
            EndIf
    
        WEnd
    EndFunc
    
    
    
    
    ;#########
    Func set_ball_blau()
        WinActivate($win_title)
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(random(50,75))
        ControlSend ( $win_title, "", 0, "/pirox blau")
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(70)
        MouseMove(GUICtrlRead($ball_x),GUICtrlRead($ball_y),5)
        GUICtrlSetData($color_blau, PixelGetColor(GUICtrlRead($ball_x),GUICtrlRead($ball_y)))
        MsgBox(64, $title, "Color blue set")
        WinActivate($title2)
    EndFunc
    ;#########
    Func set_ball_grau()
        WinActivate($win_title)
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(random(50,75))
        ControlSend ( $win_title, "", 0, "/pirox grau")
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(70)
        MouseMove(GUICtrlRead($ball_x),GUICtrlRead($ball_y),5)
        GUICtrlSetData($color_grau, PixelGetColor(GUICtrlRead($ball_x),GUICtrlRead($ball_y)))
        MsgBox(64, $title, "Color grey set")
        WinActivate($title2)
    EndFunc
    ;#########
    Func set_ball_gelb()
        WinActivate($win_title)
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(random(50,75))
        ControlSend ( $win_title, "", 0, "/pirox gelb")
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(70)
        MouseMove(GUICtrlRead($ball_x),GUICtrlRead($ball_y),5)
        GUICtrlSetData($color_gelb, PixelGetColor(GUICtrlRead($ball_x),GUICtrlRead($ball_y)))
        MsgBox(64, $title, "Color gelb set")
        WinActivate($title2)
    EndFunc
    ;#########
    Func set_ball_lila()
        WinActivate($win_title)
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(random(50,75))
        ControlSend ( $win_title, "", 0, "/pirox lila")
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(70)
        MouseMove(GUICtrlRead($ball_x),GUICtrlRead($ball_y),5)
        GUICtrlSetData($color_w, PixelGetColor(GUICtrlRead($ball_x),GUICtrlRead($ball_y)))
        MsgBox(64, $title, "Color lila set")
        WinActivate($title2)
    EndFunc
    
    
    ;#########
    Func set_coords_ball()
        WinActivate($win_title)
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(random(50,75))
        ControlSend ( $win_title, "", 0, "/pirox on")
        ControlSend ( $win_title, "", 0, "{enter}")
    
        ToolTip("Put your mouse onto the MID of the ball and press SPACE to continue.",20,3)
        while not _IsPressed("20", $dll)
            sleep(100)
        WEnd
        $posc = MouseGetPos()
        GUICtrlSetData($ball_x,$posc[0])
        GUICtrlSetData($ball_y,$posc[1])
        ToolTip("")
        MsgBox(64,$title,"Coords set")
        WinActivate($title2)
    EndFunc
    
    Func show_coords_ball()
        WinActivate($win_title)
        sleep(300)
        MouseMove(GUICtrlRead($ball_x),GUICtrlRead($ball_y),5)
        sleep(1000)
        WinActivate($title2)
    EndFunc
    
    ;#########
    Func set_coords_radar()
        WinActivate($win_title)
        ToolTip("Put your mouse onto a BLACK pixel of the radar and press SPACE to continue.",20,3)
        while not _IsPressed("20", $dll)
            sleep(100)
        WEnd
        $posc = MouseGetPos()
        GUICtrlSetData($radar_x,$posc[0])
        GUICtrlSetData($radar_y,$posc[1])
        ToolTip("")
        MsgBox(64,$title,"Coords set")
        WinActivate($title2)
    EndFunc
    
    Func show_coords_radar()
        WinActivate($win_title)
        sleep(300)
        MouseMove(GUICtrlRead($radar_x),GUICtrlRead($radar_y),5)
        sleep(1000)
        WinActivate($title2)
    EndFunc
    
    ;#########
    Func show_coords_chat()
        WinActivate($win_title)
        sleep(300)
        MouseMove(GUICtrlRead($whisper_l),GUICtrlRead($whisper_t),5)
        sleep(500)
        MouseMove(GUICtrlRead($whisper_r),GUICtrlRead($whisper_t),5)
        MouseMove(GUICtrlRead($whisper_r),GUICtrlRead($whisper_b),5)
        MouseMove(GUICtrlRead($whisper_l),GUICtrlRead($whisper_b),5)
        MouseMove(GUICtrlRead($whisper_l),GUICtrlRead($whisper_t),5)
        sleep(1000)
        WinActivate($title2)
    EndFunc
    
    Func set_coords_chat()
        WinActivate($win_title)
        Tooltip("Put your mouse on the MID-LEFT border of the chatframe and press SPACE to continue.",20,3)
        while not _IsPressed("20", $dll)
            sleep(100)
        WEnd
        $posc = MouseGetPos()
        GUICtrlSetData($whisper_l,$posc[0])
        GUICtrlSetData($whisper_t,$posc[1])
        ToolTip("")
        while _IsPressed("20", $dll)
            sleep(100)
        WEnd
        MsgBox(64,$title,"1. Point set")
        ToolTip("Now put your mouse in the BOTTOM-MID Border  and press SPACE to continue.",20,3)
        while not _IsPressed("20", $dll)
            sleep(100)
        WEnd
        $posc = MouseGetPos()
        GUICtrlSetData($whisper_r,$posc[0])
        GUICtrlSetData($whisper_b,$posc[1])
        ToolTip("")
        MsgBox(64,$title,"2. Point set")
        sleep(300)
        MouseMove(GUICtrlRead($whisper_l),GUICtrlRead($whisper_t),5)
        sleep(700)
        MouseMove(GUICtrlRead($whisper_r),GUICtrlRead($whisper_t),5)
        MouseMove(GUICtrlRead($whisper_r),GUICtrlRead($whisper_b),5)
        MouseMove(GUICtrlRead($whisper_l),GUICtrlRead($whisper_b),5)
        MouseMove(GUICtrlRead($whisper_l),GUICtrlRead($whisper_t),5)
        WinActivate($title2)
    EndFunc
    
    
    ;#####################
    ;## SHOW PICS ########
    ;#####################
    ;#### PIC 1 #####
    Func pic_radar()
        $posGUI = WinGetPos($title)
        $posPic = $posGUI[0]+$posGUI[2]
        if $posPic > 950 then $posPic = $posGUI[0]-326
    
        If $pic2 then
            GUISetState(@SW_HIDE,$pic2)
            GUICtrlSetData($pic_ball,"big")
        EndIf
        If $pic3 then
            GUISetState(@SW_HIDE,$pic3)
            GUICtrlSetData($pic_chat,"big")
        EndIf
    
        if GUICtrlRead($pic_radar) = "big" then
            if Not $pic1 then
                $pic1=GUICreate("PIC - Radar", 326, 211, $posPic, $posGUI[1]+20,$WS_POPUP)
                GUICtrlCreatePic("Images/radar.jpg",0,0, 0,0)
            Else
                WinMove("PIC - Radar", "", $posPic, $posGUI[1]+20)
            EndIf
            GUISetState(@SW_SHOW,$pic1)
            GUICtrlSetData($pic_radar,"small")
        Else
            GUISetState(@SW_HIDE,$pic1)
            GUICtrlSetData($pic_radar,"big")
        EndIf
        WinActivate($title2)
    EndFunc
    
    ;#### PIC 2 #####
    Func pic_ball()
        $posGUI = WinGetPos($title)
        $posPic = $posGUI[0]+$posGUI[2]
        if $posPic > 950 then $posPic = $posGUI[0]-217
    
        If $pic1 then
            GUISetState(@SW_HIDE,$pic1)
            GUICtrlSetData($pic_radar,"big")
        EndIf
        If $pic3 then
            GUISetState(@SW_HIDE,$pic3)
            GUICtrlSetData($pic_chat,"big")
        EndIf
    
        if GUICtrlRead($pic_ball) = "big" then
            if Not $pic2 then
                $pic2=GUICreate("PIC - Ball", 217, 240, $posPic, $posGUI[1]+20,$WS_POPUP)
                GUICtrlCreatePic("Images/kugel.jpg",0,0, 0,0)
            Else
                WinMove("PIC - Ball", "", $posPic, $posGUI[1]+20)
            EndIf
            GUISetState(@SW_SHOW,$pic2)
            GUICtrlSetData($pic_ball,"small")
        Else
            GUISetState(@SW_HIDE,$pic2)
            GUICtrlSetData($pic_ball,"big")
        EndIf
        WinActivate($title2)
    EndFunc
    
    ;#### PIC 3 #####
    Func pic_chat()
        $posGUI = WinGetPos($title)
        $posPic = $posGUI[0]-$posGUI[2]/2
        if $posPic > 700 then $posPic = $posGUI[0]-627
    
        If $pic1 then
            GUISetState(@SW_HIDE,$pic1)
            GUICtrlSetData($pic_radar,"big")
        EndIf
        If $pic2 then
            GUISetState(@SW_HIDE,$pic2)
            GUICtrlSetData($pic_ball,"big")
        EndIf
    
    
        if GUICtrlRead($pic_chat) = "big" then
            if Not $pic3 then
                $pic3=GUICreate("PIC - Chat", 627, 150, $posPic, $posGUI[1]+$posGUI[3],$WS_POPUP)
                GUICtrlCreatePic("Images/chat.jpg",0,0, 0,0)
            Else
                WinMove("PIC - Chat", "", $posPic, $posGUI[1]+$posGUI[3])
            EndIf
            GUISetState(@SW_SHOW,$pic3)
            GUICtrlSetData($pic_chat,"small")
        Else
            GUISetState(@SW_HIDE,$pic3)
            GUICtrlSetData($pic_chat,"big")
        EndIf
        WinActivate($title2)
    EndFunc
    
    
    
    ;#### MOVE GUIS #####
    Func moveGUIs()
        WinActivate($title2)
        $posGUI = WinGetPos($title)
        ;MsgBox(0,"",GUICtrlGetState($pic1))
        If BitAnd(WinGetState($pic1),2) then
            $posPic = $posGUI[0]+$posGUI[2]
            if $posPic > 950 then $posPic = $posGUI[0]-326
            WinMove("PIC - Radar", "", $posPic, $posGUI[1]+20)
        EndIf
        If BitAnd(WinGetState($pic2),2) then
            $posPic = $posGUI[0]+$posGUI[2]
            if $posPic > 950 then $posPic = $posGUI[0]-217
            WinMove("PIC - Ball", "", $posPic, $posGUI[1]+20)
        EndIf
        If BitAnd(WinGetState($pic3),2) then
            $posPic = $posGUI[0]-$posGUI[2]/2
            if $posPic > 700 then $posPic = $posGUI[0]-627
            WinMove("PIC - Chat", "", $posPic, $posGUI[1]+$posGUI[3])
        EndIf
    EndFunc
    
    
    
    ;##########################################################################################################################
    ;##########################################################################################################################
    ;#########################################          BOT           #########################################################
    ;##########################################################################################################################
    ;##########################################################################################################################
    
    
    ;#################################
    Func modus1()
        If WinExists($win_title) then $pos = WinGetPos ($win_title)
        load_piroxini()
        ;testvars()
        check_kugel_on()
        ToolTip("")
        choose_lang()
        If $bg_city = 6 then $bg_city += $fraktion
    
        $npc2use = $npc[$bg][$bg_city]
    
        If NOT $open = 1 then
            while FileExists("Log\log#" & $logFiles & ".txt")
                $logFiles +=1
            WEnd
            $open = fileopen('Log\log#' & $logFiles & '.txt', 1)
    
            FileWrite($open, 'Bot v' & $version & ' started on ' & @MDAY & '-' & @MON & ' at ' & @HOUR & ':' & @MIN & ':' & @SEC & @CRLF & '---------------------------------' & @CRLF)
        Else
            FileWrite($open, '---------------------------------' & @CRLF)
        EndIf
    
    
        add2log("Mode: Mit Bg anmelden")
        check_in_bg()
    
        tt("Running Mode 1")
    
        If $bgActiv Then
            add2log("already in BG")
            If not (PixelGetColor( $radar_x, $radar_y ) = 0 and PixelGetColor( $radar_x+1, $radar_y+2 ) = 0) Then
                If $key_buff Then
                    sendBG($key_buff)
                    sleep(random(1250,1500))
                EndIf
                If $key_cat Then
                    sendBG($key_cat)
                    sleep(random(1250,1500))
                EndIf
                If $key_stealth Then
                    sendBG($key_stealth)
                    sleep(random(1250,1500))
                EndIf
            EndIf
        Else
            add2log("not in BG")
        EndIf
    
        ControlSend ( $win_title, "", 0, "{SPACE}")
        sleep(random(400,700))
    
        while 1
            WinActivate($win_title)
            sleep(100)
            while $waiting < 240
                If $paused = 1 then
                    ExitLoop
                    ExitLoop 2
                EndIf
                WinActivate($win_title)
                check_in_bg()
                sleep(100)
                $waiting += 1
                If NOT StringIsFloat ( $waiting/2 ) Then
                    If $bgActiv Then
                        tt("BG is activ - action: " & 120-$waiting/2)
                    else
                        tt("BG not activ - action: " & 120-$waiting/2)
                    EndIf
                EndIf
            Wend
            If $paused = 1 then
                    ExitLoop
                    ;ExitLoop 2
            EndIf
            $waiting = 0
    
            If $bgActiv = 1 Then
                tt("BG activ - Doing my job")
                If $bg = 0 and $fraktion = 0 and Not $avTunnelDone Then check_av_horde_tunnel()
                If $bg = 0 and $fraktion = 1 and Not $avTunnelDone Then check_av_allianz_tunnel()
                If $bg >= 2 and Not $avTunnelDone Then
                    for $i=0 to 10
                        sendbg("{w down}")
                        sleep(random(1200,1500))
                    Next
                    sendbg("{w up}")
                    sleep(200)
                    If $key_buff Then
                        sendBG($key_buff)
                        sleep(random(1250,1500))
                    EndIf
                    If $key_cat Then
                        sendBG($key_cat)
                        sleep(random(1250,1500))
                    EndIf
                    If $key_stealth Then
                        sendBG($key_stealth)
                        sleep(random(1250,1500))
                    EndIf
                EndIf
                $avTunnelDone = 1
                check_in_bg()
                WinActivate($win_title)
                If $modusRunOn = 1 Then
                    run_bg()
                Else
                    no_run()
                EndIf
                $moveAfterPort=0
            Else
                tt("Signup for BG")
                bg_anmeld()
            EndIf
    
            FileClose($open)
            $open = fileopen('Log\log#' & $logFiles & '.txt', 1)
    
        WEnd
    
    EndFunc
    
    
    
    
    ;#################################
    Func modus2()
    
        $sek = 0
        $max = random(240,280,1)
        ControlSend($win_title, "", 0, "{SPACE}")
    
        while 1
    
            $sekleft = $max-$sek
            tt("AFK: " & $sek & "s - action in " & $sekleft & "s")
    
            If $sek = $max Then
                $a = random(1,8,1)
                sleep(random(100,250))
                ControlSend ( $win_title, "", 0, StringMid($key, $a, 1))
                sleep(random(500,1000))
                ControlSend ( $win_title, "", 0, StringMid($key, $a, 1))
                sleep(random(100,250))
    
    
                $sek = 0
                $max = random(240,280,1)
            Else
                sleep(1000)
                $sek += 1
            EndIf
        WEnd
    EndFunc
    
    
    
    ;#################################
    Func bg_anmeld()
        send("{enter}")
        sleep(random(5,15))
        send($npc2use)
        send("{enter}")
        sleep(100)
    
        $coord = PixelSearch(Round($pos[2]*0.16,0), Round($pos[3]*0.15,0), Round($pos[2]*0.7,0), Round($pos[3]*0.61,0), $color_npc, 20, 1)
    
        If Not @error Then
            $meldAn = 1
        Else
            $coord = PixelSearch(Round($pos[2]*0.16,0), Round($pos[3]*0.15,0), Round($pos[2]*0.7,0), Round($pos[3]*0.61,0), $color_npc_neutral, 20, 1)
            If Not @error Then $meldAn = 1
        EndIf
    
    
        If $meldAn Then
            If $key_cat Then
                send($key_cat)
                sleep(random(1350,1850))
                MouseMove($coord[0],$coord[1]+40)
                MouseClick("right")
                sleep(random(20,40))
                MouseMove($coord[0]-10,$coord[1]+40)
                MouseClick("right")
                sleep(random(20,40))
                MouseMove($coord[0]+20,$coord[1]+40)
                MouseClick("right")
                sleep(random(20,40))
                MouseMove($coord[0]+40,$coord[1]+40)
                MouseClick("right")
                sleep(random(300,400))
                send($key_cat)
                sleep(random(1200,1400))
            EndIf
            check_whisper()
            MouseMove($coord[0],$coord[1]+40)
            MouseClick("right")
            sleep(random(20,40))
            MouseMove($coord[0]-10,$coord[1]+40)
            MouseClick("right")
            sleep(random(20,40))
            MouseMove($coord[0]+20,$coord[1]+40)
            MouseClick("right")
            sleep(random(20,40))
            MouseMove($coord[0]+40,$coord[1]+40)
            MouseClick("right")
            sleep(random(50,100))
        EndIf
    
        $meldAn = 0
    
    EndFunc
    
    
    ;######################
    Func no_run()
        tt("sending key only")
        If $moveAfterPort Then
            sendBG("{w down}")
            for $i=0 to 10 Step 1
                sleep(1000)
            Next
        EndIf
        sendBG("{w up}")
        $a = random(1,8,1)
        sleep(random(150,250))
        sendBG(StringMid($key, $a, 1))
        sleep(random(500,1000))
        sendBG(StringMid($key, $a, 1))
    EndFunc
    
    ;######################
    Func run_bg()
        tt("running around")
        sleep(150)
    
        $a = random(1,3,1)
        If $bgActiv Then
            if $a = 1 Then
                sleep(random(100,300))
                SendBG("{d down}")
                sleep(random(300,500))
                SendBG("{d up}")
                SendBG("{w down}")
                sleep(random(2000,2300))
                Send("{SPACE}")
                sleep(random(300,500))
                SendBG("{d down}")
                sleep(random(100,150))
                SendBG("{d up}")
                sleep(random(2000,2500))
                SendBG("{d down}")
                sleep(random(450,500))
                SendBG("{d up}")
                sleep(random(2500,3000))
                SendBG("{w up}")
            ElseIf $a = 2 Then
                sleep(random(100,300))
                SendBG("{w down}")
                sleep(random(300,500))
                Send("{SPACE}")
                sleep(random(100,300))
                SendBG("{a down}")
                sleep(random(700,1300))
                SendBG("{a up}")
                sleep(random(2000,2500))
                SendBG("{w up}")
                sleep(random(100,150))
                SendBG("{s down}")
                sleep(random(2000,2500))
                SendBG("{d down}")
                sleep(random(800,1020))
                SendBG("{s up}")
                SendBG("{w down}")
                sleep(random(2500,3000))
                SendBG("{d up}")
                sleep(random(2500,3000))
                SendBG("{w up}")
            ElseIf $a = 3 Then
                sleep(random(100,300))
                SendBG("{a down}")
                sleep(random(300,500))
                SendBG("{SPACE}")
                SendBG("{w down}")
                sleep(random(700,1300))
                SendBG("{a up}")
                sleep(random(2000,2500))
                SendBG("{d down}")
                sleep(random(2000,2500))
                SendBG("{d up}")
                SendBG("{a down}")
                sleep(random(800,1020))
                Send("{SPACE}")
                sleep(random(100,300))
                SendBG("{a up}")
                SendBG("{w up}")
                sleep(random(2500,3000))
                SendBG("{s down}")
                sleep(random(2500,3000))
                SendBG("{a down}")
                sleep(random(700,1200))
                SendBG("{a up}")
                SendBG("{s up}")
            EndIf
        EndIf
    EndFunc
    
    ;######################
    Func check_av_allianz_tunnel()
        If NOT $radar_x then $radar_x = round($pos[2]*0.89,0)
        If NOT $radar_y then $radar_y = round($pos[3]*0.142,0)
    
        WinActivate($win_title)
        ;MouseMove($radar_x , $radar_y)
        ;sleep(1000)
        ;MouseMove($radar_x , $radar_y+2)
        ;sleep(1000)
        If PixelGetColor( $radar_x, $radar_y ) = 0 and PixelGetColor( $radar_x+1, $radar_y+2 ) = 0 Then
            tt("AV tunnel - running")
            $begin = TimerInit()
            SendBG("{w down}")
            sleep(1300)
            sendBG("{e down}")
            while PixelGetColor( $radar_x, $radar_y) = 0 and PixelGetColor( $radar_x+1, $radar_y+2 ) = 0 and $bgActiv
                WinActivate($win_title)
                sendBG("{e down}")
                sleep(1000)
                sleep(random(800,1000))
                if TimerDiff($begin) > 20000 Then
                    tt("AV tunnel - Player stucked")
                    sleep(random(200,300))
                    SendBG("{e up}")
                    SendBG("{SPACE}")
                    sleep(random(1000,1100))
                    SendBG("{s down}")
                    sleep(random(500,600))
                    SendBG("{s up}")
                    SendBG("{e down}")
                    sleep(random(1500,1600))
                    SendBG("{e up}")
                    $begin = TimerInit()
                    tt("AV tunnel - running")
                EndIf
            Wend
            tt("AV outside - running")
            send("{SPACE}")
            sleep(random(1200,1500))
            SendBG("{e down}")
            sleep(random(1200,1500))
            SendBG("{w up}")
            SendBG("{e up}")
            SendBG("{s down}")
            sleep(random(1200,1500))
            SendBG("{s up}")
            SendBG("{w down}")
            SendBG("{e down}")
            sleep(random(3500,4000))
            SendBG("{w up}")
            SendBG("{e up}")
            sleep(random(300,500))
            tt("AV - port to base")
            sleep(random(180,200))
            SendBG($key_port)
            For $i=0 to 6
                sleep(random(2000,2100))
                check_in_bg()
            Next
            If $key_buff Then
                sendBG($key_buff)
                sleep(random(1350,1850))
            EndIf
            If $key_cat Then
                sendBG($key_cat)
                sleep(random(1350,1850))
            EndIf
            If $key_stealth Then
                sendBG($key_stealth)
                sleep(random(1350,1850))
            EndIf
            $begin = 0
            $avTunnelDone = 1
            $moveAfterPort = 1
        EndIf
    EndFunc
    
    ;######################
    Func check_av_horde_tunnel()
        If NOT $radar_x then $radar_x = round($pos[2]*0.90,0)
        If NOT $radar_y then $radar_y = round($pos[3]*0.112,0)
        WinActivate($win_title)
        ;MouseMove($radar_x, $radar_y)
        ;sleep(1000)
        ;MouseMove($radar_x, $radar_y+2)
        ;MouseMove(round($pos[2]*0.90625,0), round($pos[3]*0.1117,0))
        ;sleep(1000)
        If PixelGetColor( $radar_x, $radar_y ) = 0 and PixelGetColor( $radar_x+1, $radar_y+2 ) = 0 Then
            tt("AV tunnel - running")
            $begin = TimerInit()
            SendBG("{w down}")
            SendBG("{q down}")
            sleep(random(2200,2300))
            SendBG("{q up}")
            while PixelGetColor( $radar_x, $radar_y ) = 0 and PixelGetColor( $radar_x+1, $radar_y+2 ) = 0 and $bgActiv
                WinActivate($win_title)
                sleep(random(500,550))
                sendBG("{q down}")
                sleep(random(50,60))
                sendBG("{q up}")
                if TimerDiff($begin) > 20000 Then
                    tt("AV tunnel - Player stucked")
                    sleep(random(200,300))
                    SendBG("{w up}")
                    SendBG("{SPACE}")
                    sleep(random(1000,1100))
                    SendBG("{s down}")
                    sleep(random(100,110))
                    SendBG("{q down}")
                    sleep(random(1500,1600))
                    SendBG("{q up}")
                    SendBG("{s up}")
                    SendBG("{w down}")
                    $begin = TimerInit()
                    tt("AV tunnel - running")
                EndIf
            Wend
    
            tt("AV outside - running")
            send("{SPACE}")
            sleep(random(2500,2600))
            SendBG("{w up}")
            SendBG("{q down}")
            sleep(random(1900,2100))
            SendBG("{q up}")
            sleep(random(100,150))
            SendBG("{w down}")
            sleep(random(2000,2100))
            SendBG("{e down}")
            sleep(random(2000,2100))
            SendBG("{e up}")
            SendBG("{q down}")
            sleep(random(2000,2200))
            SendBG("{q up}")
            sleep(random(1900,2100))
            SendBG("{w up}")
            tt("AV - port to base")
            sleep(random(180,200))
            SendBG($key_port) ; 1 7 Klick für Port
            For $i=0 to 6
                sleep(random(2000,2100))
                check_in_bg()
            Next
            If $key_buff Then
                sendBG($key_buff)
                sleep(random(1350,1500))
            EndIf
            If $key_cat Then
                sendBG($key_cat)
                sleep(random(1350,1500))
            EndIf
            If $key_stealth Then
                sendBG($key_stealth)
                sleep(random(1350,1500))
            EndIf
            $begin = 0
            $avTunnelDone = 1
            $moveAfterPort = 1
        EndIf
    EndFunc
    
    
    
    ;######################
    Func check_whisper()
        If TimerDiff($blockWhisperTimer) > $blockWhisperTime Then
            $blockWhisperOn = 0
            $blockWhisperTimer = 0
        EndIf
    
        $coord_w = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_gm_whisper, 20, 1)
        If Not @error Then
            If $wScreenshot then
                tt("DANGER : GM WHISPERS YOU - make screen")
                add2log("GM Whisper!!! - make screenshot")
                screenshot()
            Else
                tt("DANGER : GM WHISPERS YOU")
                add2log("GM Whisper!!!")
            EndIf
    
            If $whisperSoundOn Then
                for $i=0 to $gmWhisperSoundDur Step 1
                    SoundPlay ("alarm.wav",1)
                Next
            EndIf
            If $gmWhisperAction = 0 Then
                MsgBox(0,$title,"ACHTUNG GameMaster!!!",5)
                sleep(1000)
                WinActivate($win_title)
                sleep(500)
                Send("{ENTER}")
                sleep(20)
                Send("{:/}")
                sleep(20)
                Send("{ENTER}")
                sleep(400)
            ElseIf $gmWhisperAction = 1 Then
                If $whisperSoundOn = 0 Then
                    If $gmWhisperSoundDur < 2 Then sleep(random(1000,1500))
                Else
                    sleep(random(4000,5000))
                EndIf
                check_in_bg()
                If $msgGmOnWhisper[0] Then
                    $a = random(0,$msgGmOnWhisperCtr,1)
                    send("r" & $msgGmOnWhisper[$a] & "")
                    add2log($msgGmOnWhisper[$a] & " - answered")
                    sleep(50)
                    send("{enter}")
                    sleep(400)
                EndIf
                add2log("Close WoW")
                FileClose($open)
                WinClose($win_title)
                Exit
            ElseIf $gmWhisperAction = 2 Then
                If $whisperSoundOn = 0 Then
                    If $gmWhisperSoundDur < 2 Then sleep(random(1000,1500))
                Else
                    sleep(random(4000,5000))
                EndIf
                check_in_bg()
                If $msgGmOnWhisper[0] Then
                    $a = random(0,$msgGmOnWhisperCtr,1)
                    send("r" & $msgGmOnWhisper[$a] & "")
                    add2log($msgGmOnWhisper[$a] & " - answered")
                    sleep(50)
                    send("{enter}")
                    sleep(400)
                EndIf
                add2log("Shutdown PC")
                FileClose($open)
                Shutdown(9)
                Exit
            EndIf
            $blockWhisperOn = 1
            sleep(1000)
        ElseIf $blockWhisperOn = 0 Then
            $coord_w = PixelSearch($whisper_l, $whisper_t, $whisper_r, $whisper_b, $color_w, 20, 1)
            If Not @error Then
                $blockWhisperTimer = TimerInit()
                $blockWhisperOn = 1
                If $wScreenshot then
                    tt("You got a Whisper - make screen")
                    add2log("Player Whisper - make screenshot")
                    screenshot()
                Else
                    tt("You got a Whisper")
                    add2log("Player Whisper")
                EndIf
    
                If $whisperSoundOn Then SoundPlay ("alarm.wav",1)
                If $playerWhisperAction = 1 Then
                    sleep(1000)
                    $a = random(0,$msgOnWhisperCtr,1)
                    send("r" & $msgOnWhisper[$a] & "")
                    add2log($msgOnWhisper[$a] & " - answered")
                    send("{enter}")
                    sleep(400)
                ElseIf $playerWhisperAction = 2 Then
                    add2log("Close WoW")
                    FileClose($open)
                    WinClose($win_title)
                    Exit
                EndIf
                sleep(1000)
            EndIf
        EndIf
    EndFunc
    
    ;######################
    Func check_in_bg()
        check_whisper()
    
        while 1
            ;MouseMove($ball_x,$ball_y)
            ;MsgBox(64,"dd","x: "&$ball_x&" - Y: "&$ball_y)
    
            If TimerDiff($blockSendTimer) > 3000 Then
                $blockSendOn = 0
                $blockSendTimer = 0
            EndIf
            $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_blau, 20, 1)    ;BG aktiv
            If Not @error Then
                If $blockSendOn = 0 Then
                    If $bgActiv = 0 Then
                        $bgActiv = 1
                        $bgCounter += 1
                        add2log("Joining BG - BG nr. " & $bgCounter)
                    EndIf
                    ExitLoop
                EndIf
            Else
                $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_grau, 20, 1)    ;BG inaktiv
                If Not @error Then
                    If $blockSendOn = 0 Then
                        If $bgActiv = 1 Then
                            $bgActiv = 0
                            add2log("Leaving BG")
                        EndIf
                        $avTunnelDone = 0
                        disableKeys()
                        ExitLoop
                    EndIf
                Else
                    $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_gelb, 20, 1)    ;tot
                    If Not @error Then
                        If $blockSendOn = 0 Then
                            dead()
                            ExitLoop
                        EndIf
                    Else
                        tt("Ball not found - Loadscreen/ScoreFrame")
                        disableKeys()
                        $waiting = 220
                        $blockSendTimer = TimerInit()
                        $blockSendOn = 1
                    EndIf
                EndIf
            EndIf
        WEnd
    EndFunc
    
    
    ;######################
    Func check_kugel_on()
    
        while 1
            WinActivate($win_title)
    
            ControlSend ( $win_title, "", 0, "{enter}")
            sleep(random(50,75))
            ControlSend ( $win_title, "", 0, "/pirox on")
            ControlSend ( $win_title, "", 0, "{enter}")
    
            sleep(500)
            $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_blau, 20, 1)    ;BG aktiv
            If Not @error Then
                ExitLoop
            Else
                $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_grau, 20, 1)    ;BG inaktiv
                If Not @error Then
                    ExitLoop
                Else
                    $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_gelb, 20, 1)    ;tot
                    If Not @error Then
                        ExitLoop
                    Else
                        tt("Ball NOT found - Ball Addon loaded ? Coords OK ? ")
                        MsgBox(64,$title,"Ball NOT found - Ball Addon loaded ? Coords OK ?")
                        ControlSend ( $win_title, "", 0, "{enter}")
                        sleep(random(50,75))
                        ControlSend ( $win_title, "", 0, "/pirox off")
                        ControlSend ( $win_title, "", 0, "{enter}")
                        ToolTip("")
                        create_gui()
                    EndIf
                EndIf
            EndIf
        WEnd
    EndFunc
    
    ;######################
    func dead()
        add2log("you are dead")
        $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_gelb, 20, 1)    ;tot
        If Not @error Then
            tt("Du bist TOT - Geist freilassen")
            disableKeys()
            While 1
                $a = random(0,5,1)
                if $a = 0 Then send("{SPACE}")
                sleep(random(1500,1800))
                check_whisper()
                $coord_check_bg = PixelSearch($ball_x-3, $ball_y-3, $ball_x+3, $ball_y+3, $color_blau, 20, 1)    ;BG inaktiv
                If Not @error Then
                    While 1
                        tt("Du bist TOT - warte auf Rezz - " & 35-$youAreDeadTimer & "s")
                        $youAreDeadTimer += 1
                        sleep(1000)
                        check_whisper()
                        If $youAreDeadTimer = 35 Then ExitLoop
                    WEnd
                    ExitLoop
                EndIf
            WEnd
        EndIf
        $youAreDeadTimer = 0
        tt("you are alive")
        add2log("you are alive")
        If $bg = 0 and $bg_city <= 2 Then check_av_horde_tunnel()
        If $bg = 0 and $bg_city >= 3 Then check_av_allianz_tunnel()
        If $bg >= 2 and Not $avTunnelDone Then
            for $i=0 to 8
                sendbg("{w down}")
                sleep(random(1200,1500))
            Next
        EndIf
        sleep(100)
        If $key_buff and $moveAfterPort = 0 Then
            sendBG($key_buff)
            sleep(random(1350,1500))
        EndIf
        If $key_cat and $moveAfterPort = 0 Then
            sendBG($key_cat)
            sleep(random(1350,1500))
        EndIf
        If $key_stealth and $moveAfterPort = 0 Then
            sendBG($key_stealth)
            sleep(random(1350,1500))
        EndIf
    EndFunc
    
    
    
    ;######################
    Func sendBG($text)
        check_in_bg()
    
        If $bgActiv and $blockSendOn = 0 Then
            send($text)
        Else
            disableKeys()
        EndIf
    EndFunc
    
    
    ;######################
    func disableKeys()    ;function to add a line to the log
        Opt("SendKeyDownDelay", 5)
        send("{s up}")
        send("{w up}")
        send("{q up}")
        send("{e up}")
        send("{a up}")
        send("{d up}")
        Opt("SendKeyDownDelay", random(70,90))
    EndFunc
    
    
    ;############
    ; pirox.ini
    ;############
    
    Func choose_lang()
        If $lang = "eng" then
            $npc[0][0] = "/target Kartra Murrblood"        ;og
            $npc[0][1] = "/target Taim Ragetotem"        ;tb
            $npc[0][2] = "/target Grizzle Halfmane"        ;uc
            $npc[0][3] = "/target Glordrum Steelbeard"    ;if
            $npc[0][4] = "/target Thelman Slatefist"    ;sw
            $npc[0][5] = "/target Brogun Stoneshield"    ;darnassus
            $npc[0][6] = "/target Wolfsister Maka"        ;shattrath HORDE
            $npc[0][7] = "/target Haelga Slatefist"        ;shattrath ALLIANZ
    
            ;WS
            $npc[1][0] = "/target Brakgul Deathbringer"
            $npc[1][1] = "/target Kergul Bloodaxe"
            $npc[1][2] = "/target Kurden Bloodclaw"
            $npc[1][3] = "/target Lylandris"
            $npc[1][4] = "/target Elfarran"
            $npc[1][5] = "/target Aethalas"
            $npc[1][6] = "/target Montok Redhands"
            $npc[1][7] = "/target Lylandor"                ;shattrath ALLIANZ
    
            ;AB
            $npc[2][0] = "/target Deze Snowbane"
            $npc[2][1] = "/target Martin Lindsey"
            $npc[2][2] = "/target Sire Malory Wheeler"
            $npc[2][3] = "/target Donal Osgood"
            $npc[2][4] = "/target Lady Hoteshem"
            $npc[2][5] = "/target Keras Wolfheart"
            $npc[2][6] = "/target Keldor the Lost"
            $npc[2][7] = "/target Adam Eternum"            ;shattrath ALLIANZ
    
            ;Auge des Sturms
            $npc[3][0] = "/target Andrissa Herzspeer"
            $npc[3][1] = "/target Althallen Glanzklinge"
            $npc[3][2] = "/target Lyrlia Blackshield"
            $npc[3][3] = "/target Kandaar"
            $npc[3][4] = "/target Jovil"
            $npc[3][5] = "/target Enlae"
            $npc[3][6] = "/target Yula the Fair"
            $npc[3][7] = "/target Iravar"                ;shattrath ALLIANZ
        Else
            ;AV
            $npc[0][0] = "/target Kartra Murrblut"        ;og
            $npc[0][1] = "/target Taim Rachtotem"        ;tb
            $npc[0][2] = "/target Grizzle Halbskalp"    ;uc
            $npc[0][3] = "/target Glordrum Stahlbart"    ;if
            $npc[0][4] = "/target Thelman Fausttadel"    ;sw
            $npc[0][5] = "/target Brogun Steinschild"    ;darnassus
            $npc[0][6] = "/target Wolfsschwester Maka"    ;shattrath
            $npc[0][7] = "/target Haelga Fausttadel"    ;shattrath ALLIANZ
    
            ;WS
            $npc[1][0] = "/target Brakgul Todesbringer"
            $npc[1][1] = "/target Kergul Blutaxt"
            $npc[1][2] = "/target Kurden Blutklaue"
            $npc[1][3] = "/target Lylandris"
            $npc[1][4] = "/target Elfarran"
            $npc[1][5] = "/target Aethalas"
            $npc[1][6] = "/target Montok Rothand"
            $npc[1][7] = "/target Lylandor"                ;shattrath ALLIANZ
    
            ;AB
            $npc[2][0] = "/target Deze Schneefluch"
            $npc[2][1] = "/target Martin Lindsey"
            $npc[2][2] = "/target Sire Malory Wagner"
            $npc[2][3] = "/target Donal Gutmark"
            $npc[2][4] = "/target Lady Hoteshem"
            $npc[2][5] = "/target Keras Wolfsherz"
            $npc[2][6] = "/target Keldor der Verlorene"
            $npc[2][7] = "/target Adam Eternum"            ;shattrath ALLIANZ
    
            ;Auge des Sturms
            $npc[3][0] = "/target Andrissa Herzspeer"
            $npc[3][1] = "/target Althallen Glanzklinge"
            $npc[3][2] = "/target Lyrlia Schwarzschild"
            $npc[3][3] = "/target Kandaar"
            $npc[3][4] = "/target Jovil"
            $npc[3][5] = "/target Enlae"
            $npc[3][6] = "/target Yula die Gerechte"
            $npc[3][7] = "/target Iravar"                ;shattrath ALLIANZ
        EndIf
    EndFunc
    
    ;#########
    Func standard_colors()
        GUICtrlSetData($color_grau, $S_color_grau)
        GUICtrlSetData($color_blau, $S_color_blau)
        GUICtrlSetData($color_gelb, $S_color_gelb)
        GUICtrlSetData($color_gm_whisper, $S_color_gm_whisper)
        GUICtrlSetData($color_w, $S_color_w)
        GUICtrlSetData($color_npc, $S_color_npc)
        GUICtrlSetData($color_npc_neutral, $S_color_npc_neutral)
    EndFunc
    
    ;#########
    Func all2standard()
        standard_colors()
    
        GUICtrlSetData($key_port,"")
        GUICtrlSetData($key_cat,"")
        GUICtrlSetData($key_stealth,"")
        GUICtrlSetData($key_buff,"")
        GUICtrlSetData($gmWhisperActionListReal,"b.Close WoW+Msg")
        GUICtrlSetData($playerWhisperActionListReal,"b.Send Msg")
        GUICtrlSetData($gmWhisperSoundDur,2)
        GUICtrlSetState($whisperSound,1)
        GUICtrlSetData($blockWhisperTime,80000)
        GUICtrlSetState($modusRun,1)
        GUICtrlSetState($randomTitle,4)
        GUICtrlSetData($lang,"de")
        GUICtrlSetState($tooltipBox,1)
        GUICtrlSetState($wScreenshotBox,1)
    
        GUICtrlSetData($whisper_l,40)
        GUICtrlSetData($whisper_t,900)
        GUICtrlSetData($whisper_r,200)
        GUICtrlSetData($whisper_b,945)
        GUICtrlSetData($ball_x,640)
        GUICtrlSetData($ball_y,500)
        GUICtrlSetData($radar_x,round($pos[2]*0.90,0))
        GUICtrlSetData($radar_y,round($pos[3]*0.112,0))
    
        GUICtrlSetData($msgOnWhisper[0],"Huhu :)")
        GUICtrlSetData($msgOnWhisper[1],"")
        GUICtrlSetData($msgOnWhisper[2],"")
        GUICtrlSetData($msgOnWhisper[3],"")
        GUICtrlSetData($msgOnWhisper[4],"")
    
        GUICtrlSetData($msgGmOnWhisper[0],"muss off")
        GUICtrlSetData($msgGmOnWhisper[1],"")
        GUICtrlSetData($msgGmOnWhisper[2],"")
        GUICtrlSetData($msgGmOnWhisper[3],"")
        GUICtrlSetData($msgGmOnWhisper[4],"")
    
    EndFunc
    
    
    Func load_piroxini()
    
        $key_port = IniRead('pirox.ini', 'Keys', 'key_port', '')        ;Taste des AV abzeichens für Port (muss angelegt sein!)
        $key_cat = IniRead('pirox.ini', 'Keys', 'key_cat', '')    ;Taste um in Stealhmodus zu wechseln
        $key_stealth = IniRead('pirox.ini', 'Keys', 'key_stealth', '')    ;Taste um in Stealhmodus zu wechseln
        $key_buff = IniRead('pirox.ini', 'Keys', 'key_buff', '')    ;Taste um in Stealhmodus zu wechseln
        $gmWhisperAction = IniRead('pirox.ini', 'Settings', 'gmWhisperAction', '1')            ;0 = do nothing; 1 = close WoW ;2 = PC shutdown
        $playerWhisperAction = IniRead('pirox.ini', 'Settings', 'playerWhisperAction', '1')    ;0 = do nothing; 1 = send $w_text; 2 = close WoW
        $gmWhisperSoundDur = IniRead('pirox.ini', 'Settings', 'gmWhisperSoundDur', '1')        ;Wie oft der Sound abgespielt werden soll (Länge 2sek) - GM only (mehr als 4mal nicht zu empfehlen, der GM wartet ja nicht ewig)
        $whisperSoundOn = IniRead('pirox.ini', 'Settings', 'whisperSoundOn', '1')            ;0 = aus | 1 = an (wenn aktiviert, wird der Sound bei jedem Whisper ausgeöst)
        $blockWhisperTime = IniRead('pirox.ini', 'Settings', 'blockWhisperTime', '80000')
        $modusRunOn = IniRead('pirox.ini', 'Settings', 'modusRunOn', '1')
        $lang = IniRead('pirox.ini', 'Settings', 'language', 'de')
        $tooltip = IniRead('pirox.ini', 'Settings', 'tooltip', '1')
        $wScreenshot = IniRead('pirox.ini', 'Settings', 'wScreenshot', '1')
        $randomTitleOn = IniRead('pirox.ini', 'Settings', 'randomTitleOn', '0')
    
        $whisper_l = IniRead('pirox.ini', 'Coords', 'whisper_l', '40')
        $whisper_t = IniRead('pirox.ini', 'Coords', 'whisper_t', '900')
        $whisper_r = IniRead('pirox.ini', 'Coords', 'whisper_r', '200')
        $whisper_b = IniRead('pirox.ini', 'Coords', 'whisper_b', '945')
        $ball_x = IniRead('pirox.ini', 'Coords', 'ball_x', '0')
        $ball_y = IniRead('pirox.ini', 'Coords', 'ball_y', '0')
        $radar_x = IniRead('pirox.ini', 'Coords', 'radar_x', '0')
        $radar_y = IniRead('pirox.ini', 'Coords', 'radar_y', '0')
    
        $color_blau = IniRead('pirox.ini', 'Colors', 'color_blau', $S_color_blau)
        $color_gelb = IniRead('pirox.ini', 'Colors', 'color_gelb', $S_color_gelb)
        $color_grau = IniRead('pirox.ini', 'Colors', 'color_grau', $S_color_grau)
        $color_gm_whisper = IniRead('pirox.ini', 'Colors', 'color_gm_whisper', $S_color_gm_whisper)
        $color_w = IniRead('pirox.ini', 'Colors', 'color_w', $S_color_w)
        $color_npc = IniRead('pirox.ini', 'Colors', 'color_npc', $S_color_npc)
        $color_npc_neutral = IniRead('pirox.ini', 'Colors', 'color_npc_neutral', $S_color_npc_neutral)
    
    
    
        $msgOnWhisper[0] = IniRead('pirox.ini', 'Whisper', 'msgOnWhisper', 'Huhu :)')
        $msgOnWhisper[1] = IniRead('pirox.ini', 'Whisper', 'msgOnWhisper1', '')
        $msgOnWhisper[2] = IniRead('pirox.ini', 'Whisper', 'msgOnWhisper2', '')
        $msgOnWhisper[3] = IniRead('pirox.ini', 'Whisper', 'msgOnWhisper3', '')
        $msgOnWhisper[4] = IniRead('pirox.ini', 'Whisper', 'msgOnWhisper4', '')
    
        $msgGmOnWhisper[0] = IniRead('pirox.ini', 'Whisper', 'msgGmOnWhisper', 'muss off')
        $msgGmOnWhisper[1] = IniRead('pirox.ini', 'Whisper', 'msgGmOnWhisper1', '')
        $msgGmOnWhisper[2] = IniRead('pirox.ini', 'Whisper', 'msgGmOnWhisper2', '')
        $msgGmOnWhisper[3] = IniRead('pirox.ini', 'Whisper', 'msgGmOnWhisper3', '')
        $msgGmOnWhisper[4] = IniRead('pirox.ini', 'Whisper', 'msgGmOnWhisper4', '')
    
    
        For $msgOnWhisperCtr=0 to 5 Step 1
            If $msgOnWhisper[$msgOnWhisperCtr] = "" Then ExitLoop
            Next
        $msgOnWhisperCtr += -1
    
        For $msgGmOnWhisperCtr=0 to 5 Step 1
            If $msgGmOnWhisper[$msgGmOnWhisperCtr] = "" Then ExitLoop
        Next
        $msgGmOnWhisperCtr += -1
    EndFunc
    
    ;#################################
    Func save_settings()
    
                IniWrite('pirox.ini', 'Keys', 'key_port', GUICtrlRead($key_port))
                IniWrite('pirox.ini', 'Keys', 'key_cat', GUICtrlRead($key_cat))
                IniWrite('pirox.ini', 'Keys', 'key_stealth', GUICtrlRead($key_stealth))
                IniWrite('pirox.ini', 'Keys', 'key_buff', GUICtrlRead($key_buff))
                IniWrite('pirox.ini', 'Settings', 'gmWhisperAction', $gmWhisperAction)
                IniWrite('pirox.ini', 'Settings', 'playerWhisperAction', $playerWhisperAction)
                If GUICtrlRead($whisperSound) = 4 then $whisperSoundOn = 0
                If GUICtrlRead($whisperSound) = 1 then $whisperSoundOn = 1
                IniWrite('pirox.ini', 'Settings', 'whisperSoundOn', $whisperSoundOn)
                IniWrite('pirox.ini', 'Settings', 'gmWhisperSoundDur', GUICtrlRead($gmWhisperSoundDur))
                IniWrite('pirox.ini', 'Settings', 'blockWhisperTime', GUICtrlRead($blockWhisperTime))
                If GUICtrlRead($modusRun) = 4 then $modusRunOn = 0
                If GUICtrlRead($modusRun) = 1 then $modusRunOn = 1
                IniWrite('pirox.ini', 'Settings', 'modusRunOn', $modusRunOn)
                IniWrite('pirox.ini', 'Settings', 'language', GUICtrlRead($langCombo))
                If GUICtrlRead($tooltipBox) = 4 then $tooltip = 0
                If GUICtrlRead($tooltipBox) = 1 then $tooltip = 1
                IniWrite('pirox.ini', 'Settings', 'tooltip', $tooltip)
                If GUICtrlRead($wScreenshotBox) = 4 then $wScreenshot = 0
                If GUICtrlRead($wScreenshotBox) = 1 then $wScreenshot = 1
                IniWrite('pirox.ini', 'Settings', 'wScreenshot', $wScreenshot)
                If GUICtrlRead($randomTitle) = 4 then $randomTitleOn = 0
                If GUICtrlRead($randomTitle) = 1 then $randomTitleOn = 1
                IniWrite('pirox.ini', 'Settings', 'randomTitleOn', $randomTitleOn)
                IniWrite('pirox.ini', 'Coords', 'whisper_l', GUICtrlRead($whisper_l))
                IniWrite('pirox.ini', 'Coords', 'whisper_t', GUICtrlRead($whisper_t))
                IniWrite('pirox.ini', 'Coords', 'whisper_r', GUICtrlRead($whisper_r))
                IniWrite('pirox.ini', 'Coords', 'whisper_b', GUICtrlRead($whisper_b))
                IniWrite('pirox.ini', 'Coords', 'ball_x', GUICtrlRead($ball_x))
                IniWrite('pirox.ini', 'Coords', 'ball_y', GUICtrlRead($ball_y))
                IniWrite('pirox.ini', 'Coords', 'radar_x', GUICtrlRead($radar_x))
                IniWrite('pirox.ini', 'Coords', 'radar_y', GUICtrlRead($radar_y))
                IniWrite('pirox.ini', 'Whisper', 'msgOnWhisper', GUICtrlRead($msgOnWhisper[0]))
                IniWrite('pirox.ini', 'Whisper', 'msgOnWhisper1', GUICtrlRead($msgOnWhisper[1]))
                IniWrite('pirox.ini', 'Whisper', 'msgOnWhisper2', GUICtrlRead($msgOnWhisper[2]))
                IniWrite('pirox.ini', 'Whisper', 'msgOnWhisper3', GUICtrlRead($msgOnWhisper[3]))
                IniWrite('pirox.ini', 'Whisper', 'msgOnWhisper4', GUICtrlRead($msgOnWhisper[4]))
                IniWrite('pirox.ini', 'Whisper', 'msgGmOnWhisper', GUICtrlRead($msgGmOnWhisper[0]))
                IniWrite('pirox.ini', 'Whisper', 'msgGmOnWhisper1', GUICtrlRead($msgGmOnWhisper[1]))
                IniWrite('pirox.ini', 'Whisper', 'msgGmOnWhisper2', GUICtrlRead($msgGmOnWhisper[2]))
                IniWrite('pirox.ini', 'Whisper', 'msgGmOnWhisper3', GUICtrlRead($msgGmOnWhisper[3]))
                IniWrite('pirox.ini', 'Whisper', 'msgGmOnWhisper4', GUICtrlRead($msgGmOnWhisper[4]))
                IniWrite('pirox.ini', 'Colors', 'color_blau', GUICtrlRead($color_blau))
                IniWrite('pirox.ini', 'Colors', 'color_gelb', GUICtrlRead($color_gelb))
                IniWrite('pirox.ini', 'Colors', 'color_grau', GUICtrlRead($color_grau))
                IniWrite('pirox.ini', 'Colors', 'color_gm_whisper', GUICtrlRead($color_gm_whisper))
                IniWrite('pirox.ini', 'Colors', 'color_w', GUICtrlRead($color_w))
                IniWrite('pirox.ini', 'Colors', 'color_npc', GUICtrlRead($color_npc))
                IniWrite('pirox.ini', 'Colors', 'color_npc_neutral', GUICtrlRead($color_npc_neutral))
    
    
            If NOT $msg = $button_save_settings    then
                tt("Einstellungen in pirox.ini gespeichert")
                load_piroxini()        ;Vars laden
            EndIf
    
    EndFunc
    
    Func testvars()
    
        MsgBox(64,"vars1",$key_port&"-"&$key_cat&"-"&$key_stealth&"-"&$key_buff&"-"&$gmWhisperAction&"-"&$playerWhisperAction&"-"& @CRLF _
        & $gmWhisperSoundDur&"-"&$whisperSoundOn&"-"&$blockWhisperTime&"-"&$modusRunOn&"-"&$lang&"-"&$tooltip&"-"&$wScreenshot)
    
        MsgBox(64,"vars2",$whisper_l&"-"&$whisper_t&"-"&$whisper_r&"-"&$whisper_b&"-"&$ball_x&"-"&$ball_y&"-"&$radar_x&"-"&$radar_y)
    
        If $radar_x = 0 then $radar_x = round($pos[2]*0.90,0)
        If $radar_y = 0 then $radar_y = round($pos[3]*0.112,0)
    
        MsgBox(64,"vars3",$color_blau&"-"&$color_gelb&"-"&$color_grau&"-"&$color_gm_whisper&"-"&$color_w&"-"&$color_npc&"-"&$color_npc_neutral)
    
    
        MsgBox(64,"vars4",$msgOnWhisper[0]&"-"&$msgOnWhisper[1]&"-"&$msgOnWhisper[2]&"-"&$msgOnWhisper[3]&"-"&$msgOnWhisper[4]&"-"&$msgGmOnWhisper[0]&"-"&$msgGmOnWhisper[1]&"-"&$msgGmOnWhisper[2]&"-"&$msgGmOnWhisper[3]&"-"&$msgGmOnWhisper[4])
    
    
    EndFunc
    
    
    ;######################
    func add2log($txt)    ;function to add a line to the log
        If $open = 1 then FileWrite($open, '[' & @HOUR & ':' & @MIN & '] ' & $txt & @CRLF)
    EndFunc
    
    
    ;######################
    Func tt($text)
        If $tooltip = 1 then ToolTip($title & " - " &$text ,20,3)
    EndFunc
    
    ;#####################
    Func screenshot()
        global $time = @MDAY & "-"& @MON &"_"& @HOUR &"-"& @MIN
        $screenshot = 0
        while 1
            If NOT FileExists("Screenshots/screen-" & $time &".jpg") then
                DllCall("PX.dll", "int", "CaptureScreen", "str", "Screenshots/screen-"& $time &".jpg", "int", 85)
                Exitloop
            Else
                If NOT FileExists("Screenshots/screen-"& $time &"_"& $screenshot &".jpg") then
                    DllCall("PX.dll", "int", "CaptureScreen", "str", "Screenshots/screen-"& $time &"_"& $screenshot &".jpg", "int", 85)
                    ExitLoop
                Else
                    $screenshot += 1
                EndIf
            EndIf
        WEnd
    
    EndFunc
    
    
    ;#################################
    Func request_pause()
        disableKeys()
    
        tt("paused")
        add2log("Bot paused")
        ControlSend ( $win_title, "", 0, "{enter}")
        sleep(random(50,75))
        ControlSend ( $win_title, "", 0, "/pirox off")
        ControlSend ( $win_title, "", 0, "{enter}")
    
        sleep(500)
        ToolTip("")
        create_gui()
    
    EndFunc
    
    ;#################################
    Func request_end()
        add2log("Bot quit")
        If $open = 1 then FileClose($open)
        Exit
    EndFunc
    
    ; ----------------------------------------------------------------------------
    ; <AUT2EXE INCLUDE-END: C:\Dokumente und Einstellungen\IroX\Desktop\PiroX B0t\pirox.au3>
    ; ----------------------------------------------------------------------------
    Last edited by bind; 03-28-2007 at 07:17 PM.

  6. #6
    Flying Piggy's Avatar Banned
    Reputation
    1169
    Join Date
    Jan 2007
    Posts
    2,286
    Thanks G/R
    0/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    Thank you for the research and the work bind . +rep

  7. #7
    PiroX's Avatar Knight
    Reputation
    180
    Join Date
    Sep 2006
    Posts
    196
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    damn autoit XD
    didn't know that u can decompile it
    now everyone can see it =)

    =D =D =D =D =D =D =D =D =D =D

    but now u see there is nothing dangerous

    Plz tell me how u did it
    Last edited by PiroX; 03-29-2007 at 04:52 AM.

  8. #8
    dscecs's Avatar Member
    Reputation
    1
    Join Date
    Feb 2007
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    Gain thy trust then after you have trust, release a trojan? Nice catch Bind.

    Can you check this file as well? http://rpg-exploiters.shoq.net/index...o.47_v0.51.rar

    It's an older file and no longer works, but I would like to see if there is anything bad in there as well.

  9. #9
    bind's Avatar Contributor
    Reputation
    85
    Join Date
    Jan 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    Originally Posted by dscecs
    Gain thy trust then after you have trust, release a trojan? Nice catch Bind.

    Can you check this file as well? http://rpg-exploiters.shoq.net/index...o.47_v0.51.rar

    It's an older file and no longer works, but I would like to see if there is anything bad in there as well.
    Code:
    ; <AUT2EXE VERSION: 3.1.1.127>
    
    ; ----------------------------------------------------------------------------
    ; <AUT2EXE INCLUDE-START: C:\Documents and Settings\Administrator\Skrivbord\Vanguard\Chromosome.au3>
    ; ----------------------------------------------------------------------------
    
    #NoTrayIcon
    
    #include <GUIConstants.au3>
    #include <Misc.au3>
    
    Global $StateDMA, $ChromVersion="v0.51", $VGBuild="1778", $TeleDist=1000, $DefinedSpeed=561, $CharState=1, $OpenProcess
    Global $SpeedOffset=0x7D0, $StateOffset=0x39, $XOffset=0x1C8, $YOffset=0x1C4, $ZOffset=0x1CC
    
    ;~ ;Offset counting from 1774
    ;~ $Process = 'VGClient.exe'
    ;~ $PID = ProcessExists($Process)
    ;~ $OpenProcess = MemOpen(0x38, False, $PID)
    ;~ $PatchOffset = 0x30D
    
    ;~ ;Calculate CodeCave changes
    ;~ $JmpLocOffset = Hex(0xF4F0+$PatchOffset,4)
    ;~ $JmpToJmpAddy = "FFFC"&$JmpLocOffset
    ;~ ;Calculate JumpGate changes
    ;~ $CaveLocOffset = Hex(0x0B00-$PatchOffset,4)
    ;~ $JmpToCaveAddy = "03"&$CaveLocOffset&"E9"
    ;~ $JumpAddy = 0x10123499+$PatchOffset
    
    ;~ ;CodeCave
    ;~ MemWrite($OpenProcess, 0x10153F9E, 'int', DEC("50FF018B"), 4)
    ;~ MemWrite($OpenProcess, 0x10153FA2, 'int', DEC("100D8930"), 4)
    ;~ MemWrite($OpenProcess, 0x10153FA6, 'int', DEC("E91029AF"), 4)
    ;~ MemWrite($OpenProcess, 0x10153FAA, 'int', DEC($JmpToJmpAddy), 4)
    ;~ ;JumpGate
    ;~ MemWrite($OpenProcess, $JumpAddy, 'int', DEC($JmpToCaveAddy), 4)
    ;~ MemWrite($OpenProcess, $JumpAddy+4, 'int', DEC("00"), 1)
    
    ;~ $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+0x1C8
    ;~ MsgBox(0, "test", HEX($StateDMA, 8))
    
    ;~ exit
    
    
    
    ;~ $Process = 'VGClient.exe'
    ;~ $PID = ProcessExists($Process)
    ;~ $OpenProcess = MemOpen(0x38, False, $PID)
    ;~ ;Offset counting from 1774
    ;~ $PatchOffset = 0x30D
    
    ;~ ;Calculate CodeCave changes
    ;~ $JmpLocOffset = Hex(0xF4F0+$PatchOffset,4)
    ;~ $JmpToJmpAddy = "FFFC"&$JmpLocOffset
    ;~ ;Calculate JumpGate changes
    ;~ $CaveLocOffset = Hex(0x0B00-$PatchOffset,4)
    ;~ $JmpToCaveAddy = "03"&$CaveLocOffset&"E9"
    ;~ $JumpAddy = 0x10123499 + $PatchOffset
    
    ;~ ;CodeCave
    ;~ MemWrite($OpenProcess, 0x10153F9E, 'int', DEC("50FF018B"), 4)
    ;~ MemWrite($OpenProcess, 0x10153FA2, 'int', DEC("100D8930"), 4)
    ;~ MemWrite($OpenProcess, 0x10153FA6, 'int', DEC("E91029AF"), 4)
    ;~ MemWrite($OpenProcess, 0x10153FAA, 'int', DEC($JmpToJmpAddy), 4)
    ;~ ;JumpGate
    ;~ MemWrite($OpenProcess, $JumpAddy, 'int', DEC($JmpToCaveAddy), 4)
    ;~ MemWrite($OpenProcess, $JumpAddy+4, 'int', DEC("00"), 1)
    ;~ sleep(100)
    ;Read TempDMA and write new value
    ;~ $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+0x1C8
    ;~ MsgBox(0, "test", HEX($StateDMA, 8))
    ;~ Exit
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;Kolla Version;;;;;;;;;;;;;;;;;;;;;;;;;
    $Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Vanguard.exe", "Path")
    $Version = FileGetVersion($Path&"\bin\VGClient.exe")
    
    
    If $Version = "0.0.0.0" then
        MsgBox(4096, "Looking for Vanguard.exe", "Game files not found, please specify where Vanguard.exe is located")
        $GetPath = FileOpenDialog("Looking for Vanguard.exe", @HomeDrive, "(Vanguard.exe)", 1 )
        If @error then
            MsgBox(0, "Error", "No file selected. Exiting...")
            Exit
        EndIf
    
        $GetPath = StringTrimRight($GetPath, 13)
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Vanguard.exe", "Path", "REG_SZ", $GetPath)
        sleep(500)
        $Version = FileGetVersion($GetPath&"\bin\VGClient.exe")
    EndIf
    
    
    If $Version = "0.0.0.0" then
        MsgBox(4096, "Versioncheck", "Could not retrieve version of Vanguard"&@LF&"Please visit www.mmotricks.com for further info")
        Exit
    EndIf
    
    If $Version <> "1.0.0."&$VGBuild then
        MsgBox(4096, "Versioncheck", "The version of Vanguard is "&$Version&". This version of"&@LF&"Chromosome was made for Vanguard Build 1.0.0."&$VGBuild&@LF&"Please visit www.mmotricks.com for further info")
        Exit
    EndIf
    
    HotKeySet("!{F1}", "NormalState")
    HotKeySet("!{F2}", "Levitate")
    HotKeySet("!{F3}", "Godwalk")
    HotKeySet("!{F4}", "Nofall")
    
    HotKeySet("!1", "normal")
    HotKeySet("!2", "sow")
    HotKeySet("!3", "cheetah")
    HotKeySet("!4", "DefinedSpeed")
    
    HotKeySet("!{Numpad8}", "TeleNorth")
    HotKeySet("!{Numpad2}", "TeleSouth")
    HotKeySet("!{Numpad4}", "TeleWest")
    HotKeySet("!{Numpad6}", "TeleEast")
    HotKeySet("!{Numpad9}", "TeleUp")
    HotKeySet("!{Numpad1}", "TeleDown")
    HotKeySet("!p", "TelePlane")
    HotKeySet("!o", "TeleBack")
    
    FileInstall("bg.jpg", @SystemDir & "\bg.jpg", 1)
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;State;;;;;;;;;;;;;;;;;;;;;;;;;
    
    Func NormalState()
    Call("StealDMA")
    ;Read TempDMA and write new value
    ;~ MsgBox(0, "test", HEX($StateDMA, 8))
    $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$StateOffset
    MemWrite($OpenProcess, $StateDMA, 'int',1, 1)
    $CharState=1
    EndFunc
    
    
    Func Levitate()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$StateOffset
    MemWrite($OpenProcess, $StateDMA, 'int',17, 1)
    $CharState=17
    EndFunc
    
    
    Func Godwalk()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$StateOffset
    MemWrite($OpenProcess, $StateDMA, 'int',15, 1)
    $CharState=15
    EndFunc
    
    Func Nofall()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$StateOffset
    MemWrite($OpenProcess, $StateDMA, 'int',4, 1)
    $CharState=4
    EndFunc
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;Hastighet;;;;;;;;;;;;;;;;;;;;;;;;;
    
    Func normal()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $SpeedDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$SpeedOffset
    MemWrite($OpenProcess, $SpeedDMA, 'float',560, 4)
    EndFunc
    
    
    Func sow()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $SpeedDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$SpeedOffset
    MemWrite($OpenProcess, $SpeedDMA, 'float',900, 4)
    EndFunc
    
    
    Func cheetah()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $SpeedDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$SpeedOffset
    MemWrite($OpenProcess, $SpeedDMA, 'float',1500, 4)
    endfunc
    
    
    Func DefinedSpeed()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $SpeedDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$SpeedOffset
    MemWrite($OpenProcess, $SpeedDMA, 'float',$DefinedSpeed, 4)
    endfunc
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;Hoppa;;;;;;;;;;;;;;;;;;;;;;;;;
    
    Func TeleNorth()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $X_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$XOffset
    $X_Value=MemRead($OpenProcess, $X_DMA,'float',  4)
    MemWrite($OpenProcess, $X_DMA, 'float',$X_Value-$TeleDist, 4)
    EndFunc
    
    Func TeleSouth()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $X_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$XOffset
    $X_Value=MemRead($OpenProcess, $X_DMA,'float',  4)
    MemWrite($OpenProcess, $X_DMA, 'float',$X_Value+$TeleDist, 4)
    EndFunc
    
    
    Func TeleWest()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $Y_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$YOffset
    $Y_Value=MemRead($OpenProcess, $Y_DMA,'float',  4)
    MemWrite($OpenProcess, $Y_DMA, 'float',$Y_Value-$TeleDist, 4)
    EndFunc
    
    Func TeleEast()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $Y_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$YOffset
    $Y_Value=MemRead($OpenProcess, $Y_DMA,'float',  4)
    MemWrite($OpenProcess, $Y_DMA, 'float',$Y_Value+$TeleDist, 4)
    EndFunc
    
    Func TeleUp()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $Z_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$ZOffset
    $Z_Value=MemRead($OpenProcess, $Z_DMA,'float',  4)
    MemWrite($OpenProcess, $Z_DMA, 'float',$Z_Value+$TeleDist, 4)
    EndFunc
    
    Func TeleDown()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $Z_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$ZOffset
    $Z_Value=MemRead($OpenProcess, $Z_DMA,'float',  4)
    MemWrite($OpenProcess, $Z_DMA, 'float',$Z_Value-$TeleDist, 4)
    EndFunc
    
    
    Func TelePlane()
    Call("StealDMA")
    ;Read TempDMA and write new value
    $Z_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$ZOffset
    $Z_Value=MemRead($OpenProcess, $Z_DMA,'float',  4)
    MemWrite($OpenProcess, $Z_DMA, 'float',"-298800", 4)
    
    ;Change state
    $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$StateOffset
    MemWrite($OpenProcess, $StateDMA, 'int',4, 1)
    EndFunc
    
    Func TeleBack()
    Call("StealDMA")
    
    ;Read TempDMA and write new value
    $Z_DMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$ZOffset
    $Z_Value=MemRead($OpenProcess, $Z_DMA,'float',  4)
    MemWrite($OpenProcess, $Z_DMA, 'float',"0", 4)
    sleep(200)
    ;Reverse state effect
    $StateDMA = MemRead($OpenProcess, 0x1029AF10,'int',  4)+$StateOffset
    MemWrite($OpenProcess, $StateDMA, 'int',$CharState, 1)
    EndFunc
    
    
    MemClose($OpenProcess)
    
    
    
    
    
    
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;; Minneshantering ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Func MemRead($i_hProcess, $i_lpBaseAddress, $s_Type ,$i_nSize)
       Local $hDll = DllOpen("kernel32.dll")
       If @error Then
          SetError(1)
          Return 0
       EndIf
       Local $v_Struct = DllStructCreate ($s_Type&'[' & $i_nSize & ']')
       Local $v_lpNumberOfBytesRead = ''
       DllCall($hDll, 'int', 'ReadProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
       If @error Then
          SetError(1)
          Return 0
       EndIf
       Local $v_Return = DllStructGetData ($v_Struct, 1)
       $v_Struct=0
       DllClose($hDll)
       Return $v_Return
    EndFunc
    
    Func MemWrite($i_hProcess, $i_lpBaseAddress, $s_Type ,$v_Inject, $i_nSize)
       Local $hDll = DllOpen("kernel32.dll")
       If @error Then
          SetError(1)
          Return 0
       EndIf
       $v_lpNumberOfBytesRead = ''
       Local $v_Struct = DllStructCreate ($s_Type&'[' & $i_nSize & ']')
       DllStructSetData ($v_Struct, 1, $v_Inject)
    
       $i_Call = DllCall($hDll, 'int', 'WriteProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
       If @error Then
          SetError(1)
          Return 0
       EndIf
       $v_Struct=0
       DllClose($hDll)
       Return $i_Call[0]
    EndFunc
    
    Func MemOpen($i_dwDesiredAccess, $i_bInheritHandle, $i_dwProcessId)
    
        $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', $i_dwDesiredAccess, 'int', $i_bInheritHandle, 'int', $i_dwProcessId)
        If @error Then
            SetError(1)
            Return 0
        EndIf
    
        Return $ai_Handle[0]
    EndFunc
    
    Func MemClose($i_hProcess)
    
        $av_CloseHandle = DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $i_hProcess)
        Return $av_CloseHandle[0]
    
    EndFunc
    
    Func StealDMA()
    $Process = 'VGClient.exe'
    $PID = ProcessExists($Process)
    $OpenProcess = MemOpen(0x38, False, $PID)
    ;Offset counting from 1774
    $PatchOffset = 0x30D
    
    ;Calculate CodeCave changes
    $JmpLocOffset = Hex(0xF4F0+$PatchOffset,4)
    $JmpToJmpAddy = "FFFC"&$JmpLocOffset
    ;Calculate JumpGate changes
    $CaveLocOffset = Hex(0x0B00-$PatchOffset,4)
    $JmpToCaveAddy = "03"&$CaveLocOffset&"E9"
    $JumpAddy = 0x10123499+$PatchOffset
    
    ;CodeCave
    MemWrite($OpenProcess, 0x10153F9E, 'int', DEC("50FF018B"), 4)
    MemWrite($OpenProcess, 0x10153FA2, 'int', DEC("100D8930"), 4)
    MemWrite($OpenProcess, 0x10153FA6, 'int', DEC("E91029AF"), 4)
    MemWrite($OpenProcess, 0x10153FAA, 'int', DEC($JmpToJmpAddy), 4)
    ;JumpGate
    MemWrite($OpenProcess, $JumpAddy, 'int', DEC($JmpToCaveAddy), 4)
    MemWrite($OpenProcess, $JumpAddy+4, 'int', DEC("00"), 1)
    EndFunc
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;GUI;;;;;;;;;;;;;;;;;;;;;;;;;
    
    GUICreate("Chromosome No.47, by Faldo  "&$ChromVersion, 368, 400)
    GUISetBkColor (0xFFFFFF)
    $background = GUICtrlCreatePic (@SystemDir & "\bg.jpg", 0, 0, 368, 166)
    
    GUISetFont (10, 600, 4, "Arial")
    
    GUICtrlCreateLabel ("Multihack for Vanguard Build "&$VGBuild,  70, 170, 250)
    GUISetFont (9, 400, 1)
    GUICtrlCreateGroup ("Hotkeys:", 10, 190, 190, 200)
    GUISetFont (7, 400, 1)
    GUICtrlCreateLabel ("Alt-1 = Run at 100%", 15, 205, 150, 15)
    GUICtrlCreateLabel ("Alt-2 = Run at 150%", 15, 215, 150, 15)
    GUICtrlCreateLabel ("Alt-3 = Run at 300%", 15, 225, 150, 15)
    GUICtrlCreateLabel ("Alt-4 = User defined speed", 15, 235, 150, 15)
    
    GUICtrlCreateLabel ("Alt-Numpad 8 = Teleport north", 15, 245, 150, 15)
    GUICtrlCreateLabel ("Alt-Numpad 2 = Teleport south", 15, 255, 150, 15)
    GUICtrlCreateLabel ("Alt-Numpad 4 = Teleport west", 15, 265, 150, 15)
    GUICtrlCreateLabel ("Alt-Numpad 6 = Teleport east", 15, 275, 160, 10)
    GUICtrlCreateLabel ("Alt-Numpad 9 = Teleport up", 15, 285, 160, 10)
    GUICtrlCreateLabel ("Alt-Numpad 1 = Teleport down", 15, 295, 160, 10)
    
    GUICtrlCreateLabel ("Alt-F1 = Normal walk", 15, 305, 160, 10)
    GUICtrlCreateLabel ("Alt-F2 = Levitate", 15, 315, 160, 10)
    GUICtrlCreateLabel ("Alt-F3 = TerrainFloat", 15, 325, 160, 10)
    GUICtrlCreateLabel ("Alt-F4 = GravityWalk", 15, 335, 160, 10)
    
    GUICtrlCreateLabel ("Alt-P = Teleport to plane", 15, 345, 160, 10)
    GUICtrlCreateLabel ("Alt-O = Teleport back from plane", 15, 355, 160, 10)
    
    
    GUISetFont (9, 400, 1)
    GUICtrlCreateGroup ("Variables:", 210, 190, 150, 100)
    GUISetFont (8, 400, 1)
    GUICtrlCreateLabel ("    Set teleport distance:", 220, 205, 130, 15)
    $SetDistance = GUICtrlCreateInput ( "1000", 250, 218, 50, 15, $ES_NUMBER)
    
    GUICtrlCreateLabel ("    User defined speed:", 220, 252, 130, 12)
    $SetSpeed = GUICtrlCreateInput ( "300", 230, 266, 40, 15, $ES_NUMBER)
    GUICtrlCreateLabel ("(normal=300)", 280, 267, 70, 12)
    
    GUISetState (@SW_SHOW)
    
    While 1
        $msg = GUIGetMsg()
    
        If $msg = $SetDistance Then
            $TeleDist=GUICtrlRead($SetDistance)*2
            MsgBox(0, "Variables", "Teleportation distance set to "&GUICtrlRead($SetDistance), 5)
        EndIf
    
        If $msg = $SetSpeed Then
            $DefinedSpeed=GUICtrlRead($SetSpeed)+257
            MsgBox(0, "Variables", "User defined speed set to "&GUICtrlRead($SetSpeed), 5)
        EndIf
    
    
        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend
    
    ; ----------------------------------------------------------------------------
    ; <AUT2EXE INCLUDE-END: C:\Documents and Settings\Administrator\Skrivbord\Vanguard\Chromosome.au3>
    ; ----------------------------------------------------------------------------

  10. #10
    Beastslayer's Avatar Active Member
    Reputation
    46
    Join Date
    Dec 2006
    Posts
    235
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: PiroX's AntiAFK Bot Decompiled Source.

    It annoys the h*ll out of me when she decompiles programs lol. a lot of people on the internet are guilty for plaguerism.

Similar Threads

  1. PiroX AntiAFK Bot
    By PiroX in forum World of Warcraft Bots and Programs
    Replies: 1397
    Last Post: 02-10-2009, 12:17 PM
  2. Pirox AFK BG BOT
    By ringmas212 in forum World of Warcraft Bots and Programs
    Replies: 28
    Last Post: 07-05-2008, 08:49 AM
  3. Pirox Anti-Afk Bot | Pics, Tips and Help
    By Rectal Exambot in forum World of Warcraft Guides
    Replies: 20
    Last Post: 01-25-2008, 10:14 AM
  4. PiroX's AFK Bot - Update v7.1.6
    By TheCrusher in forum World of Warcraft Bots and Programs
    Replies: 13
    Last Post: 01-04-2008, 10:07 PM
All times are GMT -5. The time now is 04:58 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search