AMX Mod X - vše co potřebuješ k serveru
Prostor pro Vaši reklamu - napište nám

Pokročilé hledání





Všechny časy jsou v UTC


 [ Příspěvků: 3 ] 
Autor Zpráva
 Předmět příspěvku: Zobrazování hráčů v menu
PříspěvekNapsal: pát 11. říj 2019 17:35:22 
Offline
AMXX Newbie
AMXX Newbie
Uživatelský avatar

Registrován: úte 31. črc 2018 18:16:48
Příspěvky: 268
Poděkoval: 28 x
Obdržel poděkování: 10 x
Zdravím, udělal jsem si admin menu

Spoiler:
Kód:
public AdminMenu( id )
{
   if( access( id, ADMIN_BAN ) )
   {
      new header[ 64 ]
      formatex( header,63, "\rAdmin Menu \d(\y/\radminemnu\y)" )

      new menu = menu_create( header, "AdminMenu_Handler" )

      menu_additem( menu, "\wBan menu", "1", 0 )
      menu_additem( menu, "\wChatBan menu", "2", 0 )

      menu_display( id, menu, 0 )
   }
}

public AdminMenu_Handler( id, menu, item )
{
   new data[ 6 ], iName[ 64 ], access, callback
   menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
   new key = str_to_num( data )

   switch( key )
   {
      case 0:
      {
         menu_destroy( id )
      }
      case 1:
      {
         PlayerMenu( id )
      }
      case 2:
      {
         PlayerMenu2( id )
      }
   }
   return PLUGIN_CONTINUE
}

a chci se zeptat jestli by nešlo udělat jen jednou PlayerMenu( id ) aby mi zjistilo jakou položku v menu jsem si to vybral a vybralo mi další menu který chci? Abych nemusel zbytečně zabírat místo v codu PlayerMenu(id),PlayerMenu2(id), PlayerMenu3(id) atd..


Spoiler:
Kód:
public PlayerMenu(id)
{
   new menu = menu_create( "Vyber hrace:","PlayerMenu_Handler" )
   new players[ 32 ], pnum, tempid
   new szName[ 32 ], szTempid[ 10 ]
   get_players( players, pnum )
   for( new i; i<pnum; i++ )
   {
      tempid = players[ i ]
      if( is_user_alive( tempid ) )
      {   
         get_user_name( tempid, szName, charsmax( szName ) )
         num_to_str( tempid, szTempid, charsmax( szTempid ) )
         menu_additem( menu, szName, szTempid, 0 )
      }
   }
   menu_display( id, menu )
}

public PlayerMenu_Handler( id, menu, item )
{
   if( item == MENU_EXIT )
   {
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }

   new data[ 6 ], szName[ 64 ], dst[ 32 ]
   new access, callback
   menu_item_getinfo( menu, item, access, data,charsmax( data ), szName,charsmax( szName ), callback )
   new tempid = str_to_num( data )
   gidPlayer[ id ] = tempid;
   get_user_name( id, dst, charsmax( dst ) )
   get_user_name( tempid, szName, charsmax( szName ) )
   BanMenu( id, szName )

   return PLUGIN_CONTINUE
}

_________________
BaseBuilder = 50% Obrázek

ObrázekObrázek


Nahoru
  
 
 Předmět příspěvku: Re: Zobrazování hráčů v menu
PříspěvekNapsal: sob 12. říj 2019 10:40:28 
Offline
AMXX Senior Member
AMXX Senior Member
Uživatelský avatar

Registrován: čtv 29. srp 2013 18:07:35
Příspěvky: 572
Poděkoval: 24 x
Obdržel poděkování: 80 x
sprav si napr. nejakú premennú

Kód:
new action[33]


Spoiler:
public AdminMenu( id )
{
if( access( id, ADMIN_BAN ) )
{
new header[ 64 ]
formatex( header,63, "\rAdmin Menu \d(\y/\radminemnu\y)" )

new menu = menu_create( header, "AdminMenu_Handler" )

menu_additem( menu, "\wBan menu", "1", 0 )
menu_additem( menu, "\wChatBan menu", "2", 0 )

menu_display( id, menu, 0 )
}
}

public AdminMenu_Handler( id, menu, item )
{
new data[ 6 ], iName[ 64 ], access, callback
menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
new key = str_to_num( data )

switch( key )
{
case 0:
{
menu_destroy( id )
}
case 1:
{
action[id] = 1
PlayerMenu( id )
}
case 2:
{
action[id] = 2
PlayerMenu( id )
}
}
return PLUGIN_CONTINUE
}


Spoiler:
public PlayerMenu(id)
{
new menu = menu_create( "Vyber hrace:","PlayerMenu_Handler" )
new players[ 32 ], pnum, tempid
new szName[ 32 ], szTempid[ 10 ]
get_players( players, pnum )
for( new i; i<pnum; i++ )
{
tempid = players[ i ]
if( is_user_alive( tempid ) )
{
get_user_name( tempid, szName, charsmax( szName ) )
num_to_str( tempid, szTempid, charsmax( szTempid ) )
menu_additem( menu, szName, szTempid, 0 )
}
}
menu_display( id, menu )
}

public PlayerMenu_Handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}

new data[ 6 ], szName[ 64 ], dst[ 32 ]
new access, callback
menu_item_getinfo( menu, item, access, data,charsmax( data ), szName,charsmax( szName ), callback )
new tempid = str_to_num( data )
gidPlayer[ id ] = tempid;
get_user_name( id, dst, charsmax( dst ) )
get_user_name( tempid, szName, charsmax( szName ) )
switch(action[id])
{
case 1:
{
BanMenu( id, szName )
}
case 2:
{
ChatBanMenu( id, szName )
}
// .......
}
return PLUGIN_CONTINUE
}


dopísal som to tam narýchlo, takže tam môžu byť aj chybičky :D

_________________


Obrázek


Nahoru
  
 
 Předmět příspěvku: Re: Zobrazování hráčů v menu
PříspěvekNapsal: sob 12. říj 2019 10:57:19 
Offline
AMXX Newbie
AMXX Newbie
Uživatelský avatar

Registrován: úte 31. črc 2018 18:16:48
Příspěvky: 268
Poděkoval: 28 x
Obdržel poděkování: 10 x
Moc děkuji funguje

_________________
BaseBuilder = 50% Obrázek

ObrázekObrázek


Nahoru
  
 
 [ Příspěvků: 3 ] 

Všechny časy jsou v UTC


Kdo je online

Uživatelé procházející toto fórum: CommonCrawl [Bot] a 0 návštevníků



Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Přejít na:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All rights reserved 2007 - 2019 © by AMXMODX.cz, kopírování textů nebo grafických prvků z této stránky je bez souhlasu administrátora (jab.jab@seznam.cz) přísně zakázáno!


TOPlist