• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

MQ2Assist

Tonka Trucks

Well-known member
Joined
Apr 27, 2006
RedCents
20¢
MQ2Assist - Updated 7/28/06 - 8:00PM CST

Usage: Overrides your EQ /assist command so that you can /assist from anywhere in the zone. This does not Ghost you, however you could probably use it with that.

Known Issues:

- All of you who have used MQ2 have noticed once in a while that it make take a moment to refresh your map for player positions. This issue is even known with not using MQ for the new show group members option. If you were to target via your map, sometimes it does not always assist right away. I'll be working on this to see if there's something that I can't do to try and fix it. Otherwise, its fairly easy to use during a simple group or major raid, and seems to have no real problems, when you have someone to set as a main assist and you have a hotkey defined. Lag intensive zones like The Devastation seem to cause this issue when map targeting. I suggest for now, if you're having this issue to please use /target (playername) -or your choice of how you'd like to target them-, then assist. Thank you to Devlin for this information.

Rich (BB code):
Rich (BB code):
// Usage: Overrides your EQ /assist command so that you can
// /assist from anywhere in the zone. This does not Ghost
// you, however you could use it with that.
// By: TurkReno - Props to Abyss for the MovePacket structure.

#include"../MQ2Plugin.h"

#ifdef PKT_UPDATE_POSITION 
#undef PKT_UPDATE_POSITION 
#endif
 
#define OP_ASSIST 0x1C3C // 06-16-06
#define PKT_UPDATE_POSITION 0x178A // 06-16-06

PreSetup("MQ2Assist"); 
 

VOID Assist(PSPAWNINFO pChar, PCHAR szLine) 
{ 
	 CHAR szMsg[MAX_STRING] = {0}; 
	 PSPAWNINFO Target = (PSPAWNINFO)pTarget; 

		 if (!pTarget || !ppTarget) { 
				sprintf(szMsg,"Need a target in order to /assist."); 
				WriteChatColor(szMsg,COLOR_LIGHTGREY); 
				Return; 
} 

struct _MOVEPKT { 
unsignedshort SpawnID;
unsignedshort TimeStamp;
unsigned Heading:12;
unsigned Padding0004:20; 
float DeltaY; 
int Animation:10;
unsigned Padding0012:22;
float DeltaX;
float Y;
int DeltaHeading:10;
int Padding0024:6; 
int unknown0026:2; 
float DeltaZ;
float Z;
float X;
} P; 
 
ZeroMemory(&P, sizeof(P)); 
 
P.SpawnID = (unsignedshort)pChar->SpawnID; 
P.Heading = (unsignedint)(pChar->Heading * 4); 
 
P.Z = Target->Z; 
P.Y = Target->Y; 
P.X = Target->X; 
 
SendEQMessage(PKT_UPDATE_POSITION, &P, sizeof(P)); 
		 typedefstruct _Assist { 
		 unsignedshort TargetID; 
		 BYTE Unknown[2]; 
} Assist; 
 
Assist Packet;
 
Packet.TargetID = (unsignedshort)((PSPAWNINFO)pTarget)->SpawnID; 
Packet.Unknown[0] = 0x00; 
Packet.Unknown[1] = 0x00; 
 
SendEQMessage(OP_ASSIST, &Packet, sizeof(Packet)); 
P.Z = pChar->Z; 
P.Y = pChar->Y; 
P.X = pChar->X; 
 
SendEQMessage(PKT_UPDATE_POSITION, &P, sizeof(P)); 
} 
 
PLUGIN_API VOID InitializePlugin(VOID) 
{ 
DebugSpewAlways("Initializing MQ2Assist");
AddCommand("/assist", Assist); 
} 
 
PLUGIN_API VOID ShutdownPlugin(VOID) 
{
DebugSpewAlways("Shutting down MQ2Assist");
RemoveCommand("/assist"); 
}


 
Last edited:
Minor bug reported, however it works decently in most all zones. Deleting this post when TP gives me some info.
 
props if you wrote this. but there are a few errors in that code you posted. and shouldnt build on 2k3 with out alot of spam.
 
MQ2Assist

Users who are viewing this thread

Back
Top
Cart