• Welcome to Valhalla Legends Archive.
 

C++: Need Help

Started by gentoolinux, April 24, 2005, 03:31 PM

Previous topic - Next topic

gentoolinux


               case CLIENT_SEXP:
                        debug(("Bot::pkt_connected is on CLIENT_STAR"));
                        *this << (u32)getSpawn()      // spawn ?
                              << (u32)0x49583836      // 68XI
                              << (u32)getClientType() // RATS
                              << (u32)0xcb            // client_token
                              << (u32)0               // ?
                              << (u32)0x7c7fd30c      // ?
                              << (u32)0x000001e0      // bias
                              << (u32)0x00000409      // thingy
                              << (u32)0x00000409      // thingy
                              << "USA"                //
                              << "United States";     //
                        sendpkt( 0x50ff);
                        break;


is this correct?

OnlyMeat

Looks about right. Although you might want to check you are null terminating your strings.


void CSCBot::Logon()
{
RequestBinaryLogon();

CPacket Packet;
Packet << (UINT)0x00
   << WIN32_INTEL_PROCESSOR   // Processor IX86
   << LookupClient(m_eClient) // Client STAR/SEXP/JSTR
   << (UINT)GetVersionByte()  // Version 1.12
   << (UINT)0x00   // ...
   << (UINT)htonl(0x3EFFE46D) // ...
   << (UINT)htonl(0xC4FFFFFF) // C4FFFFFF (Fixed)
   << (UINT)0x0809
   << (UINT)0x0809
   << GetCountryCode()   // ISO abbrev
   << (BYTE)0x00
   << GetCountryString()      // Full country name
   << (BYTE)0x00;

Packet.Send(0x50, GetSocket());
}


Edit: Noticed a few of your fixed values seem off. You may want to packet log the real client to confirm.

Zakath

Why on earth would you use a hexadecimal constant when you could just say (u32)'IX86' instead? Much more readable.
Quote from: iago on February 02, 2005, 03:07 PM
Yes, you can't have everybody...contributing to the main source repository.  That would be stupid and create chaos.

Opensource projects...would be dumb.