OnPlayerRequestClass Kullanımı ve Örnekleri

OnPlayerRequestClass Kullanımı ve Örnekleri

OnPlayerRequestClass, oyuncunun karakter seçme ekranında gerçekleşecek olacakları görev olarak bilir. En küçük örneğinden, burada karakter seçerken seçtiği karaktere göre işlemler uygulayabiliriz.

OnPlayerRequestClass Kullanımı:

OnPlayerRequestClass callbackine hiçbir şey eklenmeden önceki hali aşağıdaki gibidir:

public OnPlayerRequestClass(playerid, classid)
{
return 1;
}


Bunun içerisine karakter seçerken olacakları ekleriz. Örneğin birinci karakter seçme bölümünde ekrana "Hey CJ!" yazdıralım.

public OnPlayerRequestClass(playerid, classid)
{
switch(classid)
{
case 0: GameTextForPlayer(playerid, "~r~HEY, ~w~CJ!", 3000, 3);
}
return 1;
}


OnPlayerRequestClass Örnekleri:

Aşağıdaki örnekte oyuncuya bir bilgi mesajı verdik.

public OnPlayerRequestClass(playerid, classid)
{
SendClientMessage(playerid, 0x00FF00FF, "===============================");
SendClientMessage(playerid, -1, "Bir karakter seçiyorsun...");
SendClientMessage(playerid, -1, "Doğduktan sonra bir daha başkasını seçemeyeceksin.");
SendClientMessage(playerid, -1, "Ona göre, seçimini iyi yap!");
SendClientMessage(playerid, 0x00FF00FF, "===============================");
return 1;
}


Örneklerle devam... Aşağıdaki örnek ile ekranda kaçıncı karakter olduğunu yazdırdık.

public OnPlayerRequestClass(playerid, classid)
{
new strgame[70];
format(strgame, sizeof(strgame), "~b~Karakter: ~w~%d", classid);
GameTextForPlayer(playerid, strgame, 3000, 3);
return 1;
}


Durmak yok be... Duracağımı mı sanıyorsun? Örneklere devam! Şimdiki örneğimizde de oyuncunun takımını ayarlayalım.

public OnPlayerRequestClass(playerid, classid)
{
switch(classid)
{
case 0: SetPlayerTeam(playerid, 0); // Birinci karakterin takımını 1 değeri yaptık. Bu karakteri seçenler, bu karakterde olan kişileri vuramazlar.
}
return 1;
}


Son bir örnek ile örnekleri sonlandıralım... Bu örnek ile de belirtilen karaktere skor bildirisi ekleyelim.

public OnPlayerRequestClass(playerid, classid)
{
if(classid == 0 && GetPlayerScore(playerid) < 2) // Birinci karakter ve skoru 2'den yüksek değilse.
{
SendClientMessage(playerid, -1, "Dikkatli ol, skorun 2'den yüksek değil.");
}
return 1;
}


Fakat yukarıdaki örnekte oyuncu spawn olacaktır. Eğer spawn olmamasını istiyor iseniz OnPlayerRequestSpawn callbackine geçip aşağıdaki kodu ekleyiniz:

if(classid == 0 && GetPlayerScore(playerid) < 2)
{
SendClientMessage(playerid, -1, "Skorun 2'den yüksek değil.");
return 0; // Spawn olmadı, engelledik.
}

Yorum Gönder

0 Yorumlar