Obtaining a spawn's target

A forum for feature requests/discussions and user submitted patches that improve MQ2

Moderator: MacroQuest Developers

Alisandra
orc pawn
orc pawn
Posts: 28
Joined: Fri Aug 30, 2002 9:55 pm

Obtaining a spawn's target

Post by Alisandra » Sat Jan 25, 2003 11:38 am

Hi,

Is there a way of getting the current target of a spawn? ie, $spawn($victimID,targetid) or $target(targetid) etc etc. If not, could it possibly be considered for the feature list? It would simplify things greatly not having to re-/target all the time. Thanks!

Jenn

User avatar
Fippy
a snow griffon
a snow griffon
Posts: 499
Joined: Tue Jul 16, 2002 10:42 am

Post by Fippy » Sat Jan 25, 2003 11:54 am

Do you mean any spawns current target ?

If so not possible since the eq client doesnt know this until it asks the server when an assist is called. It may be possible to find out if a spawn has you as its target since you see the name of the spawn in ther hits YOU message.

If you mean another group members target then I am sure its a server side check since you dont get updates of a players loc until they are quite close to you so I am sure the assist on that player wouldnt work until you know where they are at least.
Fippy

This is my girl. But Rizwank had her first :-)
[img]http://www.btinternet.com/~artanor/images/fairy_bounce09.gif[/img]

Alisandra
orc pawn
orc pawn
Posts: 28
Joined: Fri Aug 30, 2002 9:55 pm

Post by Alisandra » Sat Jan 25, 2003 12:21 pm

Basically I want to be able to find out if there are adds without having to have events firing. ie, something like:

Code: Select all

/for v1 1 to 10
   /target npc $v2
   /varset v2 "$v2 notid $target(id)"
   /if n $target(targetid)==$HealerID /echo Eeep!
/next v1

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Sat Jan 25, 2003 9:31 pm

Well, they dont just send you updates every time some random person or spawn selects a new target. When you want to know their target your client sends a request to server, and the server responds...
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

OldNecro
a ghoul
a ghoul
Posts: 136
Joined: Thu Dec 19, 2002 3:09 am

Post by OldNecro » Sat Jan 25, 2003 9:35 pm

this function is already allowed in EQ... Just target the spawn and type /assist... It works on NPCs as well as PCs.

Alisandra
orc pawn
orc pawn
Posts: 28
Joined: Fri Aug 30, 2002 9:55 pm

Post by Alisandra » Sat Jan 25, 2003 11:58 pm

Hi,

/assist would be that re-targeting I'm trying to avoid :)

Can MQ send a request mimicing /assist without changing the target maybe? I'm not sure if target tracking is client-side only or if the server tracks it also.

Thanks,
Jenn

Valerian
a grimling bloodguard
a grimling bloodguard
Posts: 709
Joined: Sun Jul 28, 2002 3:29 am

Post by Valerian » Sun Jan 26, 2003 4:18 am

you mean like, MQ sends /assist -> watches target memory space for change -> saves ID somewhere when it changes -> changes it back? Something like that should be workable, but I wouldn't have much hope doing that myself...

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Sun Jan 26, 2003 3:18 pm

It would be more like /assist and then re /target, both of which require talking to the server. Dont get your hopes up ;)
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

User avatar
Fippy
a snow griffon
a snow griffon
Posts: 499
Joined: Tue Jul 16, 2002 10:42 am

Post by Fippy » Sun Jan 26, 2003 3:35 pm

Well my hacking skillz are practically none existent but looking in eqstr_en.txt messages from about 12100 are about combat damage. When the client displays these messages it makes them up from various pieces, one of them being the attacking mobs name. Now your client must know this info so the question is does the server just send down the mobs name for the message or does it just send down the spawn id which is shorter. If we get sent the spawnid then I guess its just a case of finding out where it is stored and then exposing that through MQ.

Since I bought a book to learn c++ the other day it may be a while before i can do this one myself though :-).
Fippy

This is my girl. But Rizwank had her first :-)
[img]http://www.btinternet.com/~artanor/images/fairy_bounce09.gif[/img]

AMadMonk
a lesser mummy
a lesser mummy
Posts: 77
Joined: Tue Sep 24, 2002 9:16 pm

Post by AMadMonk » Mon Jan 27, 2003 1:22 pm

Assist is as follows:

Client sends opAssist packet with spawnid of desired assistee.
(Sometime later) server sends opAssist packet with spawnid of assisted mob (if it's in range, etc.)
Client gets the opAssist packet and changes EQADDR_TARGET to == the assisted mob's spawnid.
(I think) Client sends an opTarget packet back to server with the new target's spawnid.

The only step I'm not sure on is the last one -- since the server just told the client what mob to target, it shouldn't require an opTarget packet -- but then again, never underestimate the dumbness of SOE.

This info is never stored clientside; your only hope would be to send opAssist and then prevent/revert the targetting of the assisted mob. You'd probably break more than you fix.