Author | Message | Time |
---|---|---|
gentoolinux | [code] 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; [/code] is this correct? | April 24, 2005, 8:31 PM |
OnlyMeat | Looks about right. Although you might want to check you are null terminating your strings. [code] 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()); } [/code] Edit: Noticed a few of your fixed values seem off. You may want to packet log the real client to confirm. | April 25, 2005, 3:58 AM |
Zakath | Why on earth would you use a hexadecimal constant when you could just say (u32)'IX86' instead? Much more readable. | April 27, 2005, 11:40 PM |