Прост C4 Timer

Плъгини използващи ReAPI модула.
Отговори
Потребителски аватар

Автор на темата
mi0 mi0 ;)
Потребител
Потребител
Мнения: 94
Регистриран: 09 дек 2016, 22:02
Се отблагодари: 12 пъти
Получена благодарност: 11 пъти
Години: 25

Прост C4 Timer

Мнение от mi0 mi0 ;) » 30 дек 2018, 21:08

Здравейте!
Плъгина е на 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

Отговори

Върни се в “Плъгини за ReAPI”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост