///client_handle_message(buffer);
var
buffer = argument0;
while(true)
{
var
message_id = buffer_read(buffer, buffer_u8);
switch(message_id)
{
case CONNECTION_CHECKER:
lastingtimer = buffer_read(buffer, buffer_s16);
break;
case MESSAGE_SELFID:
clientid = buffer_read(buffer, buffer_s16);
break;
case MESSAGE_STATS:
var
myclientid = buffer_read(buffer, buffer_s16);
clientname = buffer_read(buffer, buffer_string);
clienthp = buffer_read(buffer, buffer_s16);
clientammo = buffer_read(buffer, buffer_s16);
clientwrenchs = buffer_read(buffer, buffer_s16);
gs = buffer_read(buffer, buffer_s16);
ec = buffer_read(buffer, buffer_s16);
gamestarted=gs
enemycounter=ec
if (clientid = myclientid){
HP = clienthp
ammo = clientammo
wrenchs = clientwrenchs
}
else
with(oOtherClient){
if (myclientid = clientid){
name = oClient.clientname
HP = oClient.clienthp
}}
break;
case MESSAGE_MMOVE:
var
xx = buffer_read(buffer, buffer_s16);
yy = buffer_read(buffer, buffer_s16);
dd = buffer_read(buffer, buffer_s16);
xxt = buffer_read(buffer, buffer_s16);
yyt = buffer_read(buffer, buffer_s16);
imt = buffer_read(buffer, buffer_s16);
masterusername = buffer_read(buffer, buffer_string);
masterhp = buffer_read(buffer, buffer_s16);
oMasterClient.x = xx
oMasterClient.y = yy
oMasterClient.direction = dd
oMasterClient.name = masterusername
oMasterClient.HP = masterhp
with(oMasterClient){
with(instance_nearest(x,y,oMasterClient_Turret))
{x = oClient.xxt
y = oClient.yyt
image_angle = oClient.imt}}
break;
case MESSAGE_MOVE:
var
client = buffer_read(buffer, buffer_s16);
xx = buffer_read(buffer, buffer_s16);
yy = buffer_read(buffer, buffer_s16);
dd = buffer_read(buffer, buffer_s16);
xxt = buffer_read(buffer, buffer_s16);
yyt = buffer_read(buffer, buffer_s16);
imt = buffer_read(buffer, buffer_s16);
nothing = buffer_read(buffer, buffer_s16);
clientObject = client_get_object(client);
cid = client;
clientObject.x = xx;
clientObject.y = yy;
clientObject.direction = dd;
with(oOtherClient_Turret)
{if clientid = oClient.cid
{x = oClient.xxt
y = oClient.yyt
image_angle = oClient.imt}}
with(oServerClient){
if(client_id != client_id_current){
network_send_raw(self.socket_id, other.send_buffer, buffer_tell(other.send_buffer));
}
}
break;
case MESSAGE_JOIN:
var
client = buffer_read(buffer, buffer_s16);
otherusername = buffer_read(buffer, buffer_string);
usernamemsg = buffer_read(buffer, buffer_s16);
clientObject = client_get_object(client);
if usernamemsg = true{
drawmsgtimer = 200
drawjoinmsg=true
drawleavemsg=false}
clientObject.name = otherusername;
clientObject.clientid = client;
with(oServerClient){
if(client_id != client_id_current){
network_send_raw(self.socket_id, other.send_buffer, buffer_tell(other.send_buffer));
}
}
break;
case MESSAGE_LEAVE:
var
client = buffer_read(buffer, buffer_s16);
tempObject = client_get_object(client)
otherusername = tempObject.name
drawmsgtimer = 200
drawleavemsg = true
drawjoinmsg=false
with(tempObject){
instance_destroy();}
break;
case MESSAGE_POSITION:
var
objecttype = buffer_read(buffer, buffer_s16);
xx = buffer_read(buffer, buffer_s16);
yy = buffer_read(buffer, buffer_s16);
dd = buffer_read(buffer, buffer_s16);
objid = buffer_read(buffer, buffer_s16);
objectdestroy = buffer_read(buffer, buffer_s16);
clientidid = buffer_read(buffer, buffer_s16);
objectHP = buffer_read(buffer, buffer_s16);
if objecttype = 1
{client_create_object(oBullet,2,xx,yy,dd,objid,objectdestroy,clientidid,objectHP)}
if objecttype = 2
{client_create_object(oBullet_Enemy,1,xx,yy,dd,objid,objectdestroy,clientidid,objectHP)}
if objecttype = 3
{client_create_object(oEnemy,3,xx,yy,dd,objid,objectdestroy,clientidid,objectHP)}
if objecttype = 4
{client_create_object(oEnemyTurret,3,xx,yy,dd,objid,objectdestroy,clientidid,objectHP)}
if objecttype = 5
{client_create_object(oBox,3,xx,yy,dd,objid,objectdestroy,clientidid,objectHP)}
if objecttype = 6
{client_create_object(oItem,4,xx,yy,dd,objid,objectdestroy,clientidid,objectHP)}
bz=buffer_tell(buffer)
break;
case MESSAGE_INCREASE_SCORE:
var
clientidid = buffer_read(buffer, buffer_s16);
if clientidid = clientid{
scorepoints +=1}
break;
case MESSAGE_CREATE:
var
xx = buffer_read(buffer, buffer_s16);
yy = buffer_read(buffer, buffer_s16);
audio_play_sound_at(snd_Fire,xx,yy,0,100,20,0.5,false,1)
break;
}
if(buffer_tell(buffer) == buffer_get_size(buffer)){
break;
}
}