// -----------------------------------------------------------------------------------------
// CLANS
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// CLANS
// -----------------------------------------------------------------------------------------
bool CWorldServer::pakManageClan ( CWorldClient* thisclient, CPacket* P )
{
STARTPACKET(pak,0x7e0,0xb3);
SETWORD( pak, 0x00, 0x0633 );
SETWORD( pak, 0x02, 0x0009);
SETDWORD( pak, 0x04, GETDWORD((*P), 0x00 ));
//clan level
SETWORD( pak, 0x08, 0x0700 );
SETWORD( pak, 0x0a, 0x0006 );
SETWORD( pak, 0x0c, 0x0000 );
SETWORD( pak, 0x0e, 0x6400 );
SETDWORD( pak, 0x10, 0x00000000 );
SETDWORD( pak, 0x14, 0x00000000 );
SETWORD( pak, 0x18, 0x0000 );
SETWORD( pak, 0x1a, 0x0100 );
SETDWORD( pak, 0x1c, 0x00000000 );
SETDWORD( pak, 0x20, 0x00000000 );
SETDWORD( pak, 0x24, 0x00000000 );
SETDWORD( pak, 0x28, 0x00000000 );
SETDWORD( pak, 0x2c, 0x00000000 );
SETDWORD( pak, 0x30, 0x00000000 );
SETDWORD( pak, 0x34, 0x00000000 );
SETDWORD( pak, 0x38, 0x00000000 );
SETDWORD( pak, 0x3c, 0x00000000 );
SETDWORD( pak, 0x40, 0x00000000 );
SETDWORD( pak, 0x44, 0x00000000 );
SETDWORD( pak, 0x48, 0x00000000 );
SETDWORD( pak, 0x4c, 0x00000000 );
SETDWORD( pak, 0x50, 0x00000000 );
SETDWORD( pak, 0x54, 0x00000000 );
SETDWORD( pak, 0x58, 0x00000000 );
SETDWORD( pak, 0x5c, 0x00000000 );
SETDWORD( pak, 0x60, 0x00000000 );
SETDWORD( pak, 0x64, 0x00000000 );
SETDWORD( pak, 0x68, 0x00000000 );
SETDWORD( pak, 0x6c, 0x00000000 );
SETDWORD( pak, 0x70, 0x00000000 );
SETDWORD( pak, 0x74, 0x00000000 );
SETDWORD( pak, 0x78, 0x00000000 );
SETDWORD( pak, 0x7c, 0x00000000 );
SETDWORD( pak, 0x80, 0x00000000 );
SETDWORD( pak, 0x84, 0x00000000 );
SETDWORD( pak, 0x88, 0x00000000 );
SETDWORD( pak, 0x8c, 0x00000000 );
SETDWORD( pak, 0x90, 0x00000000 );
SETWORD( pak, 0x94, 0x0000 );
SETWORD( pak, 0x96, 0x0000 );
SETWORD( pak, 0x98, 0x6800 );
//nombre clan
int h=0;
while (h<17)
{
SETBYTE(pak,0x9a+h,thisclient->clanname[h]);
h++;
}
SETWORD( pak, 0xac, 0x0000);
SETDWORD( pak, 0xae, 0x00000000 );
SETWORD( pak, 0xb2, 0x0000 );
thisclient->SendPacket( &pak );
//other people see your clan created
STARTPACKET(pak2,0x7e0,0x22);
SETWORD( pak2, 0x00, 0xf135);
SETWORD( pak2, 0x02, 0x06a9);
SETWORD( pak2, 0x04, 0x0009);
SETDWORD( pak2, 0x06, GETDWORD((*P), 0x00 ));
SETWORD( pak2, 0x0a, 0x0100);
while (h<17)
{
SETBYTE(pak2,0x0c+h,thisclient->clanname[h]);
h++;
}
SETWORD( pak2, 0x1a, 0x0000);
SETDWORD( pak2, 0x1c, 0x00000000 );
SETWORD( pak2, 0x20, 0x0000 );
thisclient->SendPacket( &pak2 );
//Set master
STARTPACKET(pak3,0x7e0,0x18);
SETWORD( pak3, 0x00, 0xa584);
SETWORD( pak3, 0x02, 0x4100);
SETBYTE( pak3, 0x04, 0x0001);
SETDWORD( pak3, 0x06, 0x00000000 );
SETDWORD( pak3, 0x0a, 0x00000000 );
SETDWORD( pak3, 0x0e, 0x00000000 );
SETDWORD( pak3, 0x12, 0x00000000 );
SETDWORD( pak3, 0x16, 0x00000000 );
while (h<17)
{
SETBYTE(pak3,0x05+h,thisclient->clanname[h]);
h++;
}
thisclient->SendPacket( &pak3 );
return true;
}
In worldsocket.h
// -----------------------------------------------------------------------------------------
// Main loginserver client class
// -----------------------------------------------------------------------------------------
class CWorldClient : public CClientSocket
{
public:
char clanname[65];
under password ( char password[33]; )
In worldserver.cpp
// -----------------------------------------------------------------------------------------
// Incoming packet
// ----------------------------------------------------------------
case 0x07e0: return pakManageClan ( (CWorldClient*)thisclient, P );