Public feed
#723485
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);
}