+ if (me.nr > MAX_PLAYERS)
+ Error(ERR_EXIT, "sorry - no more than %d players", MAX_PLAYERS);
+
+ sprintf(msgbuf, "you get client # %d", new_client_nr);
+ sysmsg(msgbuf);
+}
+
+static void Handle_OP_NUMBER_WANTED()
+{
+ int client_nr_wanted = buf[2];
+ int new_client_nr = buf[3];
+ int new_index_nr = new_client_nr - 1;
+
+ printf("OP_NUMBER_WANTED: %d\n", buf[0]);
+
+ if (new_client_nr != client_nr_wanted)
+ {
+ char *color[] = { "yellow", "red", "green", "blue" };
+
+ sprintf(msgbuf, "Sorry ! You are %s player !",
+ color[new_index_nr]);
+ Request(msgbuf, REQ_CONFIRM);
+
+ sprintf(msgbuf, "cannot switch -- you keep client # %d",
+ new_client_nr);
+ sysmsg(msgbuf);
+ }
+ else
+ {
+ if (me.nr != client_nr_wanted)
+ sprintf(msgbuf, "switching to client # %d", new_client_nr);
+ else
+ sprintf(msgbuf, "keeping client # %d", new_client_nr);
+ sysmsg(msgbuf);