[GWA2] ModStructs For Perfect Items

09/24/2018 00:49 Underavelvetmoon#16
Quote:
Originally Posted by OuttaControlX View Post
Thank you, how can i pick up blue armor but not blue weapons?
You would define it by "Type". You can find the type of armor if you use the botdeveloper I posted yesterday. Then to use it is as simple as:

Code:
Func CanPickUpArmor($aItem)
Local $Type = DllStructGetData($aItem, 'Type')

Switch $Type
Case ; Number for the type of armor
Return True
EndSwitch

Return False
EndFunc
09/24/2018 01:07 OuttaControlX#17
Quote:
Originally Posted by Underavelvetmoon View Post
You would define it by "Type". You can find the type of armor if you use the botdeveloper I posted yesterday. Then to use it is as simple as:

Code:
Func CanPickUpArmor($aItem)
Local $Type = DllStructGetData($aItem, 'Type')

Switch $Type
Case ; Number for the type of armor
Return True
EndSwitch

Return False
EndFunc
I asked the wrong question, is there a list of blue armor ids?
09/24/2018 01:44 Underavelvetmoon#18
Quote:
Originally Posted by OuttaControlX View Post
I asked the wrong question, is there a list of blue armor ids?
That would be a stupid amount of work.

Code:
Func CanPickUp($aItem)
Local $Type = DllStructGetData($aItem, 'Type')
Local $Rarity = GetRarity($aItem)

Switch $Type
Case ; Armor Type
If $Rarity = 2626 Then 
   Return True ; blue - I think?
ElseIf $Rarity = 2624 Then
   Return True ; Gold?
Else
   Return False
EndIf
EndSwitch

Return False
You really do not need a list of every blue armor in the game. Just pick up blue armor or whatever you want through Type and then use the modstructs Savsuds posted to find the runes you want to keep.
09/25/2018 01:17 OuttaControlX#19
Quote:
Originally Posted by Underavelvetmoon View Post
That would be a stupid amount of work.

Code:
Func CanPickUp($aItem)
Local $Type = DllStructGetData($aItem, 'Type')
Local $Rarity = GetRarity($aItem)

Switch $Type
Case ; Armor Type
If $Rarity = 2626 Then 
   Return True ; blue - I think?
ElseIf $Rarity = 2624 Then
   Return True ; Gold?
Else
   Return False
EndIf
EndSwitch

Return False
You really do not need a list of every blue armor in the game. Just pick up blue armor or whatever you want through Type and then use the modstructs Savsuds posted to find the runes you want to keep.

Awesome thank you, still learning. I appreciate the help!
09/25/2018 18:37 seymon#20
I lost the botdeveloper autoit script to find ID etc. Someone still have it and can share it here please ?
09/26/2018 00:39 Underavelvetmoon#21
Quote:
Originally Posted by seymon View Post
I lost the botdeveloper autoit script to find ID etc. Someone still have it and can share it here please ?
Right here!

[Only registered and activated users can see links. Click Here To Register...]
09/27/2018 08:44 seymon#22
Quote:
Originally Posted by Underavelvetmoon View Post
Right here!

[Only registered and activated users can see links. Click Here To Register...]
Thanks mate ! :)
10/08/2018 10:40 Underavelvetmoon#23
Big update today!

Thanks to all the information that savsuds loves to post all over the place, I have managed to complete the entire shield set and am only missing 2 attributes for ritualist on the caster weapons. I added some mods which have a 100% chance of NOT dropping, just for the sake of looking more complete. Also split the regular/elite Tomes into separate functions since I am tired of having 50 stacks of each normal tome.

Also updated the rune table for the most expensive runes currently available.

All updated on page 1 to keep the information together, check it out!

If there is anything you think should be added/would like added, just let me know!
10/08/2018 17:17 savsuds#24
Quote:
Originally Posted by Underavelvetmoon View Post
Also split the regular/elite Tomes into separate functions since I am tired of having 50 stacks of each normal tome.
I will trade you for the normal tomes. (Not all 50 stacks of each, but a few stacks). The below info is free.

Code:
$ofCommuningMagic, "14201824"	; Communing Magic +1 (20% chance while using skills)
$ofRestorationMagic, "14211824"		; Restoration Magic +1 (20% chance while using skills)
$ofChannelingMagic, "14221824"		; Channeling Magic +1 (20% chance while using skills)
$ofSpawningMagic, "14241824"                  ; only mod I have not confirmed.
10/09/2018 05:55 RiflemanX#25
Can you please post your functions for:

IsSpecialItem()
IsPcon()
IsRareMaterial()

Along with any any associated globals and arrays.

~Thanks!
10/09/2018 17:49 Underavelvetmoon#26
Quote:
Originally Posted by savsuds View Post
I will trade you for the normal tomes. (Not all 50 stacks of each, but a few stacks). The below info is free.

Code:
$ofCommuningMagic, "14201824"	; Communing Magic +1 (20% chance while using skills)
$ofRestorationMagic, "14211824"		; Restoration Magic +1 (20% chance while using skills)
$ofChannelingMagic, "14221824"		; Channeling Magic +1 (20% chance while using skills)
$ofSpawningMagic, "14241824"                  ; only mod I have not confirmed.
Your a superstar Sav :) Thank you!

Quote:
Originally Posted by RiflemanX View Post
Can you please post your functions for:

IsSpecialItem()
IsPcon()
IsRareMaterial()

Along with any any associated globals and arrays.

~Thanks!
Updated the first post!

To everyone, everything appears all finished, just need to confirm Spawning magic, although it should be correct.
10/23/2018 16:15 3vangelist#27
This is brill, just using this code for my bot and did some housekeeping and thought I'd give some feedback.

Most of the 20% mods that are for an attribute use the hex code of the attribute in the modstring. Heres an example that I quickly edited from your IsPerfectStaff function:

Code:
 Func IsPerfectStaff($aItem)
	Local $A = GetItemAttribute($aItem), $ModStruct = GetModStruct($aItem)
	Switch $A
		Case 12 ; Energy Storage - search for 08, 09, 0A, 0B, or 0C attributes
			Return StringRegExp($ModStruct,"0[89ABC]141822")
		Case 16 ; Divine - search for 0D, 0E, or 0F attributes
			Return StringRegExp($ModStruct,"0[DEF]141822")
		Case Else ; Everything else - search explicitly for the hex value of this attribute.
			Return StringInStr($ModStruct,Hex($A,2)&"141822")
	EndSwitch
 EndFunc
Does make it a bit harder to figure out whats going on here, but cuts a lot of the cruft out.
10/23/2018 17:42 Underavelvetmoon#28
Quote:
Originally Posted by 3vangelist View Post
This is brill, just using this code for my bot and did some housekeeping and thought I'd give some feedback.

Most of the 20% mods that are for an attribute use the hex code of the attribute in the modstring. Heres an example that I quickly edited from your IsPerfectStaff function:

Code:
 Func IsPerfectStaff($aItem)
	Local $A = GetItemAttribute($aItem), $ModStruct = GetModStruct($aItem)
	Switch $A
		Case 12 ; Energy Storage - search for 08, 09, 0A, 0B, or 0C attributes
			Return StringRegExp($ModStruct,"0[89ABC]141822")
		Case 16 ; Divine - search for 0D, 0E, or 0F attributes
			Return StringRegExp($ModStruct,"0[DEF]141822")
		Case Else ; Everything else - search explicitly for the hex value of this attribute.
			Return StringInStr($ModStruct,Hex($A,2)&"141822")
	EndSwitch
 EndFunc
Does make it a bit harder to figure out whats going on here, but cuts a lot of the cruft out.
Appreciate the insight, if I ever decide to add more to it or re-write it ill make sure to structure it like this. I will never deny that the functions/lists are hugely cluttered, but they work haha!

Although one reason for the clutter is that we want to avoid mis-matched stats like a divine req staff with 20% earth for instance, which is a big reason for all the clutter. Any idea how that would work with the code you've provided?
10/23/2018 17:45 3vangelist#29
The above code only matches the attribute, unless the attribute is energy storage of divine favor - in those special cases (12 and 16), it looks for the ele or monk attributes using a RegExp
11/14/2019 13:54 richpianagroyper#30
Hey everyone, as fun as this list was while it worked since the may patch it no longer does. While i know how to get the ids from items with desired mods this costs time and even worse requires me to have atleast 2 of the items with the desired mods; therefore i'm wondering whether there is a purely mathematical way of figuring out the mod ids?(e.g. i know the vs demons id so i can calculate the vs dwarves one)
Of course alternatively if someone has the currently correct modstructs and they're willing to share that'd be great too.