Enum ile Sabit Değerden Nasıl Değer Çekerim?

LSR

Üye
Yönetici
Administrator
16 Tem 2016
166
19
18
59 | Tekirdağ
Birçok kişi enum kullanımını bilmiyor. Bunun kısa bir kullanımını göstereceğim.
Enum u kullanarak sabit yazı değerinden yazı çekeceğiz.

JavaScript:
#include <amxmodx>

//Enum ile birçok şey yapılabilir. Burayı okuyabilirsiniz. https://forums.alliedmods.net/showthread.php?t=140103
//Ben burada sadece basit bir kullanımını göstereceğim.
//Öncelikle enum komudumuzu kullanıyoruz. _: etiketimizin adı
//Oluşturduğumuz değerler de bu etiketin sabit değişkenidir. (İstediğiniz adı verebilirsiniz)
enum _:SilahIsimleri {
    USP,
    GLOCK,
    GUZELM4A1,
    RUSKELESI,
    KELLEKESICIAWP,
    CSDURAGIBICAGI,
    ODIN
};

//Ardından bu sabitleri kullanabileceğimiz bir sabit yazı değişkeni oluşturalım.
// İlk değerine deminki oluşturduğumuz etiketi yazıyoruz. Sabit değerler kadar değişken oluşturuyor.
// İkinci değeri boş bırakabiliriz. Yazıların maksimum karakter sayısını belirliyor.
new const szSilahIsimleri[SilahIsimleri][] = {
    "USP",
    "glock",
    "m4a1",
    "ak47",
    "awp",
    "knife",
    "m249"
};

//Şimdi oluşturduğumuz sabitlerden değer çekme vakti.
public SilahIsminiSoyle(pPlayer) {
    //Bana M4A1 'in ismini vermesini istiyorum. Bu yüzden  szSilahIsimleri[M4A1] şeklinde kullanacağım.
    //Sabit yazı değeri[Kullandığımız enum sabiti]
    //Bir yazı değeri vereceği için %s kullanıyoruz.
    client_print_color(0, 0, "%s", szSilahIsimleri[GUZELM4A1]);

    //Peki birçok değer arasında bazılarının isimlerini vereceğim nasıl olacak?
    //Bunu yapmak için döngü oluşturacağız.
    // Birinci değere değer oluşturun ve hangi itemden başlayacağını ayarlayın.
    // İkinci değere ise hangi itemle sona ereceğini ayarlayın
    // Üçüncü değere ise oluşturduğunuz değeri sona kadar ilerletin.
    // <= yaparsanız sonuncu dahil olur < yaparsanız sonuncu dahil olmaz.
    for(new i = GUZELM4A1; i <= ODIN; i++) {
        //Şimdi m4a1 ile m249 arasındaki silahların isimlerini vereceğiz.
        // Sabit yazı değeri[Kullandığımız enum sabiti] kullanıyorduk. Enum sabitini i değerine atadık.
        // Sabit değer yerine i değerini kullanacağız.
        client_print_color(0, 0, "%s", szSilahIsimleri[i]);
    }

    //Eğer sırasıyla değilse, örneğin usp, m4a1 ve odin vermek istiyorsanız ayrı ayrı yazabilirsiniz.
    client_print_color(pPlayer, pPlayer, "%s", szSilahIsimleri[USP]);
    client_print_color(pPlayer, pPlayer, "%s", szSilahIsimleri[GUZELM4A1]);
    client_print_color(pPlayer, pPlayer, "%s", szSilahIsimleri[ODIN]);
}
 
  • Beğen
Tepkiler: emresudo