Gamemaker networking derslerine devam ediyoruz.Bu derste kullanıcıların servera bağlandıklarını veya çıktıklarını yakalamayı ve oyuncu sayısını bulmayı göreceğiz.Şimdi gerekli bazı komutlar var onları anlatayım.
ds_map_find_value(async_load,veri);
Yukardaki kod
networking evıntında network işlemlerini yakılıyor.Veri yerine
ip,id,type,socket gibi parametreler alıyor.Bizi ilgilendiren şimdilik type kısmı.
Type kısmında 3 tür işlemi yakalar.
network_type_connect
//servera bağlanmışsa
network_type_disconnect
//serverdan çıkımışsa
network_type_data
//servera veri yolladıysa
Bu işlemler bunlar.
Veri saklamak için
dc_list komutlarını kullandık.Kısaca o komutlarıda inceleyelim.
liste=ds_list_create() //liste yaratır.
ds_list_add(liste,veri);//listeye veriyi ekler.
arama=ds_list_find_index(liste,veri);//listede veriyi arayıp bulur.
ds_list_delete(liste,arama)//listeden bulunan veriyisiler.
networking evıntı :
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:
break;
}
İndir : http://ustaderslik.com/dosya/Gamemaker%20Multiplayer-1.zip
Video :