da der d3 bot atm nicht funktioniert bin ich gezwungen selber zu spielen habe mir natürlich sofort dein programm geladen und es funktioniert nun perfekt! echt gut gemacht
Hi ich hät ne Frage
und zwar fährt das Programm die Stellen im Inventory ab mit der Maus wenn ich Leertaste drücke aber er wechselt die Items nicht aus was mache ich falsch?
Hab eig. keine Ahnung von Programmieren, habe trotzdem grad mal versucht die sleep Zeiten im script alle radikal zu verkürzen und geschaut ob's dann noch läuft.
Performt bei mir immernoch problemlos und ist jetzt ein gutes stück schneller.
Code:
#RequireAdmin
#NoTrayIcon
#Region
#AutoIt3Wrapper_Icon=d3equipment.ico
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion
#include "Misc.au3"
Global $ApplicationName = "d3equipment"
Global $Paused
If FileExists("d3equipment_keys.ini") = False Then
MsgBox(0, "[" & $ApplicationName & "]", "Bitte starte zuvor den Konfigurator.")
Exit 1
EndIf
$SwitchKey = IniRead("d3equipment_keys.ini", "Global", "Switch", "SPACE")
$ExitKey = IniRead("d3equipment_keys.ini", "Global", "Exit", "SPACE")
HotKeySet("{" & $SwitchKey& "}", "Change")
HotKeySet("{PAUSE}", "Pause")
HotKeySet("{" & $ExitKey & "}", "Terminate")
If _Singleton($ApplicationName & ".exe", 1) = 0 Then ; Danke an TheOnlyOne652089
MsgBox(0, "[" & $ApplicationName & "]", $ApplicationName & ".exe läuft bereits.")
Exit
Endif
MsgBox(0, "[" & $ApplicationName & "]", "Betätige in Diablo III beliebig oft die " & $SwitchKey & "-Taste um schnellstmöglich dein Equipment" & _
@LF & "zu wechseln." & _
@LF & _
@LF & "Um das Programm zu beenden drücke die " & $ExitKey & "-Taste, um es zu pausieren die PAUSE-Taste." & _
@LF & _
@LF & "ACHTUNG! Die oben angegebenen Tasten (" & $SwitchKey & "- und " & $ExitKey & "-Taste) können, während dieses" & _
@LF & "Programm läuft, nicht anderweitig verwendet werden - es sei denn du drückst die PAUSE-Taste!" & _
@LF & _
@LF & "Viel Spaß! :-)")
While True
; ...
Sleep(5)
WEnd
Func Change()
If WinActive("Diablo III") = True Then
Dim $Count = IniRead("d3equipment_keys.ini", "Global", "Keys", 0)
Dim $Count2nd = IniRead("d3equipment_keys.ini", "Global", "ALTKeys", 0)
If $Count = 0 And $Count2nd = 0 Then
MsgBox(0, "[" & $ApplicationName & "]", "Die Konfigurationsdatei ist fehlerhaft!" & _
@LF & _
@LF & "Das Programm wird beendet - bitte starte den Konfigurator.")
FileDelete("d3equipment_keys.ini")
Exit 1
Else
Dim $OldPosition = MouseGetPos()
BlockInput(1) ; Danke an TheOnlyOne652089
Send("{s}") ; Danke an TheOnlyOne652089
Sleep(2)
Send("{i}")
Sleep(2)
For $x = 1 to $Count
Dim $Position = StringSplit(IniRead("d3equipment_keys.ini", "Positions", "" & $x & "", "0"), ",")
MouseMove($Position[1], $Position[2], 1)
Sleep(2)
MouseClick("right")
Sleep(2)
Next
For $y = 1 to $Count2nd
Dim $Position2nd = StringSplit(IniRead("d3equipment_keys.ini", "Positions2nd", "" & $y & "", "0"), ",")
MouseMove($Position2nd[1], $Position2nd[2], 1)
Sleep(2)
Send("{ALTDOWN}")
Sleep(2)
MouseClick("right")
Sleep(2)
Send("{ALTUP}")
Sleep(2)
Next
Send("{i}")
Sleep(2)
MouseMove($OldPosition[0], $OldPosition[1], 1)
Sleep(5)
BlockInput(0) ; Danke an TheOnlyOne652089
EndIf
Else
MsgBox(0, "[" & $ApplicationName & "]", "Um diese Taste außerhalb von Diablo III verwenden zu können solltest du das Programm" & _
@LF & "vorerst beenden - denn diese ist mit einer Funktion des Programms belegt.")
EndIf
EndFunc
Func Pause()
$Paused = Not $Paused
If $Paused = True Then
HotKeySet("{" & $SwitchKey& "}")
HotKeySet("{" & $ExitKey & "}")
While True
Sleep(2)
WEnd
Else
HotKeySet("{" & $SwitchKey& "}", "Change")
HotKeySet("{" & $ExitKey & "}", "Terminate")
EndIf
EndFunc
Func Terminate()
MsgBox(0, "[" & $ApplicationName & "]", "Das Programm wird nun beendet." & _
@LF & _
@LF & "Für Bug-Reports/Kritik bin ich im Forum (epvp) gerne zu haben. :-)")
Exit 1
EndFunc
Achja zum Thema "Die Hotkey Tasten können nicht anderweitig verwendet werden".
Das geht schon, indem in der Funktion des Hotkey einfach der Hotkey nochmal "zusätzlich" am Ende gesendet wird (oder direkt am Anfang).
Die Hotkey Funktion in AutoIT "consumed" den Send des Buttons, entsprechend muss man ihn einfach "erneut" senden. Macht man das innerhalb der Hotkey Funktion "sollte" der Send den Hotkey nicht erneut triggern (wenn doch controlsend testen, ich meine das funktioniert).
Sollte es mit normalen "Send" nicht funktionieren einfach Controlsend benutzen, das sowieso einfach besser.
Mich würde mal interessieren inwiefern das nützlich ist/bzw wie schnell die items geswichted sind. Reicht es theoretisch, wenn der letzte mob von dem pack bei 5% ist, einfach die taste zu drücken und den umzuklatschen?
Mich würde mal interessieren inwiefern das nützlich ist/bzw wie schnell die items geswichted sind. Reicht es theoretisch, wenn der letzte mob von dem pack bei 5% ist, einfach die taste zu drücken und den umzuklatschen?
Ohne sleeps dauert es vielleicht 0,5 sekunden.
Selbst wenn es "schneller" geht liegt die Geschwindigkeit nicht am Script, sondern einfach weil das Spiel selbst zu langsam ist.
Deine Frage funktioniert und genau dafür macht das ganze auch erst überhaupt Sinn ; den mitten im Kampf das Equipment per Hand zu wechseln ist komplett quarkig.
Ich führe alles wie hier bzw. in der Konfig exe beschrieben aus, allerdings kommt stets die Meldung das ich keine Positionen festgelegt habe, obwohl ich im Inventar über jedes zu wechselende Item mit Leertaste drübergegangen bin und mit Esc am Ende bestätigt habe. Wo könnte mein Fehler liegen?
Wie was BANN?
Nen BANN gibts nur, wenn man laut den Nutzungsbedinungen fürs Battle.NET den Speicher ändert etc. pp. Und da dies hier eben nicht geschieht, ist es auch nicht relevant! Wenn man sich dennoch in die Hose macht; sollte man es eben lassen..
Zum no sleep / Sleep(0): Würde ich von Abraten, da daß Programm nur so schnell handeln kann, wie die jeweilige Engine er kann und die Millisekunden sind. Ergo reichen eigentlich 5-10 bei 20 bis 75ms - ohne Lag!
Funktioniert eigentlich ganz gut, aber wäre es möglich das Script so zu schreiben dass wärend der zeit wo das euip geswitcht wird die maus etc geblockt wird, denn wenn ich meine Maus nur bisschen bewege werden die hälfte der items nicht geswitcht.
Wie was BANN?
Nen BANN gibts nur, wenn man laut den Nutzungsbedinungen fürs Battle.NET den Speicher ändert etc. pp. Und da dies hier eben nicht geschieht, ist es auch nicht relevant! Wenn man sich dennoch in die Hose macht; sollte man es eben lassen..
Zum no sleep / Sleep(0): Würde ich von Abraten, da daß Programm nur so schnell handeln kann, wie die jeweilige Engine er kann und die Millisekunden sind. Ergo reichen eigentlich 5-10 bei 20 bis 75ms - ohne Lag!
Diablo III - Equip-Changer (Magiefundbonus) 11/09/2012 - Diablo 3 Hacks, Bots, Cheats & Exploits - 151 Replies Hallo,
Ich habe hier einen (sehr) simplen Equip-Changer, um zwischen Magie-/Goldfundbonus-Equip und Main-Equip zu wechseln.
-- 1920x1080 --
1.) .rar-Archiv herunterladen und entpacken (z.B. mit WinRAR)
2.) Diablo III im Vollbild-/Fenster-Vollbildmodus starten
3.) Auflösung auf 1920x1080 stellen
4.) Die Items wie im Bild "Belegung_WICHTIG.jpg" anordnen
Autoequipper für HB? 08/15/2011 - WoW Bots - 2 Replies Grüße!
Nach langem Lesen vieler Themen suche ich immernoch einen funktionstüchtigen Autoequipper. Ob als Plugin für einem Bot oder Addon ist mir relativ egal. Ich nutze den HB - Bot.
Der Equipper soll am Besten bessere Gegenstände sofort anziehen, wenn welche gedroppt sind oder per Quest ich welche bekommen habe.
Kennt Ihr ein derartiges Plugin oder Addon?
MfG