- Сообщения
- 5,379
- Репутация
- 2,724
Если кто играл/играет в D3 магом с КМ-билдом, то знает, насколько подбешивает постоянное нажатие 1-2-3 + ЛКМ (вариации могут быть разные). Для упрощения сего увлекательного процесса я написал небольшой скрипт на AutoIt.
После запуска появится иконка в трее, с помощью которой можно временно деактивировать скрипт (клик по иконке или через меню). Сам скрипт работает следующим образом: при удержании пробела (стоять на месте) + ЛКМ (энергетический вихрь) в случайном порядке со случаными задержками прожимаются клавиши 1-2-3 (алмазная кожа, энергетический взрыв и кольцо льда). Вот собственно и все. Проверить работу скрипта можно в любом текстовом редакторе зажав пробел и ЛКМ.
P.S.
Естественно, ответственность за использование данного скрипта будет лежать полностью на вас. Но т.к. скрипт не является ботом и не может работать без участия игрока, то забанить вас не должны .
Скомпилированная версия (с иконками):
D3Helper.zip
Код:
#Region Resources
#AutoIt3Wrapper_UseX64=N
#AutoIt3Wrapper_UseUpx=N
#AutoIt3Wrapper_OutFile=D3Helper.exe
#AutoIt3Wrapper_Icon=D3.ico
#AutoIt3Wrapper_Run_Obfuscator=Y
#AutoIt3Wrapper_Res_Icon_Add=201.ico
#AutoIt3Wrapper_Res_Icon_Add=202.ico
#AutoIt3Wrapper_Run_After=del D3Helper_Obfuscated.au3
#Obfuscator_Parameters=/striponly
#EndRegion Resources
#Include <Constants.au3>
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
Opt('TrayMenuMode', 3)
Opt('TrayOnEventMode', 1)
Global Const $Key[3] = [0x31, 0x32, 0x33]
Global $Tmp, $Index, $Pause = False
Global $Tray[2]
;~HotKeySet('^p', '_Rev')
$Tray[0] = TrayCreateItem('Pause')
TrayItemSetOnEvent(-1, '_TrayEvents')
;~TrayItemSetState(-1, $TRAY_DEFAULT)
TrayCreateItem('')
$Tray[1] = TrayCreateItem('Exit')
TrayItemSetOnEvent(-1, '_TrayEvents')
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, '_TrayEvents')
TraySetToolTip('Diablo III CM Wizzard Helper')
TraySetClick(8)
While 1
Sleep(10)
If $Pause Then
ContinueLoop
EndIf
While (BitAND(_WinAPI_GetAsyncKeyState(0x01), 0x8000)) And (BitAND(_WinAPI_GetAsyncKeyState(0x20), 0x8000))
$Tmp = $Key
For $i = 0 To UBound($Tmp) - 1
$Index = Random(0, UBound($Tmp) - 1, 1)
While Not $Tmp[$Index]
$Index += 1
If $Index > UBound($Tmp) - 1 Then
$Index = 0
EndIf
WEnd
_WinAPI_Keybd_Event($Tmp[$Index], 0x00)
_Delay(Random(10, 20, 1))
_WinAPI_Keybd_Event($Tmp[$Index], 0x02)
_Delay(Random(10, 20, 1))
$Tmp[$Index] = 0
Next
WEnd
WEnd
Func _Delay($iDelay)
Local $Timer = TimerInit()
While TimerDiff($Timer) <= $iDelay
; Nothing
WEnd
EndFunc ;==>_Delay
#cs
Func _Rev()
Static $Int = False
If $Int Then
Return
EndIf
$Int = 1
_Pause()
;~ Beep(600, 100)
$Int = 0
EndFunc ;==>_Rev
#ce
Func _Pause()
If $Pause Then
TrayItemSetState($Tray[0], $TRAY_UNCHECKED)
TraySetIcon(@ScriptFullPath, 201)
$Pause = 0
Else
TrayItemSetState($Tray[0], $TRAY_CHECKED)
TraySetIcon(@ScriptFullPath, 202)
$Pause = 1
EndIf
EndFunc ;==>_Pause
Func _TrayEvents()
Switch @TRAY_ID
Case $TRAY_EVENT_PRIMARYDOWN
ContinueCase
Case $Tray[0]
_Pause()
Case $Tray[1]
Exit
Case Else
EndSwitch
EndFunc ;==>_TrayEvents
После запуска появится иконка в трее, с помощью которой можно временно деактивировать скрипт (клик по иконке или через меню). Сам скрипт работает следующим образом: при удержании пробела (стоять на месте) + ЛКМ (энергетический вихрь) в случайном порядке со случаными задержками прожимаются клавиши 1-2-3 (алмазная кожа, энергетический взрыв и кольцо льда). Вот собственно и все. Проверить работу скрипта можно в любом текстовом редакторе зажав пробел и ЛКМ.
P.S.
Естественно, ответственность за использование данного скрипта будет лежать полностью на вас. Но т.к. скрипт не является ботом и не может работать без участия игрока, то забанить вас не должны .
Скомпилированная версия (с иконками):
D3Helper.zip