// ----------------------------------------------------------------------------------------- // This function spawns another user onto this ones screen INCOMPLETE // ----------------------------------------------------------------------------------------- bool CWorldServer::pakSpawnChar( CWorldClient* thisclient, CWorldClient* otherclient ) { BEGINPACKET( pak, 0x793 ); ADDWORD( pak, otherclient->clientid); // USER ID ANYONE? ADDFLOAT( pak, otherclient->pos.x*100 ); // POS X ADDFLOAT( pak, otherclient->pos.y*100 ); // POS Y ADDFLOAT( pak, otherclient->nPos.x*100 ); // GOING TO X ADDFLOAT( pak, otherclient->nPos.y*100 ); // GOINT TO Y ADDWORD( pak, 0x0001 ); // IS MOVING ON START ADDWORD( pak, 0x0000 ); //?? ADDWORD( pak, 0x6401 ); //?? ADDWORD( pak, 0x0000 ); ADDWORD( pak, 0x0200 ); ADDWORD( pak, 0x0000 ); ADDWORD( pak, 0x0000 ); ADDWORD( pak, 0x0000 ); ADDBYTE( pak, 0x00 ); // BUFFS ADDBYTE( pak, otherclient->c_sex ); // GENDER ADDWORD( pak, otherclient->GetMSpeed() ); // WALK SPEED MAYBE? ADDBYTE( pak, 0x00 ); // ?? ADDBYTE( pak, 0x00 ); // ?? ADDBYTE( pak, 0x01 ); // ?? ADDDWORD( pak, otherclient->c_face ); // FACE TYPE ADDDWORD( pak, otherclient->c_hairstyle ); // HAIR TYPE ADDWORD( pak, otherclient->items[2].itemnum ); // CAP ADDWORD( pak, otherclient->items[2].refine ); // CAP REFINE ADDWORD( pak, otherclient->items[3].itemnum ); // BODY ADDWORD( pak, otherclient->items[3].refine ); // BODY REFINE ADDWORD( pak, otherclient->items[5].itemnum ); // GLOVES ADDWORD( pak, otherclient->items[5].refine ); // GLOVES REFINE ADDWORD( pak, otherclient->items[6].itemnum ); // BOOTS ADDWORD( pak, otherclient->items[6].refine ); // BOOTS REFINE ADDWORD( pak, otherclient->items[1].itemnum ); // FACE ADDWORD( pak, otherclient->items[1].refine ); // FACE REFINE ADDWORD( pak, otherclient->items[4].itemnum ); // BACK ADDWORD( pak, otherclient->items[4].refine ); // BACK REFINE ADDWORD( pak, otherclient->items[7].itemnum ); // WEAPON ADDWORD( pak, otherclient->items[7].refine ); // WEAPON REFINE ADDWORD( pak, otherclient->items[8].itemnum ); // SUBWEAPON ADDWORD( pak, otherclient->items[8].refine ); // SUBWEAPON REFINE ADDBYTE( pak, 0x00 ); ADDWORD( pak, 0x0000 ); ADDWORD( pak, 0x0000 ); ADDWORD( pak, 0x0000 ); ADDWORD( pak, 0x0100 ); ADDWORD( pak, otherclient->items[135].itemnum); // CART FRAME ADDWORD( pak, otherclient->items[135].refine ); ADDWORD( pak, otherclient->items[136].itemnum ); // CART ENGINE ADDWORD( pak, otherclient->items[136].refine ); ADDWORD( pak, otherclient->items[137].itemnum ); // CART WHEELS ADDWORD( pak, otherclient->items[137].refine ); ADDWORD( pak, otherclient->items[138].itemnum ); // CART WEAPON ADDWORD( pak, otherclient->items[138].refine ); ADDWORD( pak, otherclient->items[139].itemnum ); // CART ABILITY ADDWORD( pak, otherclient->items[139].refine ); ADDWORD( pak, (otherclient->c_currenthp<=0)?0x0:0xea7b ); ADDWORD( pak, 0x0000 ); ADDWORD( pak, 0x0000 ); ADDSTRING( pak, otherclient->charname ); ADDBYTE( pak, 0 ); thisclient->SendPacket(&pak); return true; }