Admin 2012’den bu yana başta SA:Mp olmak üzere birçok oyun üzerine bloglar yöneten; kodlama, oyun modları / scriptleri, rehberler ve teknik içerikler üzerine çalışmalar yürüten bir içerik üreticisi. Yorum yok

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

Yorumlar (0)

Yorum Gönder

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!

Cancel