Jump to content

Menu /vysvetlene


Recommended Posts

Takže jak jsem si viděl jsou tu tuty na menu i s něčím ale nejsou vůbec popsané tak se vám to tu skusím popsat

 

takže nejdřív si musíme někam nahoru udělat:

new Menu:menu[2];

//známena že si ukážeme na jednom,ale stalo se mi že to po mě chtělo mít napsaný číslo 2 tak radši dám ovšem můžete si udělat každý menu zvlášt new třeba new mpolicie; (název jaký chcete) atd.

 

ted si dáme do OnGameModeInit() toto:

menu[1] = CreateMenu("Nazev Menu", 1, 50.0, 180.0, 200.0, 200.0);

AddMenuItem(menu[1], 0, "polozka1");
AddMenuItem(menu[1], 0, "polozka2");

//název menu si přepište jak se bude to menu jmenovat,ovšem může být i barevně když si tam dáte značku ~r~ i jiné (stejné jako u GameTextForPlayer),ty čísla to jsou velikosti menu,AddMenuItem znamená že to přidá do menu položku (polozka1 = můžete si to změnit i polozka2),

ovšem můžete si položky ještě přidat že přidáte další řádek AddMenuItem(menu[1], 0, "polozka3"); (to polozka zas změnte) a nebo se taky dá použít ještě jedna věc hned pod CreateMenu.... je to SetMenuColumnHeader(menu[1], 0, "nadpis menu") to je že se pod jmenem zobrazí ten nadpis např. Vyber si: (podle toho co napíšete)

 

Tak a ted do publicu OnPlayerSelectedMenuRow toto:

 

    new Menu:current;
   current = GetPlayerMenu(playerid);
   if(current == menu[1])
   {
       switch(row)
       {
           case 0:{
//sem si dejte co se stane když vybere tu 1. položku
           }
           case 1:{
//sem si dejte co se stane když vybere tu 2. položku
           }
       }
   }
   return 1;
}

//to if(current == menu[1]) znamená že to je v menu[1] a ještě doporučuji si na konec toho co se stane dal (jestli chcete aby zmizlo) HideMenuForPlayer(Menu:menu[1],playerid); jak jsem psal že to menu zmizí

 

a ještě se používá třeba do OnPickup... toto ShowMenuForPlayer(Menu:menu[1],playerid); //to znamená že to zobrazí menu když je v určitým pickupu ale dá se to použít i při connectu nebo při příkazu

 

tot ode mě vše zdar a slávu :rap: :rap:

Link to comment
Share on other sites

akorat tam mas pravopisonu chybu, začatečniky to můze splést

 

case 0:{

//sem si dejte co se stane když vybere tu 2. položku - tady má být 1. položku

}

case 1:{

//sem si dejte co se stane když vybere tu 2. položku

}

Link to comment
Share on other sites

Guest [*LoNg*]LiFe

nechcem sa do toho vrtat ale AddMenuItem(menu[1], 0, "polozka1");

AddMenuItem(menu[1], 0, "polozka2");

nemala by tam byt 1 ked ma case 1 ? podla mna to je tak

Link to comment
Share on other sites

  • 5 months later...

Plz robim to dobre podla navodu nic to nehadze ale ked dam toto do onplayerselectedmenurow

new Menu:current;

current = GetPlayerMenu(playerid);

if(current == menu[1])

{

switch(row)

{

case 0:{

//sem si dejte co se stane když vybere tu 1. položku

}

case 1:{

//sem si dejte co se stane když vybere tu 2. položku

}

}

}

return 1;

}

 

tak mi to hadze 4 errory

C:\DOCUME~1\SK!LLL~1\Plocha\NSKMOD~1.pwn(844) : warning 219: local variable "current" shadows a variable at a preceding level

C:\DOCUME~1\SK!LLL~1\Plocha\NSKMOD~1.pwn(846) : error 028: invalid subscript (not an array or too many subscripts): "menu"

C:\DOCUME~1\SK!LLL~1\Plocha\NSKMOD~1.pwn(846) : warning 215: expression has no effect

C:\DOCUME~1\SK!LLL~1\Plocha\NSKMOD~1.pwn(846) : error 001: expected token: ";", but found "]"

C:\DOCUME~1\SK!LLL~1\Plocha\NSKMOD~1.pwn(846) : error 029: invalid expression, assumed zero

C:\DOCUME~1\SK!LLL~1\Plocha\NSKMOD~1.pwn(846) : fatal error 107: too many error messages on one line

 

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

 

 

4 Errors. neviete co stym?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...