Admini Online:
1. blablalbla - Comisar
2. TRETGEG - Chestor
3. fagfasd - Agent Sef
Problema e ca rangurile nu apar in ordine. Ar putea cineva sa faca sa apara in ordine?
Si inca ceva.. Cand nu sunt admini online, nu apare nimic. Eu as vrea sa apara in hud ceva de genul: Nu sunt admini online. Adica, static const MENU_NAME[ ] = "\r Admini Online";, In loc de admini online sa apara 'Nu sunt admini online', si tot asa, pe orice numar ai apasa, sa iasa din meniu.
Code: Select all
#include <amxmodx>
#pragma semicolon 1
#define MAX_GROUPS 7
new g_groupNames[ MAX_GROUPS ][ ] = {
"Chestor",
"Comisar Sef",
"Comisar",
"Subcomisar",
"Inspector",
"Agent Sef Pr",
"Agent Sef"
};
new g_groupFlags[ MAX_GROUPS ][ ] = {
"abcdefghijklmnopqrstu",
"bcdefghijkmnopqrsu",
"bcdefijmnopqru",
"bcdefijmnu",
"bcdefijm",
"bcdefij",
"bcdeij"
};
new g_groupFlagsValue[ MAX_GROUPS ];
static const PLUGIN_NAME[ ] = "Ultimate Who";
static const PLUGIN_VERSION[ ] = "1.0";
static const MENU_NAME[ ] = "\r Admini Online";
static const MENU_EXIT_NAME[ ] = "\yIesire^n^n^n\rwww.godplay.ro";
public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, "Askhanar" );
register_clcmd("say /who", "cmdWho", -1, "");
register_clcmd("say /admins", "cmdWho", -1, "");
register_concmd("say /admin", "cmdWho", -1, "");
register_clcmd("say_team /who", "cmdWho", -1, "");
register_clcmd("say_team /admins", "cmdWho", -1, "");
register_concmd("say_team /admin", "cmdWho", -1, "");
for( new i = 0 ; i < MAX_GROUPS ; i++ )
g_groupFlagsValue[ i ] = read_flags( g_groupFlags[ i ] );
}
public cmdWho( id )
{
ShowMenu( id, 0 );
return 1;
}
public ShowMenu(id, page)
{
new MenuName[ 64 ], MenuExitKey[ 32 ];
new AdminName[ 32 ], AdminMenuMessage[ 32 ][ 64 ],AdminMenuKey[ 32 ][ 32 ], MenuKey = 1;
formatex( MenuName, sizeof ( MenuName ) -1, "%s", MENU_NAME );
formatex( MenuExitKey, sizeof ( MenuExitKey ) -1, "%s", MENU_EXIT_NAME );
new menu = menu_create(MenuName, "ShowMenuHandler");
static Players[ 32 ], Num, Player;
get_players( Players, Num, "ch" );
for( new x = 0 ; x < Num ; x++ )
{
Player = Players[ x ];
for( new i = 0 ; i < MAX_GROUPS ; i++ )
{
if( get_user_flags( Player ) == g_groupFlagsValue[ i ] )
{
get_user_name( Player, AdminName, sizeof ( AdminName ) - 1);
if(Player == id)
{
formatex( AdminMenuMessage[ MenuKey ], sizeof ( AdminMenuMessage[ ] ) -1, "\w%s \y- \w%s\r *", AdminName, g_groupNames[ i ] );
}
else
{
formatex( AdminMenuMessage[ MenuKey ], sizeof ( AdminMenuMessage[ ] ) -1, "\w%s \y- \w%s", AdminName, g_groupNames[ i ] );
}
formatex( AdminMenuKey[ MenuKey ], sizeof ( AdminMenuKey[ ] ) -1, "%d", MenuKey );
MenuKey++;
}
}
}
for( new z = 1 ; z < MenuKey ; z++ )
{
menu_additem( menu, AdminMenuMessage[ z ], AdminMenuKey[ z ], 0 );
}
menu_setprop(menu, MPROP_EXITNAME, MenuExitKey );
menu_display(id, menu, page);
}
public ShowMenuHandler(id, menu, item)
{
if(item == MENU_EXIT)
{
return 1;
}
new data[6], iName[64];
new iaccess, callback;
menu_item_getinfo(menu, item, iaccess, data,5, iName, 63, callback);
new key = str_to_num(data);
//new page = floatround(str_to_float(data)/7.0001, floatround_floor);
switch(key)
{
case 1,2,3,4,5,6,7:
{
//ShowMenu( id, page );
return 1;
}
}
return 0;
}