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); }