hlmod.hu https://hlmod.hu/ |
|
menü könnyebb listázás https://hlmod.hu/viewtopic.php?f=9&t=22900 |
Oldal: 1 / 2 |
Szerző: | alfaanero [ 2015.12.05. 14:53 ] |
Hozzászólás témája: | menü könnyebb listázás |
Arra volnék kíváncsi ,hogy menüben lehet-e valami könnyebb módszerrel egymás alá kiíratni. Erre gondoltam: SMA Forráskód: [ Mindet kijelol ]
Ezt lehetne-e könnyebben kiíratni egymás alá + az értékeivel? |
Szerző: | BadboYs [ 2015.12.05. 15:49 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
alfaanero írta: Arra volnék kíváncsi ,hogy menüben lehet-e valami könnyebb módszerrel egymás alá kiíratni. Erre gondoltam: SMA Forráskód: [ Mindet kijelol ]formatex( szText, charsmax( szText ), "\y%s \d[%d]" , chest_names[0][0], lada[0][id]) menu_additem(menu, szText, "0", 0) formatex( szText, charsmax( szText ), "\y%s \d[%d]" , chest_names[1][0], lada[1][id]) menu_additem(menu, szText, "1", 0) Ezt lehetne-e könnyebben kiíratni egymás alá + az értékeivel? Nem lehet |
Szerző: | LyleChriss [ 2015.12.05. 16:51 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
Ciklus? Bár ezt meghatározatlan számú menü elemnél használom, de végülis egy könyebb módja... SMA Forráskód: [ Mindet kijelol ]
|
Szerző: | mforce [ 2015.12.05. 16:58 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
format vs formatex format- lassú és visszacsatoló funkcióval rendelkezik formatex- gyors Lyle pls https://www.amxmodx.org/api/string/format https://www.amxmodx.org/api/string/formatex |
Szerző: | LyleChriss [ 2015.12.05. 17:09 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
Mindig keverem... Majd belekarcolom a monitorba, hogy tudjam |
Szerző: | ^$upra.~ [ 2015.12.11. 11:17 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
LyleChriss írta: Ciklus? Bár ezt meghatározatlan számú menü elemnél használom, de végülis egy könyebb módja... SMA Forráskód: [ Mindet kijelol ]for(new i=0;i<sizeof chest_names;i++){ format(szText,charsmax(szText),"\y%s \d[%d db]",chest_names[i][0],lada[i][id]) menu_additem(menu,szText)} es ez alatt mit irjak ? SMA Forráskód: [ Mindet kijelol ]
|
Szerző: | alfaanero [ 2015.12.11. 11:20 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
Ha haza értem ide leírom és frissítem a posztot. KB 7-8 körül |
Szerző: | ^$upra.~ [ 2015.12.11. 11:31 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
alfaanero írta: Ha haza értem ide leírom és frissítem a posztot. KB 7-8 körül azt nagyon meg koszonem |
Szerző: | LyleChriss [ 2015.12.11. 13:47 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
Na már most. A "key" változóba kéred le a menüpont információit, azaz azt is, hanyadik menüpont. Ez által nincs szükséged case-ekre, amíg minden menüpont ugyan azt csinálja. Itt egy gyakorlati példa. Ugyebár a fent leírt for ciklussal megcsináltuk a menüpontokat. Most akármelyiket választjuk ki, ahol a for ciklusban az "i" változó volt, oda "key"-t kell írnunk. SMA Forráskód: [ Mindet kijelol ]
Ismétlem, a for ciklusos menüt akkor ajánlanám, ha a menü valamelyik adatát külső fájlból töltöd be, vagy egyszerűbbé akarod tenni a későbbi szerkesztést. Amennyiben az egyik menüelem mást csinál mint a többi, azt külön kell kezelni. Erre a példa legyen az, hogy a 3. menüpont (esetünkben ez az, ahol a key változó egyenlő 2-vel, mert a ciklus 0-val kezdődött,) eldob egy kulcsot. SMA Forráskód: [ Mindet kijelol ]
Én a külön menüpontokat, amik nem azt csinálják, mint a többi, növekvő sorrendben írnám else if-fel a "tömeggyártott" menüpontok elé. Remélem érthető volt a magyarázat, és jól írtam le mindent. |
Szerző: | ^$upra.~ [ 2015.12.11. 14:31 ] |
Hozzászólás témája: | Re: menü könnyebb listázás |
LyleChriss írta: Na már most. A "key" változóba kéred le a menüpont információit, azaz azt is, hanyadik menüpont. Ez által nincs szükséged case-ekre, amíg minden menüpont ugyan azt csinálja. Itt egy gyakorlati példa. Ugyebár a fent leírt for ciklussal megcsináltuk a menüpontokat. Most akármelyiket választjuk ki, ahol a for ciklusban az "i" változó volt, oda "key"-t kell írnunk. SMA Forráskód: [ Mindet kijelol ]public ladamenuH(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[9], access, callback, szName[64] menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback) new key = str_to_num(data) if(lada[key][0] >= 1 && kulcs[id] >= 1) { lada[key][0] -- kulcs[id] -- ladanyit(id) //GYK: Ez a láda nyitó funkció } else { client_print(id, print_chat, "Ládából vagy kulcsból nincs elegendő mennyiséged.") } return PLUGIN_CONTINUE} Ismétlem, a for ciklusos menüt akkor ajánlanám, ha a menü valamelyik adatát külső fájlból töltöd be, vagy egyszerűbbé akarod tenni a későbbi szerkesztést. Amennyiben az egyik menüelem mást csinál mint a többi, azt külön kell kezelni. Erre a példa legyen az, hogy a 3. menüpont (esetünkben ez az, ahol a key változó egyenlő 2-vel, mert a ciklus 0-val kezdődött,) eldob egy kulcsot. SMA Forráskód: [ Mindet kijelol ]public ladamenuH(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[9], access, callback, szName[64] menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback) new key = str_to_num(data) if(key == 2) { if(kulcs[id] >= 1) { client_print(id, print_chat, "Eldobtál egy kulcsot.") } else { client_print(id, print_chat, "Nincs elegendő kulcsod ehhez.") } } if(lada[key][0] >= 1 && kulcs[id] >= 1) { lada[key][0] -- kulcs[id] -- ladanyit(id) //GYK: Ez a láda nyitó funkció } else { client_print(id, print_chat, "Ládából vagy kulcsból nincs elegendő mennyiséged.") } return PLUGIN_CONTINUE} Én a külön menüpontokat, amik nem azt csinálják, mint a többi, növekvő sorrendben írnám else if-fel a "tömeggyártott" menüpontok elé. Remélem érthető volt a magyarázat, és jól írtam le mindent. nem jo |
Oldal: 1 / 2 | Minden időpont UTC+02:00 időzóna szerinti |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |