Created
July 22, 2018 08:37
-
-
Save kristiker/302f908386a5de0120bcdca9bb9106a0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <amxmodx> | |
#include <reapi> | |
#include <fun> | |
/* | |
digital00011.spr x1 (numbers) | |
digital11100.spr x1 (numbers) | |
weap1.spr x5 (primwpn, secwpn, nade1, nade2, nade3) | |
weap2.spr x2 ( (armor | headarmor), ( bomb | defkit) ) | |
arrow.spr (just the arrow) | |
*/ | |
enum Sprites | |
{ | |
Sprite_ExtraUtils, | |
Sprite_Guns, | |
Sprite_Money1, | |
Sprite_Money2, | |
Sprite_Arrow | |
} | |
enum SpritesUsage | |
{ | |
ExtraUtils_ArmorType, | |
ExtraUtils_C4OrDefuseKit, | |
Guns_PrimaryWeapon, | |
Guns_SecondaryWeapon, | |
Guns_HeGrenade, | |
Guns_Flashbang, | |
Guns_SmokeGrenade, | |
Money_Money1, | |
Money_Money2, | |
Arrow_Arrow | |
} | |
new playerSprite[MAX_PLAYERS+1][SpritesUsage]; | |
new bShowing[MAX_PLAYERS+1]; | |
new const Float:fSprPositions[Sprites] | |
{ | |
50.0, | |
50.0, | |
34.0, | |
34.0, | |
34.0 | |
} | |
new const szSprites[Sprites][] | |
{ | |
"weap2.spr", | |
"weap1.spr", | |
"digital11100.spr", | |
"digital00011.spr", | |
"arrow.spr" | |
} | |
public plugin_precache() | |
{ | |
for(new i; i <= sizeof Sprites; i++) | |
{ | |
precache_model(szSprites[i]); | |
} | |
} | |
new freezetime_pcvar, iFreezeTime | |
public plugin_init() | |
{ | |
RegisterHookChain(RG_CBasePlayer_AddPlayerItem, "OnAddPlayerItem", 1); | |
RegisterHookChain(RG_CSGameRules_RestartRound, "OnRoundStart", 1); | |
freezetime_pcvar = get_cvar_pointer("mp_freezetime"); | |
} | |
public OnRoundStart() | |
{ | |
iFreezeTime = get_pcvar_num(freezetime_pcvar); | |
if(iFreezeTime > 0) | |
{ | |
remove_task(TASK_ShowEquipment); | |
set_task(0.1, "displayEquipmentInfo", TASK_spawnEquipmentInfo); | |
} | |
else if(iFreezeTime = 0) | |
{ | |
} | |
} | |
public OnAddPlayerItem(id, pItem) | |
{ | |
} | |
public displayEquipmentInfo(Sprites:sprite, id, playerOrigin) | |
{ | |
new ent = playerSprite[id][sprite]; | |
switch (sprite) | |
{ | |
case Arrow_Arrow: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Arrow]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Arrow] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {0, 0, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_scale, 0.25); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case Money_Money1: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Money1]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.2); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Money1] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {0, 255, 0}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
case Money_Money2: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Money2]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.2); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Money2] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {0, 255, 0}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case Guns_SmokeGrenade: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Guns]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.3); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Guns] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {255, 255, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case Guns_Flashbang: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Guns]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.3); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Guns] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {255, 255, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case Guns_HeGrenade: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Guns]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.3); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Guns] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {255, 255, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case Guns_SecondaryWeapon: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Guns]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.3); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Guns] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {255, 255, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case Guns_PrimaryWeapon: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_Guns]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.3); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_Guns] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {255, 255, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case ExtraUtils_C4OrDefuseKit: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_ExtraUtils]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.3); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_ExtraUtils] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {220, 255, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
case ExtraUtils_ArmorType: | |
{ | |
set_entvar(ent, var_model, szSprites[Sprite_ExtraUtils]); | |
set_entvar(ent, var_framerate, 1.0); | |
set_entvar(ent, var_frame, 1.0); | |
set_entvar(ent, var_scale, 0.3); | |
set_entvar(ent, var_origin, {playerOrigin[0], playerOrigin[1], fSprPositions[Sprite_ExtraUtils] + playerOrigin[2]}); | |
{ | |
set_entvar(ent, var_rendermode, kRenderGlow); | |
set_entvar(ent, var_rendercolor, {220, 255, 255}); | |
set_entvar(ent, var_renderamt, 255); | |
set_entvar(ent, var_renderfx, kRenderFxNoDissipation); | |
//set_entvar(ent, var_ ) | |
} | |
} | |
} | |
} | |
updateSpriteMoney(id) | |
{ | |
new sprite_00011_ent = playerSprite[id][Sprite_Money1]; | |
new sprite_11100_ent = playerSprite[id][Sprite_Money2]; | |
new playerMoney = cs_get_user_money(id); | |
if(playerMoney > 25599) playerMoney = 6969; | |
if(playerMoney >= 0) | |
{ | |
if(playerMoney < 100) | |
{ | |
new Float:frame1 = float(playerMoney); | |
set_entvar(sprite_00011_ent, var_frame, frame1); | |
set_entvar(sprite_11100_ent, var_frame, 0.0); | |
} | |
else if(playerMoney >= 100) | |
{ | |
new tenth = ((playerMoney % 10) + (playerMoney % 100) * 10); | |
set_entvar(sprite_00011_ent, var_frame, float(tenth)); | |
set_entvar(sprite_11100_ent, var_frame, float((playerMoney - tenth) / 100)); | |
} | |
} | |
updateSpriteWeaponAndUtility() | |
{ | |
// players don't normally have a defuse kit and a C4 at the same time. | |
new const spriteEnt_utils_armortype = playerSprite[id][ExtraUtils_ArmorType]; | |
new const spriteEnt_utils_c4ordef = playerSprite[id][ExtraUtils_C4OrDefuseKit]; | |
new const spriteEnt_weaps_primwpn = playerSprite[id][Guns_PrimaryWeapon]; | |
new const spriteEnt_weaps_secwpn = playerSprite[id][Guns_SecondaryWeapon]; | |
new const spriteEnt_weaps_hegren = playerSprite[id][Guns_HeGrenade]; | |
new const spriteEnt_weaps_fbang = playerSprite[id][Guns_Flashbang]; | |
new const spriteEnt_weaps_smkgren = playerSprite[id][Guns_SmokeGrenade]; | |
} | |
public spawnEquipmentInfoEntities() | |
{ | |
server_print("EQUIPMENT INFO: Creating %d entities ( %dpl x %dents )", MaxClients * charsmax(SpritesUsage), MaxClients, charsmax(SpritesUsage)); | |
new const _spriteEntity[] = "env_sprite"; | |
for(new id = 1; id <= MaxClients; id++) | |
{ | |
for(new i; i < sizeof SpritesUsage; ++i) | |
{ | |
new ent = playerSprite[id][i] = rg_create_entity(_spriteEntity); | |
if(ent = 0) | |
{ | |
playerSprite[id][i] = 0; | |
continue; | |
} | |
else | |
{ | |
set_entvar(ent, var_classname, "equipment_sprite"); | |
set_entvar(ent, var_solid, SOLID_NOT); | |
set_entvar(ent, var_movetype, MOVETYPE_NOCLIP); | |
set_entvar(ent, var_renderamt, 0); | |
set_entvar(ent, var_) | |
set_entvar(ent, var_) | |
set_entvar(ent, var_) | |
set_entvar(ent, var_) | |
set_entvar(ent, var_modelindex, 0); | |
} | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment