Comunitate Servarului wsNt.malware-site.www
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Cum sa faci un meniu amxmodx

Go down

Cum sa faci un meniu amxmodx Empty Cum sa faci un meniu amxmodx

Post by ReGulameNNnT<3kHaT Tue Mar 29, 2011 11:10 am

Sa incepem:

in plugin_init, inregistram meniul:

Cod:
register_menucmd(register_menuid("\yMenu Name:"), 1023, "menu_command" );


Unde e scrie "Menu Name:" e numele meniului; "menu_command" va fi un public in care vom vedea pe ce buton apasa jucatorul.

Facem un public pentru a arata meniul:

Citat:
public show_the_menu(id,level,cid) {


level si cid nu sunt neaparat, te poate ajuta daca vrei sa verifici daca userul are admin
In plugin_init, adaugam si o comanda cu care deschide meniul:

Cod:
register_concmd("display_menu","show_the_menu",-1,"display my menu");



In interioru la "public show_the_menu"

Cod:
// facem 2 varible, una pentru constructia meniului, una pentru a vedea ce buton a apasat jucatorul
new szMenuBody[256];
new keys;



Mai departe, dam nume la meniu si facem butoanele

Cod:
new nLen = format( szMenuBody, 255, "\yMy Menu:^n" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. Apasa pe butonul 1" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. Apasa pe butonul 2" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. Iesi din meniu" );


Si ati creat meniul cu 2 butoane ("Apasa pe butonul 1" si "Apasa pe butonul 2" si exitu "Iesi din meniu" );

Mai departe, butoanele is pe biti, deci

Cod:
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9)


Acum afisam meniul

Cod:
show_menu( id, keys, szMenuBody, -1 );



In plugin_init am inregistrat meniul cu "menu_command" ; Deci

Cod:
public menu_command(id,key,level,cid)
{
// vedem ce buton a apasa:
switch(key)
{
// daca a apasat pe butonul 1
case 0:
{
client_print(0,print_chat,"Am apasat pe butonul unu");
// mai adaugi ce vrei pe aicea
// Dupa ce apesi pe butonul "1" meniul dispare. Daca vrei sa repara:
show_the_menu(id,level,cid);
}

// daca apas pe butonul 2
case 1:
{
// sa verificam daca are admin
if(!cmd_access(id,level,cid,1))
{
// inseamna ca nu are deci
return PLUGIN_HANDLED;
}
}
}

// inchidem functia:
return PLUGIN_HANDLED;
}


Citeste comentariile ca am scris tot ce trebuia mai sus

Tot code-u

Cod:
#include <amxmodx>
#include <amxmisc>


public plugin_init() {
register_plugin("Test My Menu","0.1","SAMURAI");

// inregistram meniul
register_menucmd(register_menuid("\yMenu Name:"), 1023, "menu_command" );

// inregistram o comanda
register_concmd("display_menu","show_the_menu",-1,"display my menu");
}

public show_the_menu(id,level,cid)
{
// variabile pentru meniu si butoane
new szMenuBody[256];
new keys;

// facem meniul
new nLen = format( szMenuBody, 255, "\yMy Menu:^n" ); // nume
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. Apas butonul 1" ); // butonul 1
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. Apas butonul 2" ); // butonul 2
nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. Ies din meniu" ); // iesire

// butoanele pe biti
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9)

// afisam meniul
show_menu( id, keys, szMenuBody, -1 );

}

public menu_command(id,key,level,cid)
{
// vedem ce buton a apasa:
switch(key)
{
// daca a apasat pe butonul 1
case 0:
{
client_print(0,print_chat,"Am apasat pe butonul unu");
// mai adaugi ce vrei pe aicea
// Dupa ce apesi pe butonul "1" meniul dispare. Daca vrei sa repara:
show_the_menu(id,level,cid);
}

// daca apas pe butonul 2
case 1:
{
// sa verificam daca are admin
if(!cmd_access(id,level,cid,1))
{
// inseamna ca nu are deci
return PLUGIN_HANDLED;
}
}
}

// inchidem functia:
return PLUGIN_HANDLED;
}
ReGulameNNnT<3kHaT
ReGulameNNnT<3kHaT

Posts : 38
Join date : 2011-03-09
Location : Bucuresti

http://www.google.ro

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum