Any way to retrieve the "Effects" text for an item?

mistahmikey

Active Member
Tried using Item.EffectDescription[#], but the returned text is always a zero length string. Is this a bug? Or is there some other way to get this text?
 

Amadeus

The Maestro
Staff member
Script using what I think you're looking for: https://www.isxgames.com/forums/threads/432-Item-Information-Daemon. It's an old script, so may need some tweaking; however, the general idea should be sound.

And, here were the patch notes from when it was added to the extension:
Code:
April 20, 2006 -- By Amadeus
[ISXEQ2-20060413c.zip]
* Fixed a very small bug with Me.Group...it may not have been causing any problems.
* Fixed a bug with Me.Ability[#]
* Added the following new MEMBERS to the 'item' datatype:
  ~ SubType                 (string type)  [Note: This is the Weapon/Shield type recently added to the item examine window]
  ~ DamageType             (string type)
  ~ DamageVerbType         (string type)
[COLOR=#ffff00]  ~ NumEffects           (int type)[/COLOR]
[COLOR=#ffff00]  ~ EffectName[#]        (string type)  [# = index of effect, 1-NumEffects][/COLOR]
[COLOR=#ffff00]  ~ EffectDescription[#] (string type)  [# = index of effect, 1-NumEffects][/COLOR]
  (Note:  Item Effects are often called 'procs'.)
* I have added back in most ISXEQ2 functionality for the pvp servers.  Here is a new list of
  limitations:
     - ${Actor} and ${CustomActor} will return NULL for any PC, PET, or UNKNOWN type actors 
       unless they're in your group or raid.
     - /where will never show any PC, PET, or UNKNOWN type actors.
     - /target will not target any PC, PET or UNKNOWN type actors unless they're in your 
        group or raid
     - /face will not face any PC, PET, or UNKNOWN type actors unless you have one targetted already or
        unless they're in your group or raid.
 

mistahmikey

Active Member
Thanks for the info. Yep, I had already seen the "EffectDescription" member - its just not returning what I had hoped. In any case, it looks like being able to use the examine window text vector might provide what I want. However, it is bugged, and attempting to access it causes EQ2 to crash - have a look at the following:

Code:
atom EQ2_ExamineItemWindowAppeared(string ItemName, string WindowID)
{
	echo ${ExamineItemWindow[${WindowID}].TextVector}

	variable int TextVectorLen
	variable int TextVectorIndex

	TextVectorLen:Set[${ExamineItemWindow[${WindowID}].TextVector}]


	for (TextVectorIndex:Set[1] ; ${TextVectorIndex} <= ${TextVectorLen} ; TextVectorIndex:Inc)
	{
		if ${ExamineItemWindow[${WindowID}].TextVector[${TextVectorIndex}].Label.Length} > 0
		{
			echo ${TextVectorIndex}: ${ExamineItemWindow[${WindowID}].TextVector[${TextVectorIndex}].Label}  
		}
	}
}

atom atexit()
{
	echo "Leaving ${Script.Filename}"
}

function main()
{
		echo "Entering ${Script.Filename}"

		Event[EQ2_ExamineItemWindowAppeared]:AttachAtom[EQ2_ExamineItemWindowAppeared]

		do 
		{
			waitframe
		}
		while ${ISXEQ2(exists)}
}
Is there any way to retrieve the same Effects information that is contained in the EffectsWindow TextVector directly from the item (i.e., without having to first use item:Examine to popup the ExamineItemWindow)? If not, is this something that could be added to the item datatype?
 

Amadeus

The Maestro
Staff member
If the item members I mentioned don't have it, then via the examine item window is the only way. The fact is that the game has no reason to need to know that information other than giving it to you in an examine window -- so, that's the only place it's located.

If there is a bug with the ExamineItemWindow ..you can make a bug report and I'll look into it.

For the item you're testing, in which EffectDescription[#] is returning an empty string. What is the value for "NumEffects" on that item? It could be that there is a bug with EffectName and/or EffectDescription (or even NumEffects.) You could make a bug report for it and I can look into it.
 
Top Bottom