GW1 Bots working in July 2017

01/02/2019 09:14 RiflemanX#1921
Quote:
Originally Posted by buddyleex View Post
So I've lightly modified the DoA script and tried to add in statements to search for and pick up q8 max dmg weapons but the function "GetItemMaxDmg" doesn't exist in GWA2, Inventory or the main script. Anyone know of a function to do something similar to this line?

If $Attribute = 20 And $Requirement = 8 And GetItemMaxDmg($itemstruct) = 22 Then ; req8 Swords - Swordsmanship
Return True

I thought Q8 max items did not drop in DOA because the enemy are too high of a level.

Here try this for your function:

Code:
Func GetItemMaxDmg($aItem)
	If Not IsDllStruct($aItem) Then $aItem = GetItemByItemID($aItem)
	Local $lModString = GetModStruct($aItem)
	Local $lPos = StringInStr($lModString, "A8A7") ; Weapon Damage
	If $lPos = 0 Then $lPos = StringInStr($lModString, "C867") ; Energy (focus)
	If $lPos = 0 Then $lPos = StringInStr($lModString, "B8A7") ; Armor (shield)
	If $lPos = 0 Then Return 0
	Return Int("0x" & StringMid($lModString, $lPos - 2, 2))
EndFunc   ;==>GetItemMaxDmg

Func GetIsRareShield($aItem)
	Local $Attribute = GetItemAttribute($aItem)
	Local $Requirement = GetItemReq($aItem)
	Local $Damage = GetItemMaxDmg($aItem)

	If $Attribute = $ATTRIB_Swordsmanship And $Requirement <= 8 And $Damage = 22 Then ; req8 Swords
		Return True
	ElseIf $Attribute = $ATTRIB_Strength And $Requirement <= 8 And $Damage = 16 Then ; req8 Shields
		Return True
	ElseIf $Attribute = $ATTRIB_Tactics And $Requirement <= 8 And $Damage = 16 Then ; Req8 Shields
		Return True
	ElseIf $Attribute = $ATTRIB_Command And $Requirement <= 8 And $Damage = 16 Then ; Req8 Shields
		Return True
	ElseIf $Attribute = $ATTRIB_Motivation And $Requirement <= 8 And $Damage = 16 Then ; Req Shields
		Return True
	EndIf
	Return False
EndFunc

I have seen other ways to do it. Here is another example:

Code:
Func IsQ8MaxItem($aItem)
   Local $Attribute = GetItemAttribute($aItem)
   Local $Requirement = GetItemReq($aItem)
   Local $lRarity = GetRarity($aItem)

   If $lRarity <> $RARITY_WHITE And $Requirement == 8 Then
	  If ($Attribute  == $Swordsmanship	And GetItemMaxDmg($aItem) == 22) Then  Return True
	  If ($Attribute  == $AxeMastery	And GetItemMaxDmg($aItem) == 28) Then  Return True
	  If ($Attribute  == $HammerMastery	And GetItemMaxDmg($aItem) == 35) Then  Return True
	  If ($Attribute  == $Marksmanship	And GetItemMaxDmg($aItem) == 28) Then  Return True
	  If ($Attribute  == $DaggerMastery	And GetItemMaxDmg($aItem) == 17) Then  Return True
	  If ($Attribute  == $ScytheMastery	And GetItemMaxDmg($aItem) == 41) Then  Return True
	  If ($Attribute  == $Spearmastery	And GetItemMaxDmg($aItem) == 27) Then  Return True
	  If (IsShieldAttribute($Attribute)	And GetItemMaxDmg($aItem) == 16) Then  Return True
	  If (IsCasterAttribute($Attribute)	And GetItemMaxDmg($aItem) == 22) Then  Return True
	  If (IsCasterAttribute($Attribute)	And GetItemMaxDmg($aItem) == 12) Then  Return True
	  EndIf

   Return False
EndFunc

Func IsQArmourShield($aItem, $aReq, $aArmor)
   Local $Attribute = GetItemAttribute($aItem)
   Local $Requirement = GetItemReq($aItem)
   Local $lRarity = GetRarity($aItem)

   If $lRarity <> $RARITY_WHITE And $Requirement == $aReq Then
	  If (IsShieldAttribute($Attribute)	And GetItemMaxDmg($aItem) >= $aArmor) Then  Return True
	  EndIf

   Return False
EndFunc

Func IsCasterAttribute($Attribute)
   Return (($Attribute >= $FastCasting And $Attribute <= $DivineFavor) Or ($Attribute >= $Communing And $Attribute <= $ChannelingMagic))
EndFunc

Func IsShieldAttribute($Attribute)
   Return ($Attribute == $Strength Or $Attribute == $Tactics Or $Attribute == $Command Or $Attribute == $Motivation)
EndFunc
Here are your Globals wiith the attribute ID's for the last example:

Code:
#Region Attributes
Global $FastCasting = 0
Global $IllusionMagic = 1
Global $DominationMagic = 2
Global $InspirationMagic = 3
Global $BloodMagic = 4
Global $DeathMagic = 5
Global $SoulReaping = 6
Global $Curses = 7
Global $AirMagic = 8
Global $EarthMagic = 9
Global $FireMagic = 10
Global $WaterMagic = 11
Global $EnergyStorage = 12
Global $HealingPrayers = 13
Global $SmitingPrayers = 14
Global $ProtectionPrayers = 15
Global $DivineFavor = 16
Global $Strength = 17
Global $AxeMastery = 18
Global $HammerMastery = 19
Global $Swordsmanship = 20
Global $Tactics = 21
Global $BeastMastery = 22
Global $Expertise = 23
Global $WildernessSurivival = 24
Global $Marksmanship = 25
Global $DaggerMastery = 29
Global $DeadlyArts = 30
Global $ShadowArts = 31
Global $Communing = 32
Global $RestorationMagic = 33
Global $ChannelingMagic = 34
Global $CriticalStrikes = 35
Global $SpawningPower = 36
Global $Spearmastery = 37
Global $Command = 38
Global $Motivation = 39
Global $Leadership = 40
Global $ScytheMastery = 41
Global $WindPrayers = 42
Global $EarthPrayers = 43
Global $Mysticism  = 44
#EndRegion Attributes
01/02/2019 09:36 buddyleex#1922
Thanks Rifle, I finally found the correct post here:

[Only registered and activated users can see links. Click Here To Register...]

I've seen a few q8 max foci drop so far but no shields or swords. I'm assuming they would drop shield and swords also if max foci dropped.
01/02/2019 14:25 RiflemanX#1923
Quote:
Originally Posted by buddyleex View Post
Thanks Rifle, I finally found the correct post here:

[Only registered and activated users can see links. Click Here To Register...]

I've seen a few q8 max foci drop so far but no shields or swords. I'm assuming they would drop shield and swords also if max foci dropped.
Ok, excellent!
01/02/2019 19:54 shejesa#1924
Search option doesn't really help, is there any diessa bot that also picks up event items?
01/02/2019 20:55 wwhhaattaa#1925
is the froggy farm bot uptodate and are there any known bann's regarding this bot?
01/02/2019 21:35 Selas#1926
How about making a new thread with up2date versions of current bots?
01/02/2019 22:04 cbs87#1927
Hi Guys im trying tu use the xRt Froggy bot. I need to Inject the dll but when i do so my game crashes and i get the following notification : Hooking Error! the MaxZoomStill could not be found. Anyone knows what to do about this?
01/02/2019 23:20 ProjecktMachina#1928
I'm running JQ Bot originally made by JCaulton from GR. Everytime I start it FPS instantly drop to about 5. I think that's the case of enormous amounts of stuck, bad tracking, dishonored issue etc.
Is there any possible way to fix it? Checked GWBible.au3, found nothing, but I'm not very experienced with LUA.
01/03/2019 04:56 naric#1929
Quote:
Originally Posted by ProjecktMachina View Post
I'm running JQ Bot originally made by JCaulton from GR. Everytime I start it FPS instantly drop to about 5. I think that's the case of enormous amounts of stuck, bad tracking, dishonored issue etc.
Is there any possible way to fix it? Checked GWBible.au3, found nothing, but I'm not very experienced with LUA.
I have this same problem, every JQ script ive tried has this issue.
01/03/2019 07:22 ProjecktMachina#1930
Quote:
Originally Posted by naric View Post
I have this same problem, every JQ script ive tried has this issue.
Found temporary solution. Add semi-colon at _purgeHook func in JQ bot itself. It will stop it from slowing down to 5FPS, but it will only work untill you tick "Disable Rendering".
I suppose it's linked to _REDUCEMEMORY func in GWBible itself, but I don't know exactly how it works. I'll dig it and keep update info.
@[Only registered and activated users can see links. Click Here To Register...]
Also, after reading through GWBible func ClearMemory may be responsible for the FPS drops. I'll keep update untill I reach final conclusion.
01/03/2019 08:07 RiflemanX#1931
GWBible is an older api. To run smoothly with low memory and good pointers it would need need to be upgraded to a newer api that is still maintained like gwapi. It would take some time and effort to port the script over and debug. There is also a GWA2 version but I do not have it. I will take a look this evening and see if I can find a short-cut fix.
01/03/2019 08:33 ProjecktMachina#1932
Found solution for FPS drops, and updated GWBible + added togglelanguage func, that it won't be needed to change it manually to English. I'm testing it now, and upload it in a bit. If someone doesn't want to wait, you just need to completely cut out these funcs from GWBible, GWAddons, Bot itself: _reducememory, maxmemory, clearmemory
@[Only registered and activated users can see links. Click Here To Register...]
GWA2 version released here on epvp is classic LDV, which is worse than SmartCast version from JCaulton from GR.
01/03/2019 12:10 RiflemanX#1933
Ok, right on. Not a bad quick fix. I will check out your re-release.

Quote:
Originally Posted by shejesa View Post
Search option doesn't really help, is there any diessa bot that also picks up event items?
All you need to do is make some minor adjustments in the CanPickUp function to be able to pick up the event items. Here is an example:


Code:
Global Const $ITEM_ID_GLACIAL_STONES = 27047
Global Const $ITEM_ID_TOTS = 28434
Global Const $ITEM_ID_GOLDEN_EGGS = 22752
Global Const $ITEM_ID_BUNNIES = 22644
Global Const $ITEM_ID_GROG = 30855
Global Const $ITEM_ID_CLOVER = 22191
Global Const $ITEM_ID_PIE = 28436
Global Const $ITEM_ID_CIDER = 28435
Global Const $ITEM_ID_POPPERS = 21810
Global Const $ITEM_ID_ROCKETS = 21809
Global Const $ITEM_ID_CUPCAKES = 22269
Global Const $ITEM_ID_SPARKLER = 21813
Global Const $ITEM_ID_HONEYCOMB = 26784
Global Const $ITEM_ID_VICTORY_TOKEN = 18345
Global Const $ITEM_ID_LUNAR_TOKEN = 21833
Global Const $ITEM_ID_HUNTERS_ALE = 910
Global Const $ITEM_ID_LUNAR_TOKENS = 28433
Global Const $ITEM_ID_KRYTAN_BRANDY = 35124
Global Const $ITEM_ID_BLUE_DRINK = 21812
Global Const $ITEM_ID_GHOST_IN_A_BOX = 6368
Global Const $ITEM_ID_SHAMROCK_ALE = 22190
Code:
Func CanPickUp($aItem)
	Local $lModelID = DllStructGetData(($aItem), 'ModelID')
	Local $lRarity = GetRarity($aItem)
	If $lModelID == 2511 And GetGoldCharacter() < 99000 Then Return True	; gold coins (only pick if character has less than 99k in inventory)
	;If $lModelID > 21785 And $lModelID < 21806 Then Return True	; Elite/Normal Tomes
	If $lModelID == $ITEM_ID_DYES Then	; if dye
		Switch DllStructGetData($aItem, "ExtraID")
			Case $ITEM_EXTRAID_BLACKDYE, $ITEM_EXTRAID_WHITEDYE ; only pick white and black ones
				Return False
			Case Else
				Return False
		EndSwitch
	EndIf
	If $lRarity  == $RARITY_GOLD 			Then Return False ; Gold items
	If $lModelID == $ITEM_ID_LOCKPICKS 		Then Return True  ; Lockpicks
	If $lModelID == $ITEM_ID_GLACIAL_STONES Then Return False ; Glacial Stones
	; ==== Pcons ====
	If $lModelID == $ITEM_ID_TOTS 			Then Return False
	If $lModelID == $ITEM_ID_GOLDEN_EGGS 	        Then Return True
	If $lModelID == $ITEM_ID_BUNNIES 		Then Return True
	If $lModelID == $ITEM_ID_GROG 			Then Return True
	If $lModelID == $ITEM_ID_CLOVER 		Then Return False
	If $lModelID == $ITEM_ID_PIE			Then Return True
	If $lModelID == $ITEM_ID_CIDER			Then Return False
	If $lModelID == $ITEM_ID_POPPERS		Then Return False
	If $lModelID == $ITEM_ID_ROCKETS		Then Return False
	If $lModelID == $ITEM_ID_CUPCAKES		Then Return True
	If $lModelID == $ITEM_ID_SPARKLER		Then Return False
	If $lModelID == $ITEM_ID_HONEYCOMB		Then Return False
	If $lModelID == $ITEM_ID_VICTORY_TOKEN	        Then Return False
	If $lModelID == $ITEM_ID_LUNAR_TOKEN	         Then Return True
	If $lModelID == $ITEM_ID_HUNTERS_ALE	        Then Return False
	If $lModelID == $ITEM_ID_LUNAR_TOKENS	      Then Return True
	If $lModelID == $ITEM_ID_KRYTAN_BRANDY	        Then Return False
	If $lModelID == $ITEM_ID_BLUE_DRINK		Then Return False
        If $lModelID == $ITEM_ID_GHOST_IN_A_BOX         Then Return False
	If $lModelID == $ITEM_ID_SHAMROCK_ALE	        Then Return False
	; If you want to pick up more stuff add it here
	Return False
EndFunc   ;==>CanPickUp
01/03/2019 16:39 zer0.de#1934
What does the Return True/False means?
he pickt it up and then is it False? or True?
01/03/2019 17:01 ProjecktMachina#1935
Quote:
Originally Posted by zer0.de View Post
What does the Return True/False means?
he pickt it up and then is it False? or True?
Picking up when func is set to True.