←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Jak zrobic menu w menu

Zablokowany

  • +
  • -
Albertd - zdjęcie Albertd 12.02.2012

Czesc ,chcailem was prosic o podpowiedz jak zrobic menu w menu nie wiem jak to nazwac ,bedzie lepiej jak opisze ;d

A wiec mam tablice np zadania[] = { 0,pierwsze,drugie,trzecie,} oraz nagroda[] = {0, 100, 200,300}

i teraz Robie menu ktore wyswietla zadania



public Zadanka(id)
{
new menu = menu_create("Wybierz zadanie:", "Zadanko_wybor");

for(new i=1; i<sizeof zadania; i++)
{

menu_additem(menu, zadania[i]);
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public Zadanko_wybor(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}


No i teraz na czym polega zadanie ;d

Chcialbym ze jezeli klikne 1 czyli wlacze zadanie "pierwsze"
to pokaze mi sie menu W Ktorym bedzie napisane

Zadanie : Pierwsze
Nagroda: 100
itd drugie,trzecie

Jakos probowalem to zrobic ,ale mi sie nie udalo ;pp

Jedynie udalo mi sie z ColorChat ale raczcej nie zadawa mnie to ,zalezy mi na menu dlatego proszę o pomoc jakichs twardzieli xD

Z gory dziekuje i pozdrawiam.
Użytkownik Albertd edytował ten post 12.02.2012 19:38
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 12.02.2012

to w handlu od menu dajesz w petli for if-a
Odpowiedz

  • +
  • -
Albertd - zdjęcie Albertd 12.02.2012

Jakbys mogl podac przyklad to na pewno wiecej zrozumiem ;]
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 12.02.2012

przyklad z mojego pluginu:

public AchMenu(id)
{
new AchM = menu_create("Osiagniecia", "AchMenuHandle");

for(new i; i<ArraySize(AchTarget); i++)
{
if(is_user_connected(id))
{
new message[128];
new iAchName[64];

ArrayGetString(AchName, i, iAchName, 63);
if(!ArrayGetCell(AchStance[id], i))
format(message, 127, "\w%s \t\y%d/%d", iAchName, ArrayGetCell(AchStatus[id], i), ArrayGetCell(AchTarget, i))
if(ArrayGetCell(AchStance[id], i))
format(message, 127, "\w%s \t\yZaliczone!", iAchName)

menu_additem(AchM, message, "");
}
}
menu_display(id, AchM, 0);
return PLUGIN_HANDLED;
}
public AchMenuHandle(id, menu, item)
{
for(new i=0; i<ArraySize(AchTarget); i++)
{
if(item==i && is_user_connected(id))
{
new iAchDesc[256];
ArrayGetString(AchDesc, i, iAchDesc, 255);
new ArrayDB1[33];
new ArrayDB2[33];
ArrayGetArray(AchStance[id], i, ArrayDB1);
ArrayGetArray(AchStatus[id], i, ArrayDB2);

if(!ArrayDB1[id])
ColorChat(id, YELLOW, "^x04[Achievements] ^x01%s ^x04%d/%d", iAchDesc, ArrayDB2[id], ArrayGetCell(AchTarget, i))
if(ArrayDB1[id])
ColorChat(id, YELLOW, "^x04[Achievements] ^x01%s ^x04Zaliczone!", iAchDesc)

menu_display(id, menu, 0);
}
}
return PLUGIN_HANDLED;
}
Odpowiedz

  • +
  • -
Albertd - zdjęcie Albertd 12.02.2012

Mysle ,mysle i nie moge wymyslic jakby to mialo by wygladac na moim przykladzie :pp

Moze bysmy sie skontaktowali Skype/GG sadze ze obojgu by to ulatwilo xD
Odpowiedz

hardbot - zdjęcie hardbot 13.02.2012

#include <amxmodx>

#define PLUGIN "Test"
#define AUTHOR "[H]ARDBO[T]"
#define VERSION "1.0"

new const zadania[] = {
"Szakaron Makaron",
"Trololololololol",
"ooooooo Makarena",
"Jakas nazwa :D:D"
};

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /test","Zadanka");
}
public Zadanka(id)
{
new menu = menu_create("Wybierz zadanie:", "Zadanko_wybor");

for(new i=0; i<sizeof zadania; i++)
{ menu_additem(menu, zadania[i]); }

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public Zadanko_wybor(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

new data[6], iName[64];
new accesss, callback;

menu_item_getinfo(menu, item, accesss, data,5, iName, 63, callback);
new kej = str_to_num(data);

switch(kej)
{
case 1:
{
// cos :D
}
case 2:
{
// cos :D
}
case 3:
{
// cos :D
}
case 4:
{
// cos :D
}
}

return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
BoB0_ - zdjęcie BoB0_ 15.02.2012

#include <amxmodx>
#define PLUGIN "Test"
#define AUTHOR "[H]ARDBO[T]"
#define VERSION "1.0"new const zadania[] = {
"Szakaron Makaron",
"Trololololololol",
"ooooooo Makarena",
"Jakas nazwa :D:D"
};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /test","Zadanka");
}
public Zadanka(id)
{
new menu = menu_create("Wybierz zadanie:", "Zadanko_wybor");

for(new i=0; i<sizeof zadania; i++)
{ menu_additem(menu, zadania[i]); }

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public Zadanko_wybor(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

new data[6], iName[64];
new accesss, callback;

menu_item_getinfo(menu, item, accesss, data,5, iName, 63, callback);
new kej = str_to_num(data);

switch(kej)
{
case 1:
{
// W przypadku gdy wybierze opcje jeden pojawia sie kolejne menu
new menu = menu_create("Wybierales zadanie:", "Zadanko_wybor1");

//I dodatkowe opcje menu zeby bylo bez numerow itp. W zadanko wybor1 ustawiasz zeby po klikniecu w jakis przycisk wylaczalo menu albo cofalo do glownego ;)

}
case 2:
{
// cos :D
}
case 3:
{
// cos :D
}
case 4:
{
// cos :D
}
}

return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 16.02.2012

init:

register_menucmd(register_menuid("Zadanie"), 1023, "select_options")



public Zadanka(id)

{

    new menu = menu_create("Wybierz zadanie:", "Zadanko_wybor");

    

    for(new i=1; i<sizeof zadania; i++)

    {

	    

	    menu_additem(menu, zadania[i]);

    }

    menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");

    menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");

    menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");

    menu_display(id, menu);

}

public Zadanko_wybor(id, menu, item)

{

    if(item == MENU_EXIT)

    {

	    menu_destroy(menu);

	    return PLUGIN_CONTINUE;

    }

    

    informacje(id,item)

    return PLUGIN_CONTINUE;

}



public informacje(id,ktore_zadanie)

{

    new text[513]

    

    format(text, 512, "Zadanie : %s^nNagroda : %i^n0. Powrot"zadania[ktore_zadanie],nagroda[ktore_zadanie])

    

    show_menu(id, (1<<9), text)

    return PLUGIN_HANDLED  

}





public select_options(id, key)

{

    if(key==9) Zadanka(id)

    

    return PLUGIN_HANDLED

}
Odpowiedz

  • +
  • -
Albertd - zdjęcie Albertd 16.02.2012

No i o to mi chodzilo. Dziekuje + dla pana twardziela ;d
Mozna zamknac.
Odpowiedz

  • +
  • -
Ojciec Dyrektor - zdjęcie Ojciec Dyrektor 17.02.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany