Counter-Strike 1.6
VIP
Cs-PlovdiV.com - Aim Attack
93.123.16.4:27022
aim_aztec
Играчи: 0/16
aim_aztec
Counter-Strike 1.6
VIP
93.123.16.4:27022 Cs-PlovdiV.com - Aim Attack aim_aztec 0/16

HappyHour - изкарване на HUD без рестарт на картата

Въпроси и проблеми свързани с AMXModX.
Аватар
Lethality
Извън линия
VHE Mapper
VHE Mapper
Мнения: 211
Регистриран на: 06 Яну 2020, 15:41
Местоположение: Германия
Се отблагодари: 34 пъти
Получена благодарност: 50 пъти
Обратна връзка:

HappyHour - изкарване на HUD без рестарт на картата

Мнение от Lethality » 12 Мар 2021, 23:13

Здравейте,

как трябва да стане, за да няма нужда да се рестартира картата и когато стане определения час да изкарва HUD съобщението? В случая в момента HUD-а се появява след като се рестартира картата, въпреки, че часът е настъпил..

Благодаря!

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <crxranks>

#define PLUGIN_VERSION "1.0"

new g_szMessage[256], g_iObject
new bool:g_bHappyHour, g_pStart, g_pEnd, g_pMultiplier, g_iMultiplier

public plugin_init()
{
	register_plugin("CRXRanks: Happy Hour", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXRanksHH", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	g_pStart = register_cvar("crxranks_hh_start", "23")
	g_pEnd = register_cvar("crxranks_hh_end", "1")
	g_pMultiplier = register_cvar("crxranks_hh_multiplier", "2")
	g_iObject = CreateHudSyncObj()
}

public plugin_cfg()
{
	new iStart = get_cvar_num("crxranks_hh_start")
	new iEnd = get_cvar_num("crxranks_hh_end")
	
	OnRoundStart()
	if(is_happy_hour(iStart, iEnd))
	{
		formatex(g_szMessage, charsmax(g_szMessage), "..::Happy Hour:..^n^n..::DOUBLE XP::..^n^n%i:00 h - 0%i:00 h", iStart, iEnd)
		set_task(1.0, "ShowMessage", .flags = "b")
	}
}

public ShowMessage()
{
	set_hudmessage(0, 255, 0, 0.02, 0.20, 1, 0.1, 1.0, 0.1, 0.1, -1)
	ShowSyncHudMsg(0, g_iObject, g_szMessage)
}

public OnRoundStart()
{
	g_iMultiplier = get_pcvar_num(g_pMultiplier)
	g_bHappyHour = is_happy_hour(get_pcvar_num(g_pStart), get_pcvar_num(g_pEnd))
}

public crxranks_user_receive_xp(id, iXP, CRXRanks_XPSources:iSource)
{
	if(g_bHappyHour && iSource == CRXRANKS_XPS_REWARD)
		return iXP * g_iMultiplier
	
	return CRXRANKS_CONTINUE
}

bool:is_happy_hour(const iStart, const iEnd)
{
static iHour; time(iHour)
return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}

Аватар
Lethality
Извън линия
VHE Mapper
VHE Mapper
Мнения: 211
Регистриран на: 06 Яну 2020, 15:41
Местоположение: Германия
Се отблагодари: 34 пъти
Получена благодарност: 50 пъти
Обратна връзка:

HappyHour - изкарване на HUD без рестарт на картата

Мнение от Lethality » 15 Мар 2021, 23:08

Оправих се.

Направих:

Код за потвърждение: Избери целия код

new bool:g_bHudMsg
и в

Код за потвърждение: Избери целия код

public plugin_cfg()

Код за потвърждение: Избери целия код

OnRoundStart()
	set_task(get_pcvar_float(g_pHudFreq), "ShowMessage", .flags = "b")
Локвайте. :coffee:

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта