Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
#define ADMIN_YETKI ADMIN_BAN
new const g_szKalkanModeli[] = "models/exxjail/exx-kalkanjail.mdl";
new g_iEntity[MAX_CLIENTS + 1], g_iModelIndex, g_cvar;
public plugin_init() {
register_plugin("Kalkan Glow", "1.0", "PurposeLess");
RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer_Spawn_Post", .post = true);
RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed_Post", .post = true);
bind_pcvar_num(create_cvar("hat_glow", "1", _, "0=None | 1=GlowWithPlayer | 2=TeamColor", true, 0.0, true, 2.0), g_cvar);
}
@CBasePlayer_Spawn_Post(const pPlayer) {
if(!is_user_alive(pPlayer) || ~get_user_flags(pPlayer) & ADMIN_YETKI) {
return;
}
if(!g_iEntity[pPlayer]) {
g_iEntity[pPlayer] = rg_create_entity("info_target");
set_entvar(g_iEntity[pPlayer], var_movetype, MOVETYPE_FOLLOW);
set_entvar(g_iEntity[pPlayer], var_aiment, pPlayer);
set_entvar(g_iEntity[pPlayer], var_modelindex, g_iModelIndex);
set_entvar(g_iEntity[pPlayer], var_body, get_model_id(pPlayer));
switch(g_cvar) {
case 1: {
set_entvar(g_iEntity[pPlayer], var_renderfx, kRenderFxGlowShell);
if(get_member(pPlayer, m_iTeam) == TEAM_TERRORIST) {
set_entvar(g_iEntity[pPlayer], var_rendercolor, {255.0, 0.0, 0.0});
}
else {
set_entvar(g_iEntity[pPlayer], var_rendercolor, {0.0, 0.0, 255.0});
}
set_entvar(g_iEntity[pPlayer], var_renderamt, 50.0);
}
case 2: {
new Float:flRenderColor[3], Float:flRenderAmt[3];
get_entvar(pPlayer, var_rendercolor, flRenderColor);
get_entvar(pPlayer, var_renderamt, flRenderAmt);
set_entvar(g_iEntity[pPlayer], var_renderfx, kRenderFxGlowShell);
set_entvar(g_iEntity[pPlayer], var_rendercolor, flRenderColor);
set_entvar(g_iEntity[pPlayer],var_renderamt, flRenderAmt);
}
}
}
}
@CBasePlayer_Killed_Post(const pVictim) {
RemoveEntity(pVictim);
}
public client_disconnected(pPlayer) {
RemoveEntity(pPlayer);
}
RemoveEntity(const pPlayer) {
if(g_iEntity[pPlayer]) {
set_entvar(g_iEntity[pPlayer], var_flags, FL_KILLME);
g_iEntity[pPlayer] = 0;
}
}
new const modelname[][] = {
"gign",
"gsg9",
"sas",
"urban",
"vip",
"arctic",
"guerilla",
"leet",
"terror"
};
public plugin_precache() {
for(new i = 0; i < sizeof(modelname); i++) {
force_unmodified(force_model_samebounds, {0,0,0}, {0,0,0}, fmt("models/player/%s/%s.mdl", modelname[i], modelname[i]));
}
g_iModelIndex = precache_model(g_szKalkanModeli);
}
get_model_id(const pPlayer) {
new g_szModelName[32];
get_user_info(pPlayer, "model", g_szModelName, charsmax(g_szModelName));
for(new i = 0; i < sizeof(modelname); i++) {
if(equali(g_szModelName, modelname[i])) {
return i;
}
}
return 0;
}