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

