TLO Actor not working while target is in combat

Status
Not open for further replies.

bountycode

Active Member
this line
${Actor[pc,bountycode]}
returns the name bountycode if bountycode is not in combat
as soon as bountycode starts fighting that line returns the NULL value
This line would return the actors name fine before the eof expansion.
Has the status of the actor changed in and out of combat in eof?
 

Pygar

EQ2Bot Specialist
Different but related bug:

Code:
if !${Me.Maintained[${SpellType[${PreSpellRange[${xAction},1]}]}].Target.ID}==${Actor[${BuffTarget.Token[2,:]},${BuffTarget.Token[1,:]}].ID}
     {
          Me.Maintained[${SpellType[${PreSpellRange[${xAction},1]}]}]:Cancel
     }
Grr, having trouble explaining this... But once the actor goes into combat the statement stops returning false as expected, and returns true. I think something is borked in Actor when they enter combat.

So, my class files have started canceling maintained single target buffs on group mates when they enter combat, then re-casting them when combat is over.
 

Amadeus

The Maestro
Staff member
I tested the actortype manually and saw no problems.

You need to test your stuff OUTSIDE of a script. For example, target a PC and type "echo ${Target.Type}" ...and then check when they're in combat and see if it returns the same thing.

Either that, or put in echo statements throughout the script to figure out EXACTLY what the problem is.
 

Pygar

EQ2Bot Specialist
I'll take a look at it, but this was all working before EoF. And is 100% behavior now when the target enters combat the conditions return differently than when they are not in combat.

I'm not aware of anything in Actor or Target that should be different post EoF.

I should have time this evening to test this more and give you more informative feedback.
 

bountycode

Active Member
ok in a group if we are grouped and not in battle I hit ` and type
echo ${Actor[pc,mytankname]}
result is
mytankname
as soon as the Tank goes into battle I hit ` up arrow to get the last typed command
and the result is
NULL

now the new bit of info I gathered was that if you target lets say a caster who isn't meeling you get their name back wheather your group is fighting or not, but as soon as the caster uses their 'Melee Attack' ability the result is NULL

so it has to do with something when the melees start to attack
 

Amadeus

The Maestro
Staff member
do "echo ${Actor[pc,mytankname].Type}" ..and tell me what that is while you're in combat.


Of course, you could probably do something like ${Me.Group[tankname].ToActor} ...and avoid it entirely too.
 

Multicharacter

Senior Member
I'm not the one that started this topic - but I just tried ${Actor[pc,tankname].Type} and for me when not in combat it said PC, when in combat it said NULL.
 

bountycode

Active Member
Amadeus said:
Of course, you could probably do something like ${Me.Group[tankname].ToActor} ...and avoid it entirely too.
The reason I don’t use ${Me.Group[tankname].ToActor} is because that won’t work if the tank is in a raid and I’m not in the tanks group or if the character running the script is not in group or in raid but giving support to the group outside of the group. ${Actor[pc,name]} worked in all situations
 

Pygar

EQ2Bot Specialist
Amadeus said:
do "echo ${Actor[pc,mytankname].Type}" ..and tell me what that is while you're in combat.


Of course, you could probably do something like ${Me.Group[tankname].ToActor} ...and avoid it entirely too.
Returns null in combat, returns PC out of combat...

Think somethings borked in combat.
 

Amadeus

The Maestro
Staff member
Quote:
Originally Posted by Amadeus
do "echo ${Actor[pc,mytankname].Type}" ..and tell me what that is while you're in combat.


Of course, you could probably do something like ${Me.Group[tankname].ToActor} ...and avoid it entirely too.



Returns null in combat, returns PC out of combat...

Think somethings borked in combat.
My mistake, type "echo ${Actor[mytankname].Type}" ...and tell me what that is while the tank in question is in combat. ...then do it while they're out of combat.

The trick is that I'm having a hard time duplicating this bug. Can you also test it with a character that's not in your group? ..just to see if it's only a problem when the Actor in question is in your group.
 

Multicharacter

Senior Member
Amadeus said:
My mistake, type "echo ${Actor[mytankname].Type}" ...and tell me what that is while the tank in question is in combat. ...then do it while they're out of combat.
It returns "Unknown" for me when they are in combat.
 

bountycode

Active Member
When I am not grouped and type echo ${Actor[tankname].Type}
I get PC
I make the tank go into combat using the Melee Attack ability and I get
PC

Now I group with the tank. When not in combat I get PC
Only when the tank is in combat and in group do I get the value of
Unknown
also when I type echo ${Me.Group[tankname].ToActor.Type}
and the tank is in group and in combat only do I get the value of
Unknown
 

Amadeus

The Maestro
Staff member
Ok -- well, I'll have to find time to get online with someone from irc that can log on more than a couple people.

It may be a few days.
 

bountycode

Active Member
Karye said:
this is not "InCombat" its only autoattackon. Theres a difference.
I guess... but it still behaves like I described. All I have to do is have the tank target a mob that is even to far to start hitting it and press the meele attack ability, the tank goes into an attack position and his "type" becomes unknow.


I was able to verify this behavior using just two accounts. one a wizard the other a guardian.
I would be more then willing to help in being on of the accounts that you would need to test this.
 

Amadeus

The Maestro
Staff member
It is more a matter of me having time to look at it.

I'm also having a hard time imagining an instance where knowing the "Type" of your tank is of vital importance. Isn't there some other way around this problem? Show us the part of your script that uses this and perhaps someone can come up with a way around it.
 

bountycode

Active Member
Amadeus said:
My mistake, type "echo ${Actor[mytankname].Type}" ...and tell me what that is while the tank in question is in combat. ...then do it while they're out of combat.
that is why my examples above are using type because you asked for this specific check. What happens is that as soon as the tank in my group goes into attack mode his type is unknow so that means that the TLO actor or group member no longer is working. Any code that has to run based on the tank that is now in combat doesn't work. Wheather it's ${Me.Group[Tank].ToActor.Target.Health} or ${Actor[pc,tankname].Target.Health} or .Distance or any other property it's like the actor does not exist
 

Amadeus

The Maestro
Staff member
Use ${Actor[exactname,"TankName"]} ...for now.

That will work identically to [pc,tankname] as long as there is no other actor in the zone with the same name. And, since tanks usually don't have pets they name as their own name, you should be fine.
 
Status
Not open for further replies.
Top Bottom