I am trying to select a random client or rather a random client number, Like so:
//Choose a random client and set his values
randNum = Q_irand ( 0, level.maxclients );
} while ( !level.clients[randNum] )
However I don't know if this works or if its efficient. What I am trying to do is make Q_irand return a random client number that is 0 through the highest client number which i believe is level.maxclients, but I am unsure.
I am also unsure whether or not this is including connected, intermission, or playing clients. I think it is all of the above. I could probably do a check with sessions right?
I added the condition (!level.clients[randNum]) because I wanted to make sure that a client actually existed at the number. not sure if that method is correct though.
I have another question too..
Okay say there are 3 clients. client, client, and client.
If client disconnects, will the clientnumber of client decrease to client?
Or, if client disconnects and a new client connects, does he replace client's slot?
I think what I am basically trying to ask is that, will there ever be times when the client numbers are NOT consecutive? like 1,4,5,6,7?