#1 2009-07-21 09:10:45

Stoper

Administrator

12220489
Zarejestrowany: 2009-07-20
Posty: 23
Punktów :   

Własne menu

Witam, chciałbym pokazać wam dzisiaj jak stworzyć menu.

Krok 1:

Na samej górze mapy dodajemy zmienną przechowującą nasze menu:

Kod
new Menu:mojemenu;


Krok 2:

W publicu OnGameModeInit(); dodajemy:

Kod
mojemenu = CreateMenu("Moje menu", 1, 200.0, 100.0, 150.0, 150.0);


Argumenty do tej funkcji to:

CreateMenu(title, columns, Float:x, Float:y, Float:col1width);

gdzie:

title - Nazwa twojego menu

columns - Ilość kolumn jakie ma zawierać twoje menu

Float:x i Float:y - Jest to ustawienie pozycji twojego menu na monitorze gracza

Float: col1width - Szerokośc kolumny

Krok 3:

Ok teraz dodajmy obiekty (maximum 12) do naszego menu.

Pod linijką CreateMenu w publicu OnGameModeInit(); wstawiamy:

Kod
AddMenuItem(mojemenu, 0, "tekst");
AddMenuItem(mojemenu, 0, "tekst2");
AddMenuItem(mojemenu, 0, "tekst3");
AddMenuItem(mojemenu, 0, "tekst4");

itd.


Gdzie :

mojemenu - Identyfikator menu

0 - Identyfikator kolumny (ZAWSZE ZACZYNAMY OD 0 !)

"tekst" - Treść obiektu

Krok 4:

Teraz w publicu OnPlayerSelectedMenuRow(playerid, row) dodajemy co ma się dziać gdy gracz wybierze pole z Naszego menu.

Pod tym publikiem musimy zdeklarować stałą:

Kod
new Menu:CurrentMenu = GetPlayerMenu(playerid);


Jest to stała pobierająca nazwę naszego menu.

Teraz, pod tą liniją dodajemy:

Kod
if(CurrentMenu == mojemenu)
{
switch(row)
{
case 0: // Obiekt 1
{
// Co ma się dziać gdy gracz wybierze pierwszą pozycję z menu
}
case 1: // Obiekt 2
{
// Co ma się dziać gdy gracz wybierze drugą pozycję z menu
}}}


Krok 5 (ostatni):

Wywołujemy nasze menu za pomocą komendy /menu

Kod
if(strcmp(cmdtext, "/teleport", true) == 0)
{
ShowMenuForPlayer(mojemenu,playerid); // Gdzie mojemenu to nazwa menu które ma się wyświetlić
return 1;
}


------------------------------------------------

Jak dodać więcej niż jedną kolumnę ? To proste !

w linijce :
Kod
CreateMenu(title, columns, Float:x, Float:y, Float:col1width);


w polu COLUMNS wpisujemy ilość kolum ile nam potrzeba, przy czym na końcu po Float:col1width musimy jeszcze dodać szerokośc pozostałych kolumn czyli Float:col2width itd.

Teraz w AddMenuItem musimy zmienić identyfikator kolumny np:

AddMenuItem(mojemenu, 1, "test"); // Obiekt będzie wyświetlany w drugiej kolumnie

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.sesyje.pun.pl www.polishdragon.pun.pl www.msw.pun.pl www.e-rogow.pun.pl www.tempusnostrumest.pun.pl