A forum for feature requests/discussions and user submitted patches that improve MQ2
Moderator: MacroQuest Developers
-
Alisandra
- orc pawn

- Posts: 28
- Joined: Fri Aug 30, 2002 9:55 pm
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
-
Fippy
- 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

- 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!

- 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...
-
OldNecro
- 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

- 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

- 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!

- 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

-
Fippy
- 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

- 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.