paissaheavyindustries / Triggernometry

Triggernometry is a plugin for Advanced Combat Tracker, intended to extend its built-in trigger system with a variety of different actions and configuration options.
MIT License
253 stars 48 forks source link

some mistakes about ${_ffxiventity} and it's property “targetid” version 1.1.4.1 #65

Closed lnsailqx closed 2 years ago

lnsailqx commented 2 years ago

${_ffxiventity[_ffxivplayer].targetid} will return the object id of my player's target

When my character is in a non combat state,it works good ,if i change my target in the game,it return the right id

But when my character is in combat,if i change my target in the game,the value it return to me would not change

However, there is one exception,some monsters linked by hate value,if i change my target Among them,it can return the right id to me

i very look forward to your reply,t4t

Aho-Senpai commented 2 years ago

Just for the sake of making sure you are using it correctly, if you only care about your own targets, you can use this instead : ${_ffxivparty[${_ffxivplayer}].targetid} I'll check tonight if it behaves like that, but last I checked I had no issues with it.

lnsailqx commented 2 years ago

${_ffxivparty[${_ffxivplayer}].targetid} works correctly! the problem has been solved. Thank you again for your reply

lnsailqx commented 2 years ago

When I tested again, I found that this was not a stable success.

Many times, the above questions still happen.

My guess is that the plug-in that parses logs filters the content about changing the current target

So I want to ask_ How does '${_ffxivparty}' match the content about changing the current target?

from ACT logs or Netwrok logs?

and Line number?

Aho-Senpai commented 2 years ago

I'm gonna need you to give a trigger as example or any more info ... I'm unable to reproduce it with some test triggers I have so ... It works fine as far as I can tell

lnsailqx commented 2 years ago

version 1.1.4.1 showmetarget.zip

lnsailqx commented 2 years ago

You must try many times:

Go to the field to find two monsters A and B, attack monster A, and then enter the combat. use the trigger to get the current target ID, wait for 3 seconds, change the target to monster B, and use the trigger to get the current target id and myabe you will find the target id not change

lnsailqx commented 2 years ago

and don‘t use monster whos chain by threat value such as survey stake

Aho-Senpai commented 2 years ago

OK, few things : please don't use message box to debug that ... just use a text aura, you'll have a much easier time lol

Also, bug confirmed. @paissaheavyindustries .targetid doesn't update while in-combat until either said target dies or until the player is dropped out of combat. TLDR : it "keep" the id of the first mob you target once you are in combat and doesn't update (but only in some scenarios, as it didn't happen with training dummies in housing areas) TargetIDDebug.zip .

lnsailqx commented 2 years ago

By the way, will this bug be fixed in the next version?

Aho-Senpai commented 2 years ago

Once Locrian (Triggernometry dev) find the issue and fix it, sure.

paissaheavyindustries commented 2 years ago

Targetid comes straight from the ffxiv parsing plugin, so it's likely not even a triggernometry bug.

lnsailqx commented 2 years ago

Targetid comes straight from the ffxiv parsing plugin, so it's likely not even a triggernometry bug.

I tried to find some message lines about changing targetid in the act log or network log, but I couldn't find it.

can i know how it works?

Aho-Senpai commented 2 years ago

https://github.com/paissaheavyindustries/Triggernometry/blob/master/Source/Triggernometry/PluginBridges/BridgeFFXIV.cs#L279

AFAIK, it's just grabbed from memory directly. Not everything has to have a logline for it. (Also, Network and ACT log are basically the same, just different format, to make it simple)

paissaheavyindustries commented 2 years ago

Yeah, it's not a log line, and trig does nothing to manipulate the result it gets from the ffxiv parsing plugin. I've brought it up with Ravahn though so it may get resolved that way.