Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server
You last visited: Today at 20:36

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Request] NPC Spawn Packet Patch 5325

Discussion on [Request] NPC Spawn Packet Patch 5325 within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
stealarcher's Avatar
 
elite*gold: 0
Join Date: Apr 2006
Posts: 231
Received Thanks: 94
[Request] NPC Spawn Packet Patch 5325

Im currently working on a source for 5325, and for some odd reason the NPCs dont want to spawn. The packets are sending at the correct time etc, so its something with the packet. The current packet i have is this:

Packet Length = 36
ushort 28, offset 0 //also tried ushort of 20
ushort 2030, offset 2
uint UID, offset 4
ushort X, offset 8
ushort Y, offset 10
ushort Type, offset 12
ushort Kind, offset 14
ushort 1, offset 16 //also tried offset of 20

I looked on korvacs wiki, seems that its the same. Cant seem to find any more information. Any help would be greatly appreciated.
stealarcher is offline  
Old 12/03/2010, 06:37   #2
 
elite*gold: 20
Join Date: Oct 2010
Posts: 451
Received Thanks: 259
fixed =]
Good luck with your server!
FuriousFang is offline  
Old 12/03/2010, 08:12   #3
 
InfamousNoone's Avatar
 
elite*gold: 20
Join Date: Jan 2008
Posts: 2,012
Received Thanks: 2,885
Code:
CNpcEntity::CNpcEntity(BYTE* pMsg, int MsgLength)
{
	PACKETREADER rdr;
	CreatePacketReader(&rdr, pMsg, MsgLength);
	StepPacket(&rdr, sizeof(WORD) * 2);
	this->NpcID = ReadPacket<int>(&rdr);
	StepPacket(&rdr, 4);
	this->X = ReadPacket<WORD>(&rdr);
	this->Y = ReadPacket<WORD>(&rdr);
	this->NpcType = ReadPacket<WORD>(&rdr);
	this->Interaction = ReadPacket<WORD>(&rdr);
	StepPacket(&rdr, sizeof(WORD));
	if (ReadPacket<BYTE>(&rdr))
	{
		int len = ReadPacket<BYTE>(&rdr);
		for (int i = 0; i < len; i++)
			szName[i] = ReadPacket<char>(&rdr);
		szName[len] = NULL;
	}
	else
	{
		char szNpc[MAX_PATH];
		strcpy(szNpc, szConquerPath);
		strcat(szNpc, "ini\\npc.ini");
		char szLookFor[32];		
		sprintf(szLookFor, "NpcType%d", (int)(this->NpcType / 10));
		memset(szName, 0,sizeof(szName));
		GetPrivateProfileStringA(szLookFor, "Name", "NPC_ERROR", szName, sizeof(szName), szNpc);
	}
}
Albeit,
Code:
WORD Size;
WORD Type;
DWORD NpcID;
DWORD StatusFlag;
WORD X;
WORD Y;
WORD NpcType;
WORD Interaction;
WORD wUnknown;
/* where StringCount>0, the first string is the name */
BYTE StringCount;
{
	BYTE Length;
	char Value[Length];
} Strings[StringCount];
InfamousNoone is offline  
Old 12/03/2010, 10:41   #4
 
elite*gold: 20
Join Date: Oct 2010
Posts: 451
Received Thanks: 259
What on earth is that Infamous... x.x I can't even understand it.
FuriousFang is offline  
Old 12/03/2010, 10:55   #5
 
_DreadNought_'s Avatar
 
elite*gold: 28
Join Date: Jun 2010
Posts: 2,226
Received Thanks: 868
C++.

The first block of code Infamous shows you is the packet structure(?) and the second one is the INpc interface. I know nothing about C++ so I could be wrong.
_DreadNought_ is offline  
Old 12/03/2010, 11:42   #6
 
Nullable's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 390
Received Thanks: 321
The first code block is a constructor for CNpcEntity class.
The second code block looks like a pseudo-struct (since the last part about the strings isn't correct syntax-wise) for the packet.
However that's probably a snippet from a proxy/client-emulator.

EDIT:

The packet structure put out simply:
Code:
ushort Length; 0
ushort Type; 2
uint NpcID; 4
uint StatusFlags; 8
ushort X; 12
ushort Y; 14
ushort NpcType; 16
ushort Interaction; 18
ushort uUnknown; 20
byte StringCount; 22

// add the npc name as the first string
foreach string
byte StringLength; 23 + pos
string Value; 24 + pos
Nullable is offline  
Reply


Similar Threads Similar Threads
[Request] Packet Structure for CharData Packet
05/16/2011 - Silkroad Online - 4 Replies
can someone tell me which structure the CharData packet has? i would really appreciate this, since im still noob in such things. its just too high for me/ too much information for my head. :handsdown: S->C(3013)...
[Question] Spawn Packet of 5290 source
08/31/2010 - CO2 Private Server - 5 Replies
:handsdown:Entity SendSpaw packet (10014):handsdown: When I use tow account 5290 client login game. One Role can not see another Role I think the problem is in Packet: Entity SendSpaw The following is the structure of 5165
Packet change in patch 4312
08/14/2006 - CO2 Guides & Templates - 62 Replies
Disappointed with TQ...all they do is just change Packet ID 0x3f2...causing QOProxy not functioning...take less than an hour to fix most error...Since Cotobo also use Packet ID 0x3f2 to get the coor...this maybe why the orc dropper is not working... I have confirm that Cotobo ore dropper fail due to coor, solution 1 : wait for Chocoman to fix it solution 2 : use QOProxy to detect the dropitem packet and correct it solution 3 : write a new autominer from QOProxy code I used solution 3,...



All times are GMT +1. The time now is 20:38.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.