Плъгина е на ReAPI и не е сложен, не съм сигурен, дали вече някой е направил такъв за ReAPI, но това е моя версия.
Код:
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <reapi>
new g_iTimerEnt
new g_pC4Timer, g_iTimer, g_pCvarColor, g_pCvarPosition
new szColors[17], szRed[4], szGreen[4], szBlue[4], szPosition[33], szX[17], szY[17]
public plugin_init()
{
register_plugin("C4Timer", "1.0", "mi0")
RegisterHookChain(RG_PlantBomb, "RG_PlantBomb_Hook")
RegisterHookChain(RG_RoundEnd, "RG_RoundEnd_Hook")
RegisterHookChain(RG_CGrenade_DefuseBombEnd, "RG_CGrenade_DefuseBombEnd_Hook")
g_iTimerEnt = rg_create_entity("info_target")
set_entvar(g_iTimerEnt, var_classname, "Task_Ent")
g_pC4Timer = get_cvar_pointer("mp_c4timer")
g_pCvarColor = register_cvar("C4Color", "255 0 0")
g_pCvarPosition = register_cvar("C4_Position", "0.45 0.97")
SetThink(g_iTimerEnt, "Entity_Think")
}
public RG_PlantBomb_Hook(id)
{
g_iTimer = get_pcvar_num(g_pC4Timer)
get_pcvar_string(g_pCvarColor, szColors, 16)
get_pcvar_string(g_pCvarPosition, szPosition, 32)
parse(szColors, szRed, 3, szGreen, 3, szBlue, 3)
parse(szPosition, szX, 16, szY, 16)
set_dhudmessage(str_to_num(szRed), str_to_num(szGreen), str_to_num(szBlue), str_to_float(szX), str_to_float(szY), _, _, 1.0)
show_dhudmessage(0, "C4Timer: %i", g_iTimer)
set_entvar(g_iTimerEnt, var_nextthink, 1.0 + get_gametime())
}
public Entity_Think(iEntID)
{
if(iEntID == g_iTimerEnt)
{
get_pcvar_string(g_pCvarColor, szColors, 16)
get_pcvar_string(g_pCvarPosition, szPosition, 32)
parse(szColors, szRed, 3, szGreen, 3, szBlue, 3)
parse(szPosition, szX, 16, szY, 16)
set_dhudmessage(str_to_num(szRed), str_to_num(szGreen), str_to_num(szBlue), str_to_float(szX), str_to_float(szY), _, _, 1.0)
switch(g_iTimer)
{
case -1:
show_dhudmessage(0, "C4Timer: END")
case -2:
show_dhudmessage(0, "C4Timer: DEF")
case 1:
show_dhudmessage(0, "C4Timer: BUM")
default:
{
show_dhudmessage(0, "C4Timer: %i", --g_iTimer)
set_entvar(g_iTimerEnt, var_nextthink, 1.0 + get_gametime())
}
}
}
}
public RG_RoundEnd_Hook()
g_iTimer = g_iTimer == -2 ? -2 : -1
public RG_CGrenade_DefuseBombEnd_Hook(this, player, bool:bDefused)
if(bDefused) g_iTimer = g_iTimer == -1 ? -1 : -2
Код за потвърждение: Избери целия код
C4_Color "255 0 0" //Цветове RGB
C4_Position "0.45 0.97" //Позиция XY