Descrição:
No Round Fim do Mundo o Mapa Ficara Escuro e Trovejando Sem Parar
e depois que o tempo acaba (O que Aparece na Hud) Todos Morrem !!!
No Round Fim do Mundo o Mapa Ficara Escuro e Trovejando Sem Parar
e depois que o tempo acaba (O que Aparece na Hud) Todos Morrem !!!
SMAs:
Versão Para Zombie Plague Advance New Modes:
Código:
#include <amxmodx>
#include < fun >
#include <zpa_new_modes>
/************************************************************\
| Customizations Section |
| You can edit here according to your liking |
\************************************************************/
#define BLAST_TASK 13192389
#define TASK_COUNTDOWN 213103
// This is the chance value according to which this game mode will be called
// The higher the value the lesser the chance of calling this game mode
new const g_chance = 20
// This is the access flag required to start the game mode
// through the admin menu. Look in users.ini for more details
new const g_access_flag[] = "l"
// This is the sound which is played when the game mode is triggered
// Add as many as you want [Randomly chosen if more than one]
new const g_play_sounds[][] = { "zombie_plague/nemesis1.wav", "zombie_plague/survivor1.wav" }
// Comment the following line to disable ambience sounds
// Just add two slashes ( // )
#define AMBIENCE_SOUNDS
#if defined AMBIENCE_SOUNDS
// Ambience Sounds (only .wav and .mp3 formats supported)
// Add as many as you want [Randomly chosen if more than one]
new const g_sound_ambience[][] = { "zombie_plague/ambience.wav" }
// Duration in seconds of each sound
new const Float:g_sound_ambience_duration[] = { 58.0 , 56.0 }
#endif
new const sound_launch[] = { "weapons/mortar.wav" }
new const sound_blast[] = { "weapons/mortarhit.wav" }
/************************************************************\
| Customizations Ends Here..!! |
| You can edit the cvars in the plugin init |
\************************************************************/
// Variables
new g_gameid, g_maxplayers, cvar_minplayers, cvar_ratio, cvar_sniperhp, cvar_assahp, g_msg_sync, cvar_nemhp, cvar_survhp, cvar_berserkerhp, cvar_predatorhp
new old_cvar, szTime, cvar_time, g_fim_do_mundo_round, claridade_padrao[33]
// Ambience sounds
#define TASK_AMB 3256
public plugin_init( )
{
// Plugin registeration.
register_plugin( "[ZP] Modo Fim do Mundo","1.0", "@bdul! | [P]erfec[T] [S]cr[@]s[H]" )
// Register some cvars
// Edit these according to your liking
cvar_minplayers = register_cvar("zp_fdm_minplayers", "2")
cvar_sniperhp = register_cvar("zp_fdm_sniper_hp", "1.0")
cvar_assahp = register_cvar("zp_fdm_assassin_hp", "0.3")
cvar_survhp = register_cvar("zp_fdm_survivor_hp", "1.0")
cvar_nemhp = register_cvar("zp_fdm_nemesis_hp", "0.3")
cvar_berserkerhp = register_cvar("zp_fdm_berserker_hp", "1.0")
cvar_predatorhp = register_cvar("zp_fdm_predator_hp", "0.3")
cvar_ratio = register_cvar("zp_fdm_inf_ratio", "0.5")
cvar_time = register_cvar("zp_fdm_time", "180") // Tempo Para O Mundo Acabar
// Get maxplayers
g_maxplayers = get_maxplayers( )
// Hud stuff
g_msg_sync = CreateHudSyncObj()
}
// Game modes MUST be registered in plugin precache ONLY
public plugin_precache( )
{
// Read the access flag
new access_flag = read_flags( g_access_flag )
new i
// Precache the play sounds
for (i = 0; i < sizeof g_play_sounds; i++)
precache_sound( g_play_sounds[i] )
precache_sound(sound_launch)
precache_sound(sound_blast)
// Precache the ambience sounds
#if defined AMBIENCE_SOUNDS
new sound[100]
for (i = 0; i < sizeof g_sound_ambience; i++)
{
if (equal(g_sound_ambience[i][strlen(g_sound_ambience[i])-4], ".mp3"))
{
formatex(sound, sizeof sound - 1, "sound/%s", g_sound_ambience[i])
precache_generic( sound )
}
else
{
precache_sound( g_sound_ambience[i] )
}
}
#endif
// Register our game mode
g_gameid = zp_register_game_mode( "Modo Fim do Mundo", access_flag, g_chance, 0, ZP_DM_BALANCE )
}
// Player spawn post
public zp_player_spawn_post( id )
{
// Check for current mode
if( zp_get_current_mode() == g_gameid )
{
// Check if the player is a zombie
if( zp_get_user_zombie( id ))
switch(random_num(1,8))
{
case 1:
{
// Make him an assassin instead
zp_make_user_assassin( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_assahp)) )
}
case 2:
{
// Make him a sniper
zp_make_user_sniper( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_sniperhp)))
}
case 3:
{
// Make him a sniper
zp_make_user_nemesis( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_nemhp)))
}
case 4:
{
// Make him a sniper
zp_make_user_survivor( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_survhp)))
}
case 5:
{
// Make him a sniper
zp_make_user_predator( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_predatorhp)))
}
case 6:
{
// Make him a sniper
zp_make_user_berserker( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_berserkerhp)))
}
case 7: zp_infect_user(id)
case 8: zp_disinfect_user(id)
}
}
}
public zp_round_started_pre( game )
{
// Check if it is our game mode
if( game == g_gameid )
{
// Check for min players
if(fn_get_alive_players() < get_pcvar_num(cvar_minplayers)) return ZP_PLUGIN_HANDLED;
// Start our new mode
start_fim_do_mundo_mode()
}
// Make the compiler happy =)
return PLUGIN_CONTINUE
}
public zp_round_started( game, id )
{
// Check if it is our game mode
if( game == g_gameid )
{
// Show HUD notice
set_hudmessage(221, 156, 21, -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_msg_sync, "Modo Fim do Mundo !!!")
// Play the starting sound
client_cmd(0, "spk ^"%s^"", g_play_sounds[ random_num(0, sizeof g_play_sounds -1) ] )
// Remove ambience task affects
remove_task( TASK_AMB )
// Set task to start ambience sounds
#if defined AMBIENCE_SOUNDS
set_task( 2.0, "start_ambience_sounds", TASK_AMB )
#endif
}
}
public zp_game_mode_selected( gameid, id )
{
// Check if our game mode was called
if( gameid == g_gameid )
start_fim_do_mundo_mode( )
// Make the compiler happy again =)
return PLUGIN_CONTINUE
}
// This function contains the whole code behind this game mode
start_fim_do_mundo_mode( )
{
g_fim_do_mundo_round = true
// Create and initialize some important vars
static i_assassins, i_max_assassins, id, i_alive
i_alive = fn_get_alive_players()
id = 0
// Get the no of players we have to turn into assassins
i_max_assassins = floatround( ( i_alive * get_pcvar_float( cvar_ratio ) ), floatround_ceil )
i_assassins = 0
old_cvar = get_cvar_num("zp_thunderclap") // Para Pegar O Valor Anterior da Cvar
set_cvar_num("zp_thunderclap", 1) // Para Trovejar como se fosse fim do mundo
set_task(0.4, "CountDown", TASK_COUNTDOWN);
szTime = get_pcvar_num(cvar_time);
new string[32]; get_cvar_string("zp_lighting", string, charsmax(string))
claridade_padrao = string
set_cvar_string("zp_lighting", "a")
// Transformando os jogadores automaticamente em Assassinos/Nemesis
while (i_assassins < i_max_assassins)
{
// Keep looping through all players
if ( (++id) > g_maxplayers) id = 1
// Dead
if ( !is_user_alive(id) )
continue;
if (random_num(1, 5) == 1)
{
switch(random_num(1, 4))
{
case 1:
{
// Tranformando o jogador em Assassino
zp_make_user_assassin(id)
// Ajeitando a Vida do Assassino
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_assahp)) )
}
case 2:
{
// Tranformando o jogador em survivor
zp_make_user_nemesis(id)
// Ajeitando a Vida do Survivor
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_nemhp)) )
}
case 3:
{
// Tranformando o jogador em survivor
zp_make_user_predator(id)
// Ajeitando a Vida do Survivor
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_predatorhp)) )
}
case 4: zp_infect_user(id)
}
// Increase counter
i_assassins++
}
}
// Turn the remaining players into snipers
for (id = 1; id <= g_maxplayers; id++)
{
// Only those of them who are alive and are not assassins
if ( !is_user_alive(id) || zp_get_user_assassin(id) || zp_get_user_nemesis(id) || zp_get_user_predator(id))
continue;
switch(random_num(1, 4))
{
case 1:
{
// Tranformando o jogador em Sniper
zp_make_user_sniper(id)
// Ajeitando a Vida do Sniper
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_sniperhp)) )
}
case 2:
{
// Tranformando o jogador em survivor
zp_make_user_survivor(id)
// Ajeitando a Vida do Survivor
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_survhp)) )
}
case 3:
{
// Tranformando o jogador em survivor
zp_make_user_berserker(id)
// Ajeitando a Vida do Survivor
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_berserkerhp)) )
}
case 4: zp_disinfect_user(id)
}
}
}
#if defined AMBIENCE_SOUNDS
public start_ambience_sounds( )
{
// Variables
static amb_sound[64], sound, Float:duration
// Select our ambience sound
sound = random_num( 0, sizeof g_sound_ambience - 1 )
copy( amb_sound, sizeof amb_sound - 1 , g_sound_ambience[ sound ] )
duration = g_sound_ambience_duration[ sound ]
// Check whether it's a wav or mp3, then play it on clients
if ( equal( amb_sound[ strlen( amb_sound ) - 4 ], ".mp3" ) )
client_cmd( 0, "mp3 play ^"sound/%s^"", amb_sound )
else
client_cmd( 0, "spk ^"%s^"", sound )
// Start the ambience sounds
set_task( duration, "start_ambience_sounds", TASK_AMB )
}
#endif
public zp_round_ended( winteam )
{
if(g_fim_do_mundo_round && szTime > 0)
{
// Stop ambience sounds on round end
g_fim_do_mundo_round = false
remove_task( TASK_AMB )
client_cmd(0, "mp3 stop")
// Remove previous tasks and set the new ones
remove_task(BLAST_TASK)
remove_task(TASK_COUNTDOWN)
set_task(0.1, "task_siren", BLAST_TASK)
set_task(0.8, "task_launch", BLAST_TASK)
set_task(2.5, "task_blast", BLAST_TASK)
set_cvar_num("zp_thunderclap", old_cvar)
set_cvar_string("zp_lighting", claridade_padrao)
}
}
// This function returns the no. of alive players
// Feel free to use this in your plugin when you
// are making your own game modes.
fn_get_alive_players( )
{
static i_alive, id
i_alive = 0
for ( id = 1; id <= g_maxplayers; id++ )
{
if( is_user_alive( id ) )
i_alive++
}
return i_alive;
}
public task_siren()
{
set_hudmessage(255, 0, 0, -1.0, -1.0, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_msg_sync, "O Mundo Acabou !!!!")
}
public task_launch()
{
// Launch sound
client_cmd(0, "spk %s", sound_launch)
// Screen fade effect
message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
write_short((1<<12)*4) // Duration
write_short((1<<12)*1) // Hold time
write_short(0x0001) // Fade type
write_byte (255) // Red
write_byte (255) // Green
write_byte (255) // Blue
write_byte (255) // Alpha
message_end()
}
public task_blast()
{
// Blast sound
client_cmd(0, "spk %s", sound_blast)
static id, deathmsg_block
// Get current blocking state of the deathmsg
deathmsg_block = get_msg_block(get_user_msgid("DeathMsg"))
// Set it to blocked
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
// "Eliminate" players
for (id = 1; id <= 32; id++) if (is_user_alive(id)) user_kill(id, 1)
// Set the previous blocking state
set_msg_block(get_user_msgid("DeathMsg"), deathmsg_block)
}
public CountDown(id)
{
id -= TASK_COUNTDOWN
if(szTime <= 0)
{
// Remove previous tasks and set the new ones
remove_task(BLAST_TASK)
set_task(0.1, "task_siren", BLAST_TASK)
set_task(0.8, "task_launch", BLAST_TASK)
set_task(2.5, "task_blast", BLAST_TASK)
remove_task(id + TASK_COUNTDOWN)
set_cvar_num("zp_thunderclap", old_cvar)
set_cvar_string("zp_lighting", claridade_padrao)
}
else
{
set_hudmessage(255, 255, 0, -1.0, -1.0, 1, 0.1, 3.0, 0.05, 0.05, -1);
ShowSyncHudMsg(id, g_msg_sync, "[O Mundo Ira Acabar Em]^n.: %i :.", szTime);
set_task(1.0, "CountDown", id+TASK_COUNTDOWN);
--szTime ;
}
}
Versão Para Advance Normal:
Código:
#include <amxmodx>
#include < fun >
#include <zombie_plague_advance>
/************************************************************\
| Customizations Section |
| You can edit here according to your liking |
\************************************************************/
#define BLAST_TASK 13192389
#define TASK_COUNTDOWN 213103
// This is the chance value according to which this game mode will be called
// The higher the value the lesser the chance of calling this game mode
new const g_chance = 20
// This is the access flag required to start the game mode
// through the admin menu. Look in users.ini for more details
new const g_access_flag[] = "l"
// This is the sound which is played when the game mode is triggered
// Add as many as you want [Randomly chosen if more than one]
new const g_play_sounds[][] = { "zombie_plague/nemesis1.wav", "zombie_plague/survivor1.wav" }
// Comment the following line to disable ambience sounds
// Just add two slashes ( // )
#define AMBIENCE_SOUNDS
#if defined AMBIENCE_SOUNDS
// Ambience Sounds (only .wav and .mp3 formats supported)
// Add as many as you want [Randomly chosen if more than one]
new const g_sound_ambience[][] = { "zombie_plague/ambience.wav" }
// Duration in seconds of each sound
new const Float:g_sound_ambience_duration[] = { 58.0 , 56.0 }
#endif
new const sound_launch[] = { "weapons/mortar.wav" }
new const sound_blast[] = { "weapons/mortarhit.wav" }
/************************************************************\
| Customizations Ends Here..!! |
| You can edit the cvars in the plugin init |
\************************************************************/
// Variables
new g_gameid, g_maxplayers, cvar_minplayers, cvar_ratio, cvar_sniperhp, cvar_assahp, g_msg_sync, cvar_nemhp, cvar_survhp
new old_cvar, szTime, cvar_time, g_fim_do_mundo_round, claridade_padrao[33]
// Ambience sounds
#define TASK_AMB 3256
public plugin_init( )
{
// Plugin registeration.
register_plugin( "[ZP] Modo Fim do Mundo","1.0", "@bdul! | [P]erfec[T] [S]cr[@]s[H]" )
// Register some cvars
// Edit these according to your liking
cvar_minplayers = register_cvar("zp_fdm_minplayers", "2")
cvar_sniperhp = register_cvar("zp_fdm_sniper_hp", "1.0")
cvar_assahp = register_cvar("zp_fdm_assassin_hp", "0.3")
cvar_survhp = register_cvar("zp_fdm_survivor_hp", "1.0")
cvar_nemhp = register_cvar("zp_fdm_nemesis_hp", "0.3")
cvar_ratio = register_cvar("zp_fdm_inf_ratio", "0.5")
cvar_time = register_cvar("zp_fdm_time", "180") // Tempo Para O Mundo Acabar
// Get maxplayers
g_maxplayers = get_maxplayers( )
// Hud stuff
g_msg_sync = CreateHudSyncObj()
}
// Game modes MUST be registered in plugin precache ONLY
public plugin_precache( )
{
// Read the access flag
new access_flag = read_flags( g_access_flag )
new i
// Precache the play sounds
for (i = 0; i < sizeof g_play_sounds; i++)
precache_sound( g_play_sounds[i] )
precache_sound(sound_launch)
precache_sound(sound_blast)
// Precache the ambience sounds
#if defined AMBIENCE_SOUNDS
new sound[100]
for (i = 0; i < sizeof g_sound_ambience; i++)
{
if (equal(g_sound_ambience[i][strlen(g_sound_ambience[i])-4], ".mp3"))
{
formatex(sound, sizeof sound - 1, "sound/%s", g_sound_ambience[i])
precache_generic( sound )
}
else
{
precache_sound( g_sound_ambience[i] )
}
}
#endif
// Register our game mode
g_gameid = zp_register_game_mode( "Modo Fim do Mundo", access_flag, g_chance, 0, ZP_DM_BALANCE )
}
// Player spawn post
public zp_player_spawn_post( id )
{
// Check for current mode
if( zp_get_current_mode() == g_gameid )
{
// Check if the player is a zombie
if( zp_get_user_zombie( id ))
switch(random_num(1,6))
{
case 1:
{
// Make him an assassin instead
zp_make_user_assassin( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_assahp)) )
}
case 2:
{
// Make him a sniper
zp_make_user_sniper( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_sniperhp)))
}
case 3:
{
// Make him a sniper
zp_make_user_nemesis( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_nemhp)))
}
case 4:
{
// Make him a sniper
zp_make_user_survivor( id )
// Set his health
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_survhp)))
}
case 5: zp_infect_user(id)
case 6: zp_disinfect_user(id)
}
}
}
public zp_round_started_pre( game )
{
// Check if it is our game mode
if( game == g_gameid )
{
// Check for min players
if(fn_get_alive_players() < get_pcvar_num(cvar_minplayers)) return ZP_PLUGIN_HANDLED;
// Start our new mode
start_fim_do_mundo_mode()
}
// Make the compiler happy =)
return PLUGIN_CONTINUE
}
public zp_round_started( game, id )
{
// Check if it is our game mode
if( game == g_gameid )
{
// Show HUD notice
set_hudmessage(221, 156, 21, -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_msg_sync, "Modo Fim do Mundo !!!")
// Play the starting sound
client_cmd(0, "spk ^"%s^"", g_play_sounds[ random_num(0, sizeof g_play_sounds -1) ] )
// Remove ambience task affects
remove_task( TASK_AMB )
// Set task to start ambience sounds
#if defined AMBIENCE_SOUNDS
set_task( 2.0, "start_ambience_sounds", TASK_AMB )
#endif
}
}
public zp_game_mode_selected( gameid, id )
{
// Check if our game mode was called
if( gameid == g_gameid )
start_fim_do_mundo_mode( )
// Make the compiler happy again =)
return PLUGIN_CONTINUE
}
// This function contains the whole code behind this game mode
start_fim_do_mundo_mode( )
{
g_fim_do_mundo_round = true
// Create and initialize some important vars
static i_assassins, i_max_assassins, id, i_alive
i_alive = fn_get_alive_players()
id = 0
// Get the no of players we have to turn into assassins
i_max_assassins = floatround( ( i_alive * get_pcvar_float( cvar_ratio ) ), floatround_ceil )
i_assassins = 0
old_cvar = get_cvar_num("zp_thunderclap") // Para Pegar O Valor Anterior da Cvar
set_cvar_num("zp_thunderclap", 1) // Para Trovejar como se fosse fim do mundo
set_task(0.4, "CountDown", TASK_COUNTDOWN);
szTime = get_pcvar_num(cvar_time);
new string[32]; get_cvar_string("zp_lighting", string, charsmax(string))
claridade_padrao = string
set_cvar_string("zp_lighting", "a")
// Transformando os jogadores automaticamente em Assassinos/Nemesis
while (i_assassins < i_max_assassins)
{
// Keep looping through all players
if ( (++id) > g_maxplayers) id = 1
// Dead
if ( !is_user_alive(id) )
continue;
if (random_num(1, 5) == 1)
{
switch(random_num(1, 3))
{
case 1:
{
// Tranformando o jogador em Assassino
zp_make_user_assassin(id)
// Ajeitando a Vida do Assassino
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_assahp)) )
}
case 2:
{
// Tranformando o jogador em survivor
zp_make_user_nemesis(id)
// Ajeitando a Vida do Survivor
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_nemhp)) )
}
case 3: zp_infect_user(id)
}
// Increase counter
i_assassins++
}
}
// Turn the remaining players into snipers
for (id = 1; id <= g_maxplayers; id++)
{
// Only those of them who are alive and are not assassins
if ( !is_user_alive(id) || zp_get_user_assassin(id) || zp_get_user_nemesis(id))
continue;
switch(random_num(1, 3))
{
case 1:
{
// Tranformando o jogador em Sniper
zp_make_user_sniper(id)
// Ajeitando a Vida do Sniper
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_sniperhp)) )
}
case 2:
{
// Tranformando o jogador em survivor
zp_make_user_survivor(id)
// Ajeitando a Vida do Survivor
set_user_health( id, floatround(get_user_health(id) * get_pcvar_float(cvar_survhp)) )
}
case 3: zp_disinfect_user(id)
}
}
}
#if defined AMBIENCE_SOUNDS
public start_ambience_sounds( )
{
// Variables
static amb_sound[64], sound, Float:duration
// Select our ambience sound
sound = random_num( 0, sizeof g_sound_ambience - 1 )
copy( amb_sound, sizeof amb_sound - 1 , g_sound_ambience[ sound ] )
duration = g_sound_ambience_duration[ sound ]
// Check whether it's a wav or mp3, then play it on clients
if ( equal( amb_sound[ strlen( amb_sound ) - 4 ], ".mp3" ) )
client_cmd( 0, "mp3 play ^"sound/%s^"", amb_sound )
else
client_cmd( 0, "spk ^"%s^"", sound )
// Start the ambience sounds
set_task( duration, "start_ambience_sounds", TASK_AMB )
}
#endif
public zp_round_ended( winteam )
{
if(g_fim_do_mundo_round && szTime > 0)
{
// Stop ambience sounds on round end
g_fim_do_mundo_round = false
remove_task( TASK_AMB )
client_cmd(0, "mp3 stop")
// Remove previous tasks and set the new ones
remove_task(BLAST_TASK)
remove_task(TASK_COUNTDOWN)
set_task(0.1, "task_siren", BLAST_TASK)
set_task(0.8, "task_launch", BLAST_TASK)
set_task(2.5, "task_blast", BLAST_TASK)
set_cvar_num("zp_thunderclap", old_cvar)
set_cvar_string("zp_lighting", claridade_padrao)
}
}
// This function returns the no. of alive players
// Feel free to use this in your plugin when you
// are making your own game modes.
fn_get_alive_players( )
{
static i_alive, id
i_alive = 0
for ( id = 1; id <= g_maxplayers; id++ )
{
if( is_user_alive( id ) )
i_alive++
}
return i_alive;
}
public task_siren()
{
set_hudmessage(255, 0, 0, -1.0, -1.0, 1, 0.0, 5.0, 1.0, 1.0, -1)
ShowSyncHudMsg(0, g_msg_sync, "O Mundo Acabou !!!!")
}
public task_launch()
{
// Launch sound
client_cmd(0, "spk %s", sound_launch)
// Screen fade effect
message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
write_short((1<<12)*4) // Duration
write_short((1<<12)*1) // Hold time
write_short(0x0001) // Fade type
write_byte (255) // Red
write_byte (255) // Green
write_byte (255) // Blue
write_byte (255) // Alpha
message_end()
}
public task_blast()
{
// Blast sound
client_cmd(0, "spk %s", sound_blast)
static id, deathmsg_block
// Get current blocking state of the deathmsg
deathmsg_block = get_msg_block(get_user_msgid("DeathMsg"))
// Set it to blocked
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
// "Eliminate" players
for (id = 1; id <= 32; id++) if (is_user_alive(id)) user_kill(id, 1)
// Set the previous blocking state
set_msg_block(get_user_msgid("DeathMsg"), deathmsg_block)
}
public CountDown(id)
{
id -= TASK_COUNTDOWN
if(szTime <= 0)
{
// Remove previous tasks and set the new ones
remove_task(BLAST_TASK)
set_task(0.1, "task_siren", BLAST_TASK)
set_task(0.8, "task_launch", BLAST_TASK)
set_task(2.5, "task_blast", BLAST_TASK)
remove_task(id + TASK_COUNTDOWN)
set_cvar_num("zp_thunderclap", old_cvar)
set_cvar_string("zp_lighting", claridade_padrao)
}
else
{
set_hudmessage(255, 255, 0, -1.0, -1.0, 1, 0.1, 3.0, 0.05, 0.05, -1);
ShowSyncHudMsg(id, g_msg_sync, "[O Mundo Ira Acabar Em]^n.: %i :.", szTime);
set_task(1.0, "CountDown", id+TASK_COUNTDOWN);
--szTime ;
}
}