Monitor My Host + Source Code

This is a discussion on Monitor My Host + Source Code within the Warcraft 3 Hacks, bots and tools board part of the Warcraft 3 forum category; Here is my work, a simple tool to check your host and notify you when it's full. I just saw ...

Page 1 of 2 12 LastLast
Results 1 to 10 of 19
  1. #1
    Farid.Agl's Avatar
    Farid.Agl is offline Advanced Hacker

    Array
    Join Date
    Sep 2011
    Posts
    448
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    8
    Reputation
    322

    Warcraft III Monitor My Host 1.1.1.0 + Source Code

    Here is my work, a simple tool to check your host and notify you when it's full.
    I just saw people around here that are talking about something like this and i write this script to make their job easier


    GUI Improved.
    Added sound notification.
    Added Instant Game Start Feature.


    Zip Package (Include everything!):
    Monitor My Host 1.1.1.0.zip

    Compiled exe:

    Monitor My Host 1.1.1.0.exe

    Source Code:

    Code:
    #RequireAdmin
    #NoTrayIcon
    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=beta
    #AutoIt3Wrapper_Icon=Icon.ico
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Fileversion=1.1.1.0
    #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    
    #cs ----------------------------------------------------------------------------
        AutoIt Version:        3.3.7.20 (beta)
        Author:                D4RK.ON3 - [email protected]
    
    
        Script Function:    Warcraft III Monitor My Host
        Supported Patches:    1.24x - 1.25x - 1.26x
        Tested On:            Windows 7 Ultimate x86 - Patch 1.24b & 1.24e & 1.25b & 1.26a
    #ce ----------------------------------------------------------------------------
    
    
    _Singleton("Monitor My Host")
    
    
    Opt("GUICloseOnESC", 0)
    Opt("MustDeclareVars", 1)
    
    
    Local Const $Title = "Monitor My Host", $Version = "v1.1.1.0"
    Local $GUI_Form, $GUI_ContextMenu, $GUI_VisitHomePage, $GUI_About, $CurrentPlayers, $InstantGameStart, $ActivateWarcraftWindow, $GUI_NotifyValue, $GUI_Start, $GUI_GetEvent
    Local $PID, $Location, $Patch, $Value, $TempValue1, $TempValue2
    Global $NotifyValue, $Process, $Game_dll
    
    
    _SetPrivilege("SeDebugPrivilege", 1)
    
    
    OnAutoItExitRegister("_Close")
    Func _Close()
        _MemoryClose($Process)
        If @Compiled Then
            FileDelete(@ScriptDir & "\SlotsEquipped.mp3")
        EndIf
    EndFunc   ;==>_Close
    
    
    FileInstall("SlotsEquipped.mp3", @ScriptDir & "\SlotsEquipped.mp3", 1)
    
    
    ;~ --------------------------------------------------
    
    
    $GUI_Form = GUICreate($Title, 569, 283)
    GUISetBkColor(0xFFFFFF)
    
    
    $GUI_ContextMenu = GUICtrlCreateContextMenu()
    $GUI_VisitHomePage = GUICtrlCreateMenuItem("Visit HomePage...", $GUI_ContextMenu)
    $GUI_About = GUICtrlCreateMenuItem("About...", $GUI_ContextMenu)
    
    
    GUICtrlCreateLabel($Title, 10, 0, 345, 60)
    GUICtrlSetFont(-1, 36, 400, 0, "Segoe UI Light")
    GUICtrlSetColor(-1, 0x707070)
    
    
    GUICtrlCreateLabel($Version, 290, 60, 60, 25, 0x2)
    GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
    GUICtrlSetColor(-1, 0x949494)
    
    
    GUICtrlCreateLabel("Players joined your Host:", 10, 110, 250, 35)
    GUICtrlSetFont(-1, 18, 400, 0, "Segoe UI Light")
    GUICtrlSetColor(-1, 0xDB7100)
    
    
    $CurrentPlayers = GUICtrlCreateLabel("0/0", 270, 110, 75, 35)
    GUICtrlSetFont(-1, 18, 400, 0, "Segoe UI Light")
    GUICtrlSetColor(-1, 0xDB7100)
    
    
    GUICtrlCreateGroup("Features", 10, 160, 340, 115)
    GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
    $InstantGameStart = GUICtrlCreateCheckbox("Instant Game Start", 25, 190, 210, 35)
    GUICtrlSetState(-1, 1)
    GUICtrlSetFont(-1, 18, 400, 0, "Segoe UI Light")
    GUICtrlSetTip(-1, "Remove the 5 seconds countdown when you started the game.")
    $ActivateWarcraftWindow = GUICtrlCreateCheckbox("Activate Warcraft Window", 25, 230, 285, 35)
    GUICtrlSetFont(-1, 18, 400, 0, "Segoe UI Light")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    
    
    GUICtrlCreateGroup("Notify Value", 360, 100, 200, 115)
    GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI")
    $GUI_NotifyValue = GUICtrlCreateSlider(370, 150, 180, 30)
    GUICtrlSetLimit(-1, 12, 1)
    GUICtrlSetData(-1, 10)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Notify you when number of players in your Host reached to this value.")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    
    
    $GUI_Start = GUICtrlCreateButton("Start Monitoring", 360, 224, 200, 50)
    GUICtrlSetFont(-1, 20, 400, 0, "Segoe UI Light")
    
    
    GUISetState(@SW_SHOW)
    
    
    ;~ -----------------------------------------------------------------------------
    
    
    _MainFunction()
    
    
    Func _MainFunction()
        GUICtrlSetData($GUI_Start, "Start Monitoring")
        GUICtrlSetState($GUI_NotifyValue, 64)
        While 1
            $GUI_GetEvent = GUIGetMsg()
            Select
                Case $GUI_GetEvent = -3
                    Exit
                Case $GUI_GetEvent = $GUI_Start
                    _StartMonitoring()
                Case $GUI_GetEvent = $GUI_About
                    _About()
                Case $GUI_GetEvent = $GUI_VisitHomePage
                    _VisitHomePage()
            EndSelect
        WEnd
    EndFunc   ;==>_MainFunction
    
    
    Func _StartMonitoring()
        GUICtrlSetData($GUI_Start, "Stop Monitoring")
        $NotifyValue = GUICtrlRead($GUI_NotifyValue)
        GUICtrlSetState($GUI_NotifyValue, 128)
        GUICtrlSetData($CurrentPlayers, 0 & "/" & $NotifyValue)
        While 1
            $GUI_GetEvent = GUIGetMsg()
            Select
                Case $GUI_GetEvent = -3
                    Exit
                Case $GUI_GetEvent = $GUI_Start
                    GUICtrlSetData($CurrentPlayers, "0/0")
                    $TempValue1 = 0
                    $TempValue2 = 0
                    _MainFunction()
                Case $GUI_GetEvent = $GUI_About
                    _About()
                Case $GUI_GetEvent = $GUI_VisitHomePage
                    _VisitHomePage()
            EndSelect
            If WinExists("[CLASS:Warcraft III]") Then _CheckMyHost()
        WEnd
    EndFunc   ;==>_StartMonitoring
    
    
    Func _CheckMyHost()
        $PID = WinGetProcess("[CLASS:Warcraft III]")
        $Process = _MemoryOpen($PID)
        $Game_dll = _MemoryModuleGetBaseAddress($PID, "Game.dll")
        $Location = _ProcessGetLocation($PID)
        $Patch = FileGetVersion($Location)
        Select
            Case StringTrimRight($Patch, 5) = "1.24.1"
                DllCall($Process[0], 'int', 'VirtualProtectEx', 'int', $Process[1], 'ptr', $Game_dll + 0x971CF4, 'ulong_ptr', 2, 'dword', 0x00000004, 'dword*', '')
            Case StringTrimRight($Patch, 5) = "1.24.4"
                DllCall($Process[0], 'int', 'VirtualProtectEx', 'int', $Process[1], 'ptr', $Game_dll + 0x971D0C, 'ulong_ptr', 2, 'dword', 0x00000004, 'dword*', '')
            Case StringTrimRight($Patch, 7) = "1.25" Or StringTrimRight($Patch, 7) = "1.26"
                DllCall($Process[0], 'int', 'VirtualProtectEx', 'int', $Process[1], 'ptr', $Game_dll + 0x95FBB4, 'ulong_ptr', 2, 'dword', 0x00000004, 'dword*', '')
        EndSelect
    
    
        Select
            Case StringTrimRight($Patch, 5) = "1.24.1"
                _Monitor1_24x()
                _RemoveCountDown1_24b()
            Case StringTrimRight($Patch, 5) = "1.24.4"
                _Monitor1_24x()
                _RemoveCountDown1_24e()
            Case StringTrimRight($Patch, 7) = "1.25" Or StringTrimRight($Patch, 7) = "1.26"
                _Monitor1_25_26x()
                _RemoveCountDown1_25_26x()
        EndSelect
    EndFunc   ;==>_CheckMyHost
    
    
    Func _VisitHomePage()
        ShellExecute("http://godlike-exp.ir/")
    EndFunc   ;==>_VisitHomePage
    
    
    Func _About()
        MsgBox(64, $Title, $Title & " " & $Version & @CRLF & @CRLF & "by D4RK.ON3", 0, $GUI_Form)
    EndFunc   ;==>_About
    
    
    ;~ -----------------------------------------------------------------------------
    
    
    Func _Monitor1_24x()
        $Value = _MemoryRead($Game_dll + 0xAE64C0, $Process)
        If $Value <> $TempValue1 Then
            $TempValue1 = $Value
            GUICtrlSetData($CurrentPlayers, $TempValue1 & "/" & $NotifyValue)
        EndIf
        If $Value >= $NotifyValue Then
            If $TempValue2 = 0 Then
                If GUICtrlRead($ActivateWarcraftWindow) = 1 Then
                    If Not WinActive("[CLASS:Warcraft III]") Then WinActivate("[CLASS:Warcraft III]")
                EndIf
                SoundPlay(@ScriptDir & "\SlotsEquipped.mp3")
                $TempValue2 = 1
            EndIf
        Else
            If $TempValue2 = 1 Then
                $TempValue2 = 0
            EndIf
        EndIf
    EndFunc   ;==>_Monitor1_24x
    
    
    Func _Monitor1_25_26x()
        $Value = _MemoryRead($Game_dll + 0xACF660, $Process)
        If $Value <> $TempValue1 Then
            $TempValue1 = $Value
            GUICtrlSetData($CurrentPlayers, $TempValue1 & "/" & $NotifyValue)
        EndIf
        If $Value >= $NotifyValue Then
            If $TempValue2 = 0 Then
                If GUICtrlRead($ActivateWarcraftWindow) = 1 Then
                    If Not WinActive("[CLASS:Warcraft III]") Then WinActivate("[CLASS:Warcraft III]")
                EndIf
                SoundPlay(@ScriptDir & "\SlotsEquipped.mp3")
                $TempValue2 = 1
            EndIf
        Else
            If $TempValue2 = 1 Then
                $TempValue2 = 0
            EndIf
        EndIf
    EndFunc   ;==>_Monitor1_25_26x
    
    
    Func _RemoveCountDown1_24b()
        If GUICtrlRead($InstantGameStart) = 1 Then
            _MemoryWrite($Game_dll + 0x971CF4, $Process, 0.1, "Float")
        Else
            _MemoryWrite($Game_dll + 0x971CF4, $Process, 6, "Float")
        EndIf
    EndFunc   ;==>_RemoveCountDown1_24b
    
    
    Func _RemoveCountDown1_24e()
        If GUICtrlRead($InstantGameStart) = 1 Then
            _MemoryWrite($Game_dll + 0x971D0C, $Process, 0.1, "Float")
        Else
            _MemoryWrite($Game_dll + 0x971D0C, $Process, 6, "Float")
        EndIf
    EndFunc   ;==>_RemoveCountDown1_24e
    
    
    Func _RemoveCountDown1_25_26x()
        If GUICtrlRead($InstantGameStart) = 1 Then
            _MemoryWrite($Game_dll + 0x95FBB4, $Process, 0.1, "Float")
        Else
            _MemoryWrite($Game_dll + 0x95FBB4, $Process, 6, "Float")
        EndIf
    EndFunc   ;==>_RemoveCountDown1_25_26x
    
    
    ;~ -----------------------------------------------------------------------------
    
    
    Func _SetPrivilege($privilege, $bEnable)
        Const $MY_TOKEN_ADJUST_PRIVILEGES = 0x0020
        Const $MY_TOKEN_QUERY = 0x0008
        Const $MY_SE_PRIVILEGE_ENABLED = 0x0002
        Local $hToken, $SP_auxret, $SP_ret, $hCurrProcess, $nTokens, $nTokenIndex, $priv, $LUID, $TOKEN_PRIVILEGES, $NEWTOKEN_PRIVILEGES, $ret, $f
        $nTokens = 1
        $LUID = DllStructCreate("dword;int")
        If IsArray($privilege) Then $nTokens = UBound($privilege)
        $TOKEN_PRIVILEGES = DllStructCreate("dword;dword[" & (3 * $nTokens) & "]")
        $NEWTOKEN_PRIVILEGES = DllStructCreate("dword;dword[" & (3 * $nTokens) & "]")
        $hCurrProcess = DllCall("kernel32.dll", "hwnd", "GetCurrentProcess")
        $SP_auxret = DllCall("advapi32.dll", "int", "OpenProcessToken", "hwnd", $hCurrProcess[0], "int", BitOR($MY_TOKEN_ADJUST_PRIVILEGES, $MY_TOKEN_QUERY), "int*", 0)
        If $SP_auxret[0] Then
            $hToken = $SP_auxret[3]
            DllStructSetData($TOKEN_PRIVILEGES, 1, 1)
            $nTokenIndex = 1
            While $nTokenIndex <= $nTokens
                If IsArray($privilege) Then
                    $priv = $privilege[$nTokenIndex - 1]
                Else
                    $priv = $privilege
                EndIf
                $ret = DllCall("advapi32.dll", "int", "LookupPrivilegeValue", "str", "", "str", $priv, "ptr", DllStructGetPtr($LUID))
                If $ret[0] Then
                    If $bEnable Then
                        DllStructSetData($TOKEN_PRIVILEGES, 2, $MY_SE_PRIVILEGE_ENABLED, (3 * $nTokenIndex))
                    Else
                        DllStructSetData($TOKEN_PRIVILEGES, 2, 0, (3 * $nTokenIndex))
                    EndIf
                    DllStructSetData($TOKEN_PRIVILEGES, 2, DllStructGetData($LUID, 1), (3 * ($nTokenIndex - 1)) + 1)
                    DllStructSetData($TOKEN_PRIVILEGES, 2, DllStructGetData($LUID, 2), (3 * ($nTokenIndex - 1)) + 2)
                    DllStructSetData($LUID, 1, 0)
                    DllStructSetData($LUID, 2, 0)
                EndIf
                $nTokenIndex += 1
            WEnd
            $ret = DllCall("advapi32.dll", "int", "AdjustTokenPrivileges", "hwnd", $hToken, "int", 0, _
                    "ptr", DllStructGetPtr($TOKEN_PRIVILEGES), "int", DllStructGetSize($NEWTOKEN_PRIVILEGES), _
                    "ptr", DllStructGetPtr($NEWTOKEN_PRIVILEGES), "int*", 0)
            $f = DllCall("kernel32.dll", "int", "GetLastError")
        EndIf
        $NEWTOKEN_PRIVILEGES = 0
        $TOKEN_PRIVILEGES = 0
        $LUID = 0
        If $SP_auxret[0] = 0 Then Return 0
        $SP_auxret = DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hToken)
        If Not $ret[0] And Not $SP_auxret[0] Then Return 0
        Return $ret[0]
    EndFunc   ;==>_SetPrivilege
    
    
    Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_InheritHandle = 1)
        If Not ProcessExists($iv_Pid) Then
            SetError(1)
            Return 0
        EndIf
    
    
        Local $ah_Handle[2] = [DllOpen('kernel32.dll')]
    
    
        If @error Then
            SetError(2)
            Return 0
        EndIf
    
    
        Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $iv_InheritHandle, 'int', $iv_Pid)
    
    
        If @error Then
            DllClose($ah_Handle[0])
            SetError(3)
            Return 0
        EndIf
    
    
        $ah_Handle[1] = $av_OpenProcess[0]
    
    
        Return $ah_Handle
    EndFunc   ;==>_MemoryOpen
    
    
    Func _MemoryModuleGetBaseAddress($iPID, $sModule)
        If Not ProcessExists($iPID) Then Return SetError(1, 0, 0)
    
    
        If Not IsString($sModule) Then Return SetError(2, 0, 0)
    
    
        Local $PSAPI = DllOpen("psapi.dll")
    
    
        Local $hProcess
        Local $PERMISSION = BitOR(0x0002, 0x0400, 0x0008, 0x0010, 0x0020)
    
    
        If $iPID > 0 Then
            Local $hProcess = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $iPID)
            If $hProcess[0] Then
                $hProcess = $hProcess[0]
            EndIf
        EndIf
    
    
        Local $Modules = DllStructCreate("ptr[1024]")
        Local $aCall = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $hProcess, "ptr", DllStructGetPtr($Modules), "dword", DllStructGetSize($Modules), "dword*", 0)
        If $aCall[4] > 0 Then
            Local $iModnum = $aCall[4] / 4
            Local $aTemp
            For $i = 1 To $iModnum
                $aTemp = DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $hProcess, "ptr", Ptr(DllStructGetData($Modules, 1, $i)), "wstr", "", "dword", 260)
                If $aTemp[3] = $sModule Then
                    DllClose($PSAPI)
                    Return Ptr(DllStructGetData($Modules, 1, $i))
                EndIf
            Next
        EndIf
    
    
        DllClose($PSAPI)
        Return SetError(-1, 0, 0)
    EndFunc   ;==>_MemoryModuleGetBaseAddress
    
    
    Func _MemoryRead($iv_Address, $ah_Handle, $sv_Type = 'dword')
        If Not IsArray($ah_Handle) Then
            SetError(1)
            Return 0
        EndIf
    
    
        Local $v_Buffer = DllStructCreate($sv_Type)
    
    
        If @error Then
            SetError(@error + 1)
            Return 0
        EndIf
    
    
        DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
    
    
        If Not @error Then
            Local $v_Value = DllStructGetData($v_Buffer, 1)
            Return $v_Value
        Else
            SetError(6)
            Return 0
        EndIf
    EndFunc   ;==>_MemoryRead
    
    
    Func _MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')
        If Not IsArray($ah_Handle) Then
            SetError(1)
            Return 0
        EndIf
    
    
        Local $v_Buffer = DllStructCreate($sv_Type)
    
    
        If @error Then
            SetError(@error + 1)
            Return 0
        Else
            DllStructSetData($v_Buffer, 1, $v_Data)
            If @error Then
                SetError(6)
                Return 0
            EndIf
        EndIf
    
    
        DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
    
    
        If Not @error Then
            Return 1
        Else
            SetError(7)
            Return 0
        EndIf
    EndFunc   ;==>_MemoryWrite
    
    
    Func _ProcessGetLocation($iPID)
        Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID)
        Local $vStruct = DllStructCreate('int[1024]')
        DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0)
        Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048)
        Return $aReturn[3]
    EndFunc   ;==>_ProcessGetLocation
    
    
    Func _MemoryClose($ah_Handle)
        If Not IsArray($ah_Handle) Then
            SetError(1)
            Return 0
        EndIf
    
    
        DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
        If Not @error Then
            DllClose($ah_Handle[0])
            Return 1
        Else
            DllClose($ah_Handle[0])
            SetError(2)
            Return 0
        EndIf
    EndFunc   ;==>_MemoryClose
    
    
    Func _Singleton($sOccurenceName, $iFlag = 0)
        Local Const $ERROR_ALREADY_EXISTS = 183
        Local Const $SECURITY_DESCRIPTOR_REVISION = 1
        Local $pSecurityAttributes = 0
    
    
        If BitAND($iFlag, 2) Then
            Local $tSecurityDescriptor = DllStructCreate("dword[5]")
            Local $pSecurityDescriptor = DllStructGetPtr($tSecurityDescriptor)
            Local $aRet = DllCall("advapi32.dll", "bool", "InitializeSecurityDescriptor", _
                    "ptr", $pSecurityDescriptor, "dword", $SECURITY_DESCRIPTOR_REVISION)
            If @error Then Return SetError(@error, @extended, 0)
            If $aRet[0] Then
                $aRet = DllCall("advapi32.dll", "bool", "SetSecurityDescriptorDacl", _
                        "ptr", $pSecurityDescriptor, "bool", 1, "ptr", 0, "bool", 0)
                If @error Then Return SetError(@error, @extended, 0)
                If $aRet[0] Then
                    Local $structSecurityAttributes = DllStructCreate("dword Length;ptr Descriptor;bool InheritHandle")
                    DllStructSetData($structSecurityAttributes, 1, DllStructGetSize($structSecurityAttributes))
                    DllStructSetData($structSecurityAttributes, 2, $pSecurityDescriptor)
                    DllStructSetData($structSecurityAttributes, 3, 0)
                    $pSecurityAttributes = DllStructGetPtr($structSecurityAttributes)
                EndIf
            EndIf
        EndIf
    
    
        Local $handle = DllCall("kernel32.dll", "handle", "CreateMutexW", "ptr", $pSecurityAttributes, "bool", 1, "wstr", $sOccurenceName)
        If @error Then Return SetError(@error, @extended, 0)
        Local $lastError = DllCall("kernel32.dll", "dword", "GetLastError")
        If @error Then Return SetError(@error, @extended, 0)
        If $lastError[0] = $ERROR_ALREADY_EXISTS Then
            If BitAND($iFlag, 1) Then
                Return SetError($lastError[0], $lastError[0], 0)
            Else
                Exit -1
            EndIf
        EndIf
        Return $handle[0]
    EndFunc   ;==>_Singleton
    Note: The GUI uses Segoe UI font family that is available on Windows Vista & 7, if you have an older OS download and install this fonts:
    Segoe UI.zip

    Last edited by Farid.Agl; 11-08-2011 at 09:17 PM. Reason: Updated to version 1.1.1.0

  2. The Following 4 Users Say Thank You to Farid.Agl For This Useful Post:


  3. #2
    ZeD's Avatar
    ZeD
    ZeD is offline RoR 0x266E


    Array
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    1,440
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    14
    Reputation
    698
    Good work but I can't understand why everyone nowadays uses AutoIt for such things...
    So complicated for such an easy task...

  4. #3
    Farid.Agl's Avatar
    Farid.Agl is offline Advanced Hacker

    Array
    Join Date
    Sep 2011
    Posts
    448
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    8
    Reputation
    322
    Thanks.
    AutoIt makes me think different and certainly i can say it changes my whole life (Just kidding!)
    I don't know why you think it's complicated, it's so easy to learn and understand (Atleast for me) and it's really powerful. You are almost able to code everything in AutoIt.
    My next shot will be Camera Distance Hack & Countdown to Start the Game Hack !

  5. #4
    YourName's Avatar
    YourName is offline THE ONE AND ONLY DARK KNIGHTY


    Array
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    1,553
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    16
    Reputation
    1088
    Well you can do the same in C++ or even C# in about half the lines and still have more overview and simplicity in the whole code.
    Providing you with foolish stuff since 2007.

  6. The Following 2 Users Say Thank You to YourName For This Useful Post:


  7. #5
    Farid.Agl's Avatar
    Farid.Agl is offline Advanced Hacker

    Array
    Join Date
    Sep 2011
    Posts
    448
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    8
    Reputation
    322
    I don't know so much about C# but i'm already learning C++ .
    In fact everyone knows that C# & C++ are most powerful languages, i'm not ignoring that, i just like AutoIt for my personal reasons.

  8. #6
    ZeD's Avatar
    ZeD
    ZeD is offline RoR 0x266E


    Array
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    1,440
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    14
    Reputation
    698
    Quote Originally Posted by YourName View Post
    Well you can do the same in C++ or even C# in about half the lines and still have more overview and simplicity in the whole code.
    Thats what I wanted to say.

    Quote Originally Posted by GoDLiKe.ON3 View Post
    I don't know so much about C# but i'm already learning C++ .
    In fact everyone knows that C# & C++ are most powerful languages, i'm not ignoring that, i just like AutoIt for my personal reasons.
    Nop. ASM is the most powerful language.

  9. #7
    YourName's Avatar
    YourName is offline THE ONE AND ONLY DARK KNIGHTY


    Array
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    1,553
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    16
    Reputation
    1088
    Quote Originally Posted by Dennis View Post
    Nop. ASM is the most powerful language.
    That highly depends on what you want to do. You can't declare any language to the most powerful, every language has its own goods and bads.
    Providing you with foolish stuff since 2007.

  10. #8
    Farid.Agl's Avatar
    Farid.Agl is offline Advanced Hacker

    Array
    Join Date
    Sep 2011
    Posts
    448
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    8
    Reputation
    322
    Quote Originally Posted by YourName View Post
    That highly depends on what you want to do. You can't declare any language to the most powerful, every language has its own goods and bads.
    I agree, i think i should start learning ASM too.

  11. #9
    Farid.Agl's Avatar
    Farid.Agl is offline Advanced Hacker

    Array
    Join Date
    Sep 2011
    Posts
    448
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    8
    Reputation
    322
    Thread Updated to version 1.1:
    Added sound notification.
    Added Instant Game Start Feature.

  12. #10
    ZeD's Avatar
    ZeD
    ZeD is offline RoR 0x266E


    Array
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    1,440
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    14
    Reputation
    698
    Quote Originally Posted by YourName View Post
    That highly depends on what you want to do. You can't declare any language to the most powerful, every language has its own goods and bads.
    Related to gamehacking asm is unavoidable.
    Without it you couldn't do anything to modify warcrafts memory.

Page 1 of 2 12 LastLast

Similar Threads

  1. source code for mh?
    By xain819 in forum Starcraft 2 Hacks, bots and tools
    Replies: 0
    Last Post: 06-02-2010, 02:42 AM
  2. WC3 Startup bot and Source code.
    By fogest in forum Development
    Replies: 2
    Last Post: 04-29-2010, 08:42 PM
  3. [Request] Counter Strike Source Hack Source Code
    By luketh in forum Counter-Strike: Source Hacks
    Replies: 4
    Last Post: 04-10-2010, 02:24 AM
  4. Ms Vista source code
    By DiscoInferno in forum Entertainment
    Replies: 19
    Last Post: 06-01-2007, 07:15 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •