14.05.2009, 06:50
may be author wants to make something like that ?
[code=pawn]#include <a_samp>
stock Menu
izzamenu;
main() {}
public OnGameModeInit()
{
// other code
pizzamenu = CreateMenu( "Pizza", 2, 200.0, 100.0, 150.0, 150.0 );
AddMenuItem(pizzamenu, 0, "Magherita");
AddMenuItem(pizzamenu, 0, "Pepperoni");
AddMenuItem(pizzamenu, 0, "Meat Feast");
AddMenuItem(pizzamenu, 0, "Seafood Lovers");
AddMenuItem(pizzamenu, 0, "Vegetarian Hot One");
AddMenuItem(pizzamenu, 1, "$5");
AddMenuItem(pizzamenu, 1, "$6");
AddMenuItem(pizzamenu, 1, "$8");
AddMenuItem(pizzamenu, 1, "$15");
AddMenuItem(pizzamenu, 1, "$7");
// other code
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[] )
{
// other code
if ( strcmp( "/foodmenu", cmdtext, true, 9 ) == 0 )
{
TogglePlayerControllable( playerid, 0 ); // freezing player
ShowMenuForPlayer( pizzamenu, playerid ); // show food menu for player
return 1;
}
// other code
return 0;
}
public OnPlayerSelectedMenuRow ( playerid, row )
{
// getting current player's menu ID
new Menu:menu = GetPlayerMenu(playerid);
// if current player's menu is food menu
if ( menu == pizzamenu )
{
// getting current player's health
new Float:currentHealth;
GetPlayerHealth( playerid, currentHealth );
// if player really need heal
if ( currentHealth < 100.0 )
{
switch ( row )
{
case 0: // Magherita
{
// giving to player some health
SetPlayerHealth( playerid, currentHealth + 5.0 );
// this action wiil take player's money even when he have no money or
// his money value is negative
GivePlayerMoney( playerid, -5 );
}
case 1: // Pepperoni
{
SetPlayerHealth( playerid, currentHealth + 6.0 );
GivePlayerMoney( playerid, -6 );
}
case 2: // Meat Feast
{
SetPlayerHealth( playerid, currentHealth + 8.0 );
GivePlayerMoney( playerid, -8 );
}
case 3: // Seafood Lovers
{
SetPlayerHealth( playerid, currentHealth + 15.0 );
GivePlayerMoney( playerid, -15 );
}
case 4: // Vegetarian Hot One
{
SetPlayerHealth( playerid, currentHealth + 7.0 );
GivePlayerMoney( playerid, -7 );
}
}
// if player have more than 100% health after eating
if ( currentHealth > 100.0 ) SetPlayerHealth( playerid, 100.0 );
}
// show menu to player again if he need more food
ShowMenuForPlayer( pizzamenu, playerid );
return 1;
}
// other code
return 1;
}
public OnPlayerExitedMenu( playerid )
{
// other code
TogglePlayerControllable( playerid, 1 ); // unfreezing player
HideMenuForPlayer( pizzamenu, playerid ); // hide any menu (and food menu too)
// other code
return 1;
}[/code]
[code=pawn]#include <a_samp>
stock Menu

main() {}
public OnGameModeInit()
{
// other code
pizzamenu = CreateMenu( "Pizza", 2, 200.0, 100.0, 150.0, 150.0 );
AddMenuItem(pizzamenu, 0, "Magherita");
AddMenuItem(pizzamenu, 0, "Pepperoni");
AddMenuItem(pizzamenu, 0, "Meat Feast");
AddMenuItem(pizzamenu, 0, "Seafood Lovers");
AddMenuItem(pizzamenu, 0, "Vegetarian Hot One");
AddMenuItem(pizzamenu, 1, "$5");
AddMenuItem(pizzamenu, 1, "$6");
AddMenuItem(pizzamenu, 1, "$8");
AddMenuItem(pizzamenu, 1, "$15");
AddMenuItem(pizzamenu, 1, "$7");
// other code
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[] )
{
// other code
if ( strcmp( "/foodmenu", cmdtext, true, 9 ) == 0 )
{
TogglePlayerControllable( playerid, 0 ); // freezing player
ShowMenuForPlayer( pizzamenu, playerid ); // show food menu for player
return 1;
}
// other code
return 0;
}
public OnPlayerSelectedMenuRow ( playerid, row )
{
// getting current player's menu ID
new Menu:menu = GetPlayerMenu(playerid);
// if current player's menu is food menu
if ( menu == pizzamenu )
{
// getting current player's health
new Float:currentHealth;
GetPlayerHealth( playerid, currentHealth );
// if player really need heal
if ( currentHealth < 100.0 )
{
switch ( row )
{
case 0: // Magherita
{
// giving to player some health
SetPlayerHealth( playerid, currentHealth + 5.0 );
// this action wiil take player's money even when he have no money or
// his money value is negative
GivePlayerMoney( playerid, -5 );
}
case 1: // Pepperoni
{
SetPlayerHealth( playerid, currentHealth + 6.0 );
GivePlayerMoney( playerid, -6 );
}
case 2: // Meat Feast
{
SetPlayerHealth( playerid, currentHealth + 8.0 );
GivePlayerMoney( playerid, -8 );
}
case 3: // Seafood Lovers
{
SetPlayerHealth( playerid, currentHealth + 15.0 );
GivePlayerMoney( playerid, -15 );
}
case 4: // Vegetarian Hot One
{
SetPlayerHealth( playerid, currentHealth + 7.0 );
GivePlayerMoney( playerid, -7 );
}
}
// if player have more than 100% health after eating
if ( currentHealth > 100.0 ) SetPlayerHealth( playerid, 100.0 );
}
// show menu to player again if he need more food
ShowMenuForPlayer( pizzamenu, playerid );
return 1;
}
// other code
return 1;
}
public OnPlayerExitedMenu( playerid )
{
// other code
TogglePlayerControllable( playerid, 1 ); // unfreezing player
HideMenuForPlayer( pizzamenu, playerid ); // hide any menu (and food menu too)
// other code
return 1;
}[/code]