|
You last visited: Today at 03:02
Advertisement
headpiece switcher?
Discussion on headpiece switcher? within the GW Bots forum part of the Guild Wars category.
05/02/2018, 16:53
|
#1
|
elite*gold: 0
Join Date: Mar 2018
Posts: 23
Received Thanks: 2
|
headpiece switcher?
Just wondering if anyone knows of a mod or bot that can switch headpieces with a hotkey command?
toolbox allows you to use consumables with a hotkey but not equipment for some reason
|
|
|
05/02/2018, 20:51
|
#2
|
elite*gold: 0
Join Date: May 2014
Posts: 269
Received Thanks: 320
|
or
Code:
SendPacket(0x8, 0x34, $aItemID)
are your Friends :-)
|
|
|
05/03/2018, 00:37
|
#3
|
elite*gold: 0
Join Date: Mar 2018
Posts: 23
Received Thanks: 2
|
I'm not much of a coder. I understand what that line means but starting a script from scratch and setting up a hotkey to activate it isn't something I have a clue how to do unfortunately
|
|
|
05/03/2018, 07:41
|
#4
|
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
|
Code:
#cs
#################################
# #
# Equip Stuff #
# #
# by mhaendler #
# #
#################################
#ce
#RequireAdmin
#NoTrayIcon
#include "GWA2.au3"
#include <ButtonConstants.au3>
#include <Array.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
HotKeySet("{End}", "_Exit")
HotKeySet("{PAUSE}", "ActiveSwitchToHpArmor") ; Bind the Pause / Start Bot Function to the Pause Key
Func _Exit() ; you stop / exit function;
Exit
EndFunc
Opt("GUIOnEventMode", True)
Opt("GUICloseOnESC", False)
Opt("MustDeclareVars", True)
; ==== Bot global variables ====
Global $bBotRunning = False
Global $bBotInitialized = False
Global $equipHpArmor = false
; ==== GUI ====
Global Const $mainGui = GUICreate("Armor Switch", 149, 70)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
Global $Input
$Input = GUICtrlCreateCombo("", 8, 8, 129, 21)
GUICtrlSetData(-1, GetLoggedCharNames())
Global Const $Button = GUICtrlCreateButton("Start", 8, 40, 131, 25)
GUICtrlSetOnEvent(-1, "GuiButtonHandler")
GUISetState(@SW_SHOW)
;~ Description: Handles the button presses
Func GuiButtonHandler()
If $bBotRunning Then
GUICtrlSetData($Button, "Will pause after this run")
GUICtrlSetState($Button, $GUI_DISABLE)
$bBotRunning = False
ElseIf $bBotInitialized Then
GUICtrlSetData($Button, "Pause")
$bBotRunning = True
Else
Local $CharName = GUICtrlRead($Input)
If $CharName == "" Then
If Initialize(ProcessExists("gw.exe")) = False Then
MsgBox(0, "Error", "Guild Wars is not running.")
Exit
EndIf
Else
If Initialize($CharName) = False Then
MsgBox(0, "Error", "Could not find a Guild Wars client with a character named '" & $CharName & "'")
Exit
EndIf
EndIf
GUICtrlSetState($Input, $GUI_DISABLE)
GUICtrlSetData($Button, "Pause")
$bBotRunning = True
$bBotInitialized = True
EndIf
EndFunc ;==>GuiButtonHandler
While Not $bBotRunning
Sleep(100)
WEnd
While True
if($equipHpArmor) Then
SwitchToHpArmor()
$equipHpArmor = false
EndIf
Sleep(100) ; Little sleep to reduce CPU usage
WEnd
Func SwitchToHpArmor()
;Here edit your stuff to get the headpiece and switch it
;its probably a bad idea to go for hardcoded slots but thats your turn now
EquipItem(GetItemBySlot(4, 1))
Sleep(400)
$equipArmor = false
EndFunc
Func ActiveSwitchToHpArmor()
$equipHpArmor = not $equipHpArmor
EndFunc ;==>ChestLoop
Here a basic script to do that. It binds the {PAUSE}-Button and Switches the Armor / Weapon / Headpice on Bag 4 Slot 1. Thats hardcoded and not the best way to do it. You probably want to load it via the model id and then equip it, but thats your turn. get into coding. develop stuff and share it
I did not test it, but i dont see a point why it should not work
_
mhaendler
|
|
|
05/03/2018, 17:42
|
#5
|
elite*gold: 0
Join Date: Mar 2018
Posts: 23
Received Thanks: 2
|
Quote:
Originally Posted by mhaendler
Code:
#cs
#################################
# #
# Equip Stuff #
# #
# by mhaendler #
# #
#################################
#ce
#RequireAdmin
#NoTrayIcon
#include "GWA2.au3"
#include <ButtonConstants.au3>
#include <Array.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
HotKeySet("{End}", "_Exit")
HotKeySet("{PAUSE}", "ActiveSwitchToHpArmor") ; Bind the Pause / Start Bot Function to the Pause Key
Func _Exit() ; you stop / exit function;
Exit
EndFunc
Opt("GUIOnEventMode", True)
Opt("GUICloseOnESC", False)
Opt("MustDeclareVars", True)
; ==== Bot global variables ====
Global $bBotRunning = False
Global $bBotInitialized = False
Global $equipHpArmor = false
; ==== GUI ====
Global Const $mainGui = GUICreate("Armor Switch", 149, 70)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
Global $Input
$Input = GUICtrlCreateCombo("", 8, 8, 129, 21)
GUICtrlSetData(-1, GetLoggedCharNames())
Global Const $Button = GUICtrlCreateButton("Start", 8, 40, 131, 25)
GUICtrlSetOnEvent(-1, "GuiButtonHandler")
GUISetState(@SW_SHOW)
;~ Description: Handles the button presses
Func GuiButtonHandler()
If $bBotRunning Then
GUICtrlSetData($Button, "Will pause after this run")
GUICtrlSetState($Button, $GUI_DISABLE)
$bBotRunning = False
ElseIf $bBotInitialized Then
GUICtrlSetData($Button, "Pause")
$bBotRunning = True
Else
Local $CharName = GUICtrlRead($Input)
If $CharName == "" Then
If Initialize(ProcessExists("gw.exe")) = False Then
MsgBox(0, "Error", "Guild Wars is not running.")
Exit
EndIf
Else
If Initialize($CharName) = False Then
MsgBox(0, "Error", "Could not find a Guild Wars client with a character named '" & $CharName & "'")
Exit
EndIf
EndIf
GUICtrlSetState($Input, $GUI_DISABLE)
GUICtrlSetData($Button, "Pause")
$bBotRunning = True
$bBotInitialized = True
EndIf
EndFunc ;==>GuiButtonHandler
While Not $bBotRunning
Sleep(100)
WEnd
While True
if($equipHpArmor) Then
SwitchToHpArmor()
$equipHpArmor = false
EndIf
Sleep(100) ; Little sleep to reduce CPU usage
WEnd
Func SwitchToHpArmor()
;Here edit your stuff to get the headpiece and switch it
;its probably a bad idea to go for hardcoded slots but thats your turn now
EquipItem(GetItemBySlot(4, 1))
Sleep(400)
$equipArmor = false
EndFunc
Func ActiveSwitchToHpArmor()
$equipHpArmor = not $equipHpArmor
EndFunc ;==>ChestLoop
Here a basic script to do that. It binds the {PAUSE}-Button and Switches the Armor / Weapon / Headpice on Bag 4 Slot 1. Thats hardcoded and not the best way to do it. You probably want to load it via the model id and then equip it, but thats your turn. get into coding. develop stuff and share it
I did not test it, but i dont see a point why it should not work
_
mhaendler
|
hi thanks for this, could you help me out by explaining a piece of code that i dont understand how it works.
i see the pause key binds to the func ActiveSwitchToHpArmor
however the func that actually does the stuff i need is called SwitchToHpArmor
so how does this Func ActiveSwitchToHpArmor()
$equipHpArmor = not $equipHpArmor
call the other func without naming it?
hope what i am trying to explain can be understood thanks
also a second question if you dont mind..
my bots often DC ive tried everything to fix the DC issue to no avail so im trying to make the bot relog.
how can you make the bot relog after a crash?
i have found the code below: however if i put that function in my code, how do i make sure that function is called, does the auto it language automatically call everything in order of the file?
also this code only seems to press the button to reconnect, what if a relog is needed?
Id really like to get into coding these but getting to grips with the first bit of understanding is going to be tough
thanks
Func DisconnectCheck()
Static Local $gs_obj = GetValue('PacketLocation')
While MemoryRead($gs_obj ) = 0 ; While Disconnected
ControlSend($mGWHwnd,'','','{ENTER}') ; Hit enter key until you log back in
Sleep(Random(5000,10000,1))
WEnd
EndFunc
or
Func DCCheck()
Local $aX, $aY
$aX = DllStructGetData(GetAgentByID(-2), "X"
$aY = DllStructGetData(GetAgentByID(-2), "Y"
If $aX = 0 And $aY = 0 Then ; Is this the correct check for this type of DC?
Sleep(3000)
Send("{ENTER}" ; Presses OK in the error 007 window
Sleep(3000)
Send("{ENTER}" ; Selects the last used character and travels to the last used outpost
Sleep(8000)
EndIf
EndFunc
the only way i can understand the answer to my first question is that this code:
$equipHpArmor = not $equipHpArmor
changes the $equipHpArmor variable to true? but thats just a wild guess as the wording of the code does not imply that it does that at all to me?
|
|
|
05/03/2018, 20:20
|
#6
|
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
|
Quote:
Originally Posted by george2324
hi thanks for this, could you help me out by explaining a piece of code that i dont understand how it works.
i see the pause key binds to the func ActiveSwitchToHpArmor
however the func that actually does the stuff i need is called SwitchToHpArmor
so how does this Func ActiveSwitchToHpArmor()
$equipHpArmor = not $equipHpArmor
call the other func without naming it?
hope what i am trying to explain can be understood thanks
also a second question if you dont mind..
my bots often DC ive tried everything to fix the DC issue to no avail so im trying to make the bot relog.
how can you make the bot relog after a crash?
i have found the code below: however if i put that function in my code, how do i make sure that function is called, does the auto it language automatically call everything in order of the file?
also this code only seems to press the button to reconnect, what if a relog is needed?
Id really like to get into coding these but getting to grips with the first bit of understanding is going to be tough
thanks
Func DisconnectCheck()
Static Local $gs_obj = GetValue('PacketLocation')
While MemoryRead($gs_obj ) = 0 ; While Disconnected
ControlSend($mGWHwnd,'','','{ENTER}') ; Hit enter key until you log back in
Sleep(Random(5000,10000,1))
WEnd
EndFunc
or
Func DCCheck()
Local $aX, $aY
$aX = DllStructGetData(GetAgentByID(-2), "X"
$aY = DllStructGetData(GetAgentByID(-2), "Y"
If $aX = 0 And $aY = 0 Then ; Is this the correct check for this type of DC?
Sleep(3000)
Send("{ENTER}" ; Presses OK in the error 007 window
Sleep(3000)
Send("{ENTER}" ; Selects the last used character and travels to the last used outpost
Sleep(8000)
EndIf
EndFunc
the only way i can understand the answer to my first question is that this code:
$equipHpArmor = not $equipHpArmor
changes the $equipHpArmor variable to true? but thats just a wild guess as the wording of the code does not imply that it does that at all to me?
|
Yea, the function changes the value of $equipHpArmor to the opossite value:
false => true
true => false
In the Loop:
Code:
While True
if($equipHpArmor) Then
SwitchToHpArmor()
$equipHpArmor = false
EndIf
Sleep(100) ; Little sleep to reduce CPU usage
WEnd
You wait until the $equipHpArmor is true, then you execute the stuff to change the headpice / armor / whatsoever
You call the function "ActiveSwitchToHpArmor" by pressing the hotkey: {PAUSE}
HotKeySet("{PAUSE}", "ActiveSwitchToHpArmor") ; Bind the Pause / Start Bot Function to the Pause Key
So Basicly the bot waits until the value of $equipHpArmor is true, once the value is true it executes the "armor switch" once this is finsihed it turns $equipHpArmor to false again
The value $equipHpArmor is changed via the Function "ActiveSwitchToHpArmor", why gets executed via the hotkeypress "PAUSE".
Unterstood?
Sorry no idea of D/C Functions none of my bots have one and never looked into that kind of stuff
|
|
|
05/03/2018, 22:14
|
#7
|
elite*gold: 0
Join Date: Mar 2018
Posts: 23
Received Thanks: 2
|
yeah thats what i thought it did.
So the command not does that just reverse the current value of a boolean variable?
it just didnt make sense to me as i would expect it to be something like:
variable == false;
i understand it now, with this i think ive managed to change it so that it can equip several different sets.
it equips all the different sets based on the item slot. problem is the item slot changes when u change headpiece.
how can i find the item id number of Pvp custom armor pieces though?
ill keep messing with the DC function to see if i can get it to work..
ive found this func in several of the bots i have
Code:
Func DISCONNECTED()
Out("Disconnected!")
Out("Attempting to reconnect.")
ControlSend(GETWINDOWHANDLE(), "", "", "{Enter}")
Local $LCHECK = False
Local $LDEADLOCK = TimerInit()
Do
Sleep(20)
$LCHECK = GETMAPLOADING() <> 2 And GETAGENTEXISTS(-2)
Until $LCHECK Or TimerDiff($LDEADLOCK) > 60000
If $LCHECK = False Then
Out("Failed to Reconnect!")
Out("Retrying.")
ControlSend(GETWINDOWHANDLE(), "", "", "{Enter}")
$LDEADLOCK = TimerInit()
Do
Sleep(20)
$LCHECK = GETMAPLOADING() <> 2 And GETAGENTEXISTS(-2)
Until $LCHECK Or TimerDiff($LDEADLOCK) > 60000
If $LCHECK = False Then
Out("Could not reconnect!")
Out("Exiting.")
EndIf
EndIf
Out("Reconnected!")
Sleep(5000)
EndFunc
problem is not a single one of them actually ever call the function so it doesnt work.
would i be able to put a function call within a main loop in the bot somehow that will call it to check if the game is disconnected and then run this?
update:::
ive managed to get my bots to call this function, the bots detects that it is disconnected but that code doesnt work. it doesnt appear to press the yes button when it says do you want to reconnect...
|
|
|
|
Similar Threads
|
My Qoproxy settings switcher
08/14/2007 - CO2 Exploits, Hacks & Tools - 10 Replies
Hey Guys,
Ive seen how everyone is having trouble with Qoproxy server.dat so i made this program which will change everything you need to to use QoProxy!
Features:
Restore server.dat settings for normal use
Change specific servers to qoproxy
Auto change to qoproxy.ini file for qoproxy use
|
Hiyoal's QoProxy Switcher
06/05/2007 - CO2 Exploits, Hacks & Tools - 4 Replies
Hey Everyone,
You sick and tired of switching from normal settings into qoproxy settings and having to access ure server.dat file. Well ...
I made this tool for anyone who is like this.
Features:
Specify which qoproxy settings you want on specific servers.
Reset default settings
+K would be great seeing that this is my first program i have made for Elitepvpers.
|
Universal Proxy Server Switcher
05/21/2007 - CO2 Exploits, Hacks & Tools - 4 Replies
This was requested by a member here at elitepvpers ~SevenEleven~.
What this tool is to do is simply. Count the GroupAmount in the server.dat file
and then obtain the ServerAmount from each group allowing you to switch the IP address's of the server's for proxy uses.
ProxyIP = 127.0.1.1 'dunno why but i was told due to the new patch it was no longer 127.0.0.1 so i made it as requested though this IP can be changed.
You just select the group number you wish to use and or look for the...
|
A Desktop Switcher
07/22/2006 - Conquer Online 2 - 5 Replies
Well I've had to sneak on on quite a few occasions, "homework" ftw.
This desktop switcher doesnt DC CO.
Just mess around with the settings and you're good to go!
(If its nice karma ftw)
Someone scan to show no viruses/keylogs!
|
Quick Switcher
06/18/2006 - CO2 Exploits, Hacks & Tools - 2 Replies
Hello I know i'm a newbie on site and I'm wary of downloading executables.
So I made this .bat file that use an edited 3DEffects.ini posted by N3W8Y from this site. Basically you Unzip the folder in Root of C: and then open Quick Switch.bat.
Then you can select to Add effects or remove effects. After you select which one you want the client will load. Well thats it, if you get some use out of it or like the Quick Dos prompt let me know also if you want a itemtype or monster.dat switcher...
|
All times are GMT +2. The time now is 03:02.
|
|