PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
#include <tfcx>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Natsheh"
new const FILE[] = "weapons_models.ini";
new const DIRECTOR[] = "addons/amxmodx/configs";
new Array:g_array, garraysize;
public plugin_precache()
{
g_array = ArrayCreate(64, 1)
garraysize = xmod_get_maxweapons();
for(new i = 0; i < garraysize; i++)
ArrayPushString(g_array, "")
static strFile[64];
formatex(strFile, 63, "%s/%s", DIRECTOR, FILE)
if(!file_exists(strFile)) return; // file isnt exists
new fp = fopen(strFile, "rt")
if(!fp) return; // file isnt exists or failed to open.
new sBuffer[128], sParam[2][64], param, j;
while(!feof(fp)) // reading file line by line
{
fgets(fp, sBuffer, 127) // getting line info..
trim(sBuffer) //. trim all spaces..
if(sBuffer[0] == ';' || sBuffer[0] == '/' && sBuffer[1] == '/' || strlen(sBuffer) <= 3) continue;
param = parse(sBuffer, sParam[0], charsmax(sParam[]), sParam[1], charsmax(sParam[]))
if(param != 2) continue;
for(j = 0; j <= charsmax(sParam); j++)
remove_quotes(sParam[j]);
if(j = tfc_weapon_exists(sParam[0]))
{
ArraySetString(g_array, j, sParam[1])
}
}
fclose(fp) // closing the file...,after we finished from it
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_SetModel, "fw_SetModel_pre")
}
public fw_SetModel_pre(const ent, const model[])
{
if(!pev_valid(ent)) // if its an entity ( NOT A WORLD )
return FMRES_IGNORED;
if(containi(model, "w_") != -1 && pev(ent, pev_owner) == 0)
{
new sName[32], sModel[64];
xmod_get_wpnname(ent,sName,31)
new j = tfc_weapon_exists(sName)
if(j == -1) return FMRES_IGNORED;
ArrayGetString(g_array, j, sModel, charsmax(sModel))
set_pev(ent, pev_model, sModel)
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
stock tfc_weapon_exists(const weapon[])
{
new sWpnname[32], i;
for(i = 0; i < garraysize; i++)
{
xmod_get_wpnname(i,sWpnname,charsmax(sWpnname))
if(equali(sWpnname, weapon))
{
return i;
}
}
return -1;
}
__________________