PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <cstrike>
#define DISPLAY_MONEY 1
#define DISPLAY_WEAPONS 1
#define DISPLAY_DOLLARSIGN 1
#define DISPLAY_ARROW 0
#define PLUGIN "SHOWTEAMEQUIP"
#define VERSION "1337"
#define AUTHOR "Alliedmodders"
#define TASK1 5125
#define TASK2 6124
#if DISPLAY_MONEY
#define NUMBER_OF_SPRITES 5
new userSpr[33][NUMBER_OF_SPRITES];
new tmpstr[6];
new value[2];
new money_sprite1[] = "sprites/1.spr"
new money_sprite10[] = "sprites/10.spr"
new money_sprite100[] = "sprites/100.spr"
new money_sprite1000[] = "sprites/1000.spr"
new money_sprite10000[] = "sprites/10000.spr"
#endif
#if DISPLAY_WEAPONS
#define NUMBER_OF_WEAPTYPES 7
new const Float:Pistols[6] = {1.0,10.0,11.0,16.0,17.0,26.0};
new const Float:Rifles[18] = {3.0,5.0,7.0,8.0,12.0,13.0,14.0,15.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,27.0,28.0,30.0};
new userWeap[33][NUMBER_OF_WEAPTYPES];
new armor;
new weapons;
new weap_sprite[] = "sprites/weap.spr"
new weap2_sprite[] = "sprites/weap2.spr"
#endif
#if DISPLAY_DOLLARSIGN
new userDSign[33];
new cash_sprite[] = "sprites/cash.spr"
#endif
#if DISPLAY_ARROW
new userArrow[33];
new arrow_sprite[] = "sprites/arrow.spr"
#endif
new bool:NewRound;
new bool:show;
new Float:userOrig[33][3];
new g_iMaxPlayers;
public plugin_precache(){
#if DISPLAY_MONEY
precache_model(money_sprite10000);
precache_model(money_sprite1000);
precache_model(money_sprite100);
precache_model(money_sprite10);
precache_model(money_sprite1);
#endif
#if DISPLAY_WEAPONS
precache_model(weap_sprite);
precache_model(weap2_sprite);
#endif
#if DISPLAY_DOLLARSIGN
precache_model(cash_sprite);
#endif
#if DISPLAY_ARROW
precache_model(arrow_sprite);
#endif
}
public plugin_init(){
register_plugin(PLUGIN,VERSION,AUTHOR);
register_event("HLTV", "new_round", "a", "1=0", "2=0");
g_iMaxPlayers = get_maxplayers()
crear_entidades()
}
public plugin_cfg()
{
if(is_plugin_loaded("Pause Plugins") != -1)
server_cmd("amx_pausecfg add ^"SHOWEQUIPS^"");
}
public crear_entidades(){
for(new x = 1; x <= g_iMaxPlayers; x++){
#if DISPLAY_MONEY
for(new i; i<NUMBER_OF_SPRITES; i++){
userSpr[x][i]=create_entity("env_sprite");
}
#endif
#if DISPLAY_WEAPONS
for(new i; i<NUMBER_OF_WEAPTYPES; i++){
userWeap[x][i]=create_entity("env_sprite");
}
#endif
#if DISPLAY_DOLLARSIGN
userDSign[x]=create_entity("env_sprite");
#endif
#if DISPLAY_ARROW
userArrow[x]=create_entity("env_sprite");
#endif
}
}
public new_round(){
NewRound = true;
show = true
remove_task(TASK2)
remove_task(TASK1)
set_task(get_cvar_float("mp_freezetime"),"hiden",TASK1);
set_task(0.2,"display_info",TASK2,"",0,"b");
}
public hiden(){
show = false
}
public display_info(){
for(new c=1; c<= g_iMaxPlayers; c++){
if(!is_user_alive(c) || !is_user_connected(c)){
#if DISPLAY_MONEY
drawsprite(userSpr[c][4],c,money_sprite10000,1.0,34.0,0,0,255,0);
drawsprite(userSpr[c][3],c,money_sprite1000,1.0,34.0,0,0,255,0);
drawsprite(userSpr[c][2],c,money_sprite100,1.0,34.0,0,0,255,0);
drawsprite(userSpr[c][1],c,money_sprite10,1.0,34.0,0,0,255,0);
drawsprite(userSpr[c][0],c,money_sprite1,1.0,34.0,0,0,255,0);
#endif
#if DISPLAY_DOLLARSIGN
drawsprite(userDSign[c],c,cash_sprite,1.0,34.0,0,0,255,0);
#endif
#if DISPLAY_ARROW
drawsprite(userArrow[c],c,arrow_sprite,1.0,34.0,0,255,255,0);
#endif
#if DISPLAY_WEAPONS
drawsprite(userWeap[c][0],c,weap_sprite,Pistols[0],50.0,0,255,255,0);
drawsprite(userWeap[c][1],c,weap_sprite,Rifles[0],50.0,0,255,255,0);
drawsprite(userWeap[c][2],c,weap_sprite,4.0,50.0,0,255,255,255);
drawsprite(userWeap[c][3],c,weap_sprite,25.0,50.0,0,255,255,255);
drawsprite(userWeap[c][4],c,weap_sprite,9.0,50.0,0,255,255,255);
drawsprite(userWeap[c][5],c,weap2_sprite,1.0,50.0,0,0,0,255);
drawsprite(userWeap[c][6],c,weap2_sprite,3.0,50.0,0,0,0,255);
#endif
continue;
}
#if DISPLAY_MONEY
for (new x; x < NUMBER_OF_SPRITES; x++){
arrayset(tmpstr, 0, sizeof tmpstr);
num_to_str(cs_get_user_money(c), tmpstr, charsmax(tmpstr))
value[0]=tmpstr[x];
value[1]=0;
if(!tmpstr[x]){
switch(x){
case 0: drawsprite(userSpr[c][4],c,money_sprite10000,1.0,34.0,0,0,255,0);
case 1: drawsprite(userSpr[c][3],c,money_sprite1000,1.0,34.0,0,0,255,0);
case 2: drawsprite(userSpr[c][2],c,money_sprite100,1.0,34.0,0,0,255,0);
case 3: drawsprite(userSpr[c][1],c,money_sprite10,1.0,34.0,0,0,255,0);
case 4: drawsprite(userSpr[c][0],c,money_sprite1,1.0,34.0,0,0,255,0);
}
continue;
}
switch(x){
case 0: drawsprite(userSpr[c][4],c,money_sprite10000,floatstr(value),34.0,255,0,255,0);
case 1: drawsprite(userSpr[c][3],c,money_sprite1000,floatstr(value),34.0,255,0,255,0);
case 2: drawsprite(userSpr[c][2],c,money_sprite100,floatstr(value),34.0,255,0,255,0);
case 3: drawsprite(userSpr[c][1],c,money_sprite10,floatstr(value),34.0,255,0,255,0);
case 4: drawsprite(userSpr[c][0],c,money_sprite1,floatstr(value),34.0,255,0,255,0);
}
}
#endif
#if DISPLAY_DOLLARSIGN
drawsprite(userDSign[c],c,cash_sprite,1.0,34.0,255,0,255,0);
#endif
#if DISPLAY_ARROW
drawsprite(userArrow[c],c,arrow_sprite,1.0,34.0,255,255,255,0);
#endif
#if DISPLAY_WEAPONS
weapons = pev(c, pev_weapons);
for(new i; i < sizeof Pistols; i++)
if(weapons & 1<<floatround(Pistols[i])){
drawsprite(userWeap[c][0],c,weap_sprite,Pistols[i],50.0,255,255,255,0);
goto jmp1;
}
drawsprite(userWeap[c][0],c,weap_sprite,Pistols[0],50.0,0,255,255,0);
jmp1:
for(new i; i < sizeof Rifles; i++)
if(weapons & 1<<floatround(Rifles[i])){
drawsprite(userWeap[c][1],c,weap_sprite,Rifles[i],50.0,255,255,255,0);
goto jmp2;
}
drawsprite(userWeap[c][1],c,weap_sprite,Rifles[0],50.0,0,255,255,0);
jmp2:
if(weapons & 1<<CSW_HEGRENADE)
drawsprite(userWeap[c][2],c,weap_sprite,4.0,50.0,255,255,255,255);
else
drawsprite(userWeap[c][2],c,weap_sprite,4.0,50.0,0,255,255,255);
if(weapons & 1<<CSW_FLASHBANG)
drawsprite(userWeap[c][3],c,weap_sprite,25.0,50.0,255,255,255,255);
else
drawsprite(userWeap[c][3],c,weap_sprite,25.0,50.0,0,255,255,255);
if(weapons & 1<<CSW_SMOKEGRENADE)
drawsprite(userWeap[c][4],c,weap_sprite,9.0,50.0,255,255,255,255);
else
drawsprite(userWeap[c][4],c,weap_sprite,9.0,50.0,0,255,255,255);
cs_get_user_armor(c,CsArmorType:armor);
if(armor == 2)
drawsprite(userWeap[c][5],c,weap2_sprite,2.0,50.0,255,0,0,255);
else if(armor == 1)
drawsprite(userWeap[c][5],c,weap2_sprite,1.0,50.0,255,0,0,255);
else
drawsprite(userWeap[c][5],c,weap2_sprite,1.0,50.0,0,0,0,255);
if(weapons & 1<<CSW_C4)
drawsprite(userWeap[c][6],c,weap2_sprite,3.0,50.0,255,0,0,255);
else if(cs_get_user_defuse(c))
drawsprite(userWeap[c][6],c,weap2_sprite,4.0,50.0,255,0,0,255);
else
drawsprite(userWeap[c][6],c,weap2_sprite,3.0,50.0,0,0,0,255);
#endif
}
}
drawsprite(ent,player,str[],Float:frame,Float:offset,render,r,g,b){
set_pev(ent, pev_framerate, 1.0)
set_pev(ent, pev_scale, 0.3)
set_pev(ent, pev_movetype, MOVETYPE_NOCLIP);
engfunc(EngFunc_SetModel, ent, str);
set_pev(ent, pev_frame, frame)
if(is_user_connected(player) && is_user_alive(player)){
pev(player, pev_origin, userOrig[player]);
userOrig[player][2] += offset;
set_pev(ent, pev_origin, userOrig[player]);
}
else{
set_pev(ent, pev_origin, {0.0, 0.0, 0.0})
}
if(!show){
render = 0
set_pev(ent, pev_origin, {0.0, 0.0, 0.0})
remove_task(TASK2)
}
set_rendering(ent, kRenderFxNone, r, g, b, kRenderTransAdd, render)
}