• 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

MQ2CSum (2 Viewers)

cronic

Member
Joined
Apr 8, 2005
RedCents
Use this to summon a corpse. Attached is a compiled version. Have fun.

Instructions:
- Target a corpse that you have consent to move.
- Type '/sumcorpse'.

Rich (BB code):
// cronic

#include "../MQ2Plugin.h"

#ifdef PKT_CORPSE_DRAG
#undef PKT_CORPSE_DRAG
#endif
#ifdef PKT_CORPSE_DROP
#undef PKT_CORPSE_DROP
#endif
#ifdef PKT_UPDATE_POSITION
#undef PKT_UPDATE_POSITION
#endif

#define PKT_CORPSE_DRAG      0x50C0
#define PKT_CORPSE_DROP      0x7C7C
#define PKT_UPDATE_POSITION  0x14CB

PreSetup("MQ2CSum");

VOID SumCorpseCmd(PSPAWNINFO pChar, PCHAR szLine)
{
	// check for target
	if (!pTarget || !ppTarget) return;
	
	// make sure it's a corpse
	PSPAWNINFO Target = (PSPAWNINFO)pTarget;
	if (Target->Type != SPAWN_CORPSE) return;

	// setup move packet
	struct _MOVEPKT {
	/*0000*/ unsigned short SpawnID;
	/*0002*/ unsigned short TimeStamp;
	/*0004*/ float Y;
	/*0008*/ float DeltaZ;
	/*0012*/ float DeltaY;
	/*0016*/ float DeltaX;
	/*0020*/ int Animation:10;
	/*0020*/ int DeltaHeading:10;
	/*0020*/ int padding0020:12;
	/*0024*/ float X;
	/*0028*/ float Z;
	/*0032*/ int Heading:12;
	/*0032*/ int padding1_0032:10;
	/*0032*/ int padding2_0032:10;
	} P; // 36

	// init move packet
	ZeroMemory(&P, sizeof(P));
	P.SpawnID = (unsigned short)pChar->SpawnID;
	P.Heading = (unsigned int)(pChar->Heading * 4);

	// jump to
	P.Z = Target->Z;
	P.Y = Target->Y;
	P.X = Target->X;
	SendEQMessage(PKT_UPDATE_POSITION, &P, sizeof(P));

	// corpse drag
	char szCorpseName[152] = {0};
	strcpy(szCorpseName, Target->Name);
	SendEQMessage(PKT_CORPSE_DRAG, szCorpseName, 152);

	// jump back
	P.Z = pChar->Z;
	P.Y = pChar->Y;
	P.X = pChar->X;
	SendEQMessage(PKT_UPDATE_POSITION, &P, sizeof(P));

	// corpse drop
	SendEQMessage(PKT_CORPSE_DROP, "", 0);
}

PLUGIN_API VOID InitializePlugin(VOID)
{
	AddCommand("/sumcorpse", SumCorpseCmd);
}

PLUGIN_API VOID ShutdownPlugin(VOID)
{
	RemoveCommand("/sumcorpse");
}
 
Last edited:
could this also work but for "live" players to be the same as CoH?

Just wondering

And BTW dont worry about the whiners, you rock!!
 
troii said:
could this also work but for "live" players to be the same as CoH?

That'd be pretty cool. Unfortunately, all we're really doing here is:

- Warp
- /corpsedrag
- Warp
- /corpsedrop

It all boils down to the same messages being sent to the server without the client hassling us about distance. I can't think of any way to "summon" a player other than legitimately =/

cronic
 
Hey nice plugin, this one was definatly worth it and will save loads of time for me since i die all the time; but im still mad >_< ..........................?

jk :)
 
now that the plugins section has been moved to the VIP section of MQ2's website, do you have anygood places I could learn to make my own plugins?

I do know C++ but I would need some help for MQ2 keywords and CONST's and I am not really used to the windows style. more of an old dos programmer
 
Well, you could toss $10 at the MQ devs and check out the VIP section.. =P

cronic
 
I just got back from a business trip so I missed out on this VIP MQ thing.

How can they charge people to see opensource code? I helped to make the original MQ2Twist plugin back in the day and I don't see how they can charge people to look at it.

I don't mind people getting paid for their work (which is why I avoided speaking on the whole cronic thing), but I think what lax is doing violates the GPL.
 
From what I understand, MQ source code is and always has been free to download at any time. Plugins are extensions that utilize MQ and can be developed by anyone, just like macros. Donatating to the developers allows you to access VIP forums where you to look at some addidtional post which include plugins, and ask certain questions that would otherwise be flamed on in the general forums. I think they have a post listed somewhere as to how it all works.
 
The Twist and Moveutilites has been posted on this site but thats it from Mq2 boards, thery where open to public for longest time and many here already had the source code. How ever all the other plugins they have stayed there. I myself gave 10$ there are several plugins and macros I use from thier site. Now if anyone develops thier own plugin or macro we gladly will keep it up and going here, just dont want to be listing someone elses work unless they approve it.
 
Racecar said:
I just got back from a business trip so I missed out on this VIP MQ thing.

How can they charge people to see opensource code? I helped to make the original MQ2Twist plugin back in the day and I don't see how they can charge people to look at it.

I don't mind people getting paid for their work (which is why I avoided speaking on the whole cronic thing), but I think what lax is doing violates the GPL.

I beleive it was caused by people actively selling Lax's GPL software without source on Player Auctions.
 
Merlin said:
I beleive it was caused by people actively selling Lax's GPL software without source on Player Auctions.
they are not charging to see opensource code. they are charging to see other's works to make MQ2 work before the dev's release a new patch. Mainly because of all of the requests about "Why doesn't MQ2 work?" "I get a CTD while using (some random name here)'s source."
 
Am having a prob complieing cronics sumcorpse plugin in this is the error am getting c:\Mq2\MQ2Sumcorpse\MQ2Sumcorpse.cpp(66): fatal error C1075: end of file found before the left brace '{' at 'MQ2Sumcorpse.cpp(64)' was matched
 
siddin said:
they are not charging to see opensource code. they are charging to see other's works to make MQ2 work before the dev's release a new patch. Mainly because of all of the requests about "Why doesn't MQ2 work?" "I get a CTD while using (some random name here)'s source."

It's Open Source though, doesn't what they are doing kindof go against the GPL?

Not arguing or flaming, just chatting about it while bored at work.
 
no its not as its not the work of the developers but that of others that are trying to help towards a fully working compile.
 
Pollodemuerte said:
What would need to be changed so this will work with the 5/15 patch? :)

A few things. I'll update it when I get time in the next few days.

cronic
 
They added code after patch to try and nerf thsoe but easy to get out. Not sure what offsets those are though so gonna have to wait on Cronic to find em and update.
 
I already took car of their additions. I just need the offsets now.
 
Well if you consider that it is warping you really fast, you could say it uses offsets for the warp, no?
 
No, it does not use any function offsets that are not already available in MQ2. It does, however, use packet opcodes that did change this patch. I'll post an updated source tomorrow.

cronic
 
Update coming? i love this plugin. have it in my source code just waiting for update :) if so ... thanks cronic <3
 
I had to make the ninja hotkey till its updated.

/warp target
/corpsedrag
/warp safe
/corpsedrop
 
MQ2CSum

Users who are viewing this thread

Back
Top
Cart