Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#pragma semicolon 1
#define PLUGIN "Admin Models File Config"
#define AUTHOR "JustInCase"
#define VERSION "1.0"
new AdminFlag,VipFlag, AdminModelTName, AdminModelCTName, VipModelTName, VipModelCTName;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
RegisterHam(Ham_Spawn, "player", "Ham_UserSpawn", 1);
//set_task(1.0, "TaskLoadFile");
}
public Ham_UserSpawn(id)
{
new iFlags = get_user_flags(id), iTeam = get_user_team(id);
if( !is_user_alive(id) || !is_user_connected(id) || iTeam == 3 )
return HAM_IGNORED;
/* Get pCvar Strings */
new szAdminModels[2][32], szVipModels[2][32], szAccess[2][12];
get_pcvar_string(AdminModelTName, szAdminModels[0], charsmax(szAdminModels[])); // T
get_pcvar_string(AdminModelCTName, szAdminModels[1], charsmax(szAdminModels[])); // CT
get_pcvar_string(VipModelTName, szVipModels[0], charsmax(szVipModels[])); // T
get_pcvar_string(VipModelCTName, szVipModels[1], charsmax(szVipModels[])); // CT
get_pcvar_string(AdminFlag, szAccess[0], charsmax(szAccess[])); // Admin Flag
get_pcvar_string(VipFlag, szAccess[1], charsmax(szAccess[])); // Vip Flag
/* Get pCvar Strings */
if(iFlags & read_flags(szAccess[0]))
set_user_info(id, "model", iTeam == 1 ? szAdminModels[0] : szAdminModels[1]);
else if(iFlags & read_flags(szAccess[1]))
set_user_info(id, "model", iTeam == 1 ? szVipModels[0] : szVipModels[1]);
return HAM_IGNORED;
}
public plugin_precache()
{
AdminFlag = register_cvar("amx_models_adminf", "e"); // ADMIN_SLAY
VipFlag = register_cvar("amx_models_vipf", "m"); // ADMIN_LEVEL_A
AdminModelTName = register_cvar("amx_models_admintname", "adminmodelt");
AdminModelCTName = register_cvar("amx_models_adminctname", "adminmodelct");
VipModelTName = register_cvar("amx_models_viptname", "vipmodelt");
VipModelCTName = register_cvar("amx_models_vipctname", "vipmodelct");
set_task(1.0, "TaskLoadFile");
new szModel[128], szAdminModels[2][32], szVipModels[2][32];
get_pcvar_string(AdminModelTName, szAdminModels[0], charsmax(szAdminModels[])); // T
get_pcvar_string(AdminModelCTName, szAdminModels[1], charsmax(szAdminModels[])); // CT
get_pcvar_string(VipModelTName, szVipModels[0], charsmax(szVipModels[])); // T
get_pcvar_string(VipModelCTName, szVipModels[1], charsmax(szVipModels[])); // CT
formatex(szModel, charsmax(szModel), "models/player/%s/%s.mdl", szAdminModels[0], szAdminModels[0]);
precache_model(szModel);
//-------------------------------
formatex(szModel, charsmax(szModel), "models/player/%s/%s.mdl", szAdminModels[1], szAdminModels[1]);
precache_model(szModel);
//-------------------------------
formatex(szModel, charsmax(szModel), "models/player/%s/%s.mdl", szVipModels[0], szVipModels[0]);
precache_model(szModel);
//-------------------------------
formatex(szModel, charsmax(szModel), "models/player/%s/%s.mdl", szVipModels[1], szVipModels[1]);
precache_model(szModel);
}
public client_infochanged(id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
new szModel[32], szAdminModels[2][32], szVipModels[2][32], szAccess[2][12];
get_pcvar_string(AdminModelTName, szAdminModels[0], charsmax(szAdminModels[])); // T
get_pcvar_string(AdminModelCTName, szAdminModels[1], charsmax(szAdminModels[])); // CT
get_pcvar_string(VipModelTName, szVipModels[0], charsmax(szVipModels[])); // T
get_pcvar_string(VipModelCTName, szVipModels[1], charsmax(szVipModels[])); // CT
get_pcvar_string(AdminFlag, szAccess[0], charsmax(szAccess[])); // Admin Flag
get_pcvar_string(VipFlag, szAccess[1], charsmax(szAccess[])); // Vip Flag
get_user_info(id, "model", szModel, charsmax(szModel));
new iFlags = get_user_flags(id), iTeam = get_user_team(id);
if (iFlags & read_flags(szAccess[0]))
{
if (!equali(szModel, szAdminModels[0]) || !equali(szModel, szAdminModels[1]))
set_user_info(id, "model", iTeam == 1 ? szAdminModels[0] : szAdminModels[1]);
}
if (iFlags & read_flags(szAccess[1]))
{
if (!equali(szModel, szVipModels[0]) || !equali(szModel, szVipModels[1]))
set_user_info(id, "model", iTeam == 1 ? szVipModels[0] : szVipModels[1]);
}
return PLUGIN_CONTINUE;
}
public TaskLoadFile( )
{
new szFile[ 124 ], dir[ 124 ];
get_configsdir( dir, charsmax( dir ) );
formatex( szFile, charsmax ( szFile ), "%s/Admin_Models.cfg", dir );
if( file_exists( szFile ) )
{
server_cmd( "exec %s", szFile );
server_exec( );
log_amx( "Admin_Models.cfg is executed!");
}
else
{
CreateFile( szFile );
log_amx( "Admin_Models.cfg is not found in configs folder. File is created..." );
}
}
CreateFile( const file[ ] )
{
new iCvars[6][32];
get_pcvar_string(AdminFlag, iCvars[0], charsmax(iCvars[]));
get_pcvar_string(VipFlag, iCvars[1], charsmax(iCvars[]));
get_pcvar_string(AdminModelTName, iCvars[2], charsmax(iCvars[]));
get_pcvar_string(AdminModelCTName, iCvars[3], charsmax(iCvars[]));
get_pcvar_string(VipModelTName, iCvars[4], charsmax(iCvars[]));
get_pcvar_string(VipModelCTName, iCvars[5], charsmax(iCvars[]));
new i = fopen(file, "wt");
fprintf(i, "// %s %s %s", PLUGIN, AUTHOR, VERSION);
fprintf(i, "//Plugin modify by JustInCase for WWW.AMXX-BG.INFO^n^n^n^n");
fprintf(i, "//Admin Flag needed to set the ADMIN model^n");
fprintf(i, "//Default ( ^"e^" - ADMIN_SLAY)^n");
fprintf(i, "amx_models_adminf %s^n^n", iCvars[0]);
fprintf(i, "//VIP Flag needed to set the VIP model^n");
fprintf(i, "//Default ( ^"m^" - ADMIN_LEVEL_A)^n");
fprintf(i, "amx_models_vipf %s^n^n", iCvars[1]);
fprintf(i, "//Name of the Admin T Model^n");
fprintf(i, "//Default is (%s)^n", iCvars[2]);
fprintf(i, "amx_models_admintname %s^n^n", iCvars[2]);
fprintf(i, "//Name of the Admin CT Model^n");
fprintf(i, "//Default is (%s)^n", iCvars[3]);
fprintf(i, "amx_models_adminctname %s^n^n", iCvars[3]);
fprintf(i, "//Name of the VIP T Model^n");
fprintf(i, "//Default is (%s)^n", iCvars[4]);
fprintf(i, "amx_models_viptname %s^n^n", iCvars[4]);
fprintf(i, "//Name of the VIP CT Model^n");
fprintf(i, "//Default is (%s)^n", iCvars[5]);
fprintf(i, "amx_models_vipctname %s^n^n", iCvars[5]);
fclose(i);
}
UPDATE-вам го така.