Döngüyle Oyuncu Çekme Nasıl Olmalıdır?

LSR

Üye
Yönetici
Administrator
16 Tem 2016
166
19
18
59 | Tekirdağ
Oyuncu çekerken ne kullandığınız pek önemi yoktur. Vereceğim iki örnekte neredeyse aynıdır. Ben
for döngüsünü tercih ediyorum. Size iki şeklini de göstereceğim.

JavaScript:
public DonguyleOyundakiOyunculariCek() {
    //Öncelikle döngümüzü ayarlıyoruz.
    //pPlayer = 1 olmalıdır çünkü oyuncu 1 ile 32 arasında değer alır.
    //MaxClients sunucunun desteklediği maksimum oyuncu sayısına eşittir.
    //Bu yüzden pPlayer en fazla bu değere eşit olabilir yani (pPlayer <= 32 olabilir)
    //Son olarak pPlayer değerini son değere kadar artırıyoruz.
    for(new pPlayer = 1; pPlayer <= MaxClients; pPlayer++) {
        //Daha sonra çekeceğimiz değerleri ayarlıyoruz.
        //Minimum olarak oyunda olup olmadığını kontrol etmemiz gerekiyor.
        // Oyundaysa ve yaşıyorsa --> is_user_alive
        // Oyundaysa fakat yaşamıyorsa --> is_user_connected && !is_user_alive
        // Oyundaysa --> is_user_connected
        // Eğer bir takımı kontrol edecekseniz yine minimum oyunda olup olmadığını kontrol etmeniz gerekiyor.
        if(is_user_connected(pPlayer)) {
            //Burada istediğinizi yaptırabilirsiniz.
            //...
        }
    }
}

public GetPlayersileOyunculariCek() {
    //Öncelikle oyuncuları çekeceğimiz değerleri oluşturmalıyız.
    //Burada oyuncuların değeri sıfırdan başladığı için MAX_PLAYERS yani 32 değerini ayarlıyoruz.
    new iPlayers[MAX_PLAYERS], iNum, pPlayer;

    // get_players (https://www.amxmodx.org/api/amxmodx/get_players)
    // İlk seçeneğe belirlediğimiz oyuncuları ayarlayan değeri giriyoruz.
    // İkinci seçeneğe belirlediğimiz oyuncu sayısını ayarlayan değeri giriyoruz.
    // Üçüncü seçeneğe bayrak giriyoruz. Burada takım özel vs. ayarlayabiliyoruz.
    // Dördüncü seçeneğe (takım veya isim ayarı yaptıysak) hangi yazı değerlerini alacağımızı belirliyoruz.
    // Örneğin ("TERRORIST" veya "CT")
    get_players(iPlayers, iNum);

    //Daha sonra döngümüzü ayarlıyoruz.
    //Döngüde önceki döngüye nazaran değeri sıfırdan başlatıyoruz.
    //Sıfırdan başladığı için oyuncu sayısından küçük ayarlıyoruz
    //Küçük yapmamızın nedeni (1. oyuncu 0, 2. oyuncu 1, ... 32. oyuncu 31 olduğundan 32 değeri boş kalıyor)
    for(new i = 0; i < iNum; i++) {
        //Daha sonra döngüdeki oyuncuları değere aktarıyoruz.
        pPlayer = iPlayers[i];

        //Burada istediğinizi yaptırabilirsiniz.
        //Takımını, yaşayıp yaşamadığını vs. get_players komutunda ayarlıyorsunuz.
    }
}
 
  • Beğen
Tepkiler: emresudo