Каченият файл не е отделен звук за всяка секунда, а един звук за всички 10 секунди.
Code: Select all
#include <amxmodx>
#include <csx>
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif
#define PLUGIN_VERSION "1.0 [DHUD] [10SEC SOUND]"
#define RED 0
#define GREEN 1
#define BLUE 2
#define TASK_TIMER 330999
#define CDOWN_SOUND "mysound.mp3"
new g_szTimer[128], g_iOriginalTimer, g_iC4Timer
new g_cvarStyle, g_cvarRandom, g_cvarYellow, g_cvarRed, g_cvarXPos, g_cvarYPos
new g_iStyle, g_iRandom, g_iYellow, g_iRed, Float:g_flXPos, Float:g_flYPos
new bool:g_blPlanted
public plugin_init()
{
register_plugin("Style C4 Timer", PLUGIN_VERSION, "OciXCrom")
register_cvar("StyleC4Timer", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
register_logevent("eventRoundStart", 2, "1=Round_Start")
register_logevent("eventRoundEnd", 2, "1=Round_End")
register_logevent("eventRoundEnd", 2, "1&Restart_Round_")
g_cvarStyle = register_cvar("c4timer_style", "1")
g_cvarRandom = register_cvar("c4timer_random", "0")
g_cvarYellow = register_cvar("c4timer_yellow", "10")
g_cvarRed = register_cvar("c4timer_red", "5")
g_cvarXPos = register_cvar("c4timer_xpos", "-1.0")
g_cvarYPos = register_cvar("c4timer_ypos", "0.80")
g_iOriginalTimer = get_pcvar_num(get_cvar_pointer("mp_c4timer"))
}
public plugin_precache()
precache_generic(CDOWN_SOUND)
public eventRoundStart()
{
g_iC4Timer = -1
remove_task(TASK_TIMER)
g_blPlanted = false
client_cmd(0, "mp3 stop")
}
public eventRoundEnd()
{
g_iC4Timer = -1
remove_task(TASK_TIMER)
}
public bomb_planted()
{
g_blPlanted = true
g_iC4Timer = g_iOriginalTimer
formTimer()
displayTimer()
set_task(1.0, "displayTimer", TASK_TIMER, "", 0, "b")
}
public bomb_defused()
{
if(g_blPlanted)
{
remove_task(TASK_TIMER)
g_blPlanted = false
client_cmd(0, "mp3 stop")
}
}
public bomb_explode()
{
if(g_blPlanted)
{
remove_task(TASK_TIMER)
g_blPlanted = false
}
}
public formTimer()
{
clearTimer()
checkCvars()
switch(g_iStyle)
{
case 1:
{
addTimer("[ ")
for(new i = 0; i < g_iC4Timer; i++)
addTimer("- ")
addTimer("]")
}
case 2:
{
for(new i = 0; i < g_iC4Timer; i++)
addTimer("o")
}
case 3:
{
addTimer("| o ")
for(new i = 0; i < g_iC4Timer; i++)
addTimer("> ")
addTimer("|")
}
case 4:
{
addTimer("| C4 ")
for(new i = 0; i < g_iC4Timer; i++)
addTimer("> ")
addTimer("|")
}
default: formatex(g_szTimer, charsmax(g_szTimer), "C4: %i", g_iC4Timer)
}
}
public checkCvars()
{
g_iStyle = get_pcvar_num(g_cvarStyle)
g_iRandom = get_pcvar_num(g_cvarRandom)
g_iYellow = get_pcvar_num(g_cvarYellow)
g_iRed = get_pcvar_num(g_cvarRed)
g_flXPos = get_pcvar_float(g_cvarXPos)
g_flYPos = get_pcvar_float(g_cvarYPos)
}
public updateTimer()
{
switch(g_iStyle)
{
case 1: replaceTimer("-", "|")
case 2: replaceTimer("o", "")
case 3: replaceTimer("o >", "> o")
case 4: replaceTimer("C4 >", "> C4")
default: formatex(g_szTimer, charsmax(g_szTimer), "C4: %i", g_iC4Timer)
}
}
public clearTimer()
formatex(g_szTimer, charsmax(g_szTimer), "")
public addTimer(const szString[])
add(g_szTimer, charsmax(g_szTimer), szString)
public replaceTimer(const szString[], const szString2[])
replace(g_szTimer, charsmax(g_szTimer), szString, szString2)
public displayTimer()
{
if(!g_blPlanted)
{
remove_task(TASK_TIMER)
return
}
if(g_iC4Timer >= 0)
{
if(g_iC4Timer == 10)
client_cmd(0, "mp3 play %s", CDOWN_SOUND)
new g_iColor[3]
if(g_iRandom)
{
g_iColor[RED] = random(256)
g_iColor[GREEN] = random(256)
g_iColor[BLUE] = random(256)
}
else
{
if(g_iC4Timer > g_iYellow) g_iColor[GREEN] = 100
else if(g_iC4Timer > g_iRed)
{
g_iColor[RED] = 255
g_iColor[GREEN] = 255
}
else g_iColor[RED] = 255
}
g_iC4Timer--
set_dhudmessage(g_iColor[0], g_iColor[1], g_iColor[2], g_flXPos, g_flYPos, 0, 1.0, 1.0, 0.01, 0.01)
show_dhudmessage(0, g_szTimer, g_iC4Timer)
updateTimer()
}
}
Промени локацията на звука от #define CDOWN_SOUND.