1. sayfa (Toplam 1 sayfa)
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 8:47 am
gönderen appoClypse
Const ile menü yapmak formatex ile tek tek menü yapmaktan daha optimize midir onu merak ediyorum
Bir örnek;
Kod: Tümünü seç
new const pTHPMenu[][][] = {
{0,0},{1000,20},{2500,35},{5000,50},{10000,100}
};
public pZMHShop(pN_ID) {
new pMenu = pMenuOlustur("\rZombie Health \wShop","pZMHShop_"),NTS[6];
for(new i=1; i < sizeof(pTHPMenu); i++) {
num_to_str(i,NTS,5);
pMenuSecenekEkle(pMenu,"%d \rHP \d[\w%d \yTL\d]",NTS,1,pTHPMenu[i][0][0],pTHPMenu[i][1][0]);
}
pMenuBitir(pN_ID,pMenu);
}
public pZMHShop_(pN_ID, pMenu, pEsya) {
if( pEsya == MENU_EXIT ) { pBBShop(pN_ID);menu_destroy(pMenu);return PLUGIN_HANDLED;}
new pVeri[6],pBos;
menu_item_getinfo(pMenu,pEsya,pBos,pVeri,5,_,_,pBos);
new key = str_to_num(pVeri);
if(pBBMoney[pN_ID] >= pTHPMenu[key][1][0]) {
pBBMoney[pN_ID] -= pTHPMenu[key][1][0];
set_user_health(pN_ID,get_user_health(pN_ID) + pTHPMenu[key][0][0]);
renkli_yazi(pN_ID,"%s !nHealth Shop'dan !g[ !t%d HP !g] !nSatin Aldin!",SayTag,pTHPMenu[key][0][0]);
}
else renkli_yazi(pN_ID,"%s !nYeterli Paran !tYok!",SayTag),pZMHShop(pN_ID);
menu_destroy(pMenu);return PLUGIN_HANDLED;
}
NOT: pMenuSecenekEkle stock ile hızlıca ve optimize bi şekilde menüye seçenek eklendiğini duymuştum.
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 12:24 pm
gönderen amad
Öncelikle şunu belirteyim sunucular, 64KB ram ile veya 10 mhz işlemciyle çalışmıyor. Keza kullanıcılar da Commodore 64 bilgisayarı ile oyuna girmiyor. Bahsetmiş olduğunuz iki durum arasındaki fark yok sayılabilecek düzeyde. Ama kesin bir cevap istiyorsanız dizi tanımlamaya ayrı bir stock oluşturmaya gerek yok. Direkt menu_create veya menu_additem kullanabilirsiniz. Formatex ise stringi biçimlendirmek amacıyla kullanılıyor. Formatex de kullanmak zorunda değilsiniz.
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 12:54 pm
gönderen appoClypse
Anladım fark yok teşekkürler ama biraz daha gelişmiş oluyor diğerlerine göre çünkü üstten kullanıcı isteğine göre değiştirebiliyor.
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 12:55 pm
gönderen amad
yazmış olduğun stockun içeriğini görebilir miyim?
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 12:57 pm
gönderen Colditz
İnsanlardaki bu const merakı nereden geldi anlamıyorum ama const komutunu sabit ses dosyalarında, model dosyalarında, eğer amx super gibi bir eklenti yapıyorsanız komutları tek bir çatı altında toplamak adına kullanabilirsiniz. Menüler amad'ın dediği gibi klasik güzel.
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 4:52 pm
gönderen appoClypse
amad yazdı: Prş Tem 09, 2020 12:55 pm
yazmış olduğun stockun içeriğini görebilir miyim?
Kod: Tümünü seç
stock pMenuOlustur(const pBaslik[],const pDevam[], any:...){
new pYBaslik[256],pDBaslik[256];
vformat(pDBaslik,charsmax(pDBaslik),pBaslik,3);
formatex(pYBaslik,charsmax(pYBaslik),"%s %s",MenuTag,pDBaslik);
new pMenu = menu_create(pYBaslik,pDevam);
return pMenu;
}
stock pMenuSecenekEkle(pMenuID,const pSBaslik[],const pBilgi[],pTag = 1, any:...){
new pYSBaslik[256],pSDuzelt[256];
vformat(pSDuzelt,charsmax(pSDuzelt),pSBaslik,5);
if(pTag == 1){formatex(pYSBaslik,charsmax(pYSBaslik),"%s %s",MenuKisaTag,pSDuzelt);}
else{formatex(pYSBaslik,charsmax(pYSBaslik),"%s",pSDuzelt);}
menu_additem(pMenuID,pYSBaslik,pBilgi);
}
stock pMenuBitir(id,pMenuID,pSecenek = 1,pCikis = 1,pSayfa = 0){
menu_setprop(pMenuID,MPROP_EXITNAME,"\wCikis");
menu_setprop(pMenuID,MPROP_PERPAGE, pSecenek ? 7:0 );
menu_setprop(pMenuID,MPROP_EXIT,pCikis ? MEXIT_ALL:MEXIT_NEVER);
menu_display(id,pMenuID,pSayfa);
}
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 4:54 pm
gönderen appoClypse
Colditz yazdı: Prş Tem 09, 2020 12:57 pm
İnsanlardaki bu const merakı nereden geldi anlamıyorum ama const komutunu sabit ses dosyalarında, model dosyalarında, eğer amx super gibi bir eklenti yapıyorsanız komutları tek bir çatı altında toplamak adına kullanabilirsiniz. Menüler amad'ın dediği gibi klasik güzel.
daha kolay editlensin diye öyle bi şey kullandım.
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 4:58 pm
gönderen omertas14544
Colditz yazdı: Prş Tem 09, 2020 12:57 pm
İnsanlardaki bu const merakı nereden geldi anlamıyorum ama const komutunu sabit ses dosyalarında, model dosyalarında, eğer amx super gibi bir eklenti yapıyorsanız komutları tek bir çatı altında toplamak adına kullanabilirsiniz. Menüler amad'ın dediği gibi klasik güzel.
Zamanında optimize ile alakalı konunu okumuştum abi. O zamandan beri const kullanımını dahada artırdım.
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 5:03 pm
gönderen Colditz
omertas14544 yazdı: Prş Tem 09, 2020 4:58 pm
Zamanında optimize ile alakalı konunu okumuştum abi. O zamandan beri const kullanımını dahada artırdım.
Const kullanın da tadını kaçırmadan. Sadece const kullanmak için gereksiz yerlerde yeni değişkenler üretmeyin.
Const İle Menü Yapma Hk.
Gönderilme zamanı: Prş Tem 09, 2020 5:09 pm
gönderen amad
Hem kodun okunması açısından hem de performans açısından klasik yol kesinlikle daha iyidir diyebiliriz. Çünkü dolaylı yoldan aynı kapıya çıkıyor.