|
You last visited: Today at 17:50
Advertisement
GWCA Foren
Discussion on GWCA Foren within the GW Bots forum part of the Guild Wars category.
12/04/2009, 16:43
|
#1
|
elite*gold: 0
Join Date: Apr 2008
Posts: 34
Received Thanks: 0
|
GWCA Foren
Weiß wer ob noch irgentwelche GWCA foren vorhanden sind die funktionieren und hat wer den Sourcecode für nen funktionierendes GWCAConstants ( ohne syntax Error) und falls es grad kein laufendes Forum gibt kann mir wer nen paar Item Funcs schicken die funktionieren? Thx für antworten.
|
|
|
12/04/2009, 17:02
|
#2
|
elite*gold: 100
Join Date: Oct 2007
Posts: 738
Received Thanks: 485
|
|
|
|
12/06/2009, 02:54
|
#3
|
elite*gold: 0
Join Date: Oct 2009
Posts: 557
Received Thanks: 160
|
Das ist soweit ich mich noch erinnere die Constants der Rev107 (bzw. der rev davor). Diese benutze ich persönlich immernoch - ist meiner Meinung nach die beste :P.
Code:
; # -+-+-+-+-+-+-+ #
; GWCA Constants
; By Sune C
; # +-+-+-+-+-+-+- #
#include-once
; The SkillLog structure for use with the Skill Log feature
Global $tagSKILLLOGSTRUCT = "long AgentId;long MyId;long SkillId;float Activation;byte TeamId;ushort Allegiance;float Distance;long Ping"
; The constants
Global Enum $CA_GetCurrentTarget = 0x401, $CA_GetMyId, $CA_Casting, $CA_SkillRecharge, $CA_SkillAdrenaline, _
$CA_StoreVar, $CA_SetLogAndHwnd, $CA_GetAgentAndTargetPtr, $CA_GetSkillbarSkillId, $CA_GetMyMaxHP, $CA_GetMyMaxEnergy, $CA_GetBuildNumber, _
$CA_ChangeMaxZoom, $CA_GetLastDialogId, $CA_SetEngineHook, _
$CA_Attack = 0x410, $CA_Move, $CA_UseSkill, _
$CA_ChangeWeaponSet, $CA_ZoneMap, $CA_DropGold, $CA_GoNpc, $CA_GoPlayer, $CA_GoSignpost, $CA_UseAttackSkill, _
$CA_EnterChallenge, $CA_OpenChest, $CA_SetEventSkillMode, $CA_UseSkillbarSkill, $CA_PickupItem, _
$CA_UseSkillbarAttackSkill, $CA_Dialog, $CA_ChangeTarget, $CA_StatusBot, $CA_TargetNearestFoe, $CA_TargetNearestAlly, _
$CA_TargetNearestItem, $CA_StatusDelay, $CA_TargetCalledTarget, $CA_UseHero1Skill, $CA_UseHero2Skill, $CA_UseHero3Skill, $CA_StatusMiss, _
$CA_CancelAction, $CA_StatusTab, $CA_GetNamePtr, $CA_CommandHero1, $CA_CommandHero2, $CA_CommandHero3, $CA_CommandAll, $CA_ChangeDistrict, _
$CA_Resign, $CA_ReturnToOutpost, _
$CA_GetMapLoading = 0x440, $CA_GetMapId, $CA_GetPing, $CA_GetLoggedIn, $CA_GetDead, $CA_GetBalthFaction, $CA_GetKurzFaction, $CA_GetLuxonFaction, _
$CA_GetTitleTreasure, $CA_GetTitleLucky, $CA_GetTitleUnlucky, $CA_GetTitleWisdom, _
$CA_GetAgentExist = 0x450, $CA_GetProfessions, $CA_GetPlayerNumber, _
$CA_GetHP, $CA_GetRotation, _
$CA_GetSkill, $CA_GetCoords, $CA_GetWeaponSpeeds, $CA_GetSpiritRange, $CA_GetTeamId, $CA_GetCombatMode, _
$CA_GetModelMode, $CA_GetHpPips, $CA_GetEffects, $CA_GetHex, $CA_GetModelAnimation, $CA_GetEnergy, $CA_GetAgentPtr, _
$CA_GetType, $CA_GetLevel, $CA_GetNameProperties, $CA_GetMaxId, $CA_GetMyNearestAgent, _
$CA_GetMyDistanceToAgent, $CA_GetNearestAgentToAgent, $CA_GetDistanceFromAgentToAgent, $CA_GetNearestAgentToAgentEx, _
$CA_GetModelState, $CA_GetIsAttacking, $CA_GetIsKnockedDown, $CA_GetIsMoving, $CA_GetIsDead, $CA_GetIsCasting, _
$CA_GetFirstAgentByPlayerNumber, $CA_GetAllegiance, $CA_GetNearestEnemyToAgentEx, $CA_GetIsAttackedMelee, $CA_GetNearestItemToAgentEx, _
$CA_GetNearestAgentByPlayerNumber, $CA_GetSpeed, $CA_GetNearestEnemyToAgentByAllegiance, $CA_GetNearestAliveEnemyToAgent, _
$CA_GetWeaponType, $CA_GetNearestSignpostToAgent, $CA_GetNearestNpcToAgentByAllegiance, $CA_GetNearestAgentToCoords, $CA_GetVars, _
$CA_GetNearestNpcToCoords, $CA_GetLoginNumber, _
$CA_GetGold = 0x510, $CA_GetBagSize, $CA_SetBag, $CA_GetItemId, _
$CA_GetIdKit, $CA_IdentifyItem, $CA_IdentifyItemById, $CA_DepositGold, $CA_WithdrawGold, $CA_SellItem, $CA_SellItemById, _
$CA_BuyIdKit, $CA_BuySuperiorIdKit, $CA_PrepareMoveItem, $CA_MoveItem, $CA_GetItemInfo, _
$CA_UseItem, $CA_UseItemById, $CA_DropItem, $CA_DropItemById, _
$CA_AcceptAllItems, $CA_GetItemLastModifier, _
$CA_GetTitleSunspear = 0x550, $CA_GetTitleLightbringer, $CA_GetTitleVanguard, $CA_GetTitleNorn, $CA_GetTitleAsura, $CA_GetTitleDeldrimor, _
$CA_GetTitleNorthMastery, $CA_GetTitleDrunkard, $CA_GetTitleSweet, $CA_GetTitleParty, $CA_GetTitleCommander, $CA_GetTitleLuxon, $CA_GetTitleKurzick, _
$CA_AddHero = 0x580, $CA_KickHero, $CA_SwitchMode, $CA_AddNpc, $CA_KickNpc, $CA_TravelGH, $CA_LeaveGH
Global Enum $RARITY_WHITE = 0x3D, $RARITY_BLUE = 0x3F, $RARITY_PURPLE = 0x42, $RARITY_GOLD = 0x40, $RARITY_GREEN = 0x43
Global Enum $BAG_BACKPACK = 1, $BAG_BELTPOUCH, $BAG_BAG1, $BAG_BAG2, $BAG_EQUIPMENTPACK, $BAG_UNCLAIMEDITEMS = 7, $BAG_STORAGE1, $BAG_STORAGE2, _
$BAG_STORAGE3, $BAG_STORAGE4, $BAG_STORAGE5, $BAG_STORAGE6, $BAG_STORAGE7, $BAG_STORAGE8, $BAG_STORAGEANNIVERSARY
Global Enum $HERO_NORGU = 1, $HERO_GOREN, $HERO_TAHLKORA, $HERO_MASTEROFWHISPERS, $HERO_ACOLYTEJIN, $HERO_KOSS, $HERO_DUNKORO, $HERO_ACOLYTESOUSUKE, $HERO_MELONNI, _
$HERO_ZHEDSHADOWHOOF, $HERO_GENERALMORGAHN, $HERO_MARGRIDTHESLY, $HERO_OLIAS = 14, $HERO_RAZAH, $HERO_MOX, $HERO_JORA = 18, $HERO_PYREFIERCESHOT, _
$HERO_LIVIA = 21, $HERO_KAHMU, $HERO_GWEN, $HERO_XANDRA, $HERO_VEKK, $HERO_OGDEN
; VARIABLES
Opt("WinTitleMatchMode", -1) ;Make sure that Guild Wars receives the messages (1 = match start, 2 = substring, 3 = exact)
Global $cbType = "int" ;What to read the callback values as
Global $cbVar[2] ;Array for callback wParam and lParam
Global $sGW = "Guild Wars -" ;Name of window
Global $cGUI = 0 ;Init GUI hwnd var
Global $bGWCA_INTERNAL = False ;Is set to True when inside a Cmd() or CmdCB() call
; FUNCTIONS
Func _IntToFloat($iInt)
Local $tFloat, $tInt
$tInt = DllStructCreate("int")
$tFloat = DllStructCreate("float", DllStructGetPtr($tInt))
DllStructSetData($tInt, 1, $iInt)
Return DllStructGetData($tFloat, 1)
EndFunc
Func _FloatToInt($fFloat)
Local $tFloat, $tInt
$tFloat = DllStructCreate("float")
$tInt = DllStructCreate("int", DllStructGetPtr($tFloat))
DllStructSetData($tFloat, 1, $fFloat)
Return DllStructGetData($tInt, 1)
EndFunc
Func WndCallback($hwnd, $msg, $wparam, $lparam)
Switch($cbType)
Case "float"
$wparam = _IntToFloat($wparam)
$lparam = _IntToFloat($lparam)
Case "int"
$wparam = Number($wparam)
$lparam = Number($lparam)
Case "hex" ;Do nothing
EndSwitch
$cbVar[0] = $wparam
$cbVar[1] = $lparam
EndFunc
Func Cmd($uMsg, $wparam = 0, $lparam = 0)
$bGWCA_INTERNAL = True
$cbVar[0] = ""
$cbVar[1] = ""
DllCall("user32.dll", "lparam", "PostMessage", "hwnd", WinGetHandle($sGW), "int", $uMsg, "wparam", $wparam, "lparam", $lparam)
$bGWCA_INTERNAL = False
EndFunc
Func CmdCB($uMsg, $wparam = 0)
$bGWCA_INTERNAL = True
$cbVar[0] = ""
$cbVar[1] = ""
DllCall("user32.dll", "lparam", "SendMessage", "hwnd", WinGetHandle($sGW), "int", $uMsg, "wparam", $wparam, "lparam", $cGUI)
If $cbVar[0] = "" AND $cbVar[1] = "" Then SetError(-1)
$bGWCA_INTERNAL = False
Return $cbVar
EndFunc
Func CmdCBEx($uMsg, $wParam = 0, $msTimeout = 60)
CmdCB($uMsg, $wParam)
$tEscape = TimerInit()
Do
Sleep(0)
Until TimerDiff($tEscape) > $msTimeout OR $cbVar[0] <> ""
EndFunc
Func MoveEx($x, $y, $random = 50)
Cmd($CA_MOVE, _FloatToInt($x+Random(-$random,$random)), _FloatToInt($y+Random(-$random,$random)))
EndFunc
Func GetNearestAgentToCoords($x, $y)
$oldCbType = $cbType
$cbType = "int"
Cmd($CA_GETNEARESTAGENTTOCOORDS, _FloatToInt($x), _FloatToInt($y))
Sleep(50)
CmdCB($CA_GETVARS)
$cbType = $oldCbType
Return $cbVar[1]
EndFunc
Func GetNearestNPCToCoords($x, $y)
$oldCbType = $cbType
$cbType = "int"
Cmd($CA_GETNEARESTNPCTOCOORDS, _FloatToInt($x), _FloatToInt($y))
Sleep(50)
CmdCB($CA_GETVARS)
$cbType = $oldCbType
Return $cbVar[1]
EndFunc
Func TravelTo($iMapId)
$tMap = TimerInit()
Cmd($CA_ZONEMAP, $iMapId)
Do
Sleep(200)
$aLoad = CmdCB($CA_GETMAPLOADING)
If TimerDiff($tMap) > 20000 AND $aLoad[0] <> 2 Then Cmd($CA_ZONEMAP, $iMapId)
$aTmpMap = CmdCB($CA_GETMAPID)
Until $aLoad[0] = 0 AND $aTmpMap[0] = $iMapId
EndFunc
Func MoveItem($itemBag, $itemSlot, $newBag, $newSlot)
Cmd($CA_PREPAREMOVEITEM, $itemBag, $itemSlot)
Sleep(20)
Cmd($CA_MOVEITEM, $newBag, $newSlot)
EndFunc
Func MoveItemById($itemId, $newBag, $newSlot)
Cmd($CA_PREPAREMOVEITEM, $itemId)
Sleep(20)
Cmd($CA_MOVEITEM, $newBag, $newSlot)
EndFunc
Func PickupItems($iItems = -1, $fMaxDistance = 1012)
Local $iItemsPicked = 0
$oldCbType = $cbType
$cbType = "int"
$tDeadlock = TimerInit()
Do
$aItem = CmdCB($CA_GETNEARESTITEMTOAGENTEX, -2)
If $aItem[0] = 0 OR _IntToFloat($aItem[1]) > $fMaxDistance OR TimerDiff($tDeadlock) > 30000 Then ExitLoop
Cmd($CA_PICKUPITEM, $aItem[0])
$tDeadlock = TimerInit()
Do
Sleep(500)
CmdCB($CA_GETAGENTEXIST, $aItem[0])
If TimerDiff($tDeadlock) > 5000 Then ContinueLoop 2
Until $cbVar[0] = 0
$iItemsPicked += 1
Until $iItemsPicked = $iItems
$cbType = $oldCbType
EndFunc
Func GetItemId($iBag, $iSlot)
$oldCbType = $cbType
$cbType = "int"
CmdCB($CA_SetBag, $iBag)
CmdCB($CA_GetItemId, $iSlot)
$cbType = $oldCbType
Return $cbVar
EndFunc
Func GetItemInfo($iBag, $iSlot)
$oldCbType = $cbType
$cbType = "int"
CmdCB($CA_SetBag, $iBag)
CmdCB($CA_GetItemInfo, $iSlot)
$cbType = $oldCbType
Return $cbVar
EndFunc
Func GetItemLastModifier($iBag, $iSlot)
$oldCbType = $cbType
$cbType = "int"
CmdCB($CA_SetBag, $iBag)
CmdCB($CA_GetItemLastModifier, $iSlot)
$cbType = $oldCbType
Return $cbVar
EndFunc
; END OF FILE
ItemFuncs ( hab ich jetzt schnell aus meinem Raptor bot rauskopiert - also noch nicht verallgemeinert, hoffe es hilft dir trotzdem :P):
identen - mit check gold (Backpack,Beltpouch,Bag1) :
Code:
$cbType = "int"
If GUICtrlRead($checkIdentify) = 1 Then
UpdateStatus("Identifying items")
For $i = 1 To 20 Step 1
CmdCB($CA_GETIDKIT)
If $cbVar[0] = 0 Then
Cmd($CA_WITHDRAWGOLD, 100)
sleep(250)
Cmd($CA_BUYIDKIT)
EndIf
$bIdentItem = True
If GUICtrlRead($checkNoIdentGold) = 1 Then
GetItemInfo($BAG_BACKPACK, $i)
If $cbVar[0] = $RARITY_GOLD Then
$bIdentItem = False
EndIf
EndIf
If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BACKPACK, $i)
Sleep(500)
Next
For $i = 1 To 5 Step 1
CmdCB($CA_GETIDKIT)
If $cbVar[0] = 0 Then
Cmd($CA_WITHDRAWGOLD, 100)
sleep(250)
Cmd($CA_BUYIDKIT)
EndIf
$bIdentItem = True
If GUICtrlRead($checkNoIdentGold) = 1 Then
GetItemInfo($BAG_BELTPOUCH, $i)
If $cbVar[0] = $RARITY_GOLD Then
$bIdentItem = False
EndIf
EndIf
If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BELTPOUCH, $i)
Sleep(500)
Next
For $i = 1 To 10 Step 1
CmdCB($CA_GETIDKIT)
If $cbVar[0] = 0 Then
Cmd($CA_WITHDRAWGOLD, 100)
sleep(250)
Cmd($CA_BUYIDKIT)
EndIf
$bIdentItem = True
If GUICtrlRead($checkNoIdentGold) = 1 Then
GetItemInfo($BAG_BAG1, $i)
If $cbVar[0] = $RARITY_GOLD Then
$bIdentItem = False
EndIf
EndIf
If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BAG1, $i)
Sleep(500)
Next
EndIf
goldene Items in Truhe stecken (muss vor dem sellen kommen):
Code:
If GUICtrlRead($checkStoreGold) = 1 Then
UpdateStatus("Storage Golds")
get_gitems()
sleep(250)
golds()
sleep(500)
Endif
Code:
func chest_reg($ngitems)
if $ngitems > 0 and $ngitems < 21 Then
return 8
elseif $ngitems > 20 and $ngitems < 41 Then
return 9
elseif $ngitems > 40 and $ngitems < 61 Then
return 10
elseif $ngitems > 60 and $ngitems < 81 Then
return 11
elseif $ngitems > 80 Then
msgbox(0," Raptor Bot","Truhe voll! Wird beendet.")
exit
endif
endfunc
func golds()
$ocbty=$cbtype
$cbType="hex"
for $slot=1 to 35 step 1
If $slot < 21 Then
$i_info=GetItemInfo(1,$slot)
If $i_info[0] = $RARITY_GOLD Then
$GItems += 1
$c_reg=chest_reg($GItems)
MoveItem(1,$slot, $c_reg, 0)
Sleep(Random(150,200))
EndIf
EndIf
if $slot > 20 And $slot < 26 Then
$i_info=GetItemInfo(2,($slot-20))
If $i_info[0] = $RARITY_GOLD Then
$GItems += 1
$c_reg=chest_reg($GItems)
MoveItem(2,($slot-20), $c_reg, 0)
Sleep(Random(150,200))
EndIf
EndIf
if $slot > 25 and $slot < 36 then
$i_info=GetItemInfo(3,($slot-25))
If $i_info[0] = $RARITY_GOLD Then
$GItems += 1
$c_reg=chest_reg($GItems)
MoveItem(3,($slot-25), $c_reg, 0)
Sleep(Random(150,200))
EndIf
EndIf
Sleep(Random(20,30))
Next
$cbtype=$ocbty
endfunc
func get_gitems()
$cbtype="int"
$GItems=0
for $reg=8 to 11 step 1
for $slot=1 to 20 step 1
$i_id=getitemid($reg,$slot)
if $i_id[0] <> 0 then $GItems+=1
Sleep(Random(20,30))
Next
Next
return $GItems
EndFunc
verkaufen:
Code:
If GUICtrlRead($checkSell) = 1 Then
UpdateStatus("Selling items")
For $i = 1 To 20
$i_id=getitemid($BAG_BACKPACK,$i)
if $i_id[0] <> 0 then
Cmd($CA_SELLITEMBYID,$i_id[0])
Sleep(Random(400,500))
EndIf
Next
For $i = 1 To 5
$i_id=getitemid($BAG_BELTPOUCH,$i)
if $i_id[0] <> 0 then
Cmd($CA_SELLITEMBYID,$i_id[0])
Sleep(Random(400,500))
EndIf
Next
For $i = 1 To 10
$i_id=getitemid($BAG_BAG1,$i)
if $i_id[0] <> 0 then
Cmd($CA_SELLITEMBYID,$i_id[0])
Sleep(Random(400,500))
EndIf
Next
|
|
|
|
Similar Threads
|
GWCA Problem
04/20/2010 - GW Bots - 3 Replies
auch wenn es ein relativ leicht zu behebender fehler sein sollte bitte ich um konstruktive hilfe.
nun zu meinem problem:
wenn ich mit gwca einen befehl calle tut sich bei mir im guildwars fenster nichts...
injectet habe ich, compiled = 0 errors
nur wenn ich wirklich einen reinen befehl benutze bewegt sich der character
|
GWCA help?
02/20/2010 - GW Bots - 3 Replies
I'm trying to find place numbers for the maps etc.
Like Rata Sum is 640...
I need to know what I would set my ToPK value to.
It's for this...
Global $MAP_TOPK = ???
|
Nachhilfe bei GWCA
02/09/2010 - GW Bots - 2 Replies
Hey Leute :D ,
ich würde total gerne lernen wie man bots mit gwca schreibt ..ich kann
bis jetzt nur meine x und y location herausfinden und gold in die truhe packen und checken wieviel gold in der truhe ist und wieviel ich dabei habe!...
aber auch nur per tutorial von Xereon (Danke an Xereon! =)..)
jetzt wollte ich fragen ob sich jemand der es einiger masen kann die gedult und die motivation hat mir gwca noob es ein bisschen besser bei zu bringen!
ich freue mich über jede neue function die...
|
GWCA Frage(n)
02/02/2010 - GW Bots - 56 Replies
HI
hab ne Frage bezüglich mehrere Guild Wars über GWCA zu steuern.
Nämlich welches ist die "Variable" für die $client ?
also was muss ich umschreiben wenn ein Bot für das Fenster "Guild Wars Name1" und ein Bot für "Guild Wars Name2" die Befehle gibt ?
|
All times are GMT +2. The time now is 17:50.
|
|