213 lines
5.6 KiB
SourcePawn
213 lines
5.6 KiB
SourcePawn
//////////////////////////////////////////////////////////////////
|
|
// Mapend Action By HSFighter / http://www.hsfighter.net" //
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
#include <sourcemod>
|
|
#include <sdktools>
|
|
#pragma semicolon 1
|
|
#define PLUGIN_VERSION "4.0"
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Delcare Variables and Handles
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
new Handle:CvarMCenabled;
|
|
new Handle:CvarMCdebug;
|
|
|
|
new g_MapendTemp = 0;
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Plugin Info
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
public Plugin:myinfo =
|
|
{
|
|
name = "Simple Mapend Countdown",
|
|
author = "HSFighter",
|
|
description = "Mapendaction with countdown",
|
|
version = PLUGIN_VERSION,
|
|
url = "http://www.hsfighter.net"
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Start Plugin
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
public OnPluginStart()
|
|
{
|
|
CvarMCenabled = CreateConVar("sm_mapend_countdown_enabled", "1", "Enable/disable mapend action.");
|
|
CvarMCdebug = CreateConVar("sm_mapend_countdown_debug", "0", "Debug countdown.");
|
|
|
|
AutoExecConfig(true);
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Start Map
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
public OnMapStart(){
|
|
|
|
PrecacheSound( "hl1/fvox/beep.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/ten.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/nine.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/eight.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/seven.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/six.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/five.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/four.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/three.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/two.wav", true);
|
|
PrecacheSound( "oktoberfest/fvox/one.wav", true);
|
|
|
|
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/ten.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/nine.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/eight.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/seven.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/six.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/five.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/four.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/three.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/two.wav");
|
|
AddFileToDownloadsTable("sound/oktoberfest/fvox/one.wav");
|
|
|
|
g_MapendTemp = 0;
|
|
|
|
CreateTimer(0.5, Checktime, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
|
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Timer
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
public Action:Checktime(Handle:timer)
|
|
{
|
|
if (GetConVarBool(CvarMCenabled)) {
|
|
|
|
new timeleft;
|
|
GetMapTimeLeft(timeleft);
|
|
timeleft = timeleft + 1;
|
|
|
|
if (g_MapendTemp != timeleft)
|
|
{
|
|
g_MapendTemp = timeleft;
|
|
if (GetConVarBool(CvarMCdebug)) PrintToChatAll("Debug: %i Sec. left",timeleft);
|
|
|
|
switch (timeleft)
|
|
{
|
|
case 1200:
|
|
{
|
|
EmitSoundToAll("hl1/fvox/beep.wav");
|
|
PrintToChatAll("Endmap in 20 Min...");
|
|
}
|
|
case 600:
|
|
{
|
|
EmitSoundToAll("hl1/fvox/beep.wav");
|
|
PrintToChatAll("Endmap in 10 Min...");
|
|
}
|
|
case 300:
|
|
{
|
|
EmitSoundToAll("hl1/fvox/beep.wav");
|
|
PrintToChatAll("Endmap in 5 Min...");
|
|
}
|
|
case 60:
|
|
{
|
|
EmitSoundToAll("hl1/fvox/beep.wav");
|
|
PrintToChatAll("Endmap in 60 Sec...");
|
|
}
|
|
case 30:
|
|
{
|
|
EmitSoundToAll("hl1/fvox/beep.wav");
|
|
PrintToChatAll("Endmap in 30 Sec...");
|
|
}
|
|
case 20:
|
|
{
|
|
EmitSoundToAll("hl1/fvox/beep.wav");
|
|
PrintToChatAll("Endmap in 20 Sec...");
|
|
}
|
|
case 10:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/ten.wav");
|
|
PrintToChatAll("Endmap in 10 Sec...");
|
|
}
|
|
case 9:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/nine.wav");
|
|
PrintToChatAll("Endmap in 9 Sec...");
|
|
}
|
|
case 8:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/eight.wav");
|
|
PrintToChatAll("Endmap in 8 Sec...");
|
|
}
|
|
case 7:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/seven.wav");
|
|
PrintToChatAll("Endmap in 7 Sec...");
|
|
}
|
|
case 6:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/six.wav");
|
|
PrintToChatAll("Endmap in 6 Sec...");
|
|
}
|
|
case 5:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/five.wav");
|
|
PrintToChatAll("Endmap in 5 Sec...");
|
|
}
|
|
case 4:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/four.wav");
|
|
PrintToChatAll("Endmap in 4 Sec...");
|
|
}
|
|
case 3:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/three.wav");
|
|
PrintToChatAll("Endmap in 3 Sec...");
|
|
}
|
|
case 2:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/two.wav");
|
|
PrintToChatAll("Endmap in 2 Sec...");
|
|
}
|
|
case 1:
|
|
{
|
|
EmitSoundToAll("oktoberfest/fvox/one.wav");
|
|
ServerCommand("mp_ignore_round_win_conditions 0");
|
|
ServerCommand("cssdm_enabled 0");
|
|
PrintToChatAll("Endmap in 1 Sec...");
|
|
}
|
|
}
|
|
|
|
if (timeleft <= 0)
|
|
{
|
|
new String:nextmap[250];
|
|
GetConVarString(FindConVar("sm_nextmap"), nextmap, sizeof(nextmap));
|
|
ServerCommand("changelevel %s", nextmap);
|
|
return Plugin_Continue;
|
|
}
|
|
}
|
|
}
|
|
return Plugin_Handled;
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
//
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
|
|
public OnMapEnd()
|
|
{
|
|
|
|
}
|
|
|
|
|
|
public OnPluginEnd()
|
|
{
|
|
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// End Plugin
|
|
////////////////////////////////////////////////////////////////// |