Page 1 of 1

Modificare plugin mix

Posted: 27 Sep 2018, 19:37
by eGRoBi
Pluginul respectiv are un bug la scor, dupa ce se schimba echipele intre ele la 8-7 sau orice alt scor de genul, nu se mai actualizeaza scorul si ramane cel care era cand s au schimbat echipele, vreau sa se rezolve daca se poate!
As mai dorii daca se poate modifcarea chat ului in asa fel ca adminii sa aiba acces sa scrie pe say chiar daca e blocat chatul!
Multumesc!


| Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <ColorChat>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

#pragma semicolon	1

#define MAX_ROUNDS	15
#define TASK		1337
#define ACCESS ADMIN_KICK
#define TIME 30.0
#define ADVERTISING_TIME 80.0


static const

	PLUGIN[ ] =		"Mix",
	VERSION[ ] =		"0.1",
	AUTHOR[ ] =		"",
	TAG[ ] =		"[]";

new const g_szInterpCommands[ ][ ] =
{
	"cl_filterstuffcmd 0",
	"ex_interp 0.01"
	
};

stock const messages [ ] [ ] =
{
	"^x04[TAG]^x01 Forum:^x04 ",
        "^x04[TAG]^x01 Adresa TeamSpeak:^x04 ",
	"^x04[TAG]^x01 Plugin creat de^x04 "

};
	
//new g_On[ 33 ] = 0;

	
new bool: g_bMixStarted;
new bool: g_bEndRound;
new bool: g_bSecondPart;

new g_iTeroScore, g_iCTScore;
new g_iTeroSScore, g_iCTSScore;

new cvar_msg;
new SyncHud;
new KNIFE = 0;
new paused = 0;
new amx_gamename;


new Float:player_origin[33][3];
new bool:g_bUsersCanChat = true;
new bool:hasdemo[33];

public plugin_init( )
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /start", "cmdStart", ADMIN_KICK);
	register_clcmd("say /stop", "cmdStop", ADMIN_KICK);
	register_clcmd("say /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say /extra", "cmdExtra", ADMIN_KICK);
	register_clcmd("say /lame", "cmdKnife", ADMIN_KICK);
	register_clcmd("say /specall", "moveSpec", ADMIN_KICK);
	register_clcmd("say /restart", "cmdRestart", ADMIN_KICK);
	register_clcmd( "say /off", "cmdBlocare", ADMIN_KICK);
	register_clcmd( "say /on", "cmdDeblocare", ADMIN_KICK);
	register_clcmd( "say /interp", "cmdSetari", ADMIN_KICK);
	register_clcmd( "say /comenzi", "cmdComenzi", ADMIN_KICK);
	register_concmd("amx_t", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
	register_concmd("amx_ct", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
	register_concmd("amx_spec", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
	register_clcmd("say /pause", "cmdPause", ADMIN_KICK);
	register_clcmd("say /unpause", "cmdUnPause", ADMIN_KICK);
	register_clcmd("say_team /start", "cmdStart", ADMIN_KICK);
	register_clcmd("say_team /stop", "cmdStop", ADMIN_KICK);
	register_clcmd("say_team /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say_team /extra", "cmdExtra", ADMIN_KICK);
	register_clcmd("say_team /lame", "cmdKnife", ADMIN_KICK);
	register_clcmd("say_team /specall", "moveSpec", ADMIN_KICK);
	register_clcmd("say_team /restart", "cmdRestart", ADMIN_KICK);
	register_clcmd( "say_team /off", "cmdBlocare", ADMIN_KICK);
	register_clcmd( "say_team /on", "cmdDeblocare", ADMIN_KICK);
	register_clcmd( "say_team /interp", "cmdSetari", ADMIN_KICK);
	register_clcmd( "say_team /comenzi", "cmdComenzi", ADMIN_KICK);
	register_clcmd("say_team /pause", "cmdPause", ADMIN_KICK);
	register_clcmd("say_team /unpause", "cmdUnPause", ADMIN_KICK);

	
	register_clcmd( "say", "ClCmdSay" );
	register_clcmd( "say", "hookSay" );
	register_clcmd( "say_team", "hookSay" );
	
	RegisterHam(Ham_Spawn, "player", "e_Spawn", 1);
	amx_gamename = register_cvar( "amx_gamename", "www.epic-gamers.ro" );
	register_forward( FM_GetGameDescription, "GameDesc" ); 
	register_event("SendAudio", "EventTeroWin", "a", "2&%!MRAD_terwin");
	register_event("SendAudio", "EventCTWin", "a", "2&%!MRAD_ctwin");
	register_event("CurWeapon","switchweapon","be","1=1","2!29");
	register_logevent("LogEventRoundEnd", 2, "1=Round_End");
	register_logevent("LogEventRound", 2, "1=Round_End");
	register_logevent("LogEventRoundStart", 2, "1=Round_Start");
	set_task ( ADVERTISING_TIME, "show_messages", _, _, _,"b" );
	cvar_msg = register_cvar("score_msg", "3");
	SyncHud = CreateHudSyncObj( );
}

//=================================================MIX COMMANDS===============================================//

public switchweapon(id)
{
	if (KNIFE == 1)
	{
		engclient_cmd(id, "weapon_knife");
	}
}

public cmdRestart(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Nu poti da restart inainte sa inceapa meciul.", TAG);

		return PLUGIN_HANDLED;
	}
	
	if( g_bSecondPart )
	{
		g_iTeroScore = g_iTeroSScore;
		g_iCTScore = g_iCTSScore;
		KNIFE = 0;
		g_bMixStarted = true;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		
		ColorChat(0, GREEN, "%s^x01 %s a repornit partea a II-a a meciului. Good luck!", TAG, szName);
	}
	
	else if( !g_bSecondPart )
	{
		g_iTeroScore = 0;
		g_iCTScore = 0;
		g_iTeroSScore = 0;
		g_iCTSScore = 0;
		KNIFE = 0;
		g_bMixStarted = true;
		g_bSecondPart = false;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		ColorChat(0, GREEN, "%s^x01 %s a repornit prima parte a meciului. Good luck!", TAG, szName);
	}
	
	server_cmd("sv_restart 1");
	
	return PLUGIN_HANDLED;
}

public cmdKnife(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Nu poti porni runda de lame in timpul meciului.", TAG);
		
		return PLUGIN_HANDLED;
	}
	KNIFE = 1;
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	server_cmd("sv_restart 1");
	server_cmd("exec live.cfg");
	server_cmd("mp_freezetime 0");
	ColorChat(0, GREEN, "%s^x01 %s a pornit runda de lame.", TAG, szName);
	strip_user_weapons(0);
	
	return PLUGIN_HANDLED;
}

public cmdStart(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bSecondPart )
	{
		if( g_bMixStarted )
		{
			ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
			
			return PLUGIN_HANDLED;
		}
		
		g_iTeroScore = 0;
		g_iCTScore = 0;
		g_iTeroSScore = 0;
		g_iCTSScore = 0;
		KNIFE = 0;
		g_bMixStarted = true;
		g_bSecondPart = false;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		taskMSG(TASK);
		
		server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	else if( g_bSecondPart )
	{
		KNIFE = 0;
		g_bMixStarted = true;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	return PLUGIN_HANDLED;
}

public cmdWarm(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Nu poti da warm in timpul meciului.", TAG);
		
		return PLUGIN_HANDLED;
	}
	
	g_iTeroScore = 0;
	g_iCTScore = 0;
	KNIFE = 0;
	g_bMixStarted = false;
	g_bSecondPart = false;
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
	
	ColorChat(0, GREEN, "%s^x01 %s a pornit rundele de incalzire.", TAG, szName);
	server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

	
	return PLUGIN_HANDLED;
}

public cmdStop(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Meciul este deja oprit.", TAG);
		
		return PLUGIN_HANDLED;
	}
	
	g_iTeroScore = 0;
	g_iCTScore = 0;
	g_iTeroSScore = 0;
	g_iCTSScore = 0;
	
	g_bMixStarted = false;
	g_bSecondPart = false;
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
	
	ColorChat(0, GREEN, "%s^x01 %s a anulat meciul.", TAG, szName);
        server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

	return PLUGIN_HANDLED;
}

public EventTeroWin( )
{
	if( g_bMixStarted && !g_bEndRound )
	{
		g_bEndRound = true;
    
		g_iTeroScore++;
	
	}
}

public EventCTWin( )
{
	if( g_bMixStarted && !g_bEndRound )
	{
		g_bEndRound = true;
		
		g_iCTScore++;
   
	}
}

public LogEventRoundStart( )
{
	g_bEndRound = false;
        
}

public LogEventRoundEnd( )
{
	if( g_bMixStarted )
	{
		if( g_iTeroScore + g_iCTScore == MAX_ROUNDS )
		{
			new iPlayers[32], iNum, player;
			
			get_players(iPlayers, iNum, "h");
			
			for( new i = 0; i < iNum; i++ )
			{
				player = iPlayers;
				
				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);
				}
			}
		server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 6" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 800" );
        server_cmd( "mp_roundtime 1.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
			
			new iAux = g_iTeroScore;
			g_iTeroScore = g_iCTScore;
			g_iCTScore = iAux;
			
			g_iTeroSScore = g_iTeroScore;
			g_iCTSScore = g_iCTScore;
			
			g_bSecondPart = true;
			g_bMixStarted = false;
			
			server_cmd("sv_restart 1");
		}
		
		if( g_iTeroScore >= MAX_ROUNDS + 1 )
		
		{
		
			ColorChat(0, GREEN, "%s^x03 Echipa Tero^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iTeroScore, g_iCTScore);
		server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
			cmdStop(TASK);
			
			return PLUGIN_HANDLED;
		}
		
		else if( g_iCTScore >= MAX_ROUNDS + 1 )
		{
			ColorChat(0, GREEN, "%s^x03 Echipa CT^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iCTScore, g_iTeroScore);
		server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");	
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
			cmdStop(TASK);
			
			return PLUGIN_HANDLED;
		}
			
		else if( g_iTeroScore == MAX_ROUNDS && g_iCTScore == MAX_ROUNDS )
		{
			ColorChat(0, GREEN, "%s^x01 Meciul s-a terminat egal.", TAG);
			ColorChat(0, GREEN, "%s^x01 Pentru prelungiri,dati comanda /extra", TAG);
			
			cmdStop(TASK);
			
			return PLUGIN_HANDLED;
		}
		
		if( get_pcvar_num(cvar_msg) != 2 )
		{
			ColorChat(0, GREEN, "%s^x01 Terrorists^x04 %d^x01 -^x04 %d^x01 Counter-Terrorists", TAG, g_iTeroScore, g_iCTScore);
		}
	}
	
	return PLUGIN_HANDLED;
}

public taskMSG(T_A_S_K)
{
	if( get_pcvar_num(cvar_msg) > 1 )
	{
		set_hudmessage(0, 100, 200, -1.0, 0.03, 0, 0.0, 1.1, 0.0, 0.0, -1);
		ShowSyncHudMsg(0, SyncHud, "Echipa TERO %d - %d Echipa CT", g_iTeroScore, g_iCTScore);
	}
	
	set_task(1.0, "taskMSG", TASK);
}

public moveSpec(id, level, cid)
{
		if (!cmd_access(id, level, cid, 2))
		{
			return PLUGIN_HANDLED;
		}
		if( g_bMixStarted )
		{
		ColorChat(id, GREEN, "%s^x01 Nu poti pune jucatorii Spectator in timpul meciului.", TAG);
		
		return PLUGIN_HANDLED;
		}
		new players[32], total, i;
		get_players(players,total,"h");
		for (i=0; i<total;i++)
		{
			user_kill(players, 0);
			cs_set_user_team(players, CS_TEAM_SPECTATOR);
		}
		ColorChat(0, GREEN, "%s^x01 Jucatorii au fost pusi ^x04Spectator ^x01pentru alegeri.", TAG);
		return PLUGIN_HANDLED;
}

//===============================================================================================//
//==================================AFK REPORT=======================================================================//
public e_Spawn(id)
{
    remove_task(id);
    if(is_user_alive(id))
    {
        set_task(0.8, "get_spawn", id);
    }
    return HAM_IGNORED;
}

public get_spawn(id)
{
    pev(id, pev_origin, player_origin[id]);
    set_task(TIME, "check_afk", id);
}

public check_afk(id)
{
    if(is_user_alive(id))
    {
        if(same_origin(id))
        {
            new name[33];
            get_user_name(id, name, 32);
            ColorChat(0, GREEN, "%s^x01 Player-ul^x04 %s^x01 a fost raportat ca AFK!", TAG, name);
        }
    }
}

public same_origin(id)
{
    new Float:origin[3];
    pev(id, pev_origin, origin);
    for(new i = 0; i < 3; i++)
        if(origin != player_origin[id])
            return 0;
    return 1;
}
//=====================================================================================================================
public LogEventRound( )
{
	new iPlayers[32], iNum, player;
	
	get_players(iPlayers, iNum, "ch");
	
	for( new i = 0; i < iNum; i++ )
	{
		player = iPlayers;
	}
}
//===============================================BLOCK CHAT=============================================================
public ClCmdSay( id )
{
	
	static szArgs[ 192 ];
	read_args( szArgs, sizeof ( szArgs ) -1 );
	
	if( !szArgs[ 0 ] )	return PLUGIN_CONTINUE;
	
	if( !g_bUsersCanChat )
	{
		ColorChat( id, GREEN, "%s^x01 Chat-ul este^x04 blocat^x01, folositi functia say_team!", TAG );
	}
		
	return g_bUsersCanChat ? PLUGIN_CONTINUE : PLUGIN_HANDLED;
	
}

public cmdBlocare( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	if( !g_bUsersCanChat )
	{
		ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 blocat^x01.", TAG );
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 blocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
	
	g_bUsersCanChat = false;
	
	return PLUGIN_CONTINUE;
}


public cmdDeblocare( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	if( g_bUsersCanChat )
	{
		ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 deblocat^x01.", TAG );
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 deblocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
	
	g_bUsersCanChat = true;
	
	return PLUGIN_CONTINUE;
}

stock bool:UserHasAcces( id )
{
	if( get_user_flags( id ) & ADMIN_KICK )
		return true;
		
	return false;
	
}

public cmdSetari( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	static iSize = sizeof ( g_szInterpCommands );
	
	for( new i = 0; i < iSize; i++ )
		client_cmd( 0, g_szInterpCommands[ i ] );
		
	client_print( 0, print_console, "=================== Setari War-Mix ================" );
	client_print( 0, print_console, "[Epic-Gamers] ex_interp setat pe valoarea 0.01" );
	client_print( 0, print_console, "====================================================" );
			
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat( 0, GREEN, "%s ^x04%s^x01 executa interp pe jucatori. Verificati consola.", TAG, szName );
	
	return PLUGIN_CONTINUE;
}

public cmdComenzi( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	static iSize = sizeof ( g_szInterpCommands );
	
	for( new i = 0; i < iSize; i++ )
		client_cmd( 0, g_szInterpCommands[ i ] );
		
	client_print( 0, print_console, "=================== Comenzi War-Mix ================" );

	client_print( 0, print_console, "/comenzi - Lista comenzi war" );
	client_print( 0, print_console, "/start - Porneste meciul" );
	client_print( 0, print_console, "/stop - Opreste meciul" );
	client_print( 0, print_console, "/lame - Porneste runda de lame" );
	client_print( 0, print_console, "/off - Opreste chat-ul" );
	client_print( 0, print_console, "/on - Porneste chat-ul " );
	client_print( 0, print_console, "/interp - Seteaza interp 0.01 playerilor" );
	client_print( 0, print_console, "/warm - Porneste warm-up" );
	client_print( 0, print_console, "/rr - Restart" );
	client_print( 0, print_console, "/money - Arata situatia financiara" );
	client_print( 0, print_console, "/demo nick - Porneste demo jucatorului respectiv" );
	client_print( 0, print_console, "/extra - Porneste rundele de departajare in caz de egal" );
	client_print( 0, print_console, "/specall- Transferi toti playerii la SPEC" );
 
	client_print( 0, print_console, "----------------------------------------" );
	client_print( 0, print_console, "----Comenzi amx: ----" );
	client_print( 0, print_console, "---------------------------------------" );

	client_print( 0, print_console, "amx_ct nume - Transferi player-ul la CT" );
	client_print( 0, print_console, "amx_t nume - Transferi player-ul la T" );
	client_print( 0, print_console, "amx_spec nume - Transferi player-ul la spectatori" );
	client_print( 0, print_console, "====================================================" );
			
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	
	
	return PLUGIN_CONTINUE;
}

//======================================= Prelungiri =================================================
public cmdExtra(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bSecondPart )
	{
		if( g_bMixStarted )
		{
			ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
			
			return PLUGIN_HANDLED;
		}
		
		g_iTeroScore = 0;
		g_iCTScore = 0;
		g_iTeroSScore = 0;
		g_iCTSScore = 0;
		KNIFE = 0;
		g_bMixStarted = true;
		g_bSecondPart = false;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		taskMSG(TASK);
		
		        server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	else if( g_bSecondPart )
	{
		KNIFE = 0;
		g_bMixStarted = true;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	return PLUGIN_HANDLED;
}
//==========================================DEMO=======================================================
      
new const g_Demoname[] = "DEMO_EG_RO";


public client_connect(id)
{
	hasdemo[id] = false;

}

public hookSay( id )
{
	new szSaid[ 192 ];
	read_args( szSaid, sizeof( szSaid ) -1 );
	remove_quotes( szSaid );
	
	if( contain( szSaid, "/demo" ) != -1 )
	{
		if( get_user_flags( id ) & ADMIN_KICK )
		{
			new target[ 32 ];
			copy( target, sizeof( target ) -1, szSaid[ 6 ] );
			
			new id2 = cmd_target( id, target, 2 );
			
			if(hasdemo[id2])
			{
				static szName[ 32 ]; 
				new mapname[32];
				get_user_name( id2, szName, sizeof( szName ) -1 );
				get_mapname(mapname,31);
				ColorChat( id, GREEN, "%s ^x01 Jucatorul %s are deja demo!", TAG, szName );
				return PLUGIN_HANDLED;
			}
			
			if( id2 )
			{
				static szName[ 32 ]; 
				new mapname[32];
				get_user_name( id2, szName, sizeof( szName ) -1 );
				get_mapname(mapname,31);
				hasdemo[id2] = true;
				
				client_cmd( id2, "record ^"%s-%s^"", g_Demoname, mapname);
				
				ColorChat( id, GREEN, "%s^x01 Ai pornit demo pe jucatorul^x04 %s^x01!", TAG, szName );
			}
			
			else
			{
				console_print( id, "Player-ul nu exista !!!" );
			}
			
			return PLUGIN_HANDLED;
		}
	}
	return PLUGIN_CONTINUE;
}

//========================================TRANSFER===================================================
public admin_chteam(id, level, cid) {
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED;
   
   new cmd[10];
   new arg[32];
   new name[32], name2[32];
   
   read_argv(0,cmd,9);
   read_argv(1,arg,31);
   new player = cmd_target(id,arg,2);
   if (!player) return PLUGIN_HANDLED;
  
   user_kill(player, 1);
   get_user_name(id, name, 31);
   get_user_name(player, name2, 31);
   
   if(cmd[4]=='t')
   {
      cs_set_user_team(player,1);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 TERO^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='c')
   {
      cs_set_user_team(player,2);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 CT^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='s')
   {
      cs_set_user_team(player,3);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 Spectator^x01.", TAG, name, name2 );
   }
   return PLUGIN_HANDLED;
} 

//============================================PAUSE & NOPAUSE=========================================
public cmdPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 0)
{
paused = 1;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER PAUSED!", TAG);
}
return PLUGIN_HANDLED;
}
public cmdUnPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 1)
{
paused = 0;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER UNPAUSED!", TAG);
}
return PLUGIN_HANDLED;
}

public show_messages ( )
{
	new Buffer[256];
	formatex(Buffer, sizeof Buffer - 1, "^x04%s", messages[random(sizeof messages)]);
	
	new players[32], num, id;
	get_players(players, num);
	
	for(new i = 0 ; i < num ; i++)
	{
		id = players;
	
		message_begin(MSG_ONE, get_user_msgid("SayText"), _, id);
		write_byte(id);
		write_string(Buffer);
		message_end();
	}
}
public GameDesc( ) {
static gamename[32];
get_pcvar_string( amx_gamename, gamename, 31 );
forward_return( FMV_STRING, gamename );
return FMRES_SUPERCEDE;
}

Re: Modificare plugin mix

Posted: 24 Jan 2019, 20:10
by eGRoBi
bump : :persevere:

Re: Modificare plugin mix

Posted: 24 Jan 2019, 21:09
by levin
păi nu trebuie să rămână același scor când se schimbă?atlfel se dădea restart,și se schimba scorul singur

Re: Modificare plugin mix

Posted: 25 Jan 2019, 22:53
by eGRoBi
Pai e ok sa ramana, dar problema e ca dupa ce se termina rundele tot 7-8 ramane, sau 10-5 si tot asa, nu se mai actualizeaza dupa schimbarea echipelor, asta e problema

Re: Modificare plugin mix

Posted: 25 Jan 2019, 23:31
by levin
| Afiseaza codul
[code]
#include <amxmodx>
#include <cstrike>
#include <ColorChat>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

#pragma tabsize	0

#define MAX_ROUNDS	15
#define TASK		1337
#define ACCESS ADMIN_KICK
#define TIME 30.0
#define ADVERTISING_TIME 80.0


static const

	PLUGIN[ ] =		"Mix",
	VERSION[ ] =		"0.1",
	AUTHOR[ ] =		"",
	TAG[ ] =		"[]";

new const g_szInterpCommands[ ][ ] =
{
	"cl_filterstuffcmd 0",
	"ex_interp 0.01"
	
};

stock const messages [ ] [ ] =
{
	"^x04[TAG]^x01 Forum:^x04 ",
        "^x04[TAG]^x01 Adresa TeamSpeak:^x04 ",
	"^x04[TAG]^x01 Plugin creat de^x04 "

};
	
//new g_On[ 33 ] = 0;

	
new bool: g_bMixStarted;
new bool: g_bEndRound;
new bool: g_bSecondPart;

new g_iTeroScore=0, g_iCTScore=0;
new g_iTeroSScore=0, g_iCTSScore=0;

new cvar_msg;
new SyncHud;
new KNIFE = 0;
new paused = 0;
new amx_gamename;


new Float:player_origin[33][3];
new bool:g_bUsersCanChat = true;
new bool:hasdemo[33];

public plugin_init( )
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /start", "cmdStart", ADMIN_KICK);
	register_clcmd("say /stop", "cmdStop", ADMIN_KICK);
	register_clcmd("say /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say /extra", "cmdExtra", ADMIN_KICK);
	register_clcmd("say /lame", "cmdKnife", ADMIN_KICK);
	register_clcmd("say /specall", "moveSpec", ADMIN_KICK);
	register_clcmd("say /restart", "cmdRestart", ADMIN_KICK);
	register_clcmd( "say /off", "cmdBlocare", ADMIN_KICK);
	register_clcmd( "say /on", "cmdDeblocare", ADMIN_KICK);
	register_clcmd( "say /interp", "cmdSetari", ADMIN_KICK);
	register_clcmd( "say /comenzi", "cmdComenzi", ADMIN_KICK);
	register_concmd("amx_t", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
	register_concmd("amx_ct", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
	register_concmd("amx_spec", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
	register_clcmd("say /pause", "cmdPause", ADMIN_KICK);
	register_clcmd("say /unpause", "cmdUnPause", ADMIN_KICK);
	register_clcmd("say_team /start", "cmdStart", ADMIN_KICK);
	register_clcmd("say_team /stop", "cmdStop", ADMIN_KICK);
	register_clcmd("say_team /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say_team /extra", "cmdExtra", ADMIN_KICK);
	register_clcmd("say_team /lame", "cmdKnife", ADMIN_KICK);
	register_clcmd("say_team /specall", "moveSpec", ADMIN_KICK);
	register_clcmd("say_team /restart", "cmdRestart", ADMIN_KICK);
	register_clcmd( "say_team /off", "cmdBlocare", ADMIN_KICK);
	register_clcmd( "say_team /on", "cmdDeblocare", ADMIN_KICK);
	register_clcmd( "say_team /interp", "cmdSetari", ADMIN_KICK);
	register_clcmd( "say_team /comenzi", "cmdComenzi", ADMIN_KICK);
	register_clcmd("say_team /pause", "cmdPause", ADMIN_KICK);
	register_clcmd("say_team /unpause", "cmdUnPause", ADMIN_KICK);

	
	register_clcmd( "say", "ClCmdSay" );
	register_clcmd( "say", "hookSay" );
	register_clcmd( "say_team", "hookSay" );
	
	RegisterHam(Ham_Spawn, "player", "e_Spawn", 1);
	amx_gamename = register_cvar( "amx_gamename", "www.epic-gamers.ro" );
	register_forward( FM_GetGameDescription, "GameDesc" ); 
	register_event("SendAudio", "EventTeroWin", "a", "2&%!MRAD_terwin");
	register_event("SendAudio", "EventCTWin", "a", "2&%!MRAD_ctwin");
	register_event("CurWeapon","switchweapon","be","1=1","2!29");
	register_logevent("LogEventRoundEnd", 2, "1=Round_End");
	register_logevent("LogEventRoundStart", 2, "1=Round_Start");
	set_task ( ADVERTISING_TIME, "show_messages", _, _, _,"b" );
	cvar_msg = register_cvar("score_msg", "3");
	SyncHud = CreateHudSyncObj( );
}

//=================================================MIX COMMANDS===============================================//

public switchweapon(id)
{
	if (KNIFE == 1)
	{
		engclient_cmd(id, "weapon_knife");
	}
}

public cmdRestart(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Nu poti da restart inainte sa inceapa meciul.", TAG);

		return PLUGIN_HANDLED;
	}
	
	if( g_bSecondPart )
	{
		g_iTeroScore = g_iTeroSScore;
		g_iCTScore = g_iCTSScore;
		KNIFE = 0;
		g_bMixStarted = true;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		
		ColorChat(0, GREEN, "%s^x01 %s a repornit partea a II-a a meciului. Good luck!", TAG, szName);
	}
	
	else if( !g_bSecondPart )
	{
		g_iTeroScore = 0;
		g_iCTScore = 0;
		g_iTeroSScore = 0;
		g_iCTSScore = 0;
		KNIFE = 0;
		g_bMixStarted = true;
		g_bSecondPart = false;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		ColorChat(0, GREEN, "%s^x01 %s a repornit prima parte a meciului. Good luck!", TAG, szName);
	}
	
	server_cmd("sv_restart 1");
	
	return PLUGIN_HANDLED;
}

public cmdKnife(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Nu poti porni runda de lame in timpul meciului.", TAG);
		
		return PLUGIN_HANDLED;
	}
	KNIFE = 1;
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	server_cmd("sv_restart 1");
	server_cmd("exec live.cfg");
	server_cmd("mp_freezetime 0");
	ColorChat(0, GREEN, "%s^x01 %s a pornit runda de lame.", TAG, szName);
	strip_user_weapons(0);
	
	return PLUGIN_HANDLED;
}

public cmdStart(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bSecondPart )
	{
		if( g_bMixStarted )
		{
			ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
			
			return PLUGIN_HANDLED;
		}
		
		g_iTeroScore = 0;
		g_iCTScore = 0;
		g_iTeroSScore = 0;
		g_iCTSScore = 0;
		KNIFE = 0;
		g_bMixStarted = true;
		g_bSecondPart = false;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		taskMSG(TASK);
		
		server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	else if( g_bSecondPart )
	{
		g_iTeroScore = g_iTeroSScore;
		g_iCTScore = g_iCTSScore;
		KNIFE = 0;
		g_bMixStarted = true;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	return PLUGIN_HANDLED;
}

public cmdWarm(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Nu poti da warm in timpul meciului.", TAG);
		
		return PLUGIN_HANDLED;
	}
	
	g_iTeroScore = 0;
	g_iCTScore = 0;

	g_iTeroSScore=0;
	g_iCTSScore=0;
	KNIFE = 0;
	g_bMixStarted = false;
	g_bSecondPart = false;
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
	
	ColorChat(0, GREEN, "%s^x01 %s a pornit rundele de incalzire.", TAG, szName);
	server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

	
	return PLUGIN_HANDLED;
}

public cmdStop(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bMixStarted )
	{
		ColorChat(id, GREEN, "%s^x01 Meciul este deja oprit.", TAG);
		
		return PLUGIN_HANDLED;
	}
	
	g_iTeroScore = 0;
	g_iCTScore = 0;
	g_iTeroSScore = 0;
	g_iCTSScore = 0;
	
	g_bMixStarted = false;
	g_bSecondPart = false;
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
	
	ColorChat(0, GREEN, "%s^x01 %s a anulat meciul.", TAG, szName);
        server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

	return PLUGIN_HANDLED;
}

public EventTeroWin( )
{
	if( g_bMixStarted && !g_bEndRound )
	{
		g_bEndRound = true;
    
		g_iTeroScore++;
	
	}
}

public EventCTWin( )
{
	if( g_bMixStarted && !g_bEndRound )
	{
		g_bEndRound = true;
		
		g_iCTScore++;
   
	}
}

public LogEventRoundStart( )
{
	g_bEndRound = false;
        
}

public LogEventRoundEnd( )
{
	if( g_bMixStarted )
	{
		if( g_iTeroScore + g_iCTScore == MAX_ROUNDS )
		{
			new iPlayers[32], iNum, player;
			get_players(iPlayers, iNum, "h");
			
			for( new i = 0; i < iNum; i++ )
			{
				player = iPlayers;
				
				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);
				}
			}
		server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 6" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 800" );
        server_cmd( "mp_roundtime 1.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
			
			g_iTeroSScore = g_iCTScore;
			g_iCTSScore = g_iTeroScore;
			
			g_bSecondPart = true;
			g_bMixStarted = false;
			
			server_cmd("sv_restart 1");
		}
		
		if( g_iTeroScore >= MAX_ROUNDS + 1 )
		
		{
		
			ColorChat(0, GREEN, "%s^x03 Echipa Tero^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iTeroScore, g_iCTScore);
		server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
			cmdStop(TASK);
			
			return PLUGIN_HANDLED;
		}
		
		else if( g_iCTScore >= MAX_ROUNDS + 1 )
		{
			ColorChat(0, GREEN, "%s^x03 Echipa CT^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iCTScore, g_iTeroScore);
		server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");	
	if( task_exists(TASK) )
	{
		remove_task(TASK);
	}
			cmdStop(TASK);
			
			return PLUGIN_HANDLED;
		}
			
		else if( g_iTeroScore == MAX_ROUNDS && g_iCTScore == MAX_ROUNDS )
		{
			ColorChat(0, GREEN, "%s^x01 Meciul s-a terminat egal.", TAG);
			ColorChat(0, GREEN, "%s^x01 Pentru prelungiri,dati comanda /extra", TAG);
			
			cmdStop(TASK);
			
			return PLUGIN_HANDLED;
		}
		
		if( get_pcvar_num(cvar_msg) != 2 )
		{
			ColorChat(0, GREEN, "%s^x01 Terrorists^x04 %d^x01 -^x04 %d^x01 Counter-Terrorists", TAG, g_iTeroScore, g_iCTScore);
		}
	}
	
	return PLUGIN_HANDLED;
}

public taskMSG(T_A_S_K)
{
	if( get_pcvar_num(cvar_msg) > 1 )
	{
		set_hudmessage(0, 100, 200, -1.0, 0.03, 0, 0.0, 1.1, 0.0, 0.0, -1);
		ShowSyncHudMsg(0, SyncHud, "Echipa TERO %d - %d Echipa CT", g_iTeroScore, g_iCTScore);
	}
	
	set_task(1.0, "taskMSG", TASK);
}

public moveSpec(id, level, cid)
{
		if (!cmd_access(id, level, cid, 2))
		{
			return PLUGIN_HANDLED;
		}
		if( g_bMixStarted )
		{
		ColorChat(id, GREEN, "%s^x01 Nu poti pune jucatorii Spectator in timpul meciului.", TAG);
		
		return PLUGIN_HANDLED;
		}
		new players[32], total, i;
		get_players(players,total,"h");
		for (i=0; i<total;i++)
		{
			user_kill(players, 0);
			cs_set_user_team(players, CS_TEAM_SPECTATOR);
		}
		ColorChat(0, GREEN, "%s^x01 Jucatorii au fost pusi ^x04Spectator ^x01pentru alegeri.", TAG);
		return PLUGIN_HANDLED;
}

//===============================================================================================//
//==================================AFK REPORT=======================================================================//
public e_Spawn(id)
{
    remove_task(id);
    if(is_user_alive(id))
    {
        set_task(0.8, "get_spawn", id);
    }
    return HAM_IGNORED;
}

public get_spawn(id)
{
    pev(id, pev_origin, player_origin[id]);
    set_task(TIME, "check_afk", id);
}

public check_afk(id)
{
    if(is_user_alive(id))
    {
        if(same_origin(id))
        {
            new name[33];
            get_user_name(id, name, 32);
            ColorChat(0, GREEN, "%s^x01 Player-ul^x04 %s^x01 a fost raportat ca AFK!", TAG, name);
        }
    }
}

public same_origin(id)
{
    new Float:origin[3];
    pev(id, pev_origin, origin);
    for(new i = 0; i < 3; i++)
        if(origin != player_origin[id])
            return 0;
    return 1;
}
//=====================================================================================================================

//===============================================BLOCK CHAT=============================================================
public ClCmdSay( id )
{
	
	static szArgs[ 192 ];
	read_args( szArgs, sizeof ( szArgs ) -1 );
	
	if( !szArgs[ 0 ] )	return PLUGIN_CONTINUE;
	
	if( !g_bUsersCanChat&&!is_user_admin(id) )
	{
		ColorChat( id, GREEN, "%s^x01 Chat-ul este^x04 blocat^x01, folositi functia say_team!", TAG );
	}

	return (g_bUsersCanChat&&!is_user_admin(id)) ? PLUGIN_CONTINUE : PLUGIN_HANDLED;
	
}

public cmdBlocare( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	if( !g_bUsersCanChat )
	{
		ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 blocat^x01.", TAG );
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 blocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
	
	g_bUsersCanChat = false;
	
	return PLUGIN_CONTINUE;
}


public cmdDeblocare( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	if( g_bUsersCanChat )
	{
		ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 deblocat^x01.", TAG );
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 deblocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
	
	g_bUsersCanChat = true;
	
	return PLUGIN_CONTINUE;
}

stock bool:UserHasAcces( id )
{
	if( get_user_flags( id ) & ADMIN_KICK )
		return true;
		
	return false;
	
}

public cmdSetari( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	static iSize = sizeof ( g_szInterpCommands );
	
	for( new i = 0; i < iSize; i++ )
		client_cmd( 0, g_szInterpCommands[ i ] );
		
	client_print( 0, print_console, "=================== Setari War-Mix ================" );
	client_print( 0, print_console, "[Epic-Gamers] ex_interp setat pe valoarea 0.01" );
	client_print( 0, print_console, "====================================================" );
			
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat( 0, GREEN, "%s ^x04%s^x01 executa interp pe jucatori. Verificati consola.", TAG, szName );
	
	return PLUGIN_CONTINUE;
}

public cmdComenzi( id )
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	
	static iSize = sizeof ( g_szInterpCommands );
	
	for( new i = 0; i < iSize; i++ )
		client_cmd( 0, g_szInterpCommands[ i ] );
		
	client_print( 0, print_console, "=================== Comenzi War-Mix ================" );

	client_print( 0, print_console, "/comenzi - Lista comenzi war" );
	client_print( 0, print_console, "/start - Porneste meciul" );
	client_print( 0, print_console, "/stop - Opreste meciul" );
	client_print( 0, print_console, "/lame - Porneste runda de lame" );
	client_print( 0, print_console, "/off - Opreste chat-ul" );
	client_print( 0, print_console, "/on - Porneste chat-ul " );
	client_print( 0, print_console, "/interp - Seteaza interp 0.01 playerilor" );
	client_print( 0, print_console, "/warm - Porneste warm-up" );
	client_print( 0, print_console, "/rr - Restart" );
	client_print( 0, print_console, "/money - Arata situatia financiara" );
	client_print( 0, print_console, "/demo nick - Porneste demo jucatorului respectiv" );
	client_print( 0, print_console, "/extra - Porneste rundele de departajare in caz de egal" );
	client_print( 0, print_console, "/specall- Transferi toti playerii la SPEC" );
 
	client_print( 0, print_console, "----------------------------------------" );
	client_print( 0, print_console, "----Comenzi amx: ----" );
	client_print( 0, print_console, "---------------------------------------" );

	client_print( 0, print_console, "amx_ct nume - Transferi player-ul la CT" );
	client_print( 0, print_console, "amx_t nume - Transferi player-ul la T" );
	client_print( 0, print_console, "amx_spec nume - Transferi player-ul la spectatori" );
	client_print( 0, print_console, "====================================================" );
			
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	
	
	return PLUGIN_CONTINUE;
}

//======================================= Prelungiri =================================================
public cmdExtra(id)
{
	if( !UserHasAcces( id ) )
	{
		ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
		return PLUGIN_HANDLED;
	}
	if( !g_bSecondPart )
	{
		if( g_bMixStarted )
		{
			ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
			
			return PLUGIN_HANDLED;
		}
		
		g_iTeroScore = 0;
		g_iCTScore = 0;
		g_iTeroSScore = 0;
		g_iCTSScore = 0;
		KNIFE = 0;
		g_bMixStarted = true;
		g_bSecondPart = false;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
		taskMSG(TASK);
		
		        server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	else if( g_bSecondPart )
	{
		KNIFE = 0;
		g_bMixStarted = true;
		new szName[ 32 ];
		get_user_name( id, szName, sizeof ( szName ) -1 );
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

		
		ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
	}
	
	return PLUGIN_HANDLED;
}
//==========================================DEMO=======================================================
      
new const g_Demoname[] = "DEMO_EG_RO";


public client_connect(id)
{
	hasdemo[id] = false;

}

public hookSay( id )
{
	new szSaid[ 192 ];
	read_args( szSaid, sizeof( szSaid ) -1 );
	remove_quotes( szSaid );
	
	if( contain( szSaid, "/demo" ) != -1 )
	{
		if( get_user_flags( id ) & ADMIN_KICK )
		{
			new target[ 32 ];
			copy( target, sizeof( target ) -1, szSaid[ 6 ] );
			
			new id2 = cmd_target( id, target, 2 );
			
			if(hasdemo[id2])
			{
				static szName[ 32 ]; 
				new mapname[32];
				get_user_name( id2, szName, sizeof( szName ) -1 );
				get_mapname(mapname,31);
				ColorChat( id, GREEN, "%s ^x01 Jucatorul %s are deja demo!", TAG, szName );
				return PLUGIN_HANDLED;
			}
			
			if( id2 )
			{
				static szName[ 32 ]; 
				new mapname[32];
				get_user_name( id2, szName, sizeof( szName ) -1 );
				get_mapname(mapname,31);
				hasdemo[id2] = true;
				
				client_cmd( id2, "record ^"%s-%s^"", g_Demoname, mapname);
				
				ColorChat( id, GREEN, "%s^x01 Ai pornit demo pe jucatorul^x04 %s^x01!", TAG, szName );
			}
			
			else
			{
				console_print( id, "Player-ul nu exista !!!" );
			}
			
			return PLUGIN_HANDLED;
		}
	}
	return PLUGIN_CONTINUE;
}

//========================================TRANSFER===================================================
public admin_chteam(id, level, cid) {
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED;
   
   new cmd[10];
   new arg[32];
   new name[32], name2[32];
   
   read_argv(0,cmd,9);
   read_argv(1,arg,31);
   new player = cmd_target(id,arg,2);
   if (!player) return PLUGIN_HANDLED;
  
   user_kill(player, 1);
   get_user_name(id, name, 31);
   get_user_name(player, name2, 31);
   
   if(cmd[4]=='t')
   {
      cs_set_user_team(player,1);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 TERO^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='c')
   {
      cs_set_user_team(player,2);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 CT^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='s')
   {
      cs_set_user_team(player,3);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 Spectator^x01.", TAG, name, name2 );
   }
   return PLUGIN_HANDLED;
} 

//============================================PAUSE & NOPAUSE=========================================
public cmdPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 0)
{
paused = 1;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER PAUSED!", TAG);
}
return PLUGIN_HANDLED;
}
public cmdUnPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 1)
{
paused = 0;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER UNPAUSED!", TAG);
}
return PLUGIN_HANDLED;
}

public show_messages ( )
{
	new Buffer[256];
	formatex(Buffer, sizeof Buffer - 1, "^x04%s", messages[random(sizeof messages)]);
	
	new players[32], num, id;
	get_players(players, num);
	
	for(new i = 0 ; i < num ; i++)
	{
		id = players;
	
		message_begin(MSG_ONE, get_user_msgid("SayText"), _, id);
		write_byte(id);
		write_string(Buffer);
		message_end();
	}
}
public GameDesc( ) {
static gamename[32];
get_pcvar_string( amx_gamename, gamename, 31 );
forward_return( FMV_STRING, gamename );
return FMRES_SUPERCEDE;
}[/code]

Re: Modificare plugin mix

Posted: 26 Jan 2019, 01:16
by eGRoBi
Aceeasi problema, ajung la 9-6 se face switch intre echipe si oricate runde as juca, scorul ramane tot 9-6

Re: Modificare plugin mix

Posted: 26 Jan 2019, 15:04
by levin
atunci ai o problemă în altă parte,când schimbă echipele,este pus să se dea restart,la restart scorul se resetează și el

vezi și așa
| Afiseaza codul
[code]
#include <amxmodx>
#include <cstrike>
#include <ColorChat>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

#pragma tabsize   0

#define MAX_ROUNDS   15
#define TASK      1337
#define ACCESS ADMIN_KICK
#define TIME 30.0
#define ADVERTISING_TIME 80.0


static const

   PLUGIN[ ] =      "Mix",
   VERSION[ ] =      "0.1",
   AUTHOR[ ] =      "",
   TAG[ ] =      "[]";

new const g_szInterpCommands[ ][ ] =
{
   "cl_filterstuffcmd 0",
   "ex_interp 0.01"
   
};

stock const messages [ ] [ ] =
{
   "^x04[TAG]^x01 Forum:^x04 ",
        "^x04[TAG]^x01 Adresa TeamSpeak:^x04 ",
   "^x04[TAG]^x01 Plugin creat de^x04 "

};
   
//new g_On[ 33 ] = 0;

   
new bool: g_bMixStarted;
new bool: g_bEndRound;
new bool: g_bSecondPart;

new g_iTeroScore=0, g_iCTScore=0;
new g_iTeroSScore=0, g_iCTSScore=0;

new cvar_msg;
new SyncHud;
new KNIFE = 0;
new paused = 0;
new amx_gamename;


new Float:player_origin[33][3];
new bool:g_bUsersCanChat = true;
new bool:hasdemo[33];

public plugin_init( )
{
   register_plugin(PLUGIN, VERSION, AUTHOR);
   
   register_clcmd("say /start", "cmdStart", ADMIN_KICK);
   register_clcmd("say /stop", "cmdStop", ADMIN_KICK);
   register_clcmd("say /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say /extra", "cmdExtra", ADMIN_KICK);
   register_clcmd("say /lame", "cmdKnife", ADMIN_KICK);
   register_clcmd("say /specall", "moveSpec", ADMIN_KICK);
   register_clcmd("say /restart", "cmdRestart", ADMIN_KICK);
   register_clcmd( "say /off", "cmdBlocare", ADMIN_KICK);
   register_clcmd( "say /on", "cmdDeblocare", ADMIN_KICK);
   register_clcmd( "say /interp", "cmdSetari", ADMIN_KICK);
   register_clcmd( "say /comenzi", "cmdComenzi", ADMIN_KICK);
   register_concmd("amx_t", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
   register_concmd("amx_ct", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
   register_concmd("amx_spec", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
   register_clcmd("say /pause", "cmdPause", ADMIN_KICK);
   register_clcmd("say /unpause", "cmdUnPause", ADMIN_KICK);
   register_clcmd("say_team /start", "cmdStart", ADMIN_KICK);
   register_clcmd("say_team /stop", "cmdStop", ADMIN_KICK);
   register_clcmd("say_team /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say_team /extra", "cmdExtra", ADMIN_KICK);
   register_clcmd("say_team /lame", "cmdKnife", ADMIN_KICK);
   register_clcmd("say_team /specall", "moveSpec", ADMIN_KICK);
   register_clcmd("say_team /restart", "cmdRestart", ADMIN_KICK);
   register_clcmd( "say_team /off", "cmdBlocare", ADMIN_KICK);
   register_clcmd( "say_team /on", "cmdDeblocare", ADMIN_KICK);
   register_clcmd( "say_team /interp", "cmdSetari", ADMIN_KICK);
   register_clcmd( "say_team /comenzi", "cmdComenzi", ADMIN_KICK);
   register_clcmd("say_team /pause", "cmdPause", ADMIN_KICK);
   register_clcmd("say_team /unpause", "cmdUnPause", ADMIN_KICK);

   
   register_clcmd( "say", "ClCmdSay" );
   register_clcmd( "say", "hookSay" );
   register_clcmd( "say_team", "hookSay" );
   
   RegisterHam(Ham_Spawn, "player", "e_Spawn", 1);
   amx_gamename = register_cvar( "amx_gamename", "www.epic-gamers.ro" );
   register_forward( FM_GetGameDescription, "GameDesc" ); 
   register_event("SendAudio", "EventTeroWin", "a", "2&%!MRAD_terwin");
   register_event("SendAudio", "EventCTWin", "a", "2&%!MRAD_ctwin");
   register_event("CurWeapon","switchweapon","be","1=1","2!29");
   register_logevent("LogEventRoundEnd", 2, "1=Round_End");
   register_logevent("LogEventRoundStart", 2, "1=Round_Start");
   set_task ( ADVERTISING_TIME, "show_messages", _, _, _,"b" );
   cvar_msg = register_cvar("score_msg", "3");
   SyncHud = CreateHudSyncObj( );
}

//=================================================MIX COMMANDS===============================================//

public switchweapon(id)
{
   if (KNIFE == 1)
   {
      engclient_cmd(id, "weapon_knife");
   }
}

public cmdRestart(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   if( !g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Nu poti da restart inainte sa inceapa meciul.", TAG);

      return PLUGIN_HANDLED;
   }
   
   if( g_bSecondPart )
   {
      g_iTeroScore = g_iTeroSScore;
      g_iCTScore = g_iCTSScore;
      KNIFE = 0;
      g_bMixStarted = true;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      
      ColorChat(0, GREEN, "%s^x01 %s a repornit partea a II-a a meciului. Good luck!", TAG, szName);
   }
   
   else if( !g_bSecondPart )
   {
      g_iTeroScore = 0;
      g_iCTScore = 0;
      g_iTeroSScore = 0;
      g_iCTSScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
      g_bSecondPart = false;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      ColorChat(0, GREEN, "%s^x01 %s a repornit prima parte a meciului. Good luck!", TAG, szName);
   }
   
   server_cmd("sv_restart 1");
   
   return PLUGIN_HANDLED;
}

public cmdKnife(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   if( g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Nu poti porni runda de lame in timpul meciului.", TAG);
      
      return PLUGIN_HANDLED;
   }
   KNIFE = 1;
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   server_cmd("sv_restart 1");
   server_cmd("exec live.cfg");
   server_cmd("mp_freezetime 0");
   ColorChat(0, GREEN, "%s^x01 %s a pornit runda de lame.", TAG, szName);
   strip_user_weapons(0);
   
   return PLUGIN_HANDLED;
}

public cmdStart(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   if( !g_bSecondPart )
   {
      if( g_bMixStarted )
      {
         ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
         
         return PLUGIN_HANDLED;
      }
      
      g_iTeroScore = 0;
      g_iCTScore = 0;
      g_iTeroSScore = 0;
      g_iCTSScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
      g_bSecondPart = false;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      taskMSG(TASK);
      
      server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   
   else if( g_bSecondPart )
   {
      g_iTeroScore = g_iTeroSScore;
      g_iCTScore = g_iCTSScore;
      KNIFE = 0;
      g_bMixStarted = true;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   
   return PLUGIN_HANDLED;
}

public cmdWarm(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   if( g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Nu poti da warm in timpul meciului.", TAG);
      
      return PLUGIN_HANDLED;
   }
   
   g_iTeroScore = 0;
   g_iCTScore = 0;

   g_iTeroSScore=0;
   g_iCTSScore=0;
   KNIFE = 0;
   g_bMixStarted = false;
   g_bSecondPart = false;
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
   
   ColorChat(0, GREEN, "%s^x01 %s a pornit rundele de incalzire.", TAG, szName);
   server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

   
   return PLUGIN_HANDLED;
}

public cmdStop(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   if( !g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Meciul este deja oprit.", TAG);
      
      return PLUGIN_HANDLED;
   }
   
   g_iTeroScore = 0;
   g_iCTScore = 0;
   g_iTeroSScore = 0;
   g_iCTSScore = 0;
   
   g_bMixStarted = false;
   g_bSecondPart = false;
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
   
   ColorChat(0, GREEN, "%s^x01 %s a anulat meciul.", TAG, szName);
        server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

   return PLUGIN_HANDLED;
}

public EventTeroWin( )
{
   if( g_bMixStarted && !g_bEndRound )
   {
      g_bEndRound = true;
    
      g_iTeroScore++;
   
   }
}

public EventCTWin( )
{
   if( g_bMixStarted && !g_bEndRound )
   {
      g_bEndRound = true;
      
      g_iCTScore++;
   }
}

public LogEventRoundStart( )	g_bEndRound = false;

public LogEventRoundEnd( )
{
   if( g_bMixStarted )
   {
      if( g_iTeroScore + g_iCTScore == MAX_ROUNDS )
      {
         new iPlayers[32], iNum, player;
         get_players(iPlayers, iNum, "ch");
         
         for( new i = 1; i < iNum; i++ )
         {
            player = iPlayers;
            
            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);
            }
         }
      //server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 6" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 800" );
        server_cmd( "mp_roundtime 1.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
         
         g_iCTScore=g_iTeroSScore;
         g_iTeroScore=g_iCTSScore;
         
         g_bSecondPart = true;
         g_bMixStarted = false;
         
         //server_cmd("sv_restart 1");

		return PLUGIN_HANDLED
      }
      
      if( g_iTeroScore >= MAX_ROUNDS + 1 )
      
      {
      
         ColorChat(0, GREEN, "%s^x03 Echipa Tero^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iTeroScore, g_iCTScore);
      server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
         cmdStop(TASK);
         
         return PLUGIN_HANDLED;
      }
      
      else if( g_iCTScore >= MAX_ROUNDS + 1 )
      {
         ColorChat(0, GREEN, "%s^x03 Echipa CT^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iCTScore, g_iTeroScore);
      server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");   
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
         cmdStop(TASK);
         
         return PLUGIN_HANDLED;
      }
         
      else if( g_iTeroScore == MAX_ROUNDS && g_iCTScore == MAX_ROUNDS )
      {
         ColorChat(0, GREEN, "%s^x01 Meciul s-a terminat egal.", TAG);
         ColorChat(0, GREEN, "%s^x01 Pentru prelungiri,dati comanda /extra", TAG);
         
         cmdStop(TASK);
         
         return PLUGIN_HANDLED;
      }
      
      if( get_pcvar_num(cvar_msg) != 2 )
      {
         ColorChat(0, GREEN, "%s^x01 Terrorists^x04 %d^x01 -^x04 %d^x01 Counter-Terrorists", TAG, g_iTeroScore, g_iCTScore);
      }
   }
   
   return PLUGIN_CONTINUE;
}

public taskMSG(T_A_S_K)
{
   if( get_pcvar_num(cvar_msg) > 1 )
   {
      set_hudmessage(0, 100, 200, -1.0, 0.03, 0, 0.0, 1.1, 0.0, 0.0, -1);
      ShowSyncHudMsg(0, SyncHud, "Echipa TERO %d - %d Echipa CT", g_iTeroScore, g_iCTScore);
   }
   
   set_task(1.0, "taskMSG", TASK);
}

public moveSpec(id, level, cid)
{
      if (!cmd_access(id, level, cid, 2))
      {
         return PLUGIN_HANDLED;
      }
      if( g_bMixStarted )
      {
      ColorChat(id, GREEN, "%s^x01 Nu poti pune jucatorii Spectator in timpul meciului.", TAG);
      
      return PLUGIN_HANDLED;
      }
      new players[32], total, i;
      get_players(players,total,"h");
      for (i=0; i<total;i++)
      {
         user_kill(players, 0);
         cs_set_user_team(players, CS_TEAM_SPECTATOR);
      }
      ColorChat(0, GREEN, "%s^x01 Jucatorii au fost pusi ^x04Spectator ^x01pentru alegeri.", TAG);
      return PLUGIN_HANDLED;
}

//===============================================================================================//
//==================================AFK REPORT=======================================================================//
public e_Spawn(id)
{
    remove_task(id);
    if(is_user_alive(id))
    {
        set_task(0.8, "get_spawn", id);
    }
    return HAM_IGNORED;
}

public get_spawn(id)
{
    pev(id, pev_origin, player_origin[id]);
    set_task(TIME, "check_afk", id);
}

public check_afk(id)
{
    if(is_user_alive(id))
    {
        if(same_origin(id))
        {
            new name[33];
            get_user_name(id, name, 32);
            ColorChat(0, GREEN, "%s^x01 Player-ul^x04 %s^x01 a fost raportat ca AFK!", TAG, name);
        }
    }
}

public same_origin(id)
{
    new Float:origin[3];
    pev(id, pev_origin, origin);
    for(new i = 0; i < 3; i++)
        if(origin != player_origin[id])
            return 0;
    return 1;
}
//=====================================================================================================================

//===============================================BLOCK CHAT=============================================================
public ClCmdSay( id )
{
   
   static szArgs[ 192 ];
   read_args( szArgs, sizeof ( szArgs ) -1 );
   
   if( !szArgs[ 0 ] )   return PLUGIN_CONTINUE;
   
   if( !g_bUsersCanChat&&!is_user_admin(id) )
   {
      ColorChat( id, GREEN, "%s^x01 Chat-ul este^x04 blocat^x01, folositi functia say_team!", TAG );
   }

   return (g_bUsersCanChat&&!is_user_admin(id)) ? PLUGIN_CONTINUE : PLUGIN_HANDLED;
   
}

public cmdBlocare( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( !g_bUsersCanChat )
   {
      ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 blocat^x01.", TAG );
      return PLUGIN_HANDLED;
   }
   
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 blocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
   
   g_bUsersCanChat = false;
   
   return PLUGIN_CONTINUE;
}


public cmdDeblocare( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( g_bUsersCanChat )
   {
      ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 deblocat^x01.", TAG );
      return PLUGIN_HANDLED;
   }
   
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 deblocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
   
   g_bUsersCanChat = true;
   
   return PLUGIN_CONTINUE;
}

stock bool:UserHasAcces( id )
{
   if( get_user_flags( id ) & ADMIN_KICK )
      return true;
      
   return false;
   
}

public cmdSetari( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   static iSize = sizeof ( g_szInterpCommands );
   
   for( new i = 0; i < iSize; i++ )
      client_cmd( 0, g_szInterpCommands[ i ] );
      
   client_print( 0, print_console, "=================== Setari War-Mix ================" );
   client_print( 0, print_console, "[Epic-Gamers] ex_interp setat pe valoarea 0.01" );
   client_print( 0, print_console, "====================================================" );
         
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   ColorChat( 0, GREEN, "%s ^x04%s^x01 executa interp pe jucatori. Verificati consola.", TAG, szName );
   
   return PLUGIN_CONTINUE;
}

public cmdComenzi( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   static iSize = sizeof ( g_szInterpCommands );
   
   for( new i = 0; i < iSize; i++ )
      client_cmd( 0, g_szInterpCommands[ i ] );
      
   client_print( 0, print_console, "=================== Comenzi War-Mix ================" );

   client_print( 0, print_console, "/comenzi - Lista comenzi war" );
   client_print( 0, print_console, "/start - Porneste meciul" );
   client_print( 0, print_console, "/stop - Opreste meciul" );
   client_print( 0, print_console, "/lame - Porneste runda de lame" );
   client_print( 0, print_console, "/off - Opreste chat-ul" );
   client_print( 0, print_console, "/on - Porneste chat-ul " );
   client_print( 0, print_console, "/interp - Seteaza interp 0.01 playerilor" );
   client_print( 0, print_console, "/warm - Porneste warm-up" );
   client_print( 0, print_console, "/rr - Restart" );
   client_print( 0, print_console, "/money - Arata situatia financiara" );
   client_print( 0, print_console, "/demo nick - Porneste demo jucatorului respectiv" );
   client_print( 0, print_console, "/extra - Porneste rundele de departajare in caz de egal" );
   client_print( 0, print_console, "/specall- Transferi toti playerii la SPEC" );
 
   client_print( 0, print_console, "----------------------------------------" );
   client_print( 0, print_console, "----Comenzi amx: ----" );
   client_print( 0, print_console, "---------------------------------------" );

   client_print( 0, print_console, "amx_ct nume - Transferi player-ul la CT" );
   client_print( 0, print_console, "amx_t nume - Transferi player-ul la T" );
   client_print( 0, print_console, "amx_spec nume - Transferi player-ul la spectatori" );
   client_print( 0, print_console, "====================================================" );
         
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   
   
   return PLUGIN_CONTINUE;
}

//======================================= Prelungiri =================================================
public cmdExtra(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   if( !g_bSecondPart )
   {
      if( g_bMixStarted )
      {
         ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
         
         return PLUGIN_HANDLED;
      }
      
      g_iTeroScore = 0;
      g_iCTScore = 0;
      g_iTeroSScore = 0;
      g_iCTSScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
      g_bSecondPart = false;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      taskMSG(TASK);
      
              server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   
   else if( g_bSecondPart )
   {
      KNIFE = 0;
      g_bMixStarted = true;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   
   return PLUGIN_HANDLED;
}
//==========================================DEMO=======================================================
      
new const g_Demoname[] = "DEMO_EG_RO";


public client_connect(id)
{
   hasdemo[id] = false;

}

public hookSay( id )
{
   new szSaid[ 192 ];
   read_args( szSaid, sizeof( szSaid ) -1 );
   remove_quotes( szSaid );
   
   if( contain( szSaid, "/demo" ) != -1 )
   {
      if( get_user_flags( id ) & ADMIN_KICK )
      {
         new target[ 32 ];
         copy( target, sizeof( target ) -1, szSaid[ 6 ] );
         
         new id2 = cmd_target( id, target, 2 );
         
         if(hasdemo[id2])
         {
            static szName[ 32 ]; 
            new mapname[32];
            get_user_name( id2, szName, sizeof( szName ) -1 );
            get_mapname(mapname,31);
            ColorChat( id, GREEN, "%s ^x01 Jucatorul %s are deja demo!", TAG, szName );
            return PLUGIN_HANDLED;
         }
         
         if( id2 )
         {
            static szName[ 32 ]; 
            new mapname[32];
            get_user_name( id2, szName, sizeof( szName ) -1 );
            get_mapname(mapname,31);
            hasdemo[id2] = true;
            
            client_cmd( id2, "record ^"%s-%s^"", g_Demoname, mapname);
            
            ColorChat( id, GREEN, "%s^x01 Ai pornit demo pe jucatorul^x04 %s^x01!", TAG, szName );
         }
         
         else
         {
            console_print( id, "Player-ul nu exista !!!" );
         }
         
         return PLUGIN_HANDLED;
      }
   }
   return PLUGIN_CONTINUE;
}

//========================================TRANSFER===================================================
public admin_chteam(id, level, cid) {
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED;
   
   new cmd[10];
   new arg[32];
   new name[32], name2[32];
   
   read_argv(0,cmd,9);
   read_argv(1,arg,31);
   new player = cmd_target(id,arg,2);
   if (!player) return PLUGIN_HANDLED;
  
   user_kill(player, 1);
   get_user_name(id, name, 31);
   get_user_name(player, name2, 31);
   
   if(cmd[4]=='t')
   {
      cs_set_user_team(player,1);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 TERO^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='c')
   {
      cs_set_user_team(player,2);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 CT^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='s')
   {
      cs_set_user_team(player,3);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 Spectator^x01.", TAG, name, name2 );
   }
   return PLUGIN_HANDLED;
} 

//============================================PAUSE & NOPAUSE=========================================
public cmdPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 0)
{
paused = 1;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER PAUSED!", TAG);
}
return PLUGIN_HANDLED;
}
public cmdUnPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 1)
{
paused = 0;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER UNPAUSED!", TAG);
}
return PLUGIN_HANDLED;
}

public show_messages ( )
{
   new Buffer[256];
   formatex(Buffer, sizeof Buffer - 1, "^x04%s", messages[random(sizeof messages)]);
   
   new players[32], num, id;
   get_players(players, num);
   
   for(new i = 0 ; i < num ; i++)
   {
      id = players;
   
      message_begin(MSG_ONE, get_user_msgid("SayText"), _, id);
      write_byte(id);
      write_string(Buffer);
      message_end();
   }
}
public GameDesc( ) {
static gamename[32];
get_pcvar_string( amx_gamename, gamename, 31 );
forward_return( FMV_STRING, gamename );
return FMRES_SUPERCEDE;
}[/code]

Re: Modificare plugin mix

Posted: 27 Jan 2019, 17:04
by eGRoBi
Acum se resteaza scorul, dar nu se mai face switch, e o problema si nu mi dau seama unde :|

Re: Modificare plugin mix

Posted: 27 Jan 2019, 21:49
by levin
nu înțeleg pluginu..e prost făcut,nici nu știu ce trebuie să facă de fapt
| Afiseaza codul
[code]
#include <amxmodx>
#include <cstrike>
#include <ColorChat>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

#pragma tabsize   0

#define MAX_ROUNDS   15
#define TASK      1337
#define ACCESS ADMIN_KICK
#define TIME 30.0
#define ADVERTISING_TIME 80.0

static const
   PLUGIN[ ] =      "Mix",
   VERSION[ ] =      "0.1",
   AUTHOR[ ] =      "",
   TAG[ ] =      "[]";

new const g_szInterpCommands[ ][ ] =
{
   "cl_filterstuffcmd 0",
   "ex_interp 0.01"
};

stock const messages [ ] [ ] =
{
   "^x04[TAG]^x01 Forum:^x04 ",
        "^x04[TAG]^x01 Adresa TeamSpeak:^x04 ",
   "^x04[TAG]^x01 Plugin creat de^x04 "

};
   
//new g_On[ 33 ] = 0;

new bool: g_bMixStarted;
new bool: g_bEndRound;
new bool: g_bSecondPart;

new g_iTeroScore=0, g_iCTScore=0;

new cvar_msg;
new SyncHud;
new KNIFE = 0;
new paused = 0;
new amx_gamename;

new Float:player_origin[33][3];
new bool:g_bUsersCanChat = true;
new bool:hasdemo[33];

public plugin_init( )
{
   register_plugin(PLUGIN, VERSION, AUTHOR);
   
   register_clcmd("say /start", "cmdStart", ADMIN_KICK);
   register_clcmd("say /stop", "cmdStop", ADMIN_KICK);
   register_clcmd("say /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say /extra", "cmdExtra", ADMIN_KICK);
   register_clcmd("say /lame", "cmdKnife", ADMIN_KICK);
   register_clcmd("say /specall", "moveSpec", ADMIN_KICK);
   register_clcmd("say /restart", "cmdRestart", ADMIN_KICK);
   register_clcmd( "say /off", "cmdBlocare", ADMIN_KICK);
   register_clcmd( "say /on", "cmdDeblocare", ADMIN_KICK);
   register_clcmd( "say /interp", "cmdSetari", ADMIN_KICK);
   register_clcmd( "say /comenzi", "cmdComenzi", ADMIN_KICK);
   register_concmd("amx_t", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
   register_concmd("amx_ct", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
   register_concmd("amx_spec", "admin_chteam", ADMIN_KICK, "<authid, nick or #userid>");
   register_clcmd("say /pause", "cmdPause", ADMIN_KICK);
   register_clcmd("say /unpause", "cmdUnPause", ADMIN_KICK);
   register_clcmd("say_team /start", "cmdStart", ADMIN_KICK);
   register_clcmd("say_team /stop", "cmdStop", ADMIN_KICK);
   register_clcmd("say_team /warm", "cmdWarm", ADMIN_KICK);
        register_clcmd("say_team /extra", "cmdExtra", ADMIN_KICK);
   register_clcmd("say_team /lame", "cmdKnife", ADMIN_KICK);
   register_clcmd("say_team /specall", "moveSpec", ADMIN_KICK);
   register_clcmd("say_team /restart", "cmdRestart", ADMIN_KICK);
   register_clcmd( "say_team /off", "cmdBlocare", ADMIN_KICK);
   register_clcmd( "say_team /on", "cmdDeblocare", ADMIN_KICK);
   register_clcmd( "say_team /interp", "cmdSetari", ADMIN_KICK);
   register_clcmd( "say_team /comenzi", "cmdComenzi", ADMIN_KICK);
   register_clcmd("say_team /pause", "cmdPause", ADMIN_KICK);
   register_clcmd("say_team /unpause", "cmdUnPause", ADMIN_KICK);

   register_clcmd( "say", "ClCmdSay" );
   register_clcmd( "say", "hookSay" );
   register_clcmd( "say_team", "hookSay" );
   
   RegisterHam(Ham_Spawn, "player", "e_Spawn", 1);
   amx_gamename = register_cvar( "amx_gamename", "www.epic-gamers.ro" );
   register_forward( FM_GetGameDescription, "GameDesc" ); 
   register_event("SendAudio", "EventTeroWin", "a", "2&%!MRAD_terwin");
   register_event("SendAudio", "EventCTWin", "a", "2&%!MRAD_ctwin");
   register_event("CurWeapon","switchweapon","be","1=1","2!29");
   register_logevent("LogEventRoundEnd", 2, "1=Round_End");
   register_logevent("LogEventRoundStart", 2, "1=Round_Start");
   set_task ( ADVERTISING_TIME, "show_messages", _, _, _,"b" );
   cvar_msg = register_cvar("score_msg", "3");
   SyncHud = CreateHudSyncObj( );
}

//=================================================MIX COMMANDS===============================================//

public switchweapon(id)
{
   if (KNIFE == 1)
   {
      engclient_cmd(id, "weapon_knife");
   }
}

public cmdRestart(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( !g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Nu poti da restart inainte sa inceapa meciul.", TAG);
      return PLUGIN_HANDLED;
   }
   
   if( g_bSecondPart )
   {
      g_iTeroScore = 0;
      g_iCTScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
      
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      
      ColorChat(0, GREEN, "%s^x01 %s a repornit partea a II-a a meciului. Good luck!", TAG, szName);
   }
   else if( !g_bSecondPart )
   {
      g_iTeroScore = 0;
      g_iCTScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
      g_bSecondPart = false;
      
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      ColorChat(0, GREEN, "%s^x01 %s a repornit prima parte a meciului. Good luck!", TAG, szName);
   }
   
   server_cmd("sv_restart 1");
   
   return PLUGIN_HANDLED;
}

public cmdKnife(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Nu poti porni runda de lame in timpul meciului.", TAG);
      
      return PLUGIN_HANDLED;
   }
   
   KNIFE = 1;
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   server_cmd("sv_restart 1");
   server_cmd("exec live.cfg");
   server_cmd("mp_freezetime 0");
   
   ColorChat(0, GREEN, "%s^x01 %s a pornit runda de lame.", TAG, szName);
   strip_user_weapons(0);
   
   return PLUGIN_HANDLED;
}

public cmdStart(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   if( !g_bSecondPart )
   {
      if( g_bMixStarted )
      {
         ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
         return PLUGIN_HANDLED;
      }
      
      g_iTeroScore = 0;
      g_iCTScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
      g_bSecondPart = false;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      taskMSG(TASK);
      
      server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   else if( g_bSecondPart )
   {
      g_iTeroScore = 0;
      g_iCTScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
	g_bSecondPart=true
      
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 800" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a meciului. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   
   return PLUGIN_HANDLED;
}

public cmdWarm(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Nu poti da warm in timpul meciului.", TAG);
      return PLUGIN_HANDLED;
   }
   
   g_iTeroScore = 0;
   g_iCTScore = 0;
   
   KNIFE = 0;
   g_bMixStarted = false;
   g_bSecondPart = false;
   
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
   
   ColorChat(0, GREEN, "%s^x01 %s a pornit rundele de incalzire.", TAG, szName);
   server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

   
   return PLUGIN_HANDLED;
}

public cmdStop(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( !g_bMixStarted )
   {
      ColorChat(id, GREEN, "%s^x01 Meciul este deja oprit.", TAG);
      return PLUGIN_HANDLED;
   }
   
   g_iTeroScore = 0;
   g_iCTScore = 0;
   
   g_bMixStarted = false;
   g_bSecondPart = false;
   
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
   
   ColorChat(0, GREEN, "%s^x01 %s a anulat meciul.", TAG, szName);
        server_cmd("sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");

   return PLUGIN_HANDLED;
}

public EventTeroWin( )
{
   if( g_bMixStarted && !g_bEndRound )
   {
      g_bEndRound = true;
    
      g_iTeroScore++;
   }
}

public EventCTWin( )
{
   if( g_bMixStarted && !g_bEndRound )
   {
      g_bEndRound = true;
      
      g_iCTScore++;
   }
}

public LogEventRoundStart( )   g_bEndRound = false;

public LogEventRoundEnd( )
{
   if( g_bMixStarted )
   {
      if( g_iTeroScore + g_iCTScore >= MAX_ROUNDS )
      {
         new iPlayers[32], iNum, player;
         get_players(iPlayers, iNum, "ch");
         for( new i = 0; i <= iNum; i++ )
         {
            player = iPlayers;
            
            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);
            }
         }
	 
        server_cmd( "mp_freezetime 6" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 800" );
        server_cmd( "mp_roundtime 1.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
         
g_iCTScore=0
g_iTeroScore=0

         
         g_bSecondPart = true;
         g_bMixStarted = false;
         
         server_cmd("sv_restart 1");

      return PLUGIN_HANDLED
      }

      
      if( g_iTeroScore >= MAX_ROUNDS + 1 )
      {
         ColorChat(0, GREEN, "%s^x03 Echipa Tero^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iTeroScore, g_iCTScore);
      server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
         cmdStop(TASK);
         
         return PLUGIN_HANDLED;
      }
      else if( g_iCTScore >= MAX_ROUNDS + 1 )
      {
         ColorChat(0, GREEN, "%s^x03 Echipa CT^x01 a castigat meciul cu^x04 %d^x01 la^x04 %d^x01.", TAG, g_iCTScore, g_iTeroScore);
      server_cmd( "sv_restart 1");
        server_cmd( "mp_freezetime 0" );
        server_cmd( "mp_buytime 0.25" );
        server_cmd( "mp_startmoney 16000" );
        server_cmd( "mp_roundtime 8.75" );
        server_cmd( "mp_forcecamera 2" );
        server_cmd( "mp_friendlyfire 0");
        server_cmd( "mp_c4timer 35");   
   if( task_exists(TASK) )
   {
      remove_task(TASK);
   }
         cmdStop(TASK);
         
         return PLUGIN_HANDLED;
      }
      else if( g_iTeroScore == MAX_ROUNDS && g_iCTScore == MAX_ROUNDS )
      {
         ColorChat(0, GREEN, "%s^x01 Meciul s-a terminat egal.", TAG);
         ColorChat(0, GREEN, "%s^x01 Pentru prelungiri,dati comanda /extra", TAG);
         
         cmdStop(TASK);
         
         return PLUGIN_HANDLED;
      }
      
      if( get_pcvar_num(cvar_msg) != 2 )
      {
         ColorChat(0, GREEN, "%s^x01 Terrorists^x04 %d^x01 -^x04 %d^x01 Counter-Terrorists", TAG, g_iTeroScore, g_iCTScore);
      }
   }
   
   return PLUGIN_CONTINUE;
}

public taskMSG(T_A_S_K)
{
   if( get_pcvar_num(cvar_msg) > 1 )
   {
      set_hudmessage(0, 100, 200, -1.0, 0.03, 0, 0.0, 1.1, 0.0, 0.0, -1);
      ShowSyncHudMsg(0, SyncHud, "Echipa TERO %d - %d Echipa CT", g_iTeroScore, g_iCTScore);
   }
   
   set_task(1.0, "taskMSG", TASK);
}

public moveSpec(id, level, cid)
{
      if (!cmd_access(id, level, cid, 2))
      {
         return PLUGIN_HANDLED;
      }
      if( g_bMixStarted )
      {
      ColorChat(id, GREEN, "%s^x01 Nu poti pune jucatorii Spectator in timpul meciului.", TAG);
      
      return PLUGIN_HANDLED;
      }
      new players[32], total, i;
      get_players(players,total,"h");
      for (i=0; i<total;i++)
      {
         user_kill(players, 0);
         cs_set_user_team(players, CS_TEAM_SPECTATOR);
      }
      ColorChat(0, GREEN, "%s^x01 Jucatorii au fost pusi ^x04Spectator ^x01pentru alegeri.", TAG);
      return PLUGIN_HANDLED;
}

//===============================================================================================//
//==================================AFK REPORT=======================================================================//
public e_Spawn(id)
{
    remove_task(id);
    if(is_user_alive(id))
    {
        set_task(0.8, "get_spawn", id);
    }
    return HAM_IGNORED;
}

public get_spawn(id)
{
    pev(id, pev_origin, player_origin[id]);
    set_task(TIME, "check_afk", id);
}

public check_afk(id)
{
    if(is_user_alive(id))
    {
        if(same_origin(id))
        {
            new name[33];
            get_user_name(id, name, 32);
            ColorChat(0, GREEN, "%s^x01 Player-ul^x04 %s^x01 a fost raportat ca AFK!", TAG, name);
        }
    }
}

public same_origin(id)
{
    new Float:origin[3];
    pev(id, pev_origin, origin);
    for(new i = 0; i < 3; i++)
        if(origin != player_origin[id])
            return 0;
    return 1;
}
//=====================================================================================================================

//===============================================BLOCK CHAT=============================================================
public ClCmdSay( id )
{
   static szArgs[ 192 ];
   read_args( szArgs, sizeof ( szArgs ) -1 );
   
   if( !szArgs[ 0 ] )   return PLUGIN_CONTINUE;
   
   if( !g_bUsersCanChat&&!is_user_admin(id) )
   {
      ColorChat( id, GREEN, "%s^x01 Chat-ul este^x04 blocat^x01, folositi functia say_team!", TAG );
   }

   return (g_bUsersCanChat&&!is_user_admin(id)) ? PLUGIN_CONTINUE : PLUGIN_HANDLED;
}

public cmdBlocare( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( !g_bUsersCanChat )
   {
      ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 blocat^x01.", TAG );
      return PLUGIN_HANDLED;
   }
   
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 blocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
   
   g_bUsersCanChat = false;
   
   return PLUGIN_CONTINUE;
}
public cmdDeblocare( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( g_bUsersCanChat )
   {
      ColorChat( id, GREEN, "%s^x01 Chat-ul este deja^x04 deblocat^x01.", TAG );
      return PLUGIN_HANDLED;
   }
   
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   ColorChat( 0, GREEN, "%s^x01 Chat-ul a fost^x04 deblocat^x01 de catre adminul^x04 %s^x01.", TAG, szName );
   
   g_bUsersCanChat = true;
   
   return PLUGIN_CONTINUE;
}

stock bool:UserHasAcces( id )
{
   if( get_user_flags( id ) & ADMIN_KICK )
      return true;
      
   return false;
   
}

public cmdSetari( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   static iSize = sizeof ( g_szInterpCommands );
   
   for( new i = 0; i < iSize; i++ )
      client_cmd( 0, g_szInterpCommands[ i ] );
      
   client_print( 0, print_console, "=================== Setari War-Mix ================" );
   client_print( 0, print_console, "[Epic-Gamers] ex_interp setat pe valoarea 0.01" );
   client_print( 0, print_console, "====================================================" );
         
   new szName[ 32 ];
   get_user_name( id, szName, sizeof ( szName ) -1 );
   
   ColorChat( 0, GREEN, "%s ^x04%s^x01 executa interp pe jucatori. Verificati consola.", TAG, szName );
   
   return PLUGIN_CONTINUE;
}

public cmdComenzi( id )
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   static iSize = sizeof ( g_szInterpCommands );
   for( new i = 0; i < iSize; i++ )
      client_cmd( 0, g_szInterpCommands[ i ] );
      
   client_print( 0, print_console, "=================== Comenzi War-Mix ================" );

   client_print( 0, print_console, "/comenzi - Lista comenzi war" );
   client_print( 0, print_console, "/start - Porneste meciul" );
   client_print( 0, print_console, "/stop - Opreste meciul" );
   client_print( 0, print_console, "/lame - Porneste runda de lame" );
   client_print( 0, print_console, "/off - Opreste chat-ul" );
   client_print( 0, print_console, "/on - Porneste chat-ul " );
   client_print( 0, print_console, "/interp - Seteaza interp 0.01 playerilor" );
   client_print( 0, print_console, "/warm - Porneste warm-up" );
   client_print( 0, print_console, "/rr - Restart" );
   client_print( 0, print_console, "/money - Arata situatia financiara" );
   client_print( 0, print_console, "/demo nick - Porneste demo jucatorului respectiv" );
   client_print( 0, print_console, "/extra - Porneste rundele de departajare in caz de egal" );
   client_print( 0, print_console, "/specall- Transferi toti playerii la SPEC" );
 
   client_print( 0, print_console, "----------------------------------------" );
   client_print( 0, print_console, "----Comenzi amx: ----" );
   client_print( 0, print_console, "---------------------------------------" );

   client_print( 0, print_console, "amx_ct nume - Transferi player-ul la CT" );
   client_print( 0, print_console, "amx_t nume - Transferi player-ul la T" );
   client_print( 0, print_console, "amx_spec nume - Transferi player-ul la spectatori" );
   client_print( 0, print_console, "====================================================" );
   
   return PLUGIN_CONTINUE;
}

//======================================= Prelungiri =================================================
public cmdExtra(id)
{
   if( !UserHasAcces( id ) )
   {
      ColorChat( id, GREEN, "%s^x01 Nu ai acces la aceasta comanda.", TAG );
      return PLUGIN_HANDLED;
   }
   
   if( !g_bSecondPart )
   {
      if( g_bMixStarted )
      {
         ColorChat(id, GREEN, "%s^x01 Meciul este deja pornit.", TAG);
         return PLUGIN_HANDLED;
      }
      
      g_iTeroScore = 0;
      g_iCTScore = 0;
      KNIFE = 0;
      g_bMixStarted = true;
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
      taskMSG(TASK);
      
              server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit prima parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   else if( g_bSecondPart )
   {
      KNIFE = 0;
      g_bMixStarted = true;
g_bSecondPart=true
      new szName[ 32 ];
      get_user_name( id, szName, sizeof ( szName ) -1 );
                server_cmd("sv_restart 1");
                server_cmd( "mp_freezetime 6" );
                server_cmd( "mp_buytime 0.25" );
                server_cmd( "mp_startmoney 10000" );
                server_cmd( "mp_roundtime 1.75" );
                server_cmd( "mp_forcecamera 2" );
                server_cmd( "mp_friendlyfire 1");
                server_cmd( "mp_c4timer 35");

      
      ColorChat(0, GREEN, "%s^x01 %s a pornit a II-a parte a prelungirilor. Good luck!", TAG, szName);
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
                ColorChat(0, GREEN, "LIVE LIVE LIVE !!! Good luck!");
   }
   
   return PLUGIN_HANDLED;
}
//==========================================DEMO=======================================================
      
new const g_Demoname[] = "DEMO_EG_RO";

public client_connect(id)
{
   hasdemo[id] = false;
}

public hookSay( id )
{
   new szSaid[ 192 ];
   read_args( szSaid, sizeof( szSaid ) -1 );
   remove_quotes( szSaid );
   
   if( contain( szSaid, "/demo" ) != -1 )
   {
      if( get_user_flags( id ) & ADMIN_KICK )
      {
         new target[ 32 ];
         copy( target, sizeof( target ) -1, szSaid[ 6 ] );
         
         new id2 = cmd_target( id, target, 2 );
         
         if(hasdemo[id2])
         {
            static szName[ 32 ]; 
            new mapname[32];
            get_user_name( id2, szName, sizeof( szName ) -1 );
            get_mapname(mapname,31);
	    
            ColorChat( id, GREEN, "%s ^x01 Jucatorul %s are deja demo!", TAG, szName );
	    
            return PLUGIN_HANDLED;
         }
         
         if( id2 )
         {
            static szName[ 32 ]; 
            new mapname[32];
	    
            get_user_name( id2, szName, sizeof( szName ) -1 );
	    
            get_mapname(mapname,31);
	    
            hasdemo[id2] = true;
            
            client_cmd( id2, "record ^"%s-%s^"", g_Demoname, mapname);
            
            ColorChat( id, GREEN, "%s^x01 Ai pornit demo pe jucatorul^x04 %s^x01!", TAG, szName );
         }
         else
         {
            console_print( id, "Player-ul nu exista !!!" );
         }
         
         return PLUGIN_HANDLED;
      }
   }
   return PLUGIN_CONTINUE;
}

//========================================TRANSFER===================================================
public admin_chteam(id, level, cid) {
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED;
   
   new cmd[10];
   new arg[32];
   new name[32], name2[32];
   
   read_argv(0,cmd,9);
   read_argv(1,arg,31);
   new player = cmd_target(id,arg,2);
   if (!player) return PLUGIN_HANDLED;
  
   user_kill(player, 1);
   get_user_name(id, name, 31);
   get_user_name(player, name2, 31);
   
   if(cmd[4]=='t')
   {
      cs_set_user_team(player,1);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 TERO^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='c')
   {
      cs_set_user_team(player,2);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 CT^x01.", TAG, name, name2 );
   }
   if(cmd[4]=='s')
   {
      cs_set_user_team(player,3);
      ColorChat( 0, GREEN, "%s^x01 Adminul^x04 %s^x01 l-a mutat pe^x04 %s^x01 la^x04 Spectator^x01.", TAG, name, name2 );
   }
   return PLUGIN_HANDLED;
} 

//============================================PAUSE & NOPAUSE=========================================
public cmdPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 0)
{
paused = 1;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER PAUSED!", TAG);
}
return PLUGIN_HANDLED;
}
public cmdUnPause(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
if (paused == 1)
{
paused = 0;
server_cmd("amx_pause");
ColorChat( 0, GREEN, "%s^x01 SERVER UNPAUSED!", TAG);
}
return PLUGIN_HANDLED;
}

public show_messages ( )
{
   new Buffer[256];
   formatex(Buffer, sizeof Buffer - 1, "^x04%s", messages[random(sizeof messages)]);
   
   new players[32], num, id;
   get_players(players, num);
   
   for(new i = 0 ; i < num ; i++)
   {
      id = players;
   
      message_begin(MSG_ONE, get_user_msgid("SayText"), _, id);
      write_byte(id);
      write_string(Buffer);
      message_end();
   }
}
public GameDesc( ) {
static gamename[32];
get_pcvar_string( amx_gamename, gamename, 31 );
forward_return( FMV_STRING, gamename );
return FMRES_SUPERCEDE;
}[/code]

Re: Modificare plugin mix

Posted: 01 Feb 2019, 23:55
by eGRoBi
E un plugin de war/mix. luat tot de aici de pe forum :)) pus de indio, doar ca are bug uri