Código PHP:
/*
_____ .__ _____ __
/ \ |__|__ ___ / \ _____ | | __ ___________
/ \ / \| \ \/ / / \ / \\__ \ | |/ // __ \_ __ \
/ Y \ |> < / Y \/ __ \| <\ ___/| | \/
\____|__ /__/__/\_ \ \____|__ (____ /__|_ \\___ >__|
\/ \/ \/ \/ \/ \/
Mix Maker is free software,
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY, without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mix Maker, if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
© Copyright 2009/2010 - Linux & #8 SickneSS
Contact Us :
* Insides | Linux
MSN : linux@insides.com.ar
WEB : www.insides.com.ar/foro
Debian GNU/Linux User #220572
* #8 SickneSS
MSN : Sickness.cs@hotmail.com
Web : http://www.nv-arg.com.ar
STEAM ID : SicknessARG
*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#define PLUGIN "Mix Maker"
#define VERSION "9.6"
#define AUTHOR "Linux & #8 SickneSS"
#define TASK_LISTA 001
#define TASK_CHE 002
#define TASK_MENSAJE 003
#define TASK_CAMBIO 004
#define TASK_PRINT 005
#define TASK_MSG 006
#define TASK_RESTART 007
#define TASK_RESTART5 008
#define PlugActivo (get_pcvar_num(g_RESULTADO))
#define HudGris set_hudmessage(64, 64, 64, -1.0, 0.20, 2, 0.02, 12.00, 0.01, 0.1, -1)
#define HudVrd set_hudmessage(64, 255, 64, -1.0, -1.0, 1)
#define HudRed set_hudmessage(255, 64, 64, -1.0, -1.0, 1)
#define HudBlu set_hudmessage(64, 64, 255, -1.0, -1.0, 1)
#define HudBlu2 set_hudmessage(64, 64, 255, -1.0, 0.20, 1, 0.02, 12.00, 0.01, 0.1, -1)
#define HudVrd2 set_hudmessage(64, 255, 64, -1.0, 0.20, 1, 0.02, 12.00, 0.01, 0.1, -1)
#define HudRed2 set_hudmessage(255, 64, 64, -1.0, 0.20, 1, 0.02, 12.00, 0.01, 0.1, -1)
/* pCvars */
new g_RESULTADO, g_READY, g_SAY, g_soniditos , g_SRVTAG, g_welcomemsg, g_pwDEF, g_pPasswordPointer
new tt_win, ct_win, total, totalCT, totalTT, globalCT, globalTT, ReadyCont, FraMitad, FraFinal, MasFraguer1, MasFraguer2
new Pauses, cfgPub, cfgWarm, cfgClosed, cfgRates
new MixMakerGameName
/* Strings */
new szStag[32]
new szCpub[32]
new szCwarm[32]
new szCclosed[32]
new szCrates[32]
new szPwdef[32]
new szMixMakerGameName[32]
/* Arrays */
new bool:OnOff[33] = false
new bool:EstoyReady[33]
new bool:BorraLista
new bool:mitad = false
new bool:end = false
new bool:pasarse = false
new bool:ready = false
new bool:ready2 = false
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
//Multilingual
register_dictionary("Mix_Maker.txt")
//Commands
register_concmd("mm_vale", "cmdVale", ADMIN_CVAR)
register_concmd("mm_live", "cmdVale", ADMIN_CVAR)
register_concmd("mm_nuevo", "cmdNuevo", ADMIN_CVAR)
register_concmd("mm_new", "cmdNuevo", ADMIN_CVAR)
register_concmd("say /off","off", ADMIN_CVAR)
register_concmd("say /on","on", ADMIN_CVAR)
register_concmd("say /nosay", "cmdSayNosay", ADMIN_CVAR)
register_concmd("say /nopass","cmdNopass", ADMIN_CFG)
register_concmd("say /vale","cmdVale", ADMIN_CFG)
register_concmd("say /live","cmdVale", ADMIN_CFG)
register_concmd("say /rr","cmdRR", ADMIN_CFG)
register_concmd("say /rr5","cmdRR5", ADMIN_CFG)
register_concmd("say /mix","MixMenu", ADMIN_CFG)
register_concmd("say /maps","MapsMenu", ADMIN_MAP)
register_concmd("say /pause","PauseHandler", ADMIN_CFG)
//Client Commands
register_clcmd("say /resultado","say_resultado")
register_clcmd("say /resultados","say_resultado")
register_clcmd("say /result","say_resultado")
register_clcmd("say /results","say_resultado")
register_clcmd("say /ready", "menu_ready")
register_clcmd("say /spec", "saySpec")
register_clcmd("say_team /resultado","say_resultado")
register_clcmd("say_team /resultados","say_resultado")
register_clcmd("say_team /result","say_resultado")
register_clcmd("say_team /results","say_resultado")
register_clcmd("say_team /ready", "menu_ready")
register_clcmd("say_team","sayPass")
register_clcmd("say","sayPass")
register_clcmd("say","nosay")
register_clcmd("say","cmdAlltalk")
register_clcmd("say_team","cmdAlltalk")
register_clcmd("chooseteam", "cmdCambioTeam")
//Events
register_logevent("round_end", 2, "1=Round_End")
register_event("HLTV", "nuevo_round", "a", "1=0", "2=0")
register_event("TeamScore","captura_score","a")
//pCvars
g_RESULTADO = register_cvar("mm_enable","0")
g_READY = register_cvar("mm_ready","0")
g_SAY = register_cvar("mm_nosay","0")
//edita la linea de abajo para cambiar el servertag
g_SRVTAG = register_cvar("mm_servertag","[MixMaker]")
g_soniditos = register_cvar("mm_sounds","1")
g_welcomemsg = register_cvar("mm_welcome","1")
g_pwDEF = register_cvar("mm_password","closed")
g_pPasswordPointer = get_cvar_pointer("sv_password")
cfgPub = register_cvar("mm_cfg_public","publico.cfg")
cfgWarm = register_cvar("mm_cfg_warmup","practica.cfg")
cfgClosed = register_cvar("mm_cfg_closed","cerrado.cfg")
cfgRates = register_cvar("mm_cfg_rates","rates.cfg")
MixMakerGameName = register_cvar("mm_gamename","nv-arg.com.ar")
//Strings
get_pcvar_string(g_SRVTAG,szStag,31)
get_pcvar_string(g_pwDEF,szPwdef,31)
get_pcvar_string(cfgPub,szCpub,31)
get_pcvar_string(cfgWarm,szCwarm,31)
get_pcvar_string(cfgClosed,szCclosed,31)
get_pcvar_string(cfgRates,szCrates,31)
get_pcvar_string(MixMakerGameName,szMixMakerGameName,31)
//Cvars
register_cvar("mm_author", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY)
register_cvar("mm_version", VERSION, FCVAR_SPONLY|FCVAR_SERVER)
set_task(180.0,"CheckSlots",_,_,_,"b")
//Forwards
register_forward( FM_GetGameDescription, "GameDesc" )
}
public GameDesc( ) {
forward_return(FMV_STRING,szMixMakerGameName)
return FMRES_SUPERCEDE
}
public client_disconnect(id) {
OnOff[id] = false
if(EstoyReady[id]) {
EstoyReady[id] = false;
ReadyCont--;
}
}
public plugin_cfg() {
if(is_plugin_loaded("Pause Plugins") != -1)
server_cmd("amx_pausecfg add ^"%s^"", PLUGIN)
}
public off(id, level, cid) {
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
server_cmd("amx_off")
return PLUGIN_HANDLED
}
public on(id, level, cid) {
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
server_cmd("amx_on")
return PLUGIN_HANDLED
}
public captura_score() {
if PlugActivo {
new team[16],Float:score
read_data(1,team,15)
read_data(2,score)
if(equal(team,"CT"))
ct_win = floatround(score)
if(equal(team,"TERRORIST"))
tt_win = floatround(score)
total = ct_win + tt_win
}
}
public nuevo_round(id){
if (get_pcvar_num(g_READY))
{
ready = true
ready2 = true
}
else
ready = false
if (ready) {
set_task(1.0, "ActualizaLista", TASK_LISTA, _, _, "b")
set_task(1.0, "CheckLista", TASK_CHE, _, _, "b")
set_task(2.0, "mensaje", TASK_MENSAJE)
client_cmd(id,"say /ready")
}
}
public round_end(){
if PlugActivo {
if (total == 15 && (!mitad)) {
totalCT = tt_win
totalTT = ct_win
FraMitad = El_mas_Frager();
MasFraguer1 = get_user_frags(FraMitad)
if (ready2) {
set_pcvar_num (g_READY, 1)
}
set_task(1.0, "cambio_teams", TASK_CAMBIO)
server_cmd("sv_restart 5")
mitad = true
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_PARCIAL",szStag,totalTT,totalCT)
set_task(1.0, "mitadmsg")
set_task(6.0, "rr1")
set_task(7.0, "rr1")
set_task(8.0, "rr2")
set_task(13.0, "rr5")
globalCT = totalCT
globalTT = totalTT
tt_win = 0
ct_win = 0
}
}
if (mitad) {
if (ct_win + totalCT == 16){
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_WIN_CT",szStag)
HudBlu
show_hudmessage(0,"%L",LANG_PLAYER,"MM_HUD_WIN_CT")
end = true
mitad = false
}
else if (tt_win + totalTT == 16)
{
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_WIN_TT", szStag)
HudRed
show_hudmessage(0,"%L",LANG_PLAYER,"MM_HUD_WIN_TT")
end = true
mitad = false
}
else if (tt_win + totalTT == 15 && ct_win + totalCT == 15)
{
HudVrd
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_DRAW")
end = true
mitad = false
}
if (end){
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_GLOBAL",szStag,ct_win + totalCT,tt_win + totalTT)
FraFinal = El_mas_Frager();
MasFraguer2 = get_user_frags(FraFinal)
set_task(11.0, "mas_fraguero1")
set_task(11.0, "mas_fraguero2")
globalCT = totalCT + ct_win
globalTT = totalTT + tt_win
end = false
pasarse = false
}
}
}
public cmdVale(id, level, cid) {
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
pasarse = true
remove_task(TASK_LISTA)
remove_task(TASK_CHE)
set_pcvar_num (g_READY, 0)
EstoyReady[id] = false
ReadyCont = 0
new pass[32]
get_cvar_string("sv_password",pass,sizeof(pass) - 1)
if (!pass[0]) {
server_cmd("sv_password %s", szPwdef)
}
if(!mitad) {
tt_win = 0
ct_win = 0
total = 0
totalCT = 0
totalTT = 0
end = false
set_task(0.1, "print", TASK_PRINT)
}
else
tt_win = 0
ct_win = 0
ready2 = false
set_task(0.1, "print", TASK_PRINT)
return PLUGIN_HANDLED
}
public cmdNuevo (id, level, cid){
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
tt_win = 0
ct_win = 0
total = 0
totalCT = 0
totalTT = 0
globalCT = 0
globalTT = 0
end = false
mitad = false
EstoyReady[id] = false
ReadyCont = 0
set_pcvar_num (g_READY, 0)
return PLUGIN_HANDLED;
}
public cmdRR (id, level, cid){
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
server_cmd("sv_restart 1")
new admin_name[32]
get_user_name(id , admin_name , 31 )
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_ADMINRR",admin_name)
return PLUGIN_HANDLED;
}
public cmdNopass (id, level, cid){
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
set_pcvar_string(g_pPasswordPointer, "")
return PLUGIN_HANDLED;
}
public CheckSlots (id){
new Players = get_playersnum(1)
if(Players <= 5){
tt_win = 0
ct_win = 0
total = 0
totalCT = 0
totalTT = 0
globalCT = 0
globalTT = 0
end = false
mitad = false
EstoyReady[id] = false
ReadyCont = 0
set_pcvar_num (g_READY, 0)
}
}
public menu_ready(id) {
if (!ready)
return PLUGIN_HANDLED;
new menu, Menuz[512]
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_READYMENU_TITLE")
menu = menu_create(Menuz, "abre_menu")
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_READYMENU_READY")
menu_additem(menu, Menuz, "1", 0)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_READYMENU_NOTREADY")
menu_additem(menu, Menuz, "2", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_ALLMENUS_CLOSE")
menu_setprop(menu,MPROP_EXITNAME,Menuz)
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public abre_menu(id, menu, item) {
if (item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:{
if(!EstoyReady[id]) {
EstoyReady[id] = true;
ReadyCont++;
}
}
case 2:{
if(EstoyReady[id]) {
EstoyReady[id] = false;
ReadyCont--;
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
El_mas_Frager() {
static players[32];
new num, i, id;
get_players(players, num);
new acumfrag;
for(i = 0; i < num; i++)
{
id = players[i];
if(!acumfrag) acumfrag = players[0];
if(get_user_frags(id) > get_user_frags(acumfrag))
acumfrag = id;
}
return acumfrag;
}
public print(){
set_task (1.0,"cinco")
set_task (2.0,"cuatro")
set_task (3.0,"tres")
set_task (4.0,"dos")
set_task (5.0,"uno")
set_task (6.0,"valeria")
set_task(7.0, "RR1")
set_task(9.0, "RR2")
set_task(11.0, "RR3")
set_task(13.0, "RR5")
remove_task(TASK_PRINT)
set_task(19.0, "msg", TASK_MSG)
}
public say_resultado(){
if PlugActivo {
if(!mitad){
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_RESULTS_1",szStag,ct_win,tt_win)
}
else if (mitad) {
chat_color(0, "%L",LANG_PLAYER,"MM_CHAT_RESULTS_2",szStag,ct_win + totalCT,tt_win + totalTT)
}
}
}
public sayPass(){
new said[192]
read_args(said,191)
new pass[32]
get_cvar_string("sv_password",pass,sizeof(pass) - 1)
if(containi(said,"pass") != -1 || containi(said,"pw") != -1){
if(pass[0])
{
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_PASSWORD",szStag,pass)
client_cmd(0,"password ^"%s^"",pass)
}
else
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_PASSWORDNOHAVE",szStag)
}
}
public nosay(id){
if(!get_pcvar_num(g_SAY))
return PLUGIN_CONTINUE
if(get_user_flags(id) & ADMIN_CFG)
return PLUGIN_CONTINUE
new said[192]
read_args(said,191)
new name[32]
get_user_name(id, name, 31)
if(containi(said,".pausa") != -1 || containi(said,".pause") != -1){
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_PAUSE",name)
return PLUGIN_HANDLED
}
chat_color(id, "%L",id,"MM_CHAT_BLOCKSAY_1",szStag)
chat_color(id, "%L",id,"MM_CHAT_BLOCKSAY_2",szStag)
return PLUGIN_HANDLED
}
public cmdCambioTeam(id){
if (!get_pcvar_num(g_RESULTADO)) {
pasarse = false
}
if (!pasarse)
return PLUGIN_CONTINUE;
if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return PLUGIN_HANDLED;
chat_color(id,"%L",id,"MM_CHAT_CHOOSETEAM",szStag)
return PLUGIN_HANDLED;
}
public cambio_teams(){
new players[32], num
get_players(players, num)
new player
for(new i = 0; i < num; i++)
{
player = players[i]
if(cs_get_user_team(player) == CS_TEAM_T)
{
cs_set_user_team(player, CS_TEAM_CT)
}
else if(cs_get_user_team(player) == CS_TEAM_CT)
{
cs_set_user_team(player, CS_TEAM_T)
}
}
remove_task(TASK_CAMBIO)
}
public ActualizaLista()
{
if(!get_pcvar_num(g_RESULTADO))
return;
new MsgText[96];
for(new i = 1; i <= 32; i++)
{
if(is_user_connected(i) && EstoyReady[i])
{
new PlayerName[32];
get_user_name(i, PlayerName, sizeof(PlayerName) - 1)
set_hudmessage(200, 100, 0, 0.020000,0.250000, 0, 0.0, 1.1, 0.0, 0.0, -1)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_READY", ReadyCont , TodosLosPlayers())
format(MsgText, 95, "%s^n%s", MsgText, PlayerName)
}
}
set_hudmessage(255, 255, 255, 0.020000,0.250000, 0, 0.0, 1.1, 0.0, 0.0, -1)
if(ReadyCont > 0)
show_hudmessage(0, MsgText)
else
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_READYTOPLAY")
}
public CheckLista(id)
{
if(!get_pcvar_num(g_RESULTADO))
return;
if(ReadyCont != 0 && ReadyCont == TodosLosPlayers() && !BorraLista)
{
remove_task(TASK_LISTA)
BorraLista = true;
set_task (0.1, "cmdVale")
}
if(BorraLista && ReadyCont != TodosLosPlayers())
{
BorraLista = false;
set_task(1.0, "ActualizaLista", TASK_LISTA, _, _, "b");
}
}
TodosLosPlayers() {
new Players;
for(new i = 1; i <= 32; i++)
{
if(is_user_connected(i))
Players++;
}
return Players;
}
public RR1()
{
HudGris
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVE5")
server_cmd("sv_restart 1")
}
public RR2()
{
HudVrd2
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVERR")
server_cmd("sv_restart 1")
}
public RR3()
{
HudBlu2
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVERR")
server_cmd("sv_restart 1")
}
public RR5()
{
HudRed2
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVERR")
server_cmd("sv_restart 5")
}
public cinco() {
if (get_pcvar_num(g_soniditos) == 1 ) {
client_cmd(0, "spk ^"fvox/five^"")
}
set_hudmessage(200, 100, 0, -1.0, -1.0, 1, 0.0, 2.0, 0.0, 0.0, 3)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVECOUNTDOWN5")
}
public cuatro() {
if (get_pcvar_num(g_soniditos) == 1 ) {
client_cmd(0, "spk ^"fvox/four^"")
}
set_hudmessage(200, 100, 0, -1.0, -1.0, 1, 0.0, 2.0, 0.0, 0.0, 3)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVECOUNTDOWN4")
new pass[32]
get_cvar_string("sv_password",pass,sizeof(pass) - 1)
new Alltalk
Alltalk = get_cvar_pointer("sv_alltalk")
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_AMXXOFF",szStag)
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_PASSWORD",szStag, pass)
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_ALLTK",szStag,get_pcvar_num(Alltalk)? "ON" : "OFF")
}
public tres() {
if (get_pcvar_num(g_soniditos) == 1 ) {
client_cmd(0, "spk ^"fvox/three^"")
}
set_hudmessage(200, 100, 0, -1.0, -1.0, 1, 0.0, 2.0, 0.0, 0.0, 3)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVECOUNTDOWN3")
}
public dos() {
if (get_pcvar_num(g_soniditos) == 1 ) {
client_cmd(0, "spk ^"fvox/two^"")
}
set_hudmessage(200, 100, 0, -1.0, -1.0, 1, 0.0, 2.0, 0.0, 0.0, 3)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVECOUNTDOWN2")
}
public uno() {
if (get_pcvar_num(g_soniditos) == 1 ) {
client_cmd(0, "spk ^"fvox/one^"")
}
set_hudmessage(200, 100, 0, -1.0, -1.0, 1, 0.0, 2.0, 0.0, 0.0, 3)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVECOUNTDOWN1")
}
public valeria() {
set_hudmessage(255, 0, 0, -1.0, -1.0, 1, 0.0, 2.0, 0.0, 0.0, 3)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_LIVESTART")
}
public mitadmsg(){
HudVrd
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_FIRSTHALFEND", globalTT, globalCT )
}
public mas_fraguero1() {
new name[32]
get_user_name(FraMitad, name, sizeof(name) - 1)
set_hudmessage(64, 64, 64, -1.0, 0.21, 2, 0.02, 16.00, 0.01, 0.1, -1)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_BESTFRAGGER_1", name, MasFraguer1 )
}
public mas_fraguero2() {
new name[32]
get_user_name(FraFinal, name, sizeof(name) - 1)
set_hudmessage(64, 64, 64, -1.0, 0.29, 2, 0.02, 16.00, 0.01, 0.1, -1)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_BESTFRAGGER_2", name, MasFraguer2 )
}
public mensaje() {
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_READY",szStag)
remove_task(TASK_MENSAJE)
}
public msg(){
if(!mitad){
new pass[32]
get_cvar_string("sv_password",pass,sizeof(pass) - 1)
HudGris
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_GAMECOMMENCING_HALF1", pass)
}
else if (mitad) {
new pass[32]
get_cvar_string("sv_password",pass,sizeof(pass) - 1)
HudGris
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_GAMECOMMENCING_HALF2", ct_win + totalCT, tt_win + totalTT, pass )
}
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_LIVE",szStag)
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_LIVE",szStag)
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_GLHF",szStag)
remove_task(TASK_MSG)
set_task(3.0, "off")
}
public MixMenu(id,level,cid)
{
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED
new menu, Menuz[512]
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MIXMENU_TITLE")
menu = menu_create(Menuz, "MenuMix")
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MIXMENU_CFGPUBLIC")
menu_additem(menu, Menuz, "1", ADMIN_CFG)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MIXMENU_CFGWARMUP")
menu_additem(menu, Menuz, "2", ADMIN_CFG)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MIXMENU_CFGCLOSED")
menu_additem(menu, Menuz, "3", ADMIN_CFG)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MIXMENU_CFGRATES")
menu_additem(menu, Menuz, "4", ADMIN_CFG)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MIXMENU_LIVE")
menu_additem(menu, Menuz, "5", ADMIN_CFG)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MIXMENU_ALLSPEC")
menu_additem(menu, Menuz, "6", ADMIN_CFG)
menu_setprop(menu,MPROP_EXIT, MEXIT_ALL)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_ALLMENUS_CLOSE")
menu_setprop(menu,MPROP_EXITNAME,Menuz)
menu_display(id, menu, 0)
return PLUGIN_HANDLED;
}
public MenuMix(id, menu, item) {
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_CONTINUE
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
set_hudmessage(0, 255, 0, -1.0, 0.31, 2, 0.1, 3.0, 0.05, 1.0, 1)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_PUBLIC")
server_cmd("exec %s",szCpub)
server_exec()
set_task(1.5,"cmdRestart",TASK_RESTART)
menu_display(id,menu)
}
case 2:
{
set_hudmessage(0, 0, 255, -1.0, 0.31, 2, 0.1, 3.0, 0.05, 1.0, 1)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_WARMUP")
server_cmd("exec %s",szCwarm)
server_exec()
set_task(1.5,"cmdRestart",TASK_RESTART)
menu_display(id,menu)
}
case 3:
{
set_hudmessage(255, 0, 0, -1.0, 0.31, 2, 0.1, 3.0, 0.05, 1.0, 1)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_CLOSED")
server_cmd("exec %s",szCclosed)
server_exec()
set_task(1.5,"cmdRestart",TASK_RESTART)
menu_display(id,menu)
}
case 4:
{
new pass[32]
get_cvar_string("sv_password",pass,sizeof(pass) - 1)
set_hudmessage(0, 0, 170, -1.0, 0.31, 1, 0.1, 5.0, 0.05, 1.0, 1)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_RATED")
server_cmd("exec %s",szCrates)
server_exec()
client_cmd(0, "password ^"%s^"", pass)
client_cmd(id,"say /maps")
}
case 5:
{
server_cmd("mm_vale")
}
case 6:
{
set_hudmessage(64, 64, 64, -1.0, 0.25, 1, 6.0, 12.0)
show_hudmessage(0, "%L",LANG_PLAYER,"MM_HUD_ALLSPEC")
new Players[32], Num
get_players(Players, Num)
for (new i = 0; i < Num; i++)
{
user_kill(Players[i], 0)
cs_set_user_team(Players[i], CS_TEAM_SPECTATOR,CS_DONTCHANGE)
}
}
}
return PLUGIN_HANDLED
}
public cmdRestart(id) {
server_cmd("sv_restart 1")
remove_task(TASK_RESTART)
}
public cmdAlltalk(id) {
new Alltalk
new said[192]
read_args(said,191)
Alltalk = get_cvar_pointer("sv_alltalk")
if(containi(said,"alltalk") != -1){
chat_color(id,"%L",id,"MM_CHAT_ALLTALK",szStag,get_pcvar_num(Alltalk)? "ON" : "OFF")
}
}
public MapsMenu(id,level,cid) {
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED
new menu, Menuz[512]
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_TITLE")
menu = menu_create(Menuz, "MenuMaps")
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_DUST2")
menu_additem(menu, Menuz, "1", ADMIN_MAP)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_INFERNO")
menu_additem(menu, Menuz, "2", ADMIN_MAP)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_NUKE")
menu_additem(menu, Menuz, "3", ADMIN_MAP)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_TRAIN")
menu_additem(menu, Menuz, "4", ADMIN_MAP)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_CBBLE")
menu_additem(menu, Menuz, "5", ADMIN_MAP)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_CPLMILL")
menu_additem(menu, Menuz, "6", ADMIN_MAP)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_CPLSTRIKE")
menu_additem(menu, Menuz, "7", ADMIN_MAP)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_MAPSMENU_CPLFIRE")
menu_additem(menu, Menuz, "8", 0)
menu_setprop(menu,MPROP_EXIT, MEXIT_ALL)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_ALLMENUS_NEXT")
menu_setprop(menu,MPROP_NEXTNAME ,Menuz)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_ALLMENUS_BACK")
menu_setprop(menu,MPROP_BACKNAME ,Menuz)
formatex(Menuz, charsmax(Menuz), "%L", id, "MM_ALLMENUS_CLOSE")
menu_setprop(menu,MPROP_EXITNAME,Menuz)
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public MenuMaps(id, menu, item) {
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_dust2")
}
case 2:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_inferno")
}
case 3:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_nuke")
}
case 4:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_train")
}
case 5:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_cbble")
}
case 6:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_cpl_mill")
}
case 7:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_cpl_strike")
}
case 8:
{
server_cmd("amx_on")
client_cmd(id,"amx_map de_cpl_fire")
}
}
return PLUGIN_HANDLED
}
public client_putinserver(id){
set_task(15.0, "clprnt", id)
}
public clprnt(id) {
if(get_pcvar_num(g_welcomemsg) == 1) {
new name[32]
get_user_name(id, name, 31)
chat_color(id,"%L",id,"MM_CHAT_WELCOME",name,PLUGIN,VERSION,AUTHOR)
}
return PLUGIN_HANDLED
}
public cmdRR5 (id, level, cid){
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED;
server_cmd("sv_restart 5")
set_task(6.0,"rr5",TASK_RESTART5)
return PLUGIN_HANDLED;
}
public rr5(){
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_LIVEGREEN")
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_LIVETEAM")
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_LIVEYELLOW")
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_LIVETEAM")
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_LIVEGREEN")
remove_task(TASK_RESTART5)
return PLUGIN_HANDLED;
}
public rr1(){
server_cmd("sv_restart 1")
}
public rr2(){
server_cmd("sv_restart 5")
}
public PauseHandler(id)
{
if(++Pauses == 1)
OnOff[id] = true
else
OnOff[id] = false
client_cmd(id,"amx_on")
client_cmd(id, "amx_pause")
client_cmd(id,"amx_off")
return PLUGIN_HANDLED
}
public saySpec(id) {
if(!is_user_alive(id))
{
set_hudmessage(0, 255, 0, -1.0, 0.31, 1, 1.0, 3.0)
show_hudmessage(id,"%L",id,"MM_HUD_SPECSWITCH_ALIVE")
}
else
{
set_hudmessage(64, 64, 64, -1.0, 0.31, 2, 1.0, 5.0)
show_hudmessage(id,"%L",id,"MM_HUD_SPECSWITCH")
cs_set_user_team(id,CS_TEAM_SPECTATOR)
user_silentkill(id)
}
}
public cmdSayNosay(id,level,cid) {
if( !cmd_access( id, level, cid, 1 ) )
return PLUGIN_HANDLED
new adminname[32]
get_user_name(id, adminname, 31)
server_cmd("amx_on")
if(get_pcvar_num(g_SAY) == 0 && set_pcvar_num(g_SAY,1)) {
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_ADMINSAYNOSAY",adminname)
}
else if(get_pcvar_num(g_SAY) == 1 && set_pcvar_num(g_SAY,0))
chat_color(0,"%L",LANG_PLAYER,"MM_CHAT_ADMINSAYSAY",adminname)
server_cmd("amx_off")
return PLUGIN_HANDLED
}
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}