Page 1 of 1

kintamųjų valdymas per meniu

Posted: 2013 Nov 21 17:32
by GhostMan
Sakykim yra

Code: Select all

new bool:g_option1, bool:g_option2
Kaip sugeneruoti tokį meniu?
Nustatymai:
1. OPTION1 [OFF]
2. OPTION2 [OFF]

9. Vykdyti
0. Isjungti
Spaudžiant 1 arba 2 keičiamos g_option1 ir g_option2 reikšmės. 1 ir 2 spaudyti ir taip keisti kintamųjų reikšmes gali kiek nori, meniu neužsidaro.

Kai OPTION1 [OFF], tai g_option1 == false, kai [ON] - g_option1 == true. Analogiškai su g_option2.

Re: kintamųjų valdymas per meniu

Posted: 2013 Nov 21 18:32
by aaarnas

Code: Select all

/* Plugin generated by AMXX-Studio */ #include <amxmodx>#include <amxmisc> #define PLUGIN "New Plug-In"#define VERSION "1.0"#define AUTHOR "aaarnas"  public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)       register_menu("Sth Menu", MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_7, "menu_handler")}new bool:g_option1, bool:g_option2 public menu_show(id) {       new menubuffer[256], len    len += formatex(menubuffer[len], charsmax(menubuffer)-len, "Nustatymai:")    len += formatex(menubuffer[len], charsmax(menubuffer)-len, "^n1. OPTION1 [%s]", g_option1?"ON":"OFF")    len += formatex(menubuffer[len], charsmax(menubuffer)-len, "^n2. OPTION2 [%s]", g_option2?"ON":"OFF")    len += formatex(menubuffer[len], charsmax(menubuffer)-len, "^n^n7. Vykdyti")    len += formatex(menubuffer[len], charsmax(menubuffer)-len, "^n0. Isjungti")       show_menu(id, MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_7, menubuffer, -1, "Sth Menu")}public menu_handler(id, key) { // Iškviečiama kai paspaudžiamas mygtukas.       switch (key) {    case 0: {        g_option1=!g_option1    }    case 1: {        g_option2=!g_option2    }    case 6: {        // Vykdyti    }    case 9: return  // Meniu uzdaromas    }}

Re: kintamųjų valdymas per meniu

Posted: 2013 Nov 21 19:21
by GhostMan

Code: Select all

show_menu(id, MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_7, -1, "Sth Menu")
argument type mismatch (argument 3)

Re: kintamųjų valdymas per meniu

Posted: 2013 Nov 21 19:39
by aaarnas
Pataisiau kodą.

Re: kintamųjų valdymas per meniu

Posted: 2013 Nov 21 19:46
by GhostMan
Aš iškviečiu tokį meniu bet man rodo tik
0. Isjungti
Meniu iškviečiu per kitą meniu.

Code: Select all

...case 1:{   menu_show(id)}...

Re: kintamųjų valdymas per meniu

Posted: 2013 Nov 21 20:16
by aaarnas
Blyn, pamiršau. Pataisiau.

Re: kintamųjų valdymas per meniu

Posted: 2013 Nov 22 10:26
by GhostMan
O kada yra geriau kurti tokį meniu kaip tu sukūrei ir tokį kaip yra čia parodyta https://forums.alliedmods.net/showthread.php?t=46364 ?

Re: kintamųjų valdymas per meniu

Posted: 2013 Nov 22 15:30
by aaarnas
Čia pagal poreikį. Jei reikia labai paprasto ir minimalistinio meniu, tai patogu ir su šiuo metodu.
Jei reikia sudėtingesnio, su puslapiavimais, tai jau su meniu sistema.
Pagrinde gali viską daryti su meniu sistema. Ten vos ne kaip framework'as įprastai meniu sistemai. Kuri geriau suprantama ir geriau pritaikoma pagal tavo poreikį, tą ir naudoji.