Page 1 of 1

Cum sa faci un Menu

Posted: Mon Oct 24, 2011 5:46 am
by RoberTo
[font=Verdana]Definitie[/font]
Menu = Un menu in care intra mai multe coloane,pe care daca le selectezi(cu SPACE) sa ti se intample ceva(Iti creste viata,iti da o arma,0 masina,etc.)

Deci sa incepem cu inceputul:

Sus la Fs sau Gm pui

Code: Select all

new Menu:Food;
Termenul Food poate fii diferit in functie de ce nume vrei tu sa ii pui,dar atentie trebuie dupaia sa inlocuiesti tot ce gasesti cu Food cu numele pe care l-ai pus tu.

Apoi la

Code: Select all

public OnGameModeInit()
Pui:

Code: Select all

	Food = CreateMenu("Food Menu", 1, 50.0, 180.0, 200.0, 200.0);

	AddMenuItem(Food, 0, "Text");
	AddMenuItem(Food, 0, "Text");
	AddMenuItem(Food, 0, "Text");
	AddMenuItem(Food, 0, "Text");
	AddMenuItem(Food, 0, "Text");
	AddMenuItem(Food, 0, "Text");
	AddMenuItem(Food, 0, "Text");
	AddMenuItem(Food, 0, "Exit");
Iarasi,mare atentie deoarece Ultima coloana trebuie sa fie neaparat EXIT,deoarece daca jucatorul nu vrea sa selecteze nimica sa poata iesi din menu.

Apoi la

Code: Select all

public OnPlayerCommandText(playerid, cmdtext[])
Pui:

Code: Select all

    if(strcmp(cmdtext, "/comanda",true) == 0)
    {
        ShowMenuForPlayer(Food,playerid);
        TogglePlayerControllable(playerid, 0);
        SendClientMessage(playerid, 0xD7D700FF, "Text");
        return 1;
    }
Aici daca scrii /comanda iti va aparea meniul.Nu uitati ca daca ati modificat cumva Food sa schimbati tot ce este cu food!!
Apoi la

Code: Select all

public OnPlayerSelectedMenuRow(playerid, row)
incepi asa:

Pentru mancare:

Code: Select all

               new Menu:CurrentMenu = GetPlayerMenu(playerid);
               if(CurrentMenu == Food)
               {
		       switch(row)
	           {
            case 0:
			{
				TogglePlayerControllable(playerid,1);
				if (GetPlayerMoney(playerid) >= 12)
				{
				SetPlayerHealth(playerid,100);
				GivePlayerMoney(playerid, -12);
                SendClientMessage(playerid,0x008080FF, " Text daca are bani");}
				else
				{
				ShowMenuForPlayer(Food,playerid);TogglePlayerControllable(playerid, 0);
				SendClientMessage(playerid, 0xFF0000FF, "Text daca nu are bani.");
				return 1;
				}
				}
aici

Code: Select all

if (GetPlayerMoney(playerid) >= 12)
se vede daca jucatorul are 12$ daca nu nu poate cumpara daca da,poate.
aici

Code: Select all

SetPlayerHealth(playerid,100);
I se da jucatoruilui viata 100%
Atentie numaratoarea incepe de la

Code: Select all

case 0:
Pentru arme:

Code: Select all



			case 0:
			{
				TogglePlayerControllable(playerid,1);
				if (GetPlayerMoney(playerid) >= 500)
				{
				GivePlayerWeapon(playerid, 28, 90);
				GivePlayerMoney(playerid, -500);
                SendClientMessage(playerid,COLOR_GREEN, "Text daca are bani");}
				else
				{
				ShowMenuForPlayer(Weapons,playerid);TogglePlayerControllable(playerid, 0);
				SendClientMessage(playerid, COLOR_ULTRARED, "Text daca nu are bani.");
				return 1;
				}
			    }
aici

Code: Select all

GivePlayerWeapon(playerid, 28, 90);
ii da jucatorului un UZI cu 90 de gloante deci 28 este id-ul armei si 90 gloantele.

Si pentru teleport:

Code: Select all

case 0:
		{
			SetPlayerPos(playerid,XX, YY, ZZ);
		}

Code: Select all

XX,YY,ZZ
= coordonatele

Iar la ultimul case care am zis ca trebuie sa fie neaparat Exit punem:

Code: Select all

case 7:
{
HideMenuForPlayer(Food,playerid);
ShowMenuForPlayer(Food,playerid);
TogglePlayerControllable(playerid,0);
}