Merhabalar, bu yazıda bir önceki yazım olan OnPlayerConnect publici gibi bir açıklama şeklinde tanıtım yapacağım. Bu public ile OnPlayerConnect pek bir yakındır. O girişteki olayları görüntülerken bu da çıkıştaki olayları görüntülüyor. Yazının devamında kullanımını anlatıp, bunu örnekler ile de pekiştireceğiz. Tıpkı OnPlayerConnect anlatımında olduğu gibi.
OnPlayerDisconnect Kullanımı:
Publicin hiçbir şey eklenmeden ki hali aşağıdaki gibidir.public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
Bunun içerisini doldurduğumuz zaman, kullandığınız fonksiyon oyuncu oyundan ayrıldığında gerçekleşir.
Biz OnPlayerDisconnect ile ne yapabiliriz? Mesela ismini yazdırabiliriz.
public OnPlayerDisconnect(playerid, reason)
{
new string[128], oName[MAX_PLAYER_NAME];
GetPlayerName(playerid, oName, MAX_PLAYER_NAME);
format(string, sizeof(string), "%s(%d) isimli oyuncu oyundan ayrıldı.", oName, playerid);
SendClientMessageToAll(0xFF0000, string);
return 1;
}
Gördüğünüz üzere oyuncu oyundan çıktığında herkesin sohbet ekranında "Mehmet(1) isimli oyuncu oyundan ayrıldı." şeklinde örnek bir mesaj yazacaktır.
Reason ise ayrılma sebebidir. Sebepler sırasıyla aşağıdaki gibidir:
- 0: Bağlantı kopması sonucu ayrılma. (Crash / Zaman Aşımı)
- 1: Kendi isteğiyle ayrılma.
- 2: Kick veya ban yeme durumunda ayrılma.
Kullanımları da şöyle olabilir:
public OnPlayerDisconnect(playerid, reason)
{
switch (reason)
{
new name[24], str[128];
GetPlayerName(playerid, name, 24);
case 0:
{
format(str, sizeof(str), "%s(%d) isimli oyuncu zaman aşımı nedeniyle ayrıldı.", name, playerid);
SendClientMessageToAll(-1, str);
}
case 1:
{
format(str, sizeof(str), "%s(%d) isimli oyuncu kendi isteğiyle ayrıldı.", name, playerid);
SendClientMessageToAll(-1, str);
}
case 2:
{
format(str, sizeof(str), "%s(%d) isimli oyuncu oyundan atıldı.", name, playerid);
SendClientMessageToAll(-1, str);
}
return 1;
}
OnPlayerDisconnect Örnekleri:
public OnPlayerDisconnect(playerid, reason)
{
Ban(playerid); // Madem çıktın, madem sunucuyu terk etti... Ee, hak etmedi mi? :D
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
print("Bir oyuncu daha aramizdan ayrildi."); // Siyah ekranda bir mesaj yazdık.
return 1;
}
0 Yorumlar
Yorum yapmak için Google hesabına veya bir web sitesine ihtiyacınız yoktur. Kimlik seçme bölümündeki varsayılan değeri "Adı/URL" olarak seçebilir, isminizi yazdıktan sonra "Devam" butonuna tıklamanız yeterlidir. Sizlere gösterdiğimiz minik adımların arkasından yorumunuzu yazmaya başlayabilirsiniz. İçeriğimizle ilgili yorumunuzu yaptıktan sonra "Yayınla" butonuna basmayı unutmayın!