[QUESTION] Class selection

10/25/2013 23:56 Basser#1
So I'm working on my warrock emulator. I want to stress the fact that it is chapter 1.

I'm having trouble showing the 'class selection screen'. The client does respawn properly after the countdown (I am in CQC, FFA). However in the meantime, I can't trigger the class selection screen. When I press Tab (either alive or dead), I do receive packet 30032, but simply sending this back doesn't work. Neither does sending it back with a "1" after the header (timestamp, type).

Sidenotes
  • Packet 30032 contains only a header.
  • DeathMatch does work (no idea why, pressing tab works, the packet isn't sent either).

How do I solve this?
10/26/2013 00:00 .wSiiCK#2
30032 -> Open Scoreboard
30000 Subtype: 402 -> Open Class Screen ( Change Subtype to 403 )
10/26/2013 00:04 Basser#3
Quote:
Originally Posted by .wSiiCK View Post
30032 -> Open Scoreboard
30000 Subtype: 402 -> Open Class Screen ( Change Subtype to 403 )
I guess that means the client sends this packe '402', but it only does once -> at the beginning of the game.
10/26/2013 00:57 ~iToXiiC#4
Quote:
Originally Posted by Basser View Post
I guess that means the client sends this packe '402', but it only does once -> at the beginning of the game.
Subtype 402 = When map finishes to load client sends it, you have to resend back subtype 403

30032 is scoreboard
Code:
            newPacket(30032);
            addBlock(1);
            addBlock((Room.Mode == 0 ? Room.cDerbRounds : -1));
            addBlock((Room.Mode == 0 ? Room.cNiuRounds : -1));
            if (Room.Mode == 1)
            {
                addBlock(Room.FFAKillPoints);
                addBlock(Room.highestKills);
            }
            else if (Room.Mode == 0)
            {
                addBlock(Room.AliveUsers(0));
                addBlock(Room.AliveUsers(1));
            }
            else if(Room.Mode == 2)
            {
                addBlock(Room.KillsDeberanLeft);
                addBlock(Room.KillsNIULeft);
            }
            addBlock(Room.PlayerCount);
            foreach (virtualUser RoomUser in Room.Players)
            {
                addBlock(RoomUser.RoomSlot);
                addBlock(RoomUser.rKills);
                addBlock(RoomUser.rDeaths);
                addBlock(RoomUser.rFlags);
                addBlock(RoomUser.rPoints);
                addBlock(0); // Assist in chapter 1
            }
10/26/2013 01:07 Basser#5
It's not spawning that isn't working, its respawning specifically.