Public feed #723485

Anonym

public text v1 · immutable
Raw Edit
·published 2007-10-02 20:34 UTC
rendered paste body
struct ICPGSAR
{
	unsigned long transferID1;
	unsigned long transferID2;
	unsigned short zoneid;
	short GNetworkID;
};

void console_teleport(char *args[], int numArgs, bool adminConsole, short NetworkID)
{
	if(numArgs==1)
	{
		ConsoleWrite("Syntax: /teleport {zoneid}",adminConsole,NetworkID,COMMAND_COLOR);
		return;
	}

	LOCAL_DATA* lir = AccessLocalData(NetworkID);

	char query[600];
	sprintf(query,"UPDATE characters SET Location = %d WHERE ID=\"%u\"", atoi(args[1]), AccessLocalData(NetworkID)->CharacterID);
	lir->queryID=Database.Query(query,(long)strlen(query));
	lir->ZoneID = atoi(args[1]);

	ICPGSAR pckData;
	pckData.transferID1=lir->TransferID1;
	pckData.transferID2=lir->TransferID2;
	pckData.zoneid=atoi(args[1]);
	pckData.GNetworkID=NetworkID;

	unsigned char packet[14];
	NetMessage s;
	s.dataSize=PreparePacket(0x11,&pckData,sizeof(ICPGSAR),packet);
	s.ID=InternalComm->GetClientModeID();
	s.data=packet;
	InternalComm->SendData(&s);

	CompiledPacket pck;
	pck.AddShort(0x0187); //header
	pck.AddShort(0x0002); //?
	pck.AddShort(0xe017); //port 6112
	pck.AddByte(0x7f); //ip: 127
	pck.AddByte(0x00); //ip: 0
	pck.AddByte(0x00); //ip: 0
	pck.AddByte(0x01); //ip: 1
	pck.AddLong(0x00000000); //?
	pck.AddLong(0x00000000); //?
	pck.AddLong(0x00000000); //?
	pck.AddLong(0x00000000); //?
	pck.AddLong(AccessLocalData(NetworkID)->TransferID1); //TransferID1
	pck.AddByte(0x02); //?
	pck.AddShort(atoi(args[1])); //ZoneID
	pck.AddByte(0x01); //?
	pck.AddLong(lir->TransferID2); //TransferID2
	pck.AddShort(0x0089); //new packet??
	pck.AddByte(0x86); //?
	pck.AddShort(0x0002); //?

	pck.AddShort(0x0011);
	pck.AddLong(0x000000fa);

	s.ID=NetworkID;
	s.data=pck.GetString(&s.dataSize);
	GameServer->SendData(&s);
}