Малка част от кода:
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
#include <fvault>
#define VERSION "1.0"
new mModelSelected[ 33 ];
enum _:Models
{
eName[50],
eFile[32],
eBody,
eSub,
eFlag[8]
};
new const g_szModels[][Models] =
{
{ "Afro Terrorist", "Terrorist", 2, 0, "" }, /// Обикновен скин който имат право всички да го ползват
{ "Jack Sparrow", "Jack_Sparrow", 0, 0, "a" } // Това е админски скин който изисква А флаг
}
public plugin_init()
{
register_plugin("Models Menu", VERSION, "South Division [IVAN]");
register_clcmd( "say /skin", "ShowMenuModels" );
RegisterHam(Ham_Spawn, "player", "FwPlayerSpawnPost", 1);
}
public plugin_precache()
{
new szModel[128]
for(new i; i < sizeof(g_szModels); i++)
{
formatex(szModel, charsmax(szModel), "models/player/%s/%s.mdl", g_szModels[i][eFile], g_szModels[i][eFile])
precache_model(szModel)
replace(szModel, charsmax(szModel), ".mdl", "T.mdl")
if(file_exists(szModel))
precache_model(szModel)
}
}
public FwPlayerSpawnPost(id)
{
if (!is_user_alive(id) || get_user_team(id) == 2)
{
return 1;
}
set_user_info(id, "model", g_szModels[ mModelSelected[id] ][ eFile ])
entity_set_int(id, EV_INT_body, g_szModels[ mModelSelected[id] ][ eBody ])
entity_set_int(id, EV_INT_skin, g_szModels[ mModelSelected[id] ][ eSub ])
}
public ShowMenuModels( id )
{
static m, model[128], szTitle[128];
formatex(szTitle, charsmax(szTitle), "\rPlayer Models^n\yPage:\d")
new menu = menu_create(szTitle, "menu_models")
for(m = 0; m < sizeof g_szModels; ++m )
{
if (!(get_user_flags(id) & read_flags(g_szModels[m][eFlag])) && strlen(g_szModels[m][eFlag]) != 0)
{
formatex( model, charsmax(model), "\d%s \r[Admin Only]", g_szModels[ m ][ eName ] );
menu_additem( menu, model, "" );
}
else {
if( mModelSelected[ id ] == m )
{
formatex( model, charsmax(model), "\d%s \y[\rSELECTED\y]", g_szModels[ m ][ eName ] );
menu_additem( menu, model, "" );
}
else {
menu_additem( menu, g_szModels[ m ][ eName ], "" );
}
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rClose");
menu_setprop(menu, MPROP_BACKNAME, "Previous Page");
menu_setprop(menu, MPROP_NEXTNAME, "Next Page");
menu_setprop(menu, MPROP_NUMBER_COLOR, "\r");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display( id, menu );
}