Robisz nową tablicę z modelami i przypisujesz ją w getModels w switchu
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#define PLUGIN "Rożne modele broni"
#define VERSION "1.1"
#define AUTHOR "R3X"
#define MODELNAME_SIZE 64
new gszTemp[CsInternalModel][MODELNAME_SIZE];
new gszKnifes[CsInternalModel][MODELNAME_SIZE] = {
"$STD", // NONE
//Counter Strike
"$STD", //URBAN
"$STD", //TERROR
"$STD", //LEET
"$STD", //ARCTIC
"$STD", //GSG9
"$STD", //GIGN
"$STD", //SAS
"$STD", //GUERILLA
"models/knife/v_vip.mdl", //VIP
//Condition Zero
"$STD", //MILITIA
"$STD" //SPETSNAZ
};
new gszUsps[CsInternalModel][MODELNAME_SIZE] = {
"$STD", // NONE
//Counter Strike
"$STD", //URBAN
"$STD", //TERROR
"$STD", //LEET
"$STD", //ARCTIC
"$STD", //GSG9
"models/knife/v_usp.mdl", //GIGN
"$STD", //SAS
"$STD", //GUERILLA
"$STD", //VIP
//Condition Zero
"$STD", //MILITIA
"$STD" //SPETSNAZ
};
getModels(wid, szModels[CsInternalModel][MODELNAME_SIZE]){
switch(wid){
case CSW_KNIFE:{
szModels = gszKnifes;
}
case CSW_USP:{
szModels = gszUsps;
}
default:
return 0;
}
return 1;
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("CurWeapon", "eventCurWeapon", "be", "1=1");
}
public plugin_precache(){
for(new CsInternalModel:i = CS_DONTCHANGE; i < CsInternalModel; i++){
for(new j=1;j<31;j++){
if(getModels(j, gszTemp)){
if(gszTemp[i][0] != '$')
precache_mymodel(gszTemp[i]);
}
}
}
}
precache_mymodel(szModel[]){
if(!file_exists(szModel)){
log_amx("* %s not found, back to default", szModel);
copy(szModel, MODELNAME_SIZE-1, "$STD");
return 0;
}
precache_model(szModel);
return 1;
}
public eventCurWeapon(id){
if(getModels(read_data(2), gszTemp)){
new CsInternalModel:iModel;
cs_get_user_team(id, iModel);
if(gszTemp[iModel][0] != '$')
set_pev(id, pev_viewmodel2, gszTemp[iModel]);
}
}