Can some one modify this plugin so that before starting of match the players are randomized in both teams and then we can select captains.
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>
#include <csx>
#include <engine>
#if AMXX_VERSION_NUM <183
#include <dhudmessage>
#endif
#define MAX_PLAYERS 32
#define PLUGIN "WAR"
#define VERSION "1.0"
#define AUTHOR "anonymous"
#pragma compress 1
new iXYPos;
new const Float: HUD_XY_POS [] [] =
{
{-1.0, 0.90},
{-1.0, 0.80},
{-1.0, 0.70},
{-1.0, 0.60},
{-1.0, 0.50},
{-1.0, 0.40},
{-1.0, 0.30},
{-1.0, 0.20},
{-1.0, 0.10}
};
new Match_Sound [4] [] =
{
"sound / match / getreadytofight.mp3",
"sound / match / firsthalf.mp3",
"sound / match / secondhalf.mp3",
"sound / match / winner.mp3"
};
new get_ready [1] [] =
{
"sound / match / getreadytofight.mp3"
}
new first_half [1] [] =
{
"sound / match / firsthalf.mp3"
}
new second_half [1] [] =
{
"sound / match / secondhalf.mp3"
}
new winner [1] [] =
{
"sound / match / winner.mp3"
}
// Set frags.
new Frags [33], Deaths [33], RestartGame
// ===================== Players Selection. ======================================
new g_PlayerSelected [MAX_PLAYERS + 1]
// Game Description
new amx_warname
// Bomb AFK Manager declarations. ======================
// comment to avoid autodisabling the plugin on maps which not contain bomb targets
// # define BOMB_MAP_CHECK
// float value, hud messages display time (in seconds)
#define MSG_TIME 7.0
// CVAR name, affects on spawned AFK bomb carrier which never moved after spawn
// new CVAR_SPAWN [] = "afk_bombtransfer_spawn"
// CVAR value, max. allowed bomb carrier AFK time (in seconds)
// new DEFAULT_SPAWN [] = "7"
// CVAR name, affects on any AFK bomb carrier except one which obey previous CVAR
// new CVAR_TIME [] = "afk_bombtransfer_time"
// CVAR value, max. allowed bomb carrier AFK time (in seconds)
// new DEFAULT_TIME [] = "7"
// initial AMXX version number supported CVAR pointers in get / set_pcvar_ * natives
#define CVAR_POINTERS_AMXX_INIT_VER_NUM 170
// determine if get / set_pcvar_ * natives can be used
#if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM> = CVAR_POINTERS_AMXX_INIT_VER_NUM
#define CVAR_POINTERS
new g_pcvar_spawn
new g_pcvar_time
#endif
new TEAM [] = "TERRORIST"
new WEAPON [] = "weapon_c4"
#define FL_ONGROUND (1 << 9)
new bool: g_freezetime = true
new bool: g_spawn
new bool: g_planting
new g_carrier
new g_pos [MAX_PLAYERS + 1] [3]
new g_time [MAX_PLAYERS + 1]
new g_maxplayers
// Ranking system.
new g_TotalKills [33]
new g_TotalDeaths [33]
new g_BombPlants [33]
new g_BombDefusions [33]
new gMaxPlayers
new msgToDisplay [456]
new msgToDisplaykill [456]
new msgToDisplaydeath [456]
new msgToDisplayplant [456]
new msgToDisplaydefuse [456]
// get the current status of the HALF. By default false because no half started.
new bool: isFirstHalfStarted = false
new bool: isSecondHalfStarted = false
new gCptT
new gCptCT
new CaptainCount = 0
// new bool: g_KnifeRound = false
// Is Match Initialized?
new bool: g_MatchInit = false
// Owner of: who started the match
new MatchStarterOwner = 0
// Check if captain is choosen
new bool: CaptainSChosen
// Is Match started!
new bool: g_MatchStarted = false
// Set main match started to true: useful for leaving players + Count for leaving players.
new bool: g_MainMatchStarted = false
// By default first half if the second half is false.
new bool: is_secondHalf = false
// Handle the score. By default to: 0 score.
new ScoreFtrstTeam = 0
new ScoreScondteam = 0
// Show menu to the first captain == winner
new ShowMenuFirst
new ShowMenuSecond
// Captains Chosen Teams. - 2 == CT & 1 == T
new FirstCaptainTeamName
new SecondCaptainTeamName
// Store the name of the Captains.
new FirstCaptainName [52]
new SecondCaptainName [52]
// Store the Auth ID of the captains.
new FirstCaptainAuthID [128]
new SecondCaptainAuthID [128]
// Temp captain Names!
new TempFirstCaptain [32]
new TempSecondCaptain [32]
// Store current map.
new szMapname [32]
new RoundCounter = 0
// Extra declarations
new g_iMaxPlayers
// 1 = first captain 2 = second captain.
new CaptainChoosenID
new WhoChoseThePlayer
public plugin_init ()
{
register_plugin (PLUGIN, VERSION, AUTHOR);
register_clcmd ("say / start", "ShowMenu", ADMIN_KICK, "Get All The players");
gMaxPlayers = get_maxplayers ()
// Change Game Description.
amx_warname = register_cvar ("amx_warname", "|| Match Not Started ||");
register_forward (FM_GetGameDescription, "GameDesc");
#if defined BOMB_MAP_CHECK
// is current map not contain bomb targets?
if (! engfunc (EngFunc_FindEntityByString, -1, "classname", "func_bomb_target"))
return
#endif
register_event ("HLTV", "event_new_round", "a", "1 = 0", "2 = 0")
register_logevent ("logevent_round_start_bomb", 2, "1 = Round_Start")
set_task (1.0, "task_afk_check", _, _, _, "b") // plugin's core loop
g_maxplayers = get_maxplayers ()
// block advertise by cs
// set_msg_block (get_user_msgid ("HudTextArgs"), BLOCK_SET);
g_iMaxPlayers = get_maxplayers ()
// Register Death.
register_event ("DeathMsg", "Event_DeathMsg_Knife", "a", "1> 0")
// For Knife round.
// register_event ("CurWeapon", "Event_CurWeapon_NotKnife", "be", "1 = 1", "2! 29")
// Round end event.
register_logevent ("round_end", 2, "1 = Round_End")
// Round start event.
register_logevent ("logevent_round_start", 2, "1 = Round_Start")
// Do not allow clients to join the team when they manually tries to join the team.
register_clcmd ("chooseteam", "cmdChooseTeam")
register_clcmd ("jointeam", "cmdChooseTeam");
// Stop or Restart the Match!
register_clcmd ("say / stop", "StopMatch", ADMIN_KICK, "Stop the Match!");
register_clcmd ("say / restart", "RestartMatch", ADMIN_KICK, "Restart the Match!");
// T OR CT WIN.
register_event ("SendAudio", "on_TerroristWin", "a", "2 =%! MRAD_terwin");
register_event ("SendAudio", "on_CTWin", "a", "2 =%! MRAD_ctwin");
// show score.
register_clcmd ("say! score", "ShowScoreToUser")
register_clcmd ("say .score", "ShowScoreToUser")
// Get Team Players menu.
register_clcmd ("say / getmenu", "GetMatchMenu")
get_mapname (szMapname, charsmax (szMapname))
}
// Bomb afk transfer declarations.
public event_new_round () {
g_freezetime = true
g_spawn = true
g_planting = false
g_carrier = 0
if (g_MatchStarted)
{
new Players [MAX_PLAYERS], iNum, id;
get_players (Players, iNum, "h");
for (new i = 0; i <iNum; i ++)
{
id = Players
}
}
}
public logevent_round_start_bomb ()
{
new id [32], num
get_players (id, num, "ae", TEAM)
if (! num) // is server empty?
return
g_freezetime = false
// update afk timers and current positions
new x
for (new i = 0; i <num; ++ i) {
x = id
get_user_origin (x, g_pos [x])
g_time [x] = 0
}
}
public task_afk_check () {
if (g_freezetime) // is freezetime right now?
return
// afk check
new id [32], num, x, origin [3]
get_players (id, num, "ae", TEAM)
for (new i = 0; i <num; ++ i) {
x = id
get_user_origin (x, origin)
if (origin [0]! = g_pos [x] [0] || origin [1]! = g_pos [x] [1] || (x == g_carrier && g_planting)) {
g_time [x] = 0
g_pos [x] [0] = origin [0]
g_pos [x] [1] = origin [1]
if (g_spawn && x == g_carrier)
g_spawn = false
}
else
g_time [x] ++
}
// is bomb not currently carried or Ts number less than 2?
if (! g_carrier || num <2)
return
#if defined CVAR_POINTERS
new max_time = get_pcvar_num (g_spawn? g_pcvar_spawn: g_pcvar_time)
#else
new max_time = get_cvar_num (g_spawn? CVAR_SPAWN: CVAR_TIME)
#endif
// is plugin disabled (cvar <= 0) or carrier isn't afk?
if (max_time <= 0 || g_time [g_carrier] <max_time)
return
// find who from non-afk Ts is the closest to the afk carrier
get_user_origin (g_carrier, origin)
new min_dist = 999999, dist, recipient, origin2 [3]
for (new i = 0; i <num; ++ i) {
x = id
if (g_time [x] <max_time) {
get_user_origin (x, origin2)
dist = get_distance (origin, origin2)
if (dist <min_dist) {
min_dist = dist
recipient = x
}
}
}
if (! recipient) // is all Ts afk?
return
new carrier = g_carrier
engclient_cmd (carrier, "drop", WEAPON) // drop the backpack
new c4 = engfunc (EngFunc_FindEntityByString, -1, "classname", WEAPON) // find weapon_c4 entity
if (! c4)
return
new backpack = pev (c4, pev_owner) // get backpack entity
if (backpack <= g_maxplayers)
return
// my backpack transfer trick (improved)
set_pev (backpack, pev_flags, pev (backpack, pev_flags) | FL_ONGROUND)
dllfunc (DLLFunc_Touch, backpack, recipient)
// hud messages stuff below
set_hudmessage (0, 255, 0, 0.35, 0.8, _, _, MSG_TIME)
new message [128], c_name [32], r_name [32]
get_user_name (carrier, c_name, 31)
get_user_name (recipient, r_name, 31)
format (message, 127, "Bomb Transferred To ^"% s ^ "^ nsince ^"% s ^ "is AFK", r_name, c_name)
for (new i = 0; i <num; ++ i)
show_hudmessage (id , "% s", message)
set_hudmessage (255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3)
show_hudmessage (recipient, "[[You Got The Bomb]]")
}
// Game description forward.
public GameDesc ()
{
static gamename [32];
get_pcvar_string (amx_warname, gamename, 31);
forward_return (FMV_STRING, gamename);
return FMRES_SUPERCEDE;
}
public plugin_precache () {
for (new i = 0; i <sizeof Match_Sound; i ++) {
precache_generic (Match_Sound );
}
}
// Event death.
public Event_DeathMsg_Knife ()
{
if (! g_MatchStarted)
return
new attacker = read_data (1)
new victim = read_data (2)
if (victim! = attacker && cs_get_user_team (attacker)! = cs_get_user_team (victim))
{
g_TotalKills [attacker] ++
g_TotalDeaths [victim] ++
}
}
public bomb_planted (id)
{
if (g_MatchStarted)
{
g_BombPlants [id] ++
}
}
public bomb_defused (id)
{
if (g_MatchStarted)
{
g_BombDefusions [id] ++
}
}
public GetMatchMenu (id)
{
if (CaptainSChosen)
{
if (id! = CaptainChoosenID)
{
if (WhoChoseThePlayer == 1)
{
LetsSecondChoosePlayers (ShowMenuSecond)
}
if (WhoChoseThePlayer == 2)
{
LetsFirstChoosePlayers (ShowMenuFirst)
}
}
}
return PLUGIN_HANDLED
}
public RestartMatch (id, lvl, cid)
{
if (! cmd_access (id, lvl, cid, 0))
return PLUGIN_HANDLED
if (g_MatchInit || g_MatchStarted / * || g_KnifeRound * /)
{
// Log AMX, Who stopped the match !.
new MatchRestarterName [32]
get_user_name (id, MatchRestarterName, charsmax (MatchRestarterName))
new MatchRestarterAuthID [128]
get_user_authid (id, MatchRestarterAuthID, 127)
log_amx ("Admin% s with ID =% i and AuthID% s has restarted the Match!", MatchRestarterName, id, MatchRestarterAuthID)
chatcolor (0, "! g [MATCH]! t% s! ghas Restarted The! tWAR! y !!! gCaptains! ywill be! gchosen by! tHim! y !!", MatchRestarterName)
server_cmd ("mp_freezetime 999");
set_dhudmessage (0, 255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "% s has Restarted the Match !! ^ n Captains will be chosen shortly .... !!", MatchRestarterName)
set_task (8.0, "RestartMatchTask", id)
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public RestartMatchTask (id)
{
LoadPubSettings ()
ShowMenuSpecial (id)
}
public HUD_firstLive (index)
{
if (iXYPos> = sizeof (HUD_XY_POS)) iXYPos = 0;
set_dhudmessage (random_num (0, 255), random_num (0, 255), random_num (0, 255), HUD_XY_POS [iXYPos] [0], HUD_XY_POS [iXYPos] [1], 0, 50.0, 0.4, 0.2, 0.3);
show_dhudmessage (index, "[F I R S T] [H A L F] [S T A R T E D]");
iXYPos ++;
}
public HUD_secondLive (index)
{
if (iXYPos> = sizeof (HUD_XY_POS)) iXYPos = 0;
set_dhudmessage (random_num (0, 255), random_num (0, 255), random_num (0, 255), HUD_XY_POS [iXYPos] [0], HUD_XY_POS [iXYPos] [1], 0, 50.0, 0.4, 0.2, 0.3);
show_dhudmessage (index, "[S E C O N D] [H A L F] [S T A R T E D]");
iXYPos ++;
}
// Stop the Match.
public StopMatch (id, lvl, cid)
{
set_cvar_string ("amx_warname", "|| Match Not Started ||")
if (! cmd_access (id, lvl, cid, 0))
return PLUGIN_HANDLED;
if (g_MatchInit || g_MatchStarted / * || g_KnifeRound * /)
{
// Log AMX, Who stopped the match !.
new MatchStopperName [32]
get_user_name (id, MatchStopperName, charsmax (MatchStopperName))
new MatchStopperAuthID [128]
get_user_authid (id, MatchStopperAuthID, 128)
log_amx ("Admin% s with AuthID% s has stopped the Match!", MatchStopperName, MatchStopperAuthID)
server_cmd ("mp_freezetime 999");
LoadPubSettings ()
set_dhudmessage (0, 255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "% s has Stopped The Match !! ^ n Server will Restart now !!", MatchStopperName)
chatcolor (0, "! g [MATCH]! t% s! ghas Stopped The! tWAR! y !!! gServer will Restart Now! y !!", MatchStopperName)
set_task (8.0, "RestartServerForStoppingMatch")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
// Stop match special when owner is not there.
public StopMatchSpecial()
{
if (g_MatchInit || g_MatchStarted / * || g_KnifeRound * /)
{
server_cmd ("mp_freezetime 4");
set_dhudmessage (0, 255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "Match Owner has Left the Game !! ^ n Server will Restart Now !!")
set_task (4.0, "RestartServerForStoppingMatch")
}
return PLUGIN_HANDLED
}
public RestartServerForStoppingMatch ()
{
new CurrentMap [33]
get_mapname (CurrentMap, 32)
server_cmd ("changelevel% s", CurrentMap)
return PLUGIN_HANDLED
}
// public GoToTheSpec (id)
// {
// if (g_MatchInit || g_KnifeRound)
// {
// if (is_user_connected (id))
// {
// set_task (3.0, "TransferToSpec", id)
//}
//}
//}
// Terrorist Win event.
public on_TerroristWin ()
{
// Terrorrist Knife round winner.
/ * if (g_KnifeRound == true)
{
// T WOWN.
ShowMenuFirst = gCptT
ShowMenuSecond = gCptCT
// Set Names of the Captain. because captain may leave the game.
get_user_name (ShowMenuFirst, FirstCaptainName, charsmax (FirstCaptainName))
get_user_name (ShowMenuSecond, SecondCaptainName, charsmax (SecondCaptainName))
set_task (3.0, "GiveRestartRound", _, _, _, "a", 1);
set_task (2.0, "FirstCaptainWonKnifeRoundMsg", gCptT)
g_KnifeRound = false
LoadMatchSettings ()
} * /
if (g_MatchStarted)
{
if (isFirstHalfStarted)
{
if (FirstCaptainTeamName == 1)
{
ScoreFtrstTeam ++
}
else
{
ScoreScondteam ++
}
// Change description of the game.
if (ScoreFtrstTeam> ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "1st Half: [% d] || [% d]", ScoreFtrstTeam, ScoreScondteam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreScondteam> ScoreFtrstTeam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "1st Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreFtrstTeam == ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "1st Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
}
if (isSecondHalfStarted)
{
if (FirstCaptainTeamName == 1)
{
ScoreScondteam ++
}
else
{
ScoreFtrstTeam ++
}
// Change description of the game.
if (ScoreFtrstTeam> ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "2nd Half: [% d] || [% d]", ScoreFtrstTeam, ScoreScondteam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreScondteam> ScoreFtrstTeam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "2nd Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreFtrstTeam == ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "2nd Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
}
}
}
// CT WIN Event.
public on_CTWin ()
{
/ * if (g_KnifeRound)
{
// CT WON.
ShowMenuFirst = gCptCT
ShowMenuSecond = gCptT
// Set Names of the Captain. because captain may leave the game.
get_user_name (ShowMenuFirst, FirstCaptainName, charsmax (FirstCaptainName))
get_user_name (ShowMenuSecond, SecondCaptainName, charsmax (SecondCaptainName))
get_user_authid (ShowMenuFirst, FirstCaptainAuthID, 127)
get_user_authid (ShowMenuSecond, SecondCaptainAuthID, 127)
g_KnifeRound = false
set_task (3.0, "GiveRestartRound", _, _, _, "a", 1);
set_task (2.0, "SecondCaptWonKnifeRoundWonMsg", gCptCT)
LoadMatchSettings ()
} * /
if (g_MatchStarted)
{
if (isFirstHalfStarted)
{
if (FirstCaptainTeamName == 2)
{
ScoreFtrstTeam ++
}
else
{
ScoreScondteam ++
}
// Change description of the game.
if (ScoreFtrstTeam> ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "1st Half: [% d] || [% d]", ScoreFtrstTeam, ScoreScondteam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreScondteam> ScoreFtrstTeam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "1st Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreFtrstTeam == ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "1st Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
}
if (isSecondHalfStarted)
{
if (FirstCaptainTeamName == 2)
{
ScoreScondteam ++
}
else
{
ScoreFtrstTeam ++
}
// Change description of the game.
if (ScoreFtrstTeam> ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "2nd Half: [% d] || [% d]", ScoreFtrstTeam, ScoreScondteam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreScondteam> ScoreFtrstTeam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "2nd Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
if (ScoreFtrstTeam == ScoreScondteam)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "2nd Half: [% d] || [% d]", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
}
}
}
}
// ROUND START Event.
public logevent_round_start ()
{
/ *
if (g_KnifeRound)
{
set_dhudmessage (0, 255, 0, -1.0, 0.30, 0, 2.0, 6.0, 0.8, 0.8);
show_dhudmessage (0, "|| Knife Round Begins ||");
// set_dhudmessage (0, 212, 255, 0.30, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
// show_dhudmessage (0, "Captain - [% s]", TempFirstCaptain);
// set_dhudmessage (255, 0, 0, 0.60, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
// show_dhudmessage (0, "Captain - [% s]", TempSecondCaptain);
set_dhudmessage (255, 255, 255, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "[Captain:% s] ^ n ^ n <------- | v / s | -------> ^ n ^ n [Captain:% s]", TempFirstCaptain, TempSecondCaptain)
// show_dhudmessage (0, "|| Knife Round Begins || ^ n ^ n [Captain:% s] ^ n ^ n <------- | v / s | -------> ^ n ^ n [Captain:% s] ", TempFirstCaptain, TempSecondCaptain)
chatcolor (0, "! t [MATCH]! tKnife Round! yhas! gbeen Started !!")
chatcolor (0, "! t [MATCH]! gKnife War ::! yCaptain! g--! t% s! g || v / s ||! yCaptain! g--! t% s", TempFirstCaptain, TempSecondCaptain)
}
* /
if (g_MatchStarted)
{
// Show Score info in Hud on every round start.
ShowScoreHud ()
set_task (3.0, "ShowScoreOnRoundStart")
}
}
// When Client join the server and if match is initialized or Knife round is running transfer player to spec.
public client_putinserver (id)
{
if (g_MainMatchStarted)
{
Frags [id] = 0
Deaths [id] = 0
}
g_TotalKills [id] = 0
g_TotalDeaths [id] = 0
g_BombPlants [id] = 0
g_BombDefusions [id] = 0
// if (g_MatchInit || g_KnifeRound)
// {
// set_task (7.0, "TransferToSpec", id)
//}
}
// Menu for restart!
public ShowMenuSpecial (id)
{
// Store who started the match !.
MatchStarterOwner = id
// Log AMX, Who stopped the match !.
new MatchStarterName [32]
get_user_name (id, MatchStarterName, charsmax (MatchStarterName))
new MatchStarterAuthID [128]
get_user_authid (id, MatchStarterAuthID, 127)
// Match has been initialized!
g_MatchInit = true
// TASK 1 - To Move All the players in Spec.
// cmdTransferAllInSpec ();
// Send message to players about message.
MatchInitHudMessage ()
// Task 2 - Show Players Menu to who started the match.
set_task (5.0, "ShowMenuPlayers", id)
return PLUGIN_HANDLED;
}
// Choose Captains and Initialize Match.
public ShowMenu (id, lvl, cid)
{
if (! cmd_access (id, lvl, cid, 0))
return PLUGIN_HANDLED;
if (g_MatchInit || g_MatchStarted)
return PLUGIN_HANDLED
MatchStarterOwner = id
// Match initialized.
set_cvar_string ("amx_warname", "[[MATCH]]")
// Log AMX, Who stopped the match !.
new MatchStarterName [32]
get_user_name (id, MatchStarterName, charsmax (MatchStarterName))
new MatchStarterAuthID [128]
get_user_authid (id, MatchStarterAuthID, 127)
log_amx ("Admin% s with ID =% i and AuthID% s has started the Match !!", MatchStarterName, id, MatchStarterAuthID)
chatcolor (0, "! g [MATCH]! t% s! ghas Initialized The! tWAR! y !!! gCaptains! ywill be! gchosen by! tHim! y !!", MatchStarterName)
// Match has been initialized!
g_MatchInit = true
// TASK 1 - To Move All the players in Spec.
// cmdTransferAllInSpec ();
// Send message to players about message.
MatchInitHudMessage ()
// Task 2 - Show Players Menu to who started the match.
set_task (3.0, "ShowMenuPlayers", id)
return PLUGIN_HANDLED;
}
// Show HUD Message and Print message to inform player about match started!
public MatchInitHudMessage ()
{
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.30, 1, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "|| - >> Who wants To be the Captain ?? << - ||")
}
public ShowMenuPlayers (id)
{
set_cvar_string ("amx_warname", "| = Captain Selection = |")
new iMenu = MakePlayerMenu (id, "- = [Choose a Captain] = -", "PlayersMenuHandler");
menu_setprop (iMenu, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iMenu);
return PLUGIN_CONTINUE;
}
MakePlayerMenu (id, const szMenuTitle [], const szMenuHandler [])
{
new iMenu = menu_create (szMenuTitle, szMenuHandler);
new iPlayers [32], iNum, iPlayer, szPlayerName [32], szUserId [33];
get_players (iPlayers, iNum, "h");
new PlayerWithPoints [128]
for (new i = 0; i <iNum; i ++)
{
iPlayer = iPlayers ;
// Add user in the menu if - CONNECTED and TEAM IS T.
if (gCptCT! = iPlayer)
{
get_user_name (iPlayer, szPlayerName, charsmax (szPlayerName));
formatex (PlayerWithPoints, 127, "% s", szPlayerName)
formatex (szUserId, charsmax (szUserId), "% d", get_user_userid (iPlayer));
menu_additem (iMenu, PlayerWithPoints, szUserId, 0);
}
}
return iMenu;
}
public PlayersMenuHandler (id, iMenu, iItem)
{
if (iItem == MENU_EXIT)
{
// Recreate menu because user's team has been changed.
new iMenu = MakePlayerMenu (id, "- = [Choose a Captain] = -", "PlayersMenuHandler");
menu_setprop (iMenu, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iMenu);
return PLUGIN_HANDLED;
}
new szUserId [32], szPlayerName [32], iPlayer, iCallback;
menu_item_getinfo (iMenu, iItem, iCallback, szUserId, charsmax (szUserId), szPlayerName, charsmax (szPlayerName), iCallback);
if ((iPlayer = find_player ("k", str_to_num (szUserId))))
{
if (CaptainCount == 0)
{
// cs_set_user_team (iPlayer, CS_TEAM_CT)
rg_set_user_team (iPlayer, TEAM_CT, MODEL_AUTO, true)
new ChosenCaptain [32]
get_user_name (iPlayer, ChosenCaptain, charsmax (ChosenCaptain))
chatcolor (0, "! g [MATCH]! t% s! gchosen! yas! t [! g >>! tCT! g <<! t]! gCaptain! y !!", ChosenCaptain)
CaptainCount ++
// Temp captain name.
get_user_name (iPlayer, TempFirstCaptain, charsmax (TempFirstCaptain))
// Assign CT Captain
gCptCT = iPlayer
// Recreate menu.
menu_destroy (iMenu)
new iMenu = MakePlayerMenu (id, "- = [Choose a Captain] = -", "PlayersMenuHandler");
menu_setprop (iMenu, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iMenu);
return PLUGIN_HANDLED;
}
if (CaptainCount == 1)
{
// cs_set_user_team (iPlayer, CS_TEAM_T)
rg_set_user_team (iPlayer, TEAM_TERRORIST, MODEL_AUTO, true)
new ChosenCaptain [32]
get_user_name (iPlayer, ChosenCaptain, charsmax (ChosenCaptain))
chatcolor (0, "! g [MATCH]! t% s! gchosen! yas! t [! g >>! tT! g <<! t]! gCaptain! y !!", ChosenCaptain)
CaptainCount ++
// Temp captain name.
get_user_name (iPlayer, TempSecondCaptain, charsmax (TempSecondCaptain))
// Assign T Captain
gCptT = iPlayer
// Set it to true because captains have been chosen.
CaptainSChosen = true
// Announcement.
// set_dhudmessage (0, 255, 255, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
// show_dhudmessage (0, "|| - Get Ready Captains - || ^ n ** The Knife Round Will Begin in 5 seconds **")
chatcolor (0, "! t [MATCH]! gAttention !!! yThe! tMatch! gWill Start in! t5! gseconds !!")
ShowMenuFirst = gCptCT
ShowMenuSecond = gCptT
// Set Names of the Captain. because captain may leave the game.
get_user_name (ShowMenuFirst, FirstCaptainName, charsmax (FirstCaptainName))
get_user_name (ShowMenuSecond, SecondCaptainName, charsmax (SecondCaptainName))
get_user_authid (ShowMenuFirst, FirstCaptainAuthID, 127)
get_user_authid (ShowMenuSecond, SecondCaptainAuthID, 127)
// Side
FirstCaptainTeamName = 2
SecondCaptainTeamName = 1
// Start knife round.
//set_task(5.0,"Knife_Round ")
LoadMatchSettings ()
set_task (5.0, "StartMatch");
// Captain choosing is over so destroy menu.
menu_destroy (iMenu)
return PLUGIN_HANDLED;
}
}
// Recreate menu because user's team has been changed.
new iMenu = MakePlayerMenu (id, "- = [Choose a Captain] = -", "PlayersMenuHandler");
menu_setprop (iMenu, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iMenu);
return PLUGIN_HANDLED;
}
/ *
public Knife_Round ()
{
set_cvar_string ("amx_warname", "|| Captain's Knife War ||")
server_cmd ("mp_autokick 0")
server_cmd ("mp_autoteambalance 0")
server_cmd ("afk_transfer_time 100")
set_task (3.0, "GiveRestartRound", _, _, _, "a", 3);
set_task (10.0, "SetKnifeRoundTrue")
}
public SetKnifeRoundTrue ()
{
g_KnifeRound = true
} * /
// Round end Checker
public round_end ()
{
new Players [MAX_PLAYERS], iNum, id;
get_players (Players, iNum, "h");
if (g_MatchStarted)
{
// Increment rounds.
RoundCounter ++
ShowScoreHud ()
CheckForWinningTeam ()
if (RoundCounter == 15)
{
// Loop through users and set user score + death.
new players [32], num
get_players (players, num, "h")
new player
for (new i = 0; i <num; i ++)
{
player = players
if (is_user_connected (player))
{
Frags [player] = get_user_frags (player)
Deaths [player] = cs_get_user_deaths (player)
}
}
server_cmd ("mp_freezetime 999")
set_task (7.0, "SwapTeamsMessage")
}
}
}
// Choose the team.
public ChooseTeam (id)
{
set_cvar_string ("amx_warname", "|| = Side Selection = ||")
set_dhudmessage (255, 255, 0, -1.0, -1.0, 0, 2.0, 2.0, 0.8, 0.8)
show_dhudmessage (0, "- || Captain <<<<% s >>>> will Choose Side and his Team Mates First || -", FirstCaptainName)
new TeamChooser = MakeTeamSelectorMenu (id, "[Choose Your Side]", "TeamHandler");
menu_setprop (TeamChooser, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, TeamChooser);
}
MakeTeamSelectorMenu (id, const szMenuTitle [], const szMenuHandler [])
{
new TeamChooser = menu_create (szMenuTitle, szMenuHandler);
menu_additem (TeamChooser, "Counter-Terrorist");
menu_additem (TeamChooser, "Terrorist");
return TeamChooser;
}
public TeamHandler (id, TeamChooser, iItem)
{
if (iItem == MENU_EXIT)
{
// Recreate menu because user's team has been changed.
new TeamChooser = MakeTeamSelectorMenu (id, "[Choose Your Side]", "TeamHandler");
menu_setprop (TeamChooser, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, TeamChooser);
return PLUGIN_HANDLED;
}
switch (iItem)
{
// Chosen CT.
case 0:
{
chatcolor (0, "! t [MATCH]! gCaptain! t% s! ychosen side! g - >>! tCounter-Terrorist", FirstCaptainName)
set_dhudmessage (0, 0, 255, -1.0, -1.0, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "|||| Captain% s chose To be a Savior ||||", FirstCaptainName)
FirstCaptainTeamName = 2
SecondCaptainTeamName = 1
if (get_user_team (id)! = 2)
{
SwapPlayer ()
}
set_cvar_string ("amx_warname", "|| Players Selection ||")
set_task (5.0, "LetsFirstChoosePlayers", id)
}
// Chosen T.
case 1:
{
FirstCaptainTeamName = 1
SecondCaptainTeamName = 2
chatcolor (0, "! t [MATCH]! gCaptain! t% s! ychosen side! g - >>! tTerrorist", FirstCaptainName)
set_dhudmessage (255, 0, 0, -1.0, -1.0, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "|||| Captain% s chose To Spread Terrorism ||||", FirstCaptainName)
if (get_user_team (id)! = 1)
{
SwapPlayer ()
}
set_cvar_string ("amx_warname", "|| Players Selection ||")
set_task (5.0, "LetsFirstChoosePlayers", id)
}
}
return PLUGIN_HANDLED;
}
// MENU TO CHOOSE PLAYERS !!!
public LetsFirstChoosePlayers (id)
{
new players [32], count;
get_players (players, count, "eh", "SPECTATOR");
if (count> 0)
{
new iChoosePlayers = LetsFirstChoosePlayersMenu (id, "|| = Choose A Team Mate = ||", "LetsFirstChoosePlayersHandler");
menu_setprop (iChoosePlayers, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iChoosePlayers);
return PLUGIN_HANDLED;
}
else
{
set_cvar_string ("amx_warname", "[Teams Ready]")
client_cmd (0, "mp3 play% s", get_ready);
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "* || - All Teams are SET - || * ^ n ^ n ---- >> First HALF will Start Now << ----")
set_task (5.0, "StartMatch")
return PLUGIN_HANDLED;
}
}
LetsFirstChoosePlayersMenu (id, const szMenuTitle [], const szMenuHandler [])
{
new iChoosePlayers = menu_create (szMenuTitle, szMenuHandler);
new iPlayers [32], iNum, iPlayer, szPlayerName [32], szUserId [32];
get_players (iPlayers, iNum, "h");
for (new i = 0; i <iNum; i ++)
{
iPlayer = iPlayers ;
// Add user in the menu if - CONNECTED and TEAM IS T.
if (get_user_team (iPlayer) == 3)
{
get_user_name (iPlayer, szPlayerName, charsmax (szPlayerName));
formatex (szUserId, charsmax (szUserId), "% d", get_user_userid (iPlayer));
menu_additem (iChoosePlayers, szPlayerName, szUserId, 0);
}
}
return iChoosePlayers;
}
public LetsFirstChoosePlayersHandler (id, iChoosePlayers, iItem)
{
if (iItem == MENU_EXIT)
{
new iChoosePlayers = LetsFirstChoosePlayersMenu (id, "|| = Choose A Team Mate = ||", "LetsFirstChoosePlayersHandler");
menu_setprop (iChoosePlayers, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iChoosePlayers);
return PLUGIN_HANDLED;
}
new szUserId [32], szPlayerName [32], iPlayer, iCallback;
menu_item_getinfo (iChoosePlayers, iItem, iCallback, szUserId, charsmax (szUserId), szPlayerName, charsmax (szPlayerName), iCallback);
if ((iPlayer = find_player ("k", str_to_num (szUserId))))
{
new ChoosenPlayer [32]
get_user_name (iPlayer, ChoosenPlayer, charsmax (ChoosenPlayer))
chatcolor (0, "! t [MATCH]! gCaptain! t% s! gselected! t% s! gas his Team Mate! y !!", FirstCaptainName, ChoosenPlayer);
if (! is_user_connected (iPlayer))
{
new iChoosePlayers = LetsFirstChoosePlayersMenu (id, "|| = Choose A Team Mate = ||", "LetsFirstChoosePlayersHandler");
menu_setprop (iChoosePlayers, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iChoosePlayers);
return PLUGIN_HANDLED;
}
else
{
CaptainChoosenID = id
WhoChoseThePlayer = 1
// cs_set_user_team (iPlayer, cs_get_user_team (id))
new CsTeams: team = cs_get_user_team (id)
if (team == CS_TEAM_CT)
{
// transfer player to ct.
rg_set_user_team (iPlayer, TEAM_CT, MODEL_AUTO, true)
}
if (team == CS_TEAM_T)
{
// transfer player to Terrorist.
rg_set_user_team (iPlayer, TEAM_TERRORIST, MODEL_AUTO, true)
}
LetsSecondChoosePlayers (ShowMenuSecond)
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
// MENU TO CHOOSE PLAYERS !!!
public LetsSecondChoosePlayers (id)
{
new players [32], count;
get_players (players, count, "eh", "SPECTATOR");
if (count> 0)
{
new iChoosePlayers = LetsSecondChoosePlayersMenu (id, "|| = Choose A Team Mate = ||", "LetsSecondChoosePlayersHandler");
menu_setprop (iChoosePlayers, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iChoosePlayers);
return PLUGIN_HANDLED;
}
else
{
// TEAMS ARE SET BECAUSE NO PLAYERS IN SPEC!
client_cmd (0, "mp3 play% s", get_ready);
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "* || - All Teams are SET - || * ^ n ^ n ---- >> First HALF will Start Now << ----")
set_task (5.0, "StartMatch")
return PLUGIN_HANDLED;
}
}
LetsSecondChoosePlayersMenu (id, const szMenuTitle [], const szMenuHandler [])
{
new iChoosePlayers = menu_create (szMenuTitle, szMenuHandler);
new iPlayers [32], iNum, iPlayer, szPlayerName [32], szUserId [32];
get_players (iPlayers, iNum, "h");
for (new i = 0; i <iNum; i ++)
{
iPlayer = iPlayers ;
// Add user in the menu if - CONNECTED and TEAM IS T.
if (get_user_team (iPlayer) == 3)
{
get_user_name (iPlayer, szPlayerName, charsmax (szPlayerName));
formatex (szUserId, charsmax (szUserId), "% d", get_user_userid (iPlayer));
menu_additem (iChoosePlayers, szPlayerName, szUserId, 0);
}
}
return iChoosePlayers;
}
public LetsSecondChoosePlayersHandler (id, iChoosePlayers, iItem)
{
if (iItem == MENU_EXIT)
{
new iChoosePlayers = LetsSecondChoosePlayersMenu (id, "|| = Choose A Team Mate = ||", "LetsSecondChoosePlayersHandler");
menu_setprop (iChoosePlayers, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iChoosePlayers);
return PLUGIN_HANDLED;
}
new szUserId [32], szPlayerName [32], iPlayer, iCallback;
menu_item_getinfo (iChoosePlayers, iItem, iCallback, szUserId, charsmax (szUserId), szPlayerName, charsmax (szPlayerName), iCallback);
if ((iPlayer = find_player ("k", str_to_num (szUserId))))
{
new ChoosenPlayer [32]
get_user_name (iPlayer, ChoosenPlayer, charsmax (ChoosenPlayer))
chatcolor (0, "! t [MATCH]! gCaptain! t% s! gselected! t% s! gas his Team Mate! y !!", SecondCaptainName, ChoosenPlayer);
if (! is_user_connected (iPlayer))
{
new iChoosePlayers = LetsSecondChoosePlayersMenu (id, "|| = Choose A Team Mate = ||", "LetsSecondChoosePlayersHandler");
menu_setprop (iChoosePlayers, MPROP_NUMBER_COLOR, "\ y");
menu_display (id, iChoosePlayers);
return PLUGIN_HANDLED;
}
else
{
WhoChoseThePlayer = 2
CaptainChoosenID = id
// cs_set_user_team (iPlayer, cs_get_user_team (id))
new CsTeams: team = cs_get_user_team (id)
if (team == CS_TEAM_CT)
{
// transfer player to ct.
rg_set_user_team (iPlayer, TEAM_CT, MODEL_AUTO, true)
}
if (team == CS_TEAM_T)
{
// transfer player to Terrorist.
rg_set_user_team (iPlayer, TEAM_TERRORIST, MODEL_AUTO, true)
}
LetsFirstChoosePlayers (ShowMenuFirst);
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public client_disconnected (id)
{
if (CaptainSChosen / * || g_KnifeRound * /)
{
if (id == gCptCT || id == gCptT)
{
if (is_user_connected (MatchStarterOwner))
{
set_hudmessage (0, 255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8, -1)
show_hudmessage (0, "[Match Restarting] ^ n ^ n As One of the Captain Left The Match")
RestartMatchTask (MatchStarterOwner)
}
else
{
StopMatchSpecial()
}
}
}
if (g_MainMatchStarted)
{
// Set score and death to zero.
Frags [id] = 0
Deaths [id] = 0
}
}
public DoRanking ()
{
new KillerName [256], DeathsName [256], BombPName [256], BombDName [256]
new players [32], pnum, tempid
new topKillerID, topDeathsID, topBombPID, topBombDID
new topKills, topDeaths, topBombP, topBombD
get_players (players, pnum)
for (new i; i <pnum; i ++)
{
tempid = players
if (g_TotalKills [tempid]> = topKills && g_TotalKills [tempid])
{
topKills = g_TotalKills [tempid]
topKillerID = temps
}
if (g_TotalDeaths [tempid]> = topDeaths && g_TotalDeaths [tempid])
{
topDeaths = g_TotalDeaths [tempid]
topDeathsID = tempid
}
if (g_BombPlants [tempid]> = topBombP && g_BombPlants [tempid])
{
topBombP = g_BombPlants [tempid]
topBombPID = tempid
}
if (g_BombDefusions [tempid]> = topBombD && g_BombDefusions [tempid])
{
topBombD = g_BombDefusions [tempid]
topBombDID = temps
}
}
if (1 <= topKillerID <= gMaxPlayers)
get_user_name (topKillerID, KillerName, charsmax (KillerName))
if (1 <= topDeathsID <= gMaxPlayers)
get_user_name (topDeathsID, DeathsName, charsmax (DeathsName))
if (1 <= topBombPID <= gMaxPlayers)
get_user_name (topBombPID, BombPName, charsmax (BombPName))
if (1 <= topBombDID <= gMaxPlayers)
get_user_name (topBombDID, BombDName, charsmax (BombDName))
for (new i; i <pnum; i ++)
{
tempid = players
if (g_TotalKills [tempid] == topKills && tempid! = topKillerID && g_TotalKills [tempid])
{
new lineToAdd [65] = ","
new pName [64]
get_user_name (tempid, pName, charsmax (pName))
add (lineToAdd, charsmax (lineToAdd), pName)
add (KillerName, charsmax (KillerName) - strlen (BombDName), lineToAdd)
}
if (g_TotalDeaths [tempid] == topDeaths && tempid! = topDeathsID && g_TotalDeaths [tempid])
{
new lineToAdd [65] = ","
new pName [64]
get_user_name (tempid, pName, charsmax (pName))
add (lineToAdd, charsmax (lineToAdd), pName)
add (DeathsName, charsmax (DeathsName) - strlen (DeathsName), lineToAdd)
}
if (g_BombPlants [tempid] == topBombP && tempid! = topBombPID && g_BombPlants [tempid])
{
new lineToAdd [65] = ","
new pName [64]
get_user_name (tempid, pName, charsmax (pName))
add (lineToAdd, charsmax (lineToAdd), pName)
add (BombPName, charsmax (BombPName) - strlen (BombPName), lineToAdd)
}
if (g_BombDefusions [tempid] == topBombD && tempid! = topBombDID && g_BombDefusions [tempid])
{
new lineToAdd [65] = ","
new pName [64]
get_user_name (tempid, pName, charsmax (pName))
add (lineToAdd, charsmax (lineToAdd), pName)
add (BombDName, charsmax (BombDName) - strlen (BombDName), lineToAdd)
}
}
msgToDisplay = "|| Match Player Stats || ^ n ---------------------- ^ n ^ nTop Kills -% s [% d Kills] ^ nTop Deaths -% s [% d Deaths] ^ nTop Bomb Plants -% s [% d Bomb Plants] ^ nTop Bomb Defusions -% s [% d Bomb Defusions] "
format (msgToDisplay, charsmax (msgToDisplay), msgToDisplay, strlen (KillerName)? KillerName: "NONE", topKills, strlen (DeathsName)? DeathsName: "NONE", topDeaths,
strlen (BombPName)? BombPName: "NONE", topBombP, strlen (BombDName)? BombDName: "NONE", topBombD)
new taskId = 6969
set_task (1.0, "displayRankingTable", taskId, msgToDisplay, strlen (msgToDisplay), "b")
}
public displayRankingTable (msgToDisplay [], taskId)
{
set_hudmessage (135, 135, 135, -1.0, -1.0, 1, 6.0, 6.0, 0.5, 0.15, -1)
show_hudmessage (0, msgToDisplay)
}
// ====================== FUNCTIONS !! ================================================== ==========================================
// Prevent from choosing team while match is going on.
public cmdChooseTeam (id)
{
if (g_MatchInit || / * g_KnifeRound || * / g_MatchStarted)
{
// if (cs_get_user_team (id) == CS_TEAM_SPECTATOR)
// return PLUGIN_HANDLED;
chatcolor (id, "! g ||! y - =! gMATCH! y = -! g ||! tYou Cannot! gchoose! ta Team! ywhile! gMatch! yis! tin Progress !!");
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
// Checking for knife
/ * public Event_CurWeapon_NotKnife (id)
{
if (! g_KnifeRound)
return
if (! user_has_weapon (id, CSW_KNIFE))
give_item (id, "weapon_knife")
engclient_cmd (id, "weapon_knife")
} * /
// Swap teams.
public cmdTeamSwap ()
{
new players [32], num
get_players (players, num)
new player
for (new i = 0; i <num; i ++)
{
player = players
// rg_set_user_team (iPlayer, TEAM_CT, MODEL_AUTO, true)
rg_set_user_team (player, cs_get_user_team (player) == CS_TEAM_T? TEAM_CT: TEAM_TERRORIST, MODEL_AUTO, true)
}
return PLUGIN_HANDLED
}
public SwapPlayer ()
{
new players [32], num
get_players (players, num)
new player
for (new i = 0; i <num; i ++)
{
player = players
if (get_user_team (player)! = 3)
{
rg_set_user_team (player, cs_get_user_team (player) == CS_TEAM_T? TEAM_CT: TEAM_TERRORIST, MODEL_AUTO, true)
// cs_set_user_team (player, cs_get_user_team (player) == CS_TEAM_T? CS_TEAM_CT: CS_TEAM_T)
}
}
return PLUGIN_HANDLED
}
// public cmdTransferAllInSpec ()
// {
// new Players [32]
// new playerCount, player
// get_players (Players, playerCount, "h")
// for (new i = 0; i <playerCount; i ++)
// {
// player = Players
// if (is_user_connected (player))
// {
// new CsTeams: team = cs_get_user_team (player)
// if (! (team == CS_TEAM_UNASSIGNED) ||! (team == CS_TEAM_SPECTATOR))
// {
// user_kill (player)
// // cs_set_user_team (player, CS_TEAM_SPECTATOR)
// set_task (3.0, "DoTransferSpec", player)
//}
// else
// {
// user_kill (player)
//}
//}
//}
// return PLUGIN_HANDLED;
//}
// public DoTransferSpec (id)
// {
// if (is_user_connected (id))
// {
// user_kill (id)
// rg_set_user_team (id, TEAM_SPECTATOR, MODEL_AUTO, true)
//}
//}
public StartMatch ()
{
server_cmd ("mp_forcechasecam 2")
server_cmd ("mp_forcecamera 2")
server_cmd ("mp_freezetime 4")
server_cmd ("afk_transfer_time 20")
set_cvar_string ("amx_warname", "|| --WAR STARTED-- ||")
set_task (2.0, "LiveOnThreeRestart");
set_task (3.0, "GiveRestartRound", _, _, _, "a", 3);
g_MatchInit = false
CaptainSChosen = false
chatcolor (0, "! t [MATCH]! yPlease! gTry! yNot to! tLeave! gThe Match! y !!")
chatcolor (0, "! t [MATCH]! gFirst Half! tHas been! gStarted! y !!")
chatcolor (0, "! t [MATCH]! gAttention !!! yThe! tMatch! yHas Been! g STARTED !!")
new ServerName [512]
// change server name
formatex (ServerName, charsmax (ServerName), "[MATCH] -% s || v / s ||% s Live", FirstCaptainName, SecondCaptainName)
server_cmd ("hostname ^"% s ^ "", ServerName)
ServerName [0] = 0
set_task (11.0, "MatchStartedTrue")
// Set the status of half to first half.
isFirstHalfStarted = true
set_task (12.0, "FirstHalfHUDMessage")
}
// Swap Team Message!.
public SwapTeamsMessage ()
{
GiveRestartRound ()
set_task (3.0, "TeamSwapMessage")
set_task (7.0, "FirstHalfCompletedHUDMessage")
set_task (12.0, "SwapTeamsAndRestartMatch")
}
// Swap teams and restart the match.
public SwapTeamsAndRestartMatch ()
{
// Swap Teams.
cmdTeamSwap ()
GiveRestartRound ();
set_task (2.0, "LiveOnThreeRestart");
// Give Restart
set_task (4.0, "GiveRestartRound", _, _, _, "a", 3);
chatcolor (0, "! t [MATCH]! gTeams! yHave Been! gSwapped !!");
chatcolor (0, "! t [MATCH]! gSecond Half! yhas been! gStarted !!");
is_secondHalf = true
// Set first half status to zero.
isFirstHalfStarted = false
isSecondHalfStarted = true
set_task (14.0, "SecondHalfHUDMessage")
LoadMatchSettings ()
}
// For color chat
stock chatcolor (const id, const input [], any: ...)
{
new count = 1, players [32]
static msg [191]
vformat (msg, 190, input, 3)
replace_all (msg, 190, "! g", "^ 4") // Green Color
replace_all (msg, 190, "! y", "^ 1") // Default Color
replace_all (msg, 190, "! t", "^ 3") // Team Color
if (id) players [0] = id; else get_players (players, count, "ch")
{
for (new i = 0; i <count; i ++)
{
if (is_user_connected (players ))
{
message_begin (MSG_ONE_UNRELIABLE, get_user_msgid ("SayText"), _, players )
write_byte (players );
write_string (msg);
message_end ();
}
}
}
}
public ShowScoreHud ()
{
new score_message [1024]
if (ScoreFtrstTeam> ScoreScondteam)
{
format (score_message, 1023, "Team% s ^ n [% i] - |||| - [% i]", FirstCaptainName, ScoreFtrstTeam, ScoreScondteam)
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.05, 0, 2.0, 5.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.0, 0, 2.0, 5.0, 0.8, 0.8)
show_dhudmessage (0, "----- || MATCH LEADER || ------")
}
if (ScoreScondteam> ScoreFtrstTeam)
{
format (score_message, 1023, "Team% s ^ n [% i] - |||| - [% i]", SecondCaptainName, ScoreScondteam, ScoreFtrstTeam)
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.05, 0, 2.0, 5.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.0, 0, 2.0, 5.0, 0.8, 0.8)
show_dhudmessage (0, "----- || MATCH LEADER || ------")
}
if (ScoreFtrstTeam == ScoreScondteam)
{
format (score_message, 1023, "Both Teams ^ n [% i] - |||| - [% i]", ScoreScondteam, ScoreFtrstTeam)
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.05, 0, 2.0, 5.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.0, 0, 2.0, 5.0, 0.8, 0.8)
show_dhudmessage (0, "----- || SCORES TIE || ------")
}
}
public CheckForWinningTeam ()
{
if (ScoreFtrstTeam> = 16)
{
// Change description of the game.
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "|| - GG% d To% d - ||", ScoreFtrstTeam, ScoreScondteam)
// set_task (8.0, "StartSongForAll")
client_cmd (0, "mp3 play% s", winner);
set_cvar_string ("amx_warname", GameDescBuffer)
server_cmd ("mp_freezetime 99999");
set_task (7.0, "FirstTeamWinnerMessage")
}
if (ScoreScondteam> = 16)
{
new GameDescBuffer [32]
formatex (GameDescBuffer, charsmax (GameDescBuffer), "|| - GG% d To% d - ||", ScoreScondteam, ScoreFtrstTeam)
set_cvar_string ("amx_warname", GameDescBuffer)
client_cmd (0, "mp3 play% s", winner);
server_cmd ("mp_freezetime 99999");
set_task (7.0, "SecondTeamWinnerMessage")
}
}
// Transfer a player to spec.
// public TransferToSpec (id)
// {
// if (is_user_connected (id))
// {
// new CsTeams: team = cs_get_user_team (id)
// if (is_user_connected (id) && (team! = CS_TEAM_UNASSIGNED) && (team! = CS_TEAM_SPECTATOR))
// {
// new TransferedName [32]
// get_user_name (id, TransferedName, charsmax (TransferedName))
// user_silentkill (id)
// // cs_set_user_team (id, CS_TEAM_SPECTATOR)
// // rg_set_user_team (id, TEAM_SPECTATOR, MODEL_AUTO, true)
// set_task (3.0, "DoTransferSpec", id)
// chatcolor (0, "! y [MATCH]! t% s! ghas been transferred to! tSPEC! gas he Cannot join During the! tSelection! y !!", TransferedName)
//}
//}
// return PLUGIN_HANDLED
//}
// Winner message. - First team won!
public FirstTeamWonTheMatch ()
{
set_dhudmessage (255, 255, 255, -1.0, 0.40, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "O == [] ====== - || Match Winner || - ===== [] == O")
set_dhudmessage (0, 255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "[Team -% s]", FirstCaptainName)
set_cvar_string ("amx_warname", "|| Match Not Started ||")
}
// Winner message. - Second team won!
public SecondTeamWonTheMatch ()
{
set_dhudmessage (255, 255, 255, -1.0, 0.40, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "O == [] ====== - || Match Winner || - ===== [] == O")
set_dhudmessage (0, 255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, "[Team -% s]", SecondCaptainName)
set_cvar_string ("amx_warname", "|| Match Not Started ||")
}
// Load Match settings because match has been started!
public LoadMatchSettings ()
{
server_cmd ("sv_alltalk 0")
server_cmd ("mp_autoteambalance 2")
server_cmd ("mp_freezetime 4")
server_cmd ("exec match.cfg")
server_cmd ("mp_roundmoney 16000")
}
// Load PuB settings because Match is over!
public LoadPubSettings ()
{
set_cvar_string ("amx_warname", "|| Match Not Started ||")
// Set some zero.
CaptainChoosenID = 0
WhoChoseThePlayer = 0
g_TotalKills [0] = 0
g_TotalDeaths [0] = 0
g_BombPlants [0] = 0
g_BombDefusions [0] = 0
msgToDisplay [0] = 0
msgToDisplaykill [0] = 0
msgToDisplaydeath [0] = 0
msgToDisplayplant [0] = 0
msgToDisplaydefuse [0] = 0
remove_task (6969)
// ALL HALF STATUS TO FALSE.
isFirstHalfStarted = false
isSecondHalfStarted = false
FirstCaptainTeamName = 0
SecondCaptainTeamName = 0
MatchStarterOwner = 0
CaptainSChosen = false
// g_KnifeRound = false
is_secondHalf = false
g_MatchInit = false
g_MatchStarted = false
g_MainMatchStarted = false
RoundCounter = 0
gCptT = 0
gCptCT = 0
CaptainCount = 0
ScoreFtrstTeam = 0
ScoreScondteam = 0
ShowMenuFirst = 0
ShowMenuSecond = 0
FirstCaptainName [0] = 0
SecondCaptainName [0] = 0
TempFirstCaptain [0] = 0
TempSecondCaptain [0] = 0
server_cmd ("exec server.cfg")
server_cmd ("mp_roundmoney 16000")
set_task (3.0, "GiveRestartRound", _, _, _, "a", 1);
}
public FirstTeamWinnerMessage ()
{
GiveRestartRound ()
set_task (3.0, "MatchIsOverHUDMessage")
set_task (7.0, "SecondHalfCompletedHUDMessage")
set_task (13.0, "FirstTeamWonTheMatch")
set_task (20.0, "DoRanking")
set_task (32.0, "LoadPubSettings")
}
public SecondTeamWinnerMessage ()
{
GiveRestartRound ()
set_task (3.0, "MatchIsOverHUDMessage")
set_task (7.0, "SecondHalfCompletedHUDMessage")
set_task (13.0, "SecondTeamWonTheMatch")
set_task (20.0, "DoRanking")
set_task (32.0, "LoadPubSettings")
}
/ * public SecondCaptWonKnifeRoundWonMsg (id)
{
set_dhudmessage (0, 255, 0, -1.0, 0.40, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "|| Knife Round Winner || ^ n =================")
set_dhudmessage (255, 255, 255, -1.0, -1.0, 0, 2.0, 3.0, 0.8, 0.8)
show_dhudmessage (0, "Captain -% s", FirstCaptainName)
chatcolor (0, "! t [MATCH]! gCaptain! t% s! gWon the! tKnife Round! y !!", FirstCaptainName)
set_task (5.0, "ChooseTeam", gCptCT)
} * /
/ * public FirstCaptainWonKnifeRoundMsg (id)
{
set_dhudmessage (0, 255, 0, -1.0, 0.40, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "|| Knife Round Winner || ^ n =================")
set_dhudmessage (255, 255, 255, -1.0, -1.0, 0, 2.0, 3.0, 0.8, 0.8)
show_dhudmessage (0, "Captain -% s", FirstCaptainName)
chatcolor (0, "! t [MATCH]! gCaptain! t% s! gWon the! tKnife Round! y !!", FirstCaptainName)
set_task (5.0, "ChooseTeam", gCptT)
} * /
public ShowScoreToUser (id)
{
if (g_MatchStarted)
{
if (isFirstHalfStarted)
{
if ((FirstCaptainTeamName == 1) && (get_user_team (id) == 2))
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
if ((FirstCaptainTeamName == 1) && (get_user_team (id) == 1))
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (id)) == 2)
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (id) == 1))
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
}
if (isSecondHalfStarted)
{
if ((FirstCaptainTeamName == 1) && (get_user_team (id) == 2))
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
if ((FirstCaptainTeamName == 1) && (get_user_team (id) == 1))
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (id)) == 2)
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (id) == 1))
{
chatcolor (id, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
}
}
}
public ShowScoreOnRoundStart ()
{
new players [32], num, iPlayer
get_players (players, num, "h");
for (new i = 0; i <num; i ++)
{
iPlayer = players ;
if (isFirstHalfStarted)
{
if ((FirstCaptainTeamName == 1) && (get_user_team (iPlayer) == 2))
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
if ((FirstCaptainTeamName == 1) && (get_user_team (iPlayer) == 1))
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (iPlayer)) == 2)
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (iPlayer) == 1))
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
}
if (isSecondHalfStarted)
{
if ((FirstCaptainTeamName == 1) && (get_user_team (iPlayer) == 2))
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
if ((FirstCaptainTeamName == 1) && (get_user_team (iPlayer) == 1))
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (iPlayer)) == 2)
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreScondteam, ScoreFtrstTeam)
}
if ((FirstCaptainTeamName == 2) && (get_user_team (iPlayer) == 1))
{
chatcolor (iPlayer, "! y [! tScoreboard! y]! gYour Team's Score! y - >>! t [! g% i! t]! y- || -! gOpponent Team's Score! y - >>! t [! g% i! t] ", ScoreFtrstTeam, ScoreScondteam)
}
}
}
}
// To restart the round.
public GiveRestartRound ()
{
server_cmd ("sv_restartround ^" 1 ^ "");
}
// All MESSAGES.
public FirstHalfHUDMessage ()
{client_cmd (0, "mp3 play% s", first_half);
set_dhudmessage (255, 255, 255, -1.0, 0.34, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "|| SERVER ||")
set_dhudmessage (0, 255, 0, -1.0, 0.42, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "// START //")
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.50, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "FIRST HALF STARTE D")
}
public SecondHalfHUDMessage ()
{
new players [32], num
get_players (players, num, "h")
new player
for (new i = 0; i <num; i ++)
{
player = players
if (is_user_connected (player))
{
set_user_frags (player, Frags [player])
cs_set_user_deaths (player, Deaths [player])
}
}
client_cmd (0, "mp3 play% s", second_half);
set_dhudmessage (255, 255, 255, -1.0, 0.34, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "|| SERVER ||")
set_dhudmessage (0, 255, 0, -1.0, 0.42, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "// START //")
set_dhudmessage (random (256), random (256), random (256), -1.0, 0.50, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, "SECOND HALF STARTE D")
}
public FirstHalfCompletedHUDMessage ()
{
new score_message [1024]
if (ScoreFtrstTeam> ScoreScondteam)
{
format (score_message, 1023, "- = || First Half Score || = - ^ n ^ n ^ n% s - - [% i] ^ n ^ n LEADING TO ^ n ^ n% s - [% i] ", FirstCaptainName, ScoreFtrstTeam, SecondCaptainName, ScoreScondteam)
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
}
if (ScoreScondteam> ScoreFtrstTeam)
{
format (score_message, 1023, "- = || First Half Score || = - ^ n ^ n ^ n% s - - [% i] ^ n ^ n LEADING TO ^ n ^ n% s - [% i] ", SecondCaptainName, ScoreScondteam, FirstCaptainName, ScoreFtrstTeam)
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
}
if (ScoreFtrstTeam == ScoreScondteam)
{
format (score_message, 1023, "[[Both teams have Won [% i] rounds till now]]", ScoreScondteam)
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
}
}
public SecondHalfCompletedHUDMessage ()
{
new score_message [1024]
if (ScoreFtrstTeam> ScoreScondteam)
{
format (score_message, 1023, "- = || Second Half Score || = - ^ n ^ n ^ n% s - - [% i] ^ n ^ n LEADING TO ^ n ^ n% s - [% i] ", FirstCaptainName, ScoreFtrstTeam, SecondCaptainName, ScoreScondteam)
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
}
if (ScoreScondteam> ScoreFtrstTeam)
{
format (score_message, 1023, "- = || Second Half Score || = - ^ n ^ n ^ n% s - - [% i] ^ n ^ n LEADING TO ^ n ^ n% s - [% i] ", SecondCaptainName, ScoreScondteam, FirstCaptainName, ScoreFtrstTeam)
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 4.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
}
if (ScoreFtrstTeam == ScoreScondteam)
{
format (score_message, 1023, "[[Both teams have Won [% i] rounds till now]]", ScoreScondteam)
set_dhudmessage (0.255, 0, -1.0, -1.0, 0, 2.0, 6.0, 0.8, 0.8)
show_dhudmessage (0, score_message)
}
}
public MatchIsOverHUDMessage ()
{
set_dhudmessage (213,255, 0, -1.0, -1.0, 0, 2.0, 3.0, 0.8, 0.8)
show_dhudmessage (0, "|||| ----------------------------- |||| ^ nM ATCH - OVER ^ n |||| ----------------------------- |||| ")
}
public TeamSwapMessage ()
{
set_dhudmessage (255, 255, 0, -1.0, -1.0, 0, 2.0, 3.0, 0.8, 0.8)
show_dhudmessage (0, "[- First Half Is Over -]] ^ n || Teams will be Swapped Automatically || ^ n || Second Half will Begin Now ||")
}
public MatchStartedTrue ()
{
server_cmd ("mp_autokick 0")
g_MatchStarted = true
set_task (30.0, "SetMainMatchStartedTrue")
}
public SetMainMatchStartedTrue ()
{
g_MainMatchStarted = true
}
public LiveOnThreeRestart ()
{
set_dhudmessage (random (256), random (256), random (256), -1.0, -1.0, 0, 2.0, 3.0, 0.8, 0.8)
show_dhudmessage (0, ">> -------------------------------- << ^ n Live On Three Restarts ^ n> > -------------------------------- << ")
}
/ * AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
{\\ rtf1 \\ ansi \\ deff0 {\\ fonttbl {\\ f0 \\ fnil Tahoma;}} \ n \\ viewkind4 \\ uc1 \\ pard \\ lang1033 \\ f0 \\ fs16 \ n \\ par } [/ CODE]