OnPlayerDisconnect Kullanımı ve Örnekleri

OnPlayerDisconnect Kullanımı ve Örnekleri

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;
}

Yorum Gönder

0 Yorumlar