Jump to content
  • 0

pomoc PickUpy, menu


Daxic

Dotaz

Dobrý den nastal mi tu problém když mám pickup a v něm jednu položku v menu tak mi to všechno jde ...

 

new obchod;

new Menu:menu1;

new row;

public OnGameModeInit()

{

obchod = CreatePickup(2061,1,-797.5014,2256.0112,58.9766);//souradnice

menu1 = CreateMenu("obchod", 1, 150.0, 100.0, 250.0, 150.0);//menu

AddMenuItem(menu1, 0, "Armor 300$");//Prida Item

}

public OnPlayerPickUpPickup(playerid, pickupid)

{

if(pickupid == obchod)

{

ShowMenuForPlayer(menu1,playerid); //ukaze hracovy MeeNU

}

return 1;

}

public OnPlayerSelectedMenuRow(playerid)

{

GetPlayerMenu(playerid);

switch(row)

{

case 0:

{

GivePlayerMoney(playerid,-300); //Odobere hráčovy 300 za vyspanie

SetPlayerArmour(playerid, 100.0); //prida hracovy 100 armoru

}

}

}

 

Takto mi to funguje ale jakmile přidám druhou položku tak se mi ukáže jenom jedna. Ten script ke dvou kolonkam v menu vypada takto

 

new obchod;

new Menu:menu1;

new Menu:menu2;

new row;

public OnGameModeInit()

{obchod = CreatePickup(2061,1,-797.5014,2256.0112,58.9766);//souradnice

menu1 = CreateMenu("obchod", 1, 150.0, 100.0, 250.0, 150.0);//menu

AddMenuItem(menu1, 0, "Armor 300$");//Prida Item

AddMenuItem(menu2, 2, "Armor2 500$");//Prida Item

}

public OnPlayerPickUpPickup(playerid, pickupid)

{

if(pickupid == obchod)

{

ShowMenuForPlayer(menu1,playerid); //ukaze hracovy MeeNU

}

return 1;

}

public OnPlayerSelectedMenuRow(playerid)

{

GetPlayerMenu(playerid);

switch(row)

{

case 0:

{

GivePlayerMoney(playerid,-300); //Odobere hráčovy 300 za vyspanie

SetPlayerArmour(playerid, 100.0); //prida hracovy 100 armoru

}

}

switch(row)

{

case 0:

{

GivePlayerMoney(playerid,-500); //Odobere hráčovy 500 za vyspanie

SetPlayerArmour(playerid, 100.0); //prida hracovy 100 armoru

}

}

}

 

Díky za pomoc sem začátečník

Link to comment
Share on other sites

11 odpovědí na tuto otázku

Recommended Posts

  • 0

public OnPlayerSelectedMenuRow(playerid)
{
   new Current = GetPlayerMenu(playerid);
   if(Current == menu1)
   {
           switch(row)
           {
               case 0:
               {
                   GivePlayerMoney(playerid,-300); //Odobere hráčovy 500 za vyspanie
                   SetPlayerArmour(playerid, 50.0); //prida hracovy 100 armoru
               }
               case 1:
               {
                   GivePlayerMoney(playerid,-500); //Odobere hráčovy 500 za vyspanie
                   SetPlayerArmour(playerid, 100.0); //prida hracovy 100 armoru
               }
           }
   }
   return 1;
}

 

asi nejak takhle to udelej

Link to comment
Share on other sites

  • 0

a jeste ma chybu v menu:

 

místo

 

{obchod = CreatePickup(2061,1,-797.5014,2256.0112,58.9766);//souradnice

menu1 = CreateMenu("obchod", 1, 150.0, 100.0, 250.0, 150.0);//menu

AddMenuItem(menu1, 0, "Armor 300$");//Prida Item

AddMenuItem(menu2, 2, "Armor2 500$");//Prida Item

}

 

 

tohle:

 

 

{obchod = CreatePickup(2061,1,-797.5014,2256.0112,58.9766);//souradnice

menu1 = CreateMenu("obchod", 1, 150.0, 100.0, 250.0, 150.0);//menu

AddMenuItem(menu1, 0, "Armor 300$");//Prida Item

AddMenuItem(menu1, 0, "Armor2 500$");//Prida Item

}

 

Link to comment
Share on other sites

  • 0

Díky moc za rychlou pomoc ale píše mi to chybu na řádku s current na tehle

new Current = GetPlayerMenu(playerid);

if(Current == menu1)

a chyby C:\Users\Desktop\gvp.pwn(159) : warning 213: tag mismatch

C:\Users\Desktop\gvp.pwn(160) : warning 213: tag mismatch

Link to comment
Share on other sites

  • 0

ja to mam takto:

hore:

new Menu:menu1;

 

v OnGameModeInit

menu1 = CreateMenu("Teleport", 1, 190.0, 160.0, 250.0, 150.0);
AddMenuItem(menu1, 0, "Los Santos(LS)");
AddMenuItem(menu1, 0, "San Fierro(SF)");
AddMenuItem(menu1, 0, "Las Venturas(LV)");

 

public OnPlayerSelectedMenuRow(playerid)
{
   new Menu:Current = GetPlayerMenu(playerid);
   if(Menu:Current == menu1)
   {
           switch(row)
           {
               case 0:
               {
SetPlayerPos(playerid, 2499.5078,-1667.2180,13.3499);
SendClientMessage(playerid, B_CERVENA, "Portol si sa do LS");
GetPlayerName(playerid, novyhrac, 24);
format(novyhrac, 100, "%s sa portol do LS.", novyhrac);
SendClientMessageToAll(B_SVITIVA, novyhrac);
               }
               case 1:
               {
SetPlayerPos(playerid, -2201.5366,299.4173,35.1172);
SendClientMessage(playerid, B_CERVENA, "Portol si sa do SF");
GetPlayerName(playerid, novyhrac, 24);
format(novyhrac, 100, "%s sa portol do SF.", novyhrac);
SendClientMessageToAll(B_SVITIVA, novyhrac);
               }
               case 2:
               {
SetPlayerPos(playerid, 2106.7498,1394.4756,10.8203);
SendClientMessage(playerid, B_CERVENA, "Portol si sa do LV");
GetPlayerName(playerid, novyhrac, 24);
format(novyhrac, 100, "%s sa portol do LV.", novyhrac);
SendClientMessageToAll(B_SVITIVA, novyhrac);
               }
           }
   }
   return 1;
}

 

a mam taky problem ze potom v hre mam tam tie 3 moznosti : Los Santos, San Fierro, Las Venturas ale mozem dat ktorukolvek chcem aj tak ma to vzdy portne do tej prvej moznosti co je Los Santos.. pls poradte.

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...