if(keyboard_check(ord("W"))){//W ye basılırsa
buffer_seek(depo,buffer_seek_start,0);
buffer_write(depo,buffer_u8,4);//işlem için 4 yolluyoruz.
buffer_write(depo,buffer_string,string(isim));//isimi yolluyoruz
buffer_write(depo,buffer_string,"W");//W harfini yolluyoruz.
network_send_packet(socket,depo,buffer_tell(depo));
}
if(keyboard_check(ord("A"))){//A ye basılırsa
buffer_seek(depo,buffer_seek_start,0);
buffer_write(depo,buffer_u8,4);//işlem için 4 yolluyoruz.
buffer_write(depo,buffer_string,string(isim));//isimi yolluyoruz
buffer_write(depo,buffer_string,"A");//A harfini yolluyoruz.
network_send_packet(socket,depo,buffer_tell(depo));
}
if(keyboard_check(ord("S"))){//S ye basılırsa
buffer_seek(depo,buffer_seek_start,0);
buffer_write(depo,buffer_u8,4);//işlem için 4 yolluyoruz.
buffer_write(depo,buffer_string,string(isim));//isimi yolluyoruz
buffer_write(depo,buffer_string,"S");//S harfini yolluyoruz.
network_send_packet(socket,depo,buffer_tell(depo));
}
if(keyboard_check(ord("D"))){//D ye basılırsa
buffer_seek(depo,buffer_seek_start,0);
buffer_write(depo,buffer_u8,4);//işlem için 4 yolluyoruz.
buffer_write(depo,buffer_string,string(isim));//isimi yolluyoruz
buffer_write(depo,buffer_string,"D");//D harfini yolluyoruz.
network_send_packet(socket,depo,buffer_tell(depo));
}
var baglanti_tipi=ds_map_find_value(async_load,"type");
//bu network olaylarını yakalayan bir komut.eğer işem var ise aşağıda işlemi yakalayacağız.
switch(baglanti_tipi){
case network_type_connect:
var osocket=ds_map_find_value(async_load,"socket");//oyuncunun socket nosunu al
ds_list_add(oyuncu_sayisi,osocket);//listeye ekle
break;
case network_type_disconnect:
var osocket=ds_map_find_value(async_load,"socket");//oyuncunun socket nosunu al
var arama=ds_list_find_index(oyuncu_sayisi,osocket);//listede ara
if(arama>=0){//eğer var ise
ds_list_delete(oyuncu_sayisi,arama)//listeden sil.
}
break;
case network_type_data:
var veri_al=ds_map_find_value(async_load,"buffer");//tüm verileri paket şeklinde aldık.
buffer_seek(veri_al,buffer_seek_start,0);//verileri içini araştırdık.almaya hazırız.
var islem=buffer_read(veri_al,buffer_u8);//işlem için yolladığımız veri.
if(islem=1){
var isim=buffer_read(veri_al,buffer_string);//isimi aldık.
ds_list_add(oyuncu_isimleri,isim);//isimi listeye ekledik
ds_list_add(oyuncu_verileri,random_range(75,500));//oyuna giren kişiye rasgele bir x veriyoruz.
ds_list_add(oyuncu_verileri,250);//y olarada 250 veriyoruz.
}else if(islem=2){
var isim3=buffer_read(veri_al,buffer_string);//yollanan isimi alıyoruz.
var isim_ara=ds_list_find_index(oyuncu_isimleri,isim3);//listede isimi arıyoruz.
var sil_pos=isim_ara*2;//kullanıcı çıktığında isim listesindeki konumuna göre verilerini buluyoruz.
if(isim_ara>0){//isim varsa
ds_list_delete(oyuncu_isimleri,isim_ara);//isimi listeden siliyoruz.
ds_list_delete(oyuncu_verileri,sil_pos);//x değerini siliyoruz.
ds_list_delete(oyuncu_verileri,sil_pos+1);//y değerini siliyoruz.
}else{
ds_list_delete(oyuncu_isimleri,isim_ara);
ds_list_delete(oyuncu_verileri,isim_ara);
ds_list_delete(oyuncu_verileri,isim_ara+1);
}
}else if(islem=3){
var socket = ds_map_find_value( async_load , "id" );//veri isteği yollayan kişinin idsini alıyoruz
veri_yolla(socket);//verileri yollayacağımız scripte yolluyoruz.
}else if(islem=4){
var tus_isim=buffer_read(veri_al,buffer_string);//isimi aldık
var tus=buffer_read(veri_al,buffer_string);//tuşu aldık
var isim_ara=ds_list_find_index(oyuncu_isimleri,tus_isim);//ismi listede aradık.
var pozisyon=isim_ara*2;//kullanıcı ismine göre verinin listedeki yerini bulmak için.
if(isim_ara>0){
if(tus="W"){//Eğer tuş w ise
var y_pos=ds_list_find_value(oyuncu_verileri,pozisyon+1)-hiz;//verilerde y nün yerini bulduk aldık.daha sonra hızdan çıkardık.
ds_list_replace(oyuncu_verileri,pozisyon+1,y_pos);//veriyi yeni değeri ile değiştirdik
}else if(tus="S"){//Eğer tuş s ise
var y_pos=ds_list_find_value(oyuncu_verileri,pozisyon+1)+hiz;//verilerde y nün yerini bulduk aldık.daha sonra hıza ekledik.
ds_list_replace(oyuncu_verileri,pozisyon+1,y_pos);//veriyi yeni değeri ile değiştirdik
}else if(tus="A"){//Eğer tuş a ise
var x_pos=ds_list_find_value(oyuncu_verileri,pozisyon)-hiz;//verilerde x nün yerini bulduk aldık.daha sonra hızdan çıkardık.
ds_list_replace(oyuncu_verileri,pozisyon,x_pos);//veriyi yeni değeri ile değiştirdik
}else if(tus="D"){//Eğer tuş d ise
var x_pos=ds_list_find_value(oyuncu_verileri,pozisyon)+hiz;//verilerde x nün yerini bulduk aldık.daha sonra hıza ekledik.
ds_list_replace(oyuncu_verileri,pozisyon,x_pos);//veriyi yeni değeri ile değiştirdik
}
}else{
if(tus="W"){//Eğer tuş w ise
var y_pos=ds_list_find_value(oyuncu_verileri,isim_ara+1)-hiz;//verilerde y nün yerini bulduk aldık.daha sonra hızdan çıkardık.
ds_list_replace(oyuncu_verileri,isim_ara+1,y_pos);//veriyi yeni değeri ile değiştirdik
}else if(tus="S"){//Eğer tuş s ise
var y_pos=ds_list_find_value(oyuncu_verileri,isim_ara+1)+hiz;//verilerde y nün yerini bulduk aldık.daha sonra hıza ekledik.
ds_list_replace(oyuncu_verileri,isim_ara+1,y_pos);//veriyi yeni değeri ile değiştirdik
}else if(tus="A"){//Eğer tuş a ise
var x_pos=ds_list_find_value(oyuncu_verileri,isim_ara)-hiz;//verilerde x nün yerini bulduk aldık.daha sonra hızdan çıkardık.
ds_list_replace(oyuncu_verileri,isim_ara,x_pos);//veriyi yeni değeri ile değiştirdik
}else if(tus="D"){//Eğer tuş d ise
var x_pos=ds_list_find_value(oyuncu_verileri,isim_ara)+hiz;//verilerde x nün yerini bulduk aldık.daha sonra hıza ekledik.
ds_list_replace(oyuncu_verileri,isim_ara,x_pos);//veriyi yeni değeri ile değiştirdik
}
}
}
break;
}