⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
SponsorSponsor

Oyuncu Menüsü Oluşturma

Oyuncu Menüsü Oluşturma
Oyuncu Menüsü yapılırken basit menüde önemsemediğimiz menüdeki seçenek bilgisini kullanacağız. Buna geçmeden önce basit menüdeki her şeyi
anladığınızdan emin olun. Direkt Menü oluşmasından başlayacağız

PHP Kod:
#include <amxmodx>

public OyuncuMenusu(pPlayer) {
    
//Öncelikle menü ve menü değeri oluşturmalıyız.
    
new iMenu = menu_create("Oyuncu Menüsü", "OyuncuMenusu_handler");

    
//Bütün oyuncuları algılatmak için bir döngüye ihtiyacımız var. Bu döngüyü for ile yapacağız.
    // İlk seçeneğe 1 yazıyoruz çünkü oyuncu değeri 1den başlıyor, 32ye kadar devam ediyor.
    // İkinci seçeneğe oyuncu değerinin 32 den küçük veya eşit olup olmadığını algılatıyoruz.
    // Üçüncü seçeneğe algılatmamızın sonuna gelene kadar oyuncu değerini artırıyoruz.
    
for(new id = 1; id <= MaxClients; id++) {
        
// Oyundaysa --> is_user_connected
         // Oyundaysa ve ölüyse --> is_user_connected && !is_user_alive
         // Oyundaysa ve yaşıyorsa --> is_user_alive
         
if(is_user_connected(id)) {
            
//fmt komutunun amacı bir yazıya değer vermemizi sağlıyor.
            //Örneğin bir oyuncunun ismini almak için %n kullanıyoruz. formatex komutunun benzeridir.
            //Burada ilk fmtde oyuncunun adını, ikinci fmtde oyuncunun userid sini algılatıyoruz.
            
menu_additem(iMenu, fmt("%n", id), fmt("%i", id));
            
// menu_additem
            // Üçüncü değer bu seçeneğin bilgisi (oyuncunun useridsi)
        
}
    }

    
//Son olarak menüyü gösterelim.
    
menu_display(pPlayer, iMenu);
 }

 public 
OyuncuMenusu_handler(pPlayer, iMenu, iItem) {
     
//Öncelikle iItem ile oyuncunun menüden çıkıp çıkmadığını algılatıp, menüden çıktıysa fonksiyonu bitirmeliyiz.
     
if(iItem == MENU_EXIT) {
         
menu_destroy(iMenu);
         return 
PLUGIN_HANDLED;
     }

     
//Burada menünün değerini çekmek için birkaç değer oluşturacağız.
     
new szData[6], iKey;
     
//Burada ise bilgiyi çekeceğiz.
     
menu_item_getinfo(iMenu, iItem, _, szData, charsmax(szData));

     
//Verdiğimiz userid bilgisini burada iKey değerine aktarıyoruz. Tabii ki değer sayı olacağı için str_to_num kullanacağız.
     //Her oyuncu sunucuya girerken (1 ile 32) arasında bir sayı alır. Bu sayıya göre işlem yapılır.
     //iKey değerini yukarda algılattık. Yukarıdakini silip burada da algılatabilirsiniz. (Aynı işlem)
     
iKey = str_to_num(szData);

     
//Oyuncunun kontrolünü burada da yapacağız.
     // Oyundaysa --> is_user_connected
     // Oyundaysa ve ölüyse --> is_user_connected && !is_user_alive
     // Oyundaysa ve yaşıyorsa --> is_user_alive
     
if(is_user_connected(id)) {
         
//Burada oyuncuya işlem yapılır
     
}

     
//Ve menü yok edilir.
     
menu_destroy(iMenu);
     return 
PLUGIN_HANDLED;
 } 
Son Düzenleme: 13-03-2021, 19:00, Düzenleyen: scuro
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Konuyu Okuyanlar: 1 Ziyaretçi
Task