Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //--Parse Incoming Messages--//
- while(tcp_receive(Socket, 1))
- {
- Timeout = 0;
- switch(read_ubyte(Socket))
- {
- //Player initialization (logging in and stuff)
- case 0:
- break;
- //Name change
- case 1:
- tcp_receive(Socket, 1);
- Length = read_ubyte(Socket);
- tcp_receive(Socket, Length);
- Name = read_string(Socket, Length);
- //Send new name to connected clients
- buffer_clear(Buffer);
- write_ubyte(Buffer, 1);
- write_ubyte(Buffer, ID);
- write_ubyte(Buffer, Length);
- write_string(Buffer, Name);
- socket_send_all(Buffer, Socket);
- break;
- //Player input update
- case 2:
- tcp_receive(Socket, 9);
- Input = read_ubyte(Socket);
- x = read_float(Socket);
- y = read_float(Socket);
- //Send new input and position to clients
- buffer_clear(Buffer);
- write_ubyte(Buffer, 2);
- write_ubyte(Buffer, ID);
- write_ubyte(Buffer, Input);
- write_float(Buffer, x);
- write_float(Buffer, y);
- socket_send_all(Buffer, Socket);
- break;
- //Player position (Direct)
- case 3:
- tcp_receive(Socket, 8);
- x = read_float(Socket);
- y = read_float(Socket);
- //Send new position to clients
- buffer_clear(Buffer);
- write_ubyte(Buffer, 3);
- write_ubyte(Buffer, ID);
- write_float(Buffer, x);
- write_float(Buffer, y);
- socket_send_all(Buffer, Socket);
- break;
- //Exit game (client closed)
- case 4:
- instance_destroy();
- break;
- default:
- //Do unknown message stuff here ...like crash
- instance_destroy();
- }
- }
- //--Update connection timeout--//
- Timeout += current_time - TimeDelta;
- TimeDelta = current_time;
- if(Timeout > 8000) {instance_destroy();}
Advertisement
Add Comment
Please, Sign In to add comment