#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#define MAX_PLAYERS 32
#define MAX_PLAYERS2 MAX_PLAYERS+1
#include "models.inl"
#define WIEZIEN_MODEL "jailbreak"
#define KLAWISZ_MODEL "tinkywinky"
new szWiezien[32], szKlawisz[32];
public plugin_init()
{
register_plugin("JailBreak Model", "1.0", "R3X")
register_event("HLTV", "eventRoundInit", "a", "1=0", "2=0");
register_event("ResetHUD", "set_player_model", "be");
register_forward(FM_TraceLine, "fwTraceLine", 1);
register_forward(FM_SetClientKeyValue, "fwSetClientKeyValue");
register_forward(FM_ClientUserInfoChanged, "fwClientUserInfoChanged", 1);
}
public plugin_precache()
{
new szFile[128];
get_configsdir(szFile, 96);
add(szFile, 127, "/jailmodels.ini");
if(file_exists(szFile)){
new iLen;
read_file(szFile,0,szWiezien, 31, iLen);
trim(szWiezien);
read_file(szFile,1,szKlawisz, 31, iLen);
trim(szKlawisz);
}
if(szWiezien[0]==0)
copy(szWiezien, 31, WIEZIEN_MODEL);
if(szKlawisz[0]==0)
copy(szKlawisz, 31, KLAWISZ_MODEL);
new player_model[129]
format(player_model,128,"models/player/%s/%s.mdl",WIEZIEN_MODEL,WIEZIEN_MODEL)
precache_model(player_model)
format(player_model,128,"models/player/%s/%s.mdl",KLAWISZ_MODEL,KLAWISZ_MODEL)
precache_model(player_model)
}
public eventRoundInit( ){
g_roundstarttime = get_gametime();
}
public set_player_model(id)
{
if(!is_user_alive(id)) return PLUGIN_HANDLED
new user_team = _:cs_get_user_team(id)
if(user_team == 1)
copy(g_player_model[id], 41,WIEZIEN_MODEL);
else if(user_team == 2)
copy(g_player_model[id], 41, KLAWISZ_MODEL);
else
return PLUGIN_CONTINUE
// Remove previous tasks (if any)
remove_task( id + MODELSET_TASK );
// Get current model
new currentmodel[32];
fm_get_user_model( id, currentmodel, charsmax( currentmodel ) );
// Check whether it matches the custom model
if ( !equal( currentmodel, g_player_model[id] ) )
{
// An additional delay is offset at round start
// since SVC_BAD is more likely to be triggered there
if ( get_gametime() - g_roundstarttime < 5.0 )
set_task( 5.0 * MODELCHANGE_DELAY, "fm_user_model_update", id + MODELSET_TASK );
else
fm_user_model_update( id + MODELSET_TASK );
}
return PLUGIN_CONTINUE
}
public fwTraceLine(const Float:v1[], const Float:v2[], fNoMonsters, id, ptr)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
new id2=get_tr2(ptr, TR_pHit);
if(!is_user_alive(id2))
return FMRES_IGNORED;
new cel_name[33];
get_user_name(id2,cel_name,32);
if(cs_get_user_team(id2) == CS_TEAM_CT){
set_hudmessage(255, 170, 0, -1.0, 0.57, 0, 6.0, 0.5)
show_hudmessage(id,"Klawisz %s", cel_name)
}
return FMRES_IGNORED;
}