• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

MQ2NoKos - Looking for the lost source (1 Viewer)

dantes

New member
Joined
Feb 17, 2005
RedCents
I'm not sure if any of you remember this plugin, basically it allowed your character to move anywhere through out a zone as a "ghost." Nothing would attack. In reality, once the plugin was turned on, you would simply vanish (something to do with the dueling offsets) and your character would remain where you turned the plugin on according to the server. However, when you turned the plugin off, your character would be where it is on your screen. Consider it the poor man's warp. Does anyone know what happened to this? I have the old DLLs, but I haven't seen the source for 3 months.

Here's the DLL in a zip if any of you want to poke around with it in IDA. My only other option is to try to rebuild is from what I remember - not something I want to do.

Thanks ;)
 
Sounds like its tricking the server to not recieve your connection. Then turning your connection back on. Like you said the poor man's warp. Would be cool, though, to check out the area before you pull it.
 
Check out my post on this, it seems to be pritty similar to it. :D

"Invis around any player or monster!" Program +


Infernal said:
This is quoted from EQ Underground:
"Invis around any player or monster!"
This is really nice, i was just curious if there was any program that any of you out there have, that will lose connection/reconnect just before losing full packet loss automatically. (And would give you msgs when you enable this with a button *kind of like the plugins* while you play for ex.)

You are now INVISABLE, run or hide, 15 seconds is all you got!
You are now INVISABLE, run or hide, 10 seconds is all you got!
You are now INVISABLE, run or hide, 5 seconds is all you got!
You are now INVISABLE, run or hide, 4 seconds is all you got!
You are now INVISABLE, run or hide, 3 seconds is all you got!
You are now INVISABLE, run or hide, 2 seconds is all you got!
You are now INVISABLE, run or hide, 1 second is all you got!
You are now REVEALED, waitting for 3 seconds...

You are now INVISABLE, run or hide, 15 seconds is all you got!
You are now INVISABLE, run or hide, 10 seconds is all you got!etc.. etc..

I think this might be a nice program if anyone is able to create it. I really am clueless when it comes into pure programming so i'll let the coders see if this is worth their time. :D

(maybe the txt msgs need a little work.. but you get the picture :) )
 
i can try to decompile it into a .cpp file, but the major problem is, you most likely won't be able to understand it as it will still be about 1/2 assembly code
 
Found it faster than I thought I would! :)

Rich (BB code):
// Nokos By: Stigmatine
// Updated 2004.09.23

/*
 Instructions: Leave your character in a safe spot (zone line) somwhere where he is not in the path of other mobs, cause even though you "leave" your body , your original self can be attacked still, even though you can /nokos off and will zap you too current location. But leave yourself in a safe place type /nokos on, and then roam free of aggro anywhere you wanna go no mobs will attack, you may not con any mob or attack anything whlie in nokos mode, to undo just type /nokos off, and all mobs will again like/dislike you as they normally would and you may once again attack and con. Enjoy!!.
*/

#include "../MQ2Plugin.h"


PreSetup("MQ2NoKos");

VOID SumCorpseCmd   (PSPAWNINFO pChar, PCHAR szLine);
VOID SendMovementPacket   (FLOAT x, FLOAT y, FLOAT z);

DWORD SpawnID;

void SetID(PSPAWNINFO pChar, PCHAR szLine)
{
if(!strcmp(szLine,"on"))
{
pTarget = NULL;
SpawnID = GetCharInfo()->pSpawn->SpawnID;
  GetCharInfo()->pSpawn->SpawnID = 0;
    WriteChatColor("NoKos mode is now set to ON.",CONCOLOR_GREEN);
}
if(!strcmp(szLine,"off"))
{
pTarget = NULL;
GetCharInfo()->pSpawn->SpawnID = SpawnID;
  WriteChatColor("NoKos mode is now set to OFF.",CONCOLOR_RED);
}
else
{
WriteChatColor("Invalid Syntax. Usage:",COLOR_LIGHTGREY);
WriteChatColor("/nokos on",COLOR_LIGHTGREY);
WriteChatColor("/nokos off",COLOR_LIGHTGREY);
}
}

// Called once, when the plugin is to initialize
PLUGIN_API VOID InitializePlugin(VOID)
{

// Add commands
AddCommand("/nokos",SetID);
AddCommand("/sumcorpse",SumCorpseCmd);

}

// Called once, when the plugin is to shutdown
PLUGIN_API VOID ShutdownPlugin(VOID)
{

// Remove Commands
RemoveCommand("/nokos");
RemoveCommand("/sumcorpse");

}

VOID SumCorpseCmd(PSPAWNINFO pChar, PCHAR szLine)
 {
 	if (!pTarget || !ppTarget) return;
 	PSPAWNINFO Target = (PSPAWNINFO)pTarget;
 	if (Target->Type != SPAWN_CORPSE) return;
 	
 	SendMovementPacket(Target->X, Target->Y, Target->Z);
 	SendEQMessage(864, Target->Name, 152);
 	SendMovementPacket(pChar->X, pChar->Y, pChar->Z);
 	SendEQMessage(865, "", 0);
 }

void SendMovementPacket(FLOAT x, FLOAT y, FLOAT z)
 {
 	// type == 39
 	typedef struct _MOVEPKT {
 		WORD SpawnID;
 		FLOAT Z;
 		FLOAT Y;
 		FLOAT SpeedY;
 		FLOAT X;
 		FLOAT SpeedZ;
 		FLOAT SpeedX;
 		DWORD Turning;
 	} MOVEPKT, *PMOVEPKT; // 0x1E
 	PSPAWNINFO Me = GetCharInfo()->pSpawn;
 	MOVEPKT Packet;
 	Packet.SpawnID = (WORD)Me->SpawnID;
 	Packet.X = x;
 	Packet.Y = y;
 	Packet.Z = z;
 	Packet.SpeedX = 0;
 	Packet.SpeedY = 0;
 	Packet.SpeedZ = 0;
 	Packet.Turning = Me->pActorInfo->LastPacketHeadingTurning;
 	SendEQMessage(39, &Packet, sizeof(Packet));
 }
 
Yea I had someone give me this once... I unfortunately dont have the code any longer. Basically you could hit /ghost on and then could run anywhere. It didnt have a time limit like i saw before. When you hit /ghost off it would take you where you moved to. If you hit /ghost return it would bring you back to where you started ghosting. Its a really useful thing when you wanna explore a zone and you dont have access to a high lvl rogue. Also when you are getting an anchor spot for your farming party to get to near your named ish mob. So if anyone knows how to get that done it would be cool. It is one of the commands i have been missing.
 
Considering you attack a mob next to the same alliance mob, will the other one assist in attack?

Or will all other mobs stay non-kos besides the one you attacked?

*drooling*

This would be nice, b/c:
This + nosummon + nostun + 70 necro = INSANE KILLS + LOOT + XP

hmm

INSANE
 
It's really strange, we were having a discussion about this last night.

I have a hardware ghost box that I built. It wasn't originally for EQ, it's actually for packet loss testing, but basically you can control sending or recieving packets with this switch. If you recieve fine, but don't send any, you end up with the same thing mentioned in the first post of this thread.

I'm going to write this as a seperate program. I don't think it needs to be part of MQ, as it could be used for any game that lets you control your position on the client. I am in a bit of a cruch at work right now, but I'll see if I can get this coded up ASAP.
 
Skorpyon said:
anyone test to see if this is still working?


This will make you have what GM invs on all the time?
currently crashes you to server select, going to try the sumcorpse after i die sometime, who knows when lol
 
MQ2NoKos - Looking for the lost source

Users who are viewing this thread

Back
Top