Modificare plugin

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
mr.franta
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 25 Apr 2015, 18:33
Detinator Steam: Da
CS Status: online 24/24 cateodata si noaptea
Detinator server CS: nu
SteamID: frantacsgo
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 7 times
Contact:

31 May 2020, 09:02

Salut,am acest plugin de acum vreo 5 ani (cam atunci l-am folosit prima si ultima data) si vad ca acum numai merge compilat.
As vrea sa il modifice cineva sa fie functional.
Tot odata tagul a fost redenumit peste tot si nu stiu ce id avea.

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <regex>
#include <cstrike>
#include <colorchat>
#include <hamsandwich>

#define SEMI_ACE 4
#define MAX_PLAYERS 32
#define MAXINPUT 7
#define SANITARY "abcdefg"
#define LAST_MAPS_SAVE 3
#define MAX_NAME_LENGTH 32
#define MAX_TEXT_LENGTH 192
new bool:g_restart_attempt[MAX_PLAYERS + 1]
new amx_show_activity
new hitbox_bit
new g_max_players, g_sync_creat_statustext, g_sync_creat_list
new bool:g_teammate[33]
new cvar_plugin_on
new cvar_status_on
new szName[ 32 ];


static const

    PLUGIN[ ] =        "[DonGame]",
    VERSION[ ] =          "0.0.1",
    AUTHOR[ ] =          "un user",
    TAG[ ] =            "[DonGame]";

stock const messages [ ] [ ] =
{
    "^x04[DonGame]^x01 Va uram:^x04 o joaca cat mai placuta !!",
    "^x04[DonGame]^x01 Plugin creat de^x04 mr.franta"

};


new teamA = 0
new teamA1 = 0
new teamB = 0
new teamB1 = 0
new mixon = 0
new schimbate = 0
new roundnumber = 0
new Atsround
new adminId
new bool:g_bUsersCanChat = true;
new maxscreens
new screeninterval
new design;
new player
new ip[32]
new finish
new g_iFrags[33]
new iForward
new gSaveFile[64];
new gLastMapName[LAST_MAPS_SAVE][32];
new gLastMapTime[LAST_MAPS_SAVE];
new gNumLastMaps;
new authid[32]
new name[32]




public plugin_init()
{
	/// Setarile
	register_clcmd("say .setari", "setari", ADMIN_KICK)
	register_clcmd("say !setari", "setari", ADMIN_KICK)
	register_clcmd("say /setari", "setari", ADMIN_KICK)
	register_clcmd("say_team .setari", "setari", ADMIN_KICK)
	register_clcmd("say_team !setari", "setari", ADMIN_KICK)
	register_clcmd("say_team /setari", "setari", ADMIN_KICK)
	
	/// cvar_result_func	
	register_clcmd "say .setari", "cvar_result_func", ADMIN_KICK
	
	/// Demo
	register_concmd("amx_demo","demo",ADMIN_BAN,"<name> - takes a demo of a client")
	register_concmd("amx_stopdemo","stopdemo",ADMIN_BAN,"<name> - stops the demo taken")
	
	// Warm
	register_clcmd("say !warm", "warm", ADMIN_KICK)
	register_clcmd("say .warm", "warm", ADMIN_KICK)
	register_clcmd("say /warm", "warm", ADMIN_KICK)
	register_clcmd("say_team /warm", "warm", ADMIN_KICK)
	register_clcmd("say_team !warm", "warm", ADMIN_KICK)
	register_clcmd("say_team .warm", "warm", ADMIN_KICK)
	
	
	/// PRELUNGIRI
	register_clcmd("say !prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say .prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say /prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say .extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say /extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say !extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team /extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team !extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team .extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team !prelugniri", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team /prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team .prelungiri", "prelungiri", ADMIN_KICK)
	
	
	
	/// RESTART
	register_clcmd("say .rr", "restart", ADMIN_KICK)
	register_clcmd("say /rr", "restart", ADMIN_KICK)
	register_clcmd("say !rr", "restart", ADMIN_KICK)
	register_clcmd("say /restart", "restart", ADMIN_KICK)
	register_clcmd("say !restart", "restart", ADMIN_KICK)
	register_clcmd("say .restart", "restart", ADMIN_KICK)
	register_clcmd("say_team /rr", "restart", ADMIN_KICK)
	register_clcmd("say_team !rr", "restart", ADMIN_KICK)
	register_clcmd("say_team .rr", "restart", ADMIN_KICK)
	
	
	/// KNIFE
	register_clcmd("say /knife", "knife", ADMIN_KICK)
	register_clcmd("say !knife", "knife", ADMIN_KICK)
	register_clcmd("say .knife", "knife", ADMIN_KICK)
	register_clcmd("say /cutite", "knife", ADMIN_KICK)
	register_clcmd("say !cutite", "knife", ADMIN_KICK)
	register_clcmd("say .cutite", "knife", ADMIN_KICK)
	register_clcmd("say_team .knife", "knife", ADMIN_KICK)
	register_clcmd("say_team /knfie", "knife", ADMIN_KICK)
	register_clcmd("say_team !knife", "knife", ADMIN_KICK)
	register_clcmd("say_team .cutite", "knife", ADMIN_KICK)
	register_clcmd("say_team !cutite", "knife", ADMIN_KICK)
	register_clcmd("say_team /cutite", "knife", ADMIN_KICK)
	
	
	/// blocare
	register_clcmd( "say .blocare", "ClCmdSayBlocare" );
	register_clcmd( "say /off", "ClCmdSayBlocare" );
	register_clcmd( "say /blocare", "ClCmdSayBlocare" );
	register_clcmd( "say .deblocare", "ClCmdSayDeBlocare" );
	register_clcmd( "say /on", "ClCmdSayDeBlocare" );
	register_clcmd( "say !blocare", "ClCmdSayBlocare" );
	register_clcmd( "say !deblocare", "ClCmdSayDeBlocare" );
	register_clcmd( "say /deblocare", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team /on", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team !on", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team !off", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team /off", "ClCmdSayDeBlocare" );
	register_clcmd( "say", "ClCmdSay" );
	
	///Ss
	register_concmd("amx_ss", "concmd_screen", ADMIN_LEVEL_A, "<authid, nick or #userid> <screens>")
	register_clcmd("say /ip", "show_ip")
	maxscreens = register_cvar("amx_ss_max", "5")
	screeninterval = register_cvar("amx_ss_interval", "1.0")
	design = register_cvar("amx_ss_design", "3")
	
	
	/// Hitbox
	register_event("ResetHUD", "event_hud_reset", "be")
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_concmd("amx_hsonly", "admin_set_hitbox", ADMIN_KICK, "<0|a|b|c|d|e|f|g> - Set hitboxes. Letters equal the body part, can combine letters.")
	hitbox_bit = register_cvar("hitbox_bit", "255")
	amx_show_activity = get_cvar_pointer("amx_show_activity")
	
	
	
	// Start Mix
	register_clcmd("say !live", "startmix", ADMIN_KICK)
	register_clcmd("say .live", "startmix", ADMIN_KICK)
	register_clcmd("say /live", "startmix", ADMIN_KICK)
	register_clcmd("say !start", "startmix", ADMIN_KICK)
	register_clcmd("say .start", "startmix", ADMIN_KICK)
	register_clcmd("say /start", "startmix", ADMIN_KICK)
	register_clcmd("say !startmix", "startmix", ADMIN_KICK)
	register_clcmd("say .startmix", "startmix", ADMIN_KICK)
	register_clcmd("say /startmix", "startmix", ADMIN_KICK)
	register_clcmd("say_team /start", "startmix", ADMIN_KICK)
	register_clcmd("say_team !start", "startmix", ADMIN_KICK)
	
	
	
	
	
	
	
	/// STOP MIX
	register_clcmd("say !stop", "stopmix", ADMIN_KICK)
	register_clcmd("say .stop", "stopmix", ADMIN_KICK)
	register_clcmd("say /stop", "stopmix", ADMIN_KICK)
	register_clcmd("say !stopmix", "stopmix", ADMIN_KICK)
	register_clcmd("say .stopmix", "stopmix", ADMIN_KICK)
	register_clcmd("say /stopmix", "stopmix", ADMIN_KICK)
	register_clcmd("say_team /stop", "stopmix", ADMIN_KICK)
	register_clcmd("say_team !stop", "stopmix", ADMIN_KICK)
	register_clcmd("say_team .stop", "stopmix", ADMIN_KICK)
	
	
	
	//Autoswitch teams
	register_logevent( "roundend", 2, "1=Round_End" );
	register_event( "TextMsg","restart","a","2&#Game_C", "2&#Game_W" ); // Event for "Game Commencing" TextMsg and "Game Will Restart in X Seconds" TextMsg
	
	Atsround = register_cvar( "amx_atsrounds", "15" );
	
	
	
	
	// Score
	register_clcmd("say !score", "scor", ADMIN_KICK)
	register_clcmd("say .score", "scor", ADMIN_KICK)
	register_clcmd("say /score", "scor", ADMIN_KICK)
	register_clcmd("say_team !score", "scor", ADMIN_KICK)
	register_clcmd("say_team .score", "scor", ADMIN_KICK)
	register_clcmd("say_team /score", "scor", ADMIN_KICK)
	
	/// Interp
	register_clcmd("say !interp", "interp", ADMIN_KICK)
	register_clcmd("say .interp", "interp", ADMIN_KICK)
	register_clcmd("say /interp", "interp", ADMIN_KICK)
	register_clcmd("say_team /interp", "interp", ADMIN_KICK)
	register_clcmd("say_team !interp", "interp", ADMIN_KICK)
	register_clcmd("say_team .interp", "interp", ADMIN_KICK)
	
	
	register_event("HLTV", "new_round", "a", "1=0", "2=0")  
	register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
	register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")  
	
	
	/// comenzi
	register_clcmd("say comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say !comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say /comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say_team /comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say_team !comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say_team .comenzi", "comenzi", ADMIN_KICK)
	
	
	
	//// ACE
	
	register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" );
	register_event( "DeathMsg", "EventDeathMsg", "a" );
	
	register_logevent( "LogEventRoundEnd", 2, "1=Round_End" );
	
	iForward  = CreateMultiForward( "FwdPlayerDidAceOrSemi", ET_STOP, FP_CELL, FP_CELL );
	
	//// TEAM MONEY
	
	
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_clcmd("say /money", "clcmd_money")
	register_clcmd("say !money", "clcmd_money")
	register_clcmd("say /bani", "clcmd_money")
	register_clcmd("say !bani", "clcmd_money")
	
	register_event("StatusValue", "show_teammate_money", "be", "1=2", "2!0")
	register_event("StatusValue", "set_team", "be", "1=1")
	
	cvar_plugin_on = register_cvar("stm_on", "1")
	cvar_status_on = register_cvar("stm_st_on", "1")
	
	g_max_players = get_maxplayers()
	g_sync_creat_statustext = CreateHudSyncObj()
	g_sync_creat_list = CreateHudSyncObj()
	
	////////////Specall
	register_concmd("amx_ct", "cmdct", ADMIN_SLAY, "NUME : Transfera jucatorul la echipa Counter/Terror");
	register_concmd("amx_t", "cmdt", ADMIN_SLAY, "NUME : Transfera jucatorul la echipa Terror");
	register_concmd("amx_spec", "cmdspec", ADMIN_SLAY, "NUME : Transfera jucatorul la Spectator");
	register_clcmd("say .specall", "cmd_spec", ADMIN_KICK, "All players spec");
	register_clcmd("say /specall", "cmd_spec", ADMIN_KICK, "All players spec");
	register_clcmd("say !specall", "cmd_spec", ADMIN_KICK, "All players spec");
	
	
	
	////// amx chat
	register_clcmd("say","admin_slash",0,"say /command < params >")
	register_clcmd("say_team","admin_slash",0,"say /command < params >")
	
	/////PASS SI NOPASS
	register_concmd("amx_pass", "pass", ADMIN_BAN, "- Sets a server password")
	register_concmd("amx_password", "pass", ADMIN_BAN, "- Sets a server password")
	register_concmd("amx_parola", "pass", ADMIN_BAN, "- Sets a server password")
	register_concmd("amx_nopass", "nopass", ADMIN_BAN, "- Removes the server password")
	register_concmd("amx_removepassword", "nopass", ADMIN_BAN, "- Removes the server password")
	
	
	
	/////HARTI
	register_clcmd("say /last", "CmdLastMaps");
	register_clcmd("say !last", "CmdLastMaps");
	register_clcmd("say /harti", "CmdLastMaps");
	register_clcmd("say !harti", "CmdLastMaps");
	
	get_datadir(gSaveFile, charsmax(gSaveFile));
	add(gSaveFile, charsmax(gSaveFile), "lastmaps.txt");
	
	new f = fopen(gSaveFile, "rt");
	
	if(f) {
		new line[64], minutes[12];
		
		while(!feof(f) && gNumLastMaps < LAST_MAPS_SAVE) {
			fgets(f, line, charsmax(line));
			trim(line);
			
			if(line[0]) {
				parse(line, gLastMapName[gNumLastMaps], charsmax(gLastMapName[]), minutes, charsmax(minutes));
				gLastMapTime[gNumLastMaps++] = str_to_num(minutes);
			}
		}
		
		fclose(f);
	}
	
	
}


public t_win() {
	if ( schimbate == 0 ) {
		teamA = teamA+1
	}
	else {
		teamB = teamB +1	
	}
}

public ct_win() {
	if ( schimbate == 0 ) {
		teamB  = teamB +1
	}
	else {
		teamA = teamA +1
	}
	
}

public new_round(){
	if ( mixon == 1)
	{
		if (schimbate == 0) {
			
			if ( teamA > teamB ) {
				
				ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru echipa T", teamA,teamB );
			}
			if ( teamB > teamA ) {
				ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru CT", teamB ,teamA);
			}
			if ( teamB == teamA ) {
				ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d (egalitate)", teamB ,teamA);
			}	
		}
		
		if ( schimbate == 1 )
		{			
			if ( teamA == 16 || teamB == 16) {
				if ( teamA > teamB ) {
					
					ColorChat(0, RED, "[DonGame]^x01 Mix-ul a fost castigat de echipa ^x04 CT");
					ColorChat(0, RED, "[DonGame]^x01 Scorul fiind: ^x04 %d - %d ",teamA, teamB);
					ColorChat(0, RED, "[DonGame]^x01 Tasteaza !harti in chat pentru a vedea ultimele 3 harti jucate.",teamA, teamB);
					
					
					
					mixon = 0
					schimbate = 0
					set_cvar_string ( "sv_restart", "1" );
				}
				
				if ( teamB > teamA ) {
					ColorChat(0, RED, "[DonGame]^x01 Mix-ul a fost castigat de echipa ^x04 T");
					ColorChat(0, RED, "[DonGame]^x01 Scorul fiind: ^x04 %d - %d ",teamB,teamA);
					ColorChat(0, RED, "[DonGame]^x01 Tasteaza !harti in chat pentru a vedea ultimele 3 harti jucate.",teamA, teamB);
					
					
					
					mixon = 0
					schimbate = 0
					set_cvar_string ( "sv_restart", "1" );
					set_cvar_string ( "mp_freezetime", "0");
					set_cvar_string ( "mp_startmoney", "16000");
				}
				} else {
				if ( teamA > teamB ) {
					ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru CT",teamA,teamB );
				}
				if ( teamB > teamA ) {
					ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru T",teamB ,teamA);
				}
				if ( teamB == teamA ) {
					ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d (egalitate)",teamB ,teamA);
				}
			}
			
		}
	}
}


public client_disconnect(id){
	if (get_playersnum() == 0)
		set_cvar_string("sv_password", "");
}

public warm(id){
	
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "2" );
		set_cvar_string ( "mp_freezetime", "0" );
		set_cvar_string ( "mp_startmoney", "16000" );
		set_cvar_string ( "mp_friendlyfire", "0" );
		set_cvar_string ( "amx_atsrounds", "100" );
		
		
		mixon = 0;
		schimbate = 0;
		teamA = 0
		teamB = 0
		teamA1 = 0
		teamB1= 0
		roundnumber = 0
		
		
		get_user_name( id, szName, sizeof ( szName ) -1 );
		ColorChat(0, RED, "[DonGame]^x01 Rundele de incalzire au fost pornite. -^x04%s^x01 ", szName );
		
		
		
		
		
		
	}
	return PLUGIN_HANDLED
}

public stopmix(id){
	
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "1" );
		set_cvar_string ( "mp_freezetime", "0" );
		set_cvar_string ( "mp_startmoney", "16000" );
		set_cvar_string ( "mp_friendlyfire", "0" );
		set_cvar_string ( "amx_atsrounds", "100" );
		
		
		mixon = 0;
		schimbate = 0;
		teamA = 0
		teamB = 0
		teamA1 = 0
		teamB1= 0
		roundnumber = 0
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Mix-ul a fost oprit. -^x04%s^x01", szName );
		
		
		
		
		
		
	}
	return PLUGIN_HANDLED
}

public prelungiri(id){
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "5" );
		set_cvar_string ( "mp_freezetime", "8" );
		set_cvar_string ( "mp_startmoney", "10000" );
		set_cvar_string ( "mp_friendlyfire", "1" );
		set_cvar_string ( "amx_atsrounds", "3" );
		
		
		mixon = 1;
		if (schimbate == 0) 
		{
			teamA = teamA1
			teamB = teamB1
			roundnumber = 0
			} else {
			schimbate = 0;
			teamA = 0
			teamB = 0
			teamA1 = 0
			teamB1= 0
			roundnumber = 0
		}
		
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Prelungirile vor porni in 5 secunde. -^x04%s^x01 ", szName );
	}
	return PLUGIN_HANDLED
}




public restart( id ){
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Tasteaza !comenzi in chat pentru mai multe informatii!")
		
		roundnumber = 0;
		return PLUGIN_HANDLED
	}
	else {
		set_cvar_string ( "sv_restart", "1" );
		mixon = 1;
		if (schimbate == 1) 
		{
			teamA = teamA1
			teamB = teamB1
			roundnumber = 0
			} else {
			schimbate = 0;
			teamA = 0
			teamB = 0
			teamA1 = 0
			teamB1= 0
			roundnumber = 0
		}
		
	}
	return PLUGIN_HANDLED
}

public knife(id){
	
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")	
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "2" );
		set_cvar_string ( "mp_freezetime", "0" );
		set_cvar_string ( "mp_startmoney", "16000" );
		set_cvar_string ( "mp_friendlyfire", "0" );
		set_cvar_string ( "amx_atsrounds", "100" );
		
		
		mixon = 0;
		schimbate = 0;
		teamA = 0
		teamB = 0
		teamA1 = 0
		teamB1= 0
		roundnumber = 0
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Rundele de cutite au fost pornite. -^x04%s^x01 ", szName );
		
		
		
		
		
		
	}
	return PLUGIN_HANDLED
}

public startmix(id){
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		set_cvar_string ( "sv_restart", "1" );
		set_cvar_string ( "mp_freezetime", "5" );
		set_cvar_string ( "mp_startmoney", "800" );
		set_cvar_string ( "mp_friendlyfire", "1" );
		set_cvar_string ( "mp_roundtime", "1.75" );
		set_cvar_string ( "mp_timelimit", "0" );
		set_cvar_string ( "mp_forchasecam", "2" );
		set_cvar_string ( "mp_buytime", "1.5" );
		set_cvar_string ( "mp_c4timer", "35" );
		set_cvar_string ( "amx_atsrounds", "15" );
		
		
		
		
		
		mixon = 1;
		if (schimbate == 1) 
		{
			teamA = teamA1
			teamB = teamB1
			roundnumber = 0
			} else {
			schimbate = 0;
			teamA = 0
			teamB = 0
			teamA1 = 0
			teamB1= 0
			roundnumber = 0
		}
		
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Adminul ^x04%s^x01 a pornit mix-ul ", 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 interp(id){
	
	if(!is_user_admin(id) && ADMIN_BAN)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru a avea acces la aceasta comanda.")
		
		
		return PLUGIN_HANDLED
		} else {
		client_cmd(0, "ex_interp 0.01");
		client_cmd(0, "rate 25000");
		client_cmd(0, "cl_updaterate 101");
		client_cmd(0, "cl_cmdrate 101");
		client_cmd(0, "fps_max 101");
		
		ColorChat(0,RED, "[DonGame] ^x01 S-a setat interp-ul. Jucatorii pot verifica tastand !setari in chat (consola)")
		
	}
	return PLUGIN_HANDLED
}

public roundend()
{
	roundnumber++;
	
	if (schimbate == 1 && roundnumber == 31)
	{
		ColorChat(0, RED, "[DonGame] ^x01 Echipele au reusit sa aduca scorul la egal ^x04 15 - 15 ");
		
		
		mixon = 0
		schimbate = 0
		set_cvar_string ( "sv_restart", "1" );
	}
	else if( roundnumber >= get_pcvar_num( Atsround ) )
	{
		new players[32], num;
		get_players( players, num );
		
		for( new i; i < num; i++ )
			add_delay( players ); // Prevent Server Crash with a lot of people.
		
	}
}

add_delay( id )
{
switch( id )
{
	case 1..7: set_task( 0.1, "changeTeam", id );
		case 8..15: set_task( 0.2, "changeTeam", id );
			case 16..23: set_task( 0.3, "changeTeam", id );
			case 24..32: set_task( 0.4, "changeTeam", id );
		}
}

public changeTeam( id )
{
	switch( cs_get_user_team( id ) )
	{
		case CS_TEAM_CT: cs_set_user_team( id, CS_TEAM_T );
			
		case CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );
		}
	
	roundnumber = 0;
	schimbate = 1
	teamA1 = teamA
	teamB1 = teamB
	
	ColorChat(0, RED, "[DonGame] ^x01 Echipele s-au schimbat intre ele ");
	set_cvar_string ( "sv_restart", "1" );
	
}




public scor(id){
	
	if ( mixon == 1 )
	{
		if (schimbate == 0) {
			
			if ( teamA > teamB ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04 T",teamA,teamB );
			}
			if ( teamB > teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04 CT",teamB ,teamA);
			}
			if ( teamB == teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d ^x04 (EGAL)",teamB ,teamA);
			}	
			} else {
			if ( teamA > teamB ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04CT",teamA,teamB );
			}
			if ( teamB > teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04T",teamB ,teamA);
			}
			if ( teamB == teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d ^x04 (EGAL)",teamB ,teamA);
			}
		}
	}
	else
	{
		ColorChat(id,RED, "[DonGame] ^x01 Momentan nu ruleaza niciun mix. Un admin va scrie !start pentru pornire.")
	}
	
	return PLUGIN_HANDLED
}

public clcmd_fullupdate() {
	return PLUGIN_HANDLED
}
public event_restart_attempt(){
	new players[32], num
	get_players(players, num, "a")
	for ( new i; i < num; ++i )
		g_restart_attempt[players] = true
}
public event_hud_reset(id){
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	set_properties(id)
}
public set_properties(id){ 
	set_user_hitzones(0, 0, get_pcvar_num(hitbox_bit))
}
public admin_set_hitbox(id, level, cid){
	new flags[MAXINPUT+1], name[32], error[128], result_code, bit = 1
	if ( !cmd_access(id, level, cid, 2) )
		return PLUGIN_HANDLED 
	read_argv(1, flags, MAXINPUT)
	strtolower(flags)
	new Regex:re = regex_match(flags, "0", result_code, error, 127)
	if (re >= REGEX_OK) { //This if/else will detect strange syntax, even if it doesn't need to
		regex_free(re)
		if (flags[0] == '0') {
			if (flags[1] == '^0'){
				bit = 0;
				} else {
				bit = 0; //they have a 0 followed by unnecessary characters
			}
			} else{
			bit =  1 // there is a 0 mixed in with other characters
		}
		} else {
		new buf[2] = {0,0}
		for (new i = 0; i<MAXINPUT; i++){ 
			buf[0] = flags;
			re = regex_match(SANITARY, buf[0], result_code, error, 127)
			if (re >= REGEX_OK){
				regex_free(re)
				} else {
				flags = 0 //They have weird characters in here
			}
		}
	}
	if (bit) {
		new buf2[2] = {97,0} //97 = a.
		for (new j = 2; j <= 128; j*=2, buf2[0]++){
			re = regex_match(flags, buf2, result_code, error, 127)
			if (re >= REGEX_OK){
				regex_free(re)
				bit += j
			}
		}
	}
	if (bit == 1){
		//They didn't type any valid flags at all
	}
	set_pcvar_num(hitbox_bit, bit)
	get_user_name(id, name, 31)
	switch ( get_pcvar_num(amx_show_activity) ){
		case 2:	ColorChat(0, RED, "[DonGame]  ^x01 Admin-ul ^x04 %s ^x01 a pornit/oprit modul HS ONLY ", name)
			
	}
	set_properties(0)
	log_amx("[AMXX] ADMIN %s: set hitboxes to %d", name, bit)
	return PLUGIN_HANDLED
}

public concmd_screen(id, level, cid)
{
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		return PLUGIN_HANDLED
	}
	
	new arg1[24], arg2[4]
	read_argv(1, arg1, 23)
	read_argv(2, arg2, 3)
	
	new screens = str_to_num(arg2)
	new maxss = get_pcvar_num(maxscreens)
	
	if(screens > maxss)   //too many ss?
	{
		console_print(id, "Ai depasit limita pozelor.")
		
		return PLUGIN_HANDLED
	}
	
	player = cmd_target(id, arg1, 1) 
	if (!player)   //the player has exited the sv or he didnt existed
	{
		return PLUGIN_HANDLED
	}
	finish = screens
	
	new Float:interval = get_pcvar_float(screeninterval)	//a set_task for each "amx_ss nickname nr_of_ss"
	new array[2]
	array[0] = id //save usefull data in a vector so it can be reused
	array[1] = player
	set_task(interval, "ss_propriuzis", 0, array,2, "a", screens)
	
	return PLUGIN_HANDLED
}

public ss_propriuzis(array[2])
{
	//take data and set them accordingly
	new player = array[1]
	new id = array[0]
	
	//save time,adminname,playername so that the player cant give us other ss's and because it LOOKS COOOL!
	new timestamp[32], name[32], adminname[32]
	get_time("%m/%d/%Y - %H:%M:%S", timestamp, 31)
	get_user_name(player, name, 31)
	get_user_name(id, adminname, 31)
	get_user_ip(player, ip, 31)
	
	//Clasic Design
	if(get_pcvar_num(design) == 0)
	{
		
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		ColorChat(id, RED, "[DonGame-SS] ^x01 Ai executat cu succes comanda amx_ss pe jucatorul ^x03 %s", name);
		client_cmd(player, "snapshot") //ss
	}
	//Doar Playerului
	else if(get_pcvar_num(design) == 1)
	{
		
	}
	//HUD Message doar Playerului
	else if(get_pcvar_num(design) == 2)
	{
		
		
	}
	//Full
	else if(get_pcvar_num(design) == 3)
	{
		ColorChat(id, RED, " ^x01 Poza executata asupra lui ^x03 %s  ^x01 de admin-ul ^x04 %s ^x01 (%s) ", name, adminname, timestamp)
		ColorChat(player, RED, " ^x01 Poza executata asupra lui ^x03 %s  ^x01 de admin-ul ^x04 %s ^x01 (%s) ", name, adminname, timestamp)
		client_cmd(player, "snapshot") //ss
		
		
	}
	console_print(id, "%s 's ip-ul este %s!",name,ip)
	console_print(id, "%s 's ip-ul este %s!",name,ip)
	console_print(id, "%s 's ip-ul este %s!",name,ip)
	finish = finish - 1;
	
	if(finish == 0)
	{
		
		
	}
	
	return PLUGIN_CONTINUE;
}

public show_ip(id)
{
	console_print(id, "Ultimul IP este: %s!",ip)
}


public demo(id,level,cid){
	if(!cmd_access(id,level,cid,1))
		return 0;
	
	new cmd[32], mapname[32], name[32], time[32], name2[32]
	read_argv(1, cmd, 31);
	new player = cmd_target(id, cmd, 5);
	
	if (!player)
		return 0;
	get_time("%m/%d/%Y - %H:%M:%S",time,31)
	get_user_name(player,name,31)
	get_user_name(id,name2,31)
	get_mapname(mapname,31)
	client_cmd(player,"record %s_%s.dem",name,mapname)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	ColorChat(id, RED, "^x01 Ai pornit demo-ul jucatorului ^x03 %s. ^x01 Doar tu vezi acest mesaj.", name)
	log_amx("%s Started The Demo On %s, Time %s",name, name2,time)
	return 0;
}

public stopdemo(id,level,cid){
	if(!cmd_access(id,level,cid,1))
		return 0;
	
	new cmd[32], name[32], time[32], name2[32]
	read_argv(1, cmd, 31);
	new player = cmd_target(id, cmd, 5);
	
	if (!player)
		return 0;
	get_time("%m/%d/%Y - %H:%M:%S",time,31)
	get_user_name(player,name,31)
	get_user_name(id,name2,31)
	client_cmd(player,"stop")
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	ColorChat(id, RED, "^x01 Ai oprit demo-ul jucatorului ^x03 %s. ^x01 Doar tu vezi acest mesaj.", name)
	log_amx("%s Started The Demo On %s, Time %s",name, name2,time)
	return 0;
}

public ClCmdSay( id )
{
	
	static szArgs[ 192 ];
	read_args( szArgs, sizeof ( szArgs ) -1 );
	
	if( !szArgs[ 0 ] )	return PLUGIN_CONTINUE;
	
	if( !g_bUsersCanChat )
	{
		
	}
	
	return g_bUsersCanChat ? PLUGIN_CONTINUE : PLUGIN_HANDLED;
}

public ClCmdSayBlocare( id )
{
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		return PLUGIN_HANDLED;
	}
	
	if( !g_bUsersCanChat )
	{
		client_print(id, print_chat, "Chat-ul a fost deja blocat.")
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat(0, RED, "[DonGame]^x01 Chat-ul a fost blocat. -^x04%s^x01", szName );
	
	g_bUsersCanChat = false;
	
	return PLUGIN_CONTINUE;
}

public ClCmdSayDeBlocare( id )
{
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		return PLUGIN_HANDLED;
	}
	
	if( g_bUsersCanChat )
	{
		client_print(0, print_chat, "Chat-ul este deja deblocat.")
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat(0, RED, "[DonGame]^x01 Chat-ul a fost deblocat. -^x04%s^x01", szName );
	g_bUsersCanChat = true;
	return PLUGIN_CONTINUE;
}

public setari(id)
{
	adminId = id;
	console_print(id, "Nume     -     IP     -     SteamID     -     INTERP");
	console_print(id, " --------------------------------------------------------");
	
	new players[32], num;
	get_players(players, num);
	
	for(new i = 0 ; i < num ; i++)
	{
		
		query_client_cvar(players, "ex_interp", "cvar_result_func")
		
	}
	console_print(id, "----------------------------------------------");
	ColorChat(id, RED, "[DonGame]^x01 Deschide consola. Ordinea informatiilor: NUME-IP-STEAMID-INTERP.")
	
	return 1;
}

public cvar_result_func(playerId, const cvar[], const value[]) {
	
	new name[32];
	new ipeki[32];
	new authid[32];
	get_user_name(playerId, name, 31)
	get_user_ip(playerId, ipeki, 31, 1)
	get_user_authid(playerId, authid, 31) 
	
	console_print(adminId, "%s  -  %s   -   %s   -   %s", name, ipeki, authid, value);
	return PLUGIN_CONTINUE
}

public comenzi(id)
{
	ColorChat(id, RED, "[DonGame]^x01 Deschide consola pentru a vedea comenzile pentru administrare.");
	console_print(id, "Comenzile de consola ale server-ului:");
	console_print(id, "-----------------------------------------------");
	console_print(id, "amx_hsonly a (pentru a seta server-ul pe HEADSHOT ONLY)")
	console_print(id, "amx_hsonly abcdefgh (pentru a seta server-ul pe clasic)")
	console_print(id, "amx_ss DonGame 1 (face poze jucatorului, de la 1 la 5)")
	console_print(id, "amx_demo DonGame (porneste demo jucatorului, fara ca el sa stie)")
	console_print(id, "amx_stopdemo DonGame (opreste demo-ul jucatorului")
	console_print(id, "demo (jucatorul primeste demo, chiar daca in consola scrie ca nu exista comanda)")
	console_print(id, "amx_stopdemo DonGame (opreste demo-ul jucatorului)")
	console_print(id, "amx_spec DonGame (transfera jucatorul la spectaotri)")
	console_print(id, "amx_t DonGame (transfera jucatorul la teroristi)")
	console_print(id, "amx_ct DonGame (transfera jucatorul la contrateroristi)")
	console_print(id, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
	console_print(id, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
	console_print(id, "Mai sus vei gasi comenzile cu prefixul amx_")
	console_print(id, "Comenzile publice ale server-ului:");
	console_print(id, "URMATOARELE COMENZI MERG SCRISE CU / . !");
	console_print(id, "EX: !start  /start   .start");
	console_print(id, "---------------------------------------------");
	console_print(id, "/specall - transfera jucatorii la spectatori ");
	console_print(id, "/live - pentru pornirea mix-ului ");
	console_print(id, "/stop - pentru oprirea mix-ului ");
	console_print(id, "/warm - pentru pornirea rundelor de incalzire");
	console_print(id, "/knife - pentru pornirea rundelor de cutite");
	console_print(id, "/money - pentru situatia financiara");
	console_print(id, "/setari- pentru afisarea interp-ului,steamid-ului si ip-ului");
	console_print(id, "/interp - pentru setarea interp-ului");
	console_print(id, "/score - pentru afisarea scorului" );
	console_print(id, "/blocare sau /off - pentru blocarea chat-ului" );
	console_print(id, "/deblocare sau /on - pentru deblocarea chat-ului")
	console_print(id, "/prleungiri pentru rundele de prelungire (scor 15-15)")
	console_print(id, "/map - pentru schimbarea hartii (/map de_dust2)" );
	console_print(id, "TOATE COMENZILE AMX SE POT FOLOSI DIRECT DE PE CHAT! EX: /ban Vasile 0 wall")
	
	
	
	
	
	
}


public plugin_end( )
{
	DestroyForward( iForward );
}

public client_connect( id )
{
	g_iFrags[ id ] = 0;
}

public EventNewRound( )
{
	arrayset( g_iFrags, 0, sizeof g_iFrags );
}

public EventDeathMsg( )
{
	new iKiller = read_data( 1 );
	new iVictim = read_data( 2 );
	
	CheckAce( iVictim );
	
	if( !iKiller || iKiller == iVictim || cs_get_user_team( iKiller ) == cs_get_user_team( iVictim ) )
	{
		return PLUGIN_CONTINUE;
	}
	
	g_iFrags[ iKiller ]++;
	
	return PLUGIN_CONTINUE;
}

public LogEventRoundEnd( )
{
	new iPlayers[ 32 ], iNum, player;
	
	get_players( iPlayers, iNum, "ch" );
	
	for( new i = 0; i < iNum; i++ )
	{
		player = iPlayers[ i ];
		
		if( g_iFrags[ player ] >= SEMI_ACE )
		{
			DidAceOrSemi( player );
			
			if( g_iFrags[ player ] == SEMI_ACE + 1 )
			{
				return PLUGIN_CONTINUE;
			}
		}
	}
	
	return PLUGIN_CONTINUE;
}

public CheckAce( id )
{
	if( g_iFrags[ id ] >= SEMI_ACE )
	{
		DidAceOrSemi( id );
	}
	
	g_iFrags[ id ] = 0;
}

public DidAceOrSemi( id )
{
	new iReturn = PLUGIN_CONTINUE;
	
	ExecuteForward( iForward, iReturn, id, g_iFrags[ id ] );
	
	if( iReturn == PLUGIN_HANDLED || iReturn == PLUGIN_HANDLED_MAIN )
	{
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	
	get_user_name( id, szName, sizeof szName - 1 );
	
	ColorChat( 0, GREEN, "%s^x03 %s^x01 a realizat un a%s ^x03%sACE! ^x01 Felicitari!",
	TAG, szName, g_iFrags [ id ] == SEMI_ACE ? "" : "n", g_iFrags [ id ] == SEMI_ACE ? "SEMI-" : "" );
	
	client_cmd( 0, "spk vox/buzwarn" );
	
	return PLUGIN_HANDLED
}
public clcmd_money(client)
{
	if (!get_pcvar_num(cvar_plugin_on))
	{
		client_print(client, print_chat, "[DonGame]: Show Teammate's Money was off.")
		return PLUGIN_HANDLED
	}
	show_money(client)
	return PLUGIN_CONTINUE
}

public player_spawn(client)
{
	remove_task(client)
	if (is_user_alive(client) && get_pcvar_num(cvar_plugin_on))
	{
		set_task(1.0, "show_money", client)
	}
}

public show_money(client)
{
	static message[1024];
	static name[32];
	
	new money, id, len;
	
	len = format(message, charsmax(message), "Situatia financiara a coechipierilor:^n^n");
	for (id = 1; id <= g_max_players; id++)
	{
		if (id != client && is_user_connected(id) && cs_get_user_team(id) == cs_get_user_team(client))
		{
			money = cs_get_user_money(id);
			get_user_name(id, name, 31);
			len += format(message[len], charsmax(message) - len, "%-22.22s: %d^n", name, money);
		}
	}
	set_hudmessage(18, 113, 255, 0.05, 0.35, 0, 0.02, 5.0, 0.1, 0.2, 2);
	ShowSyncHudMsg(client, g_sync_creat_list, message);
}

public set_team(id)
	g_teammate[id] = bool:(read_data(2) == 1);

public show_teammate_money(id)
{
	if (!get_pcvar_num(cvar_plugin_on))
		return PLUGIN_HANDLED
	if(!is_user_bot(id) && is_user_connected(id) && get_pcvar_num(cvar_status_on))
	{
		static name[32]
		
		new pid = read_data(2)
		new red = 0, blue = 0
		
		if (cs_get_user_team(pid) == CS_TEAM_T)
			red = 255
		else if(cs_get_user_team(pid) == CS_TEAM_CT)
			blue = 255
		
		get_user_name(pid, name, charsmax(name))
		new money = cs_get_user_money(pid)
		if (g_teammate[id])
		{
			set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
			ShowSyncHudMsg(id, g_sync_creat_statustext, "Friend:%s -- Money:%d", name, money)
		}
		else {
			set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
			ShowSyncHudMsg(id, g_sync_creat_statustext, "Enemy:%s", name)
		}
	}
	return PLUGIN_CONTINUE
}

public client_disconnect2(client){
	
	remove_task(client)
}


public cmdct(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
	
	if (!player)
	{
		return PLUGIN_HANDLED;
	}
	
	if (cs_get_user_team(player) == CS_TEAM_CT)
	{
		console_print(id, "Jucatorul este deja in echipa CT");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);
	
	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}
	
	cs_set_user_team(player,CS_TEAM_CT);
	log_amx("Admin %s: Task amx_ct/t %s",name, name2);
	ColorChat(0, RED, "[DonGame] ^x01Jucatorul ^x03 %s ^x01 a fost mutat la CONTRA-TERORISTI -^x04%s", name2, name);
	
	return PLUGIN_HANDLED;
}

public cmdt(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
	
	if (!player)
	{
		return PLUGIN_HANDLED;
	}
	
	if (cs_get_user_team(player) == CS_TEAM_T)
	{
		console_print(id, "Jucatorul este deja in echipa T");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);
	
	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}
	
	cs_set_user_team(player,CS_TEAM_T);
	log_amx("Admin %s: Task amx_t %s",name, name2);
	ColorChat(0, RED, "[DonGame]^x01Jucatorul ^x03 %s ^x01 a fost mutat la TERORISTI -^x04%s", name2, name);
	
	return PLUGIN_HANDLED;
}

public cmdspec(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
	
	if (!player)
	{
		return PLUGIN_HANDLED;
	}
	
	if (cs_get_user_team(player) == CS_TEAM_SPECTATOR)
	{
		console_print(id, "Jucatorul este deja in spectatori");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);
	
	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}
	
	cs_set_user_team(player,CS_TEAM_SPECTATOR);
	log_amx("Admin %s: Task amx_spec %s",name, name2);
	ColorChat(0, RED, "[DonGame]^x01Jucatorul ^x03 %s ^x01 a fost mutat la SPECTATORI -^x04%s", name2, name);
	
	return PLUGIN_HANDLED;
}

public cmd_spec (id, level, cid) {               /////////ASTA ESTE PROBLEMA PLUGIN-ULUI
	//Verificam daca are acces la comanda
	if(!cmd_access(id, level, cid, 2)) {
		//Mesajul care ii apare
		client_print(id,print_console,"Nu ai acces la aceasta comanda");
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new iPlayers[ 32 ], iNum, iPlayer
	get_players( iPlayers, iNum )
	
	for ( new a = 0; a < iNum; a++ )
	{
		iPlayer = iPlayers[ a ];
		
		switch ( cs_get_user_team( iPlayer ) )
			
	{
		case CS_TEAM_T, CS_TEAM_CT:
		{
			if(is_user_alive( iPlayer ))
			user_silentkill( iPlayer );
			cs_set_user_team( iPlayer, CS_TEAM_SPECTATOR );
			set_cvar_string ( "sv_restart", "5" );
			}
		}
	}
	
	ColorChat(0,RED,"[DonGame]^x01Jucatorii au fost transferati la spectatori pentru runda alegerilor. -^x04%s^x01 ", szName );
	return 1;
}

public admin_slash(id)
{
	new sArg[MAX_NAME_LENGTH+1]
	
	read_argv(1,sArg,MAX_NAME_LENGTH)
	
	if ( sArg[0] == '/' ) {
		
		new sCommand[MAX_TEXT_LENGTH+1]
		new sMessage[MAX_TEXT_LENGTH+1]
		
		read_args(sMessage,MAX_TEXT_LENGTH)
		remove_quotes(sMessage)
		replace(sMessage,MAX_TEXT_LENGTH,"/","")
		
		
		
		format(sCommand,MAX_TEXT_LENGTH,"amx_%s",sMessage)
		client_cmd(id,sCommand)
		
	}
	return PLUGIN_CONTINUE
}

public plugin_end2() {
	new minutes = floatround(get_gametime() / 60.0, floatround_ceil);
	
	new map[32];
	get_mapname(map, charsmax(map));
	
	new f = fopen(gSaveFile, "wt");
	
	fprintf(f, "^"%s^" %d", map, minutes);
	
	if(gNumLastMaps == LAST_MAPS_SAVE) {
		gNumLastMaps--;
	}
	
	for(new i = 0; i < gNumLastMaps; i++) {
		fprintf(f, "^n^"%s^" %d", gLastMapName, gLastMapTime);
	}
	
	fclose(f);
}

public CmdLastMaps(id) {
	if(gNumLastMaps) {
		new maps[192], len;
		for(new i = 0; i < gNumLastMaps; i++) {
			len += formatex(maps[len], charsmax(maps) - len, "%s%s (%dmin)", len ? ", " : "", gLastMapName, gLastMapTime);
		}
		
		ColorChat(id, RED, "[DonGame]^x01 Ultimele 3 harti jucate: ^x04 %s", maps);
		} else {
		client_print(id, print_chat, "Nu este nicio harta anterioara.");
	}
}

public pass(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED
	
	new cmd[32], password[128]
	
	read_argv(0, cmd, 31)
	read_args(password, 127)
	replace(password, 127, cmd, "")
	format(password, 127, "%s", password)
	
	get_user_name(id, name, 31)
	get_user_authid(id, authid, 31)
	switch (get_cvar_num("amx_show_activity")) {
		case 2: ColorChat(0,RED,"[DonGame]^x01 Parola a fost setata pe server. Tasteaza /nopass pentru a o scoate. - ^x04 %s",name)
			case 1: ColorChat(0,RED,"Este deja o parola pe server.")
		}
	log_amx("Cmd: ^"%s<%d><%s>^" set the server password to %s",name,get_user_userid(id),authid,password)
	set_cvar_string("sv_password", password)
	
	return PLUGIN_HANDLED
}

public nopass(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED
	
	get_user_name(id, name, 31)
	get_user_authid(id, authid, 31)
	switch (get_cvar_num("amx_show_activity")) {
		case 2: ColorChat(0,RED,"[DonGame]^x01 Parola a fost scoasa de pe server. - ^x04 %s",name)
			case 1: client_print(0,print_chat,"A fost scoasa deja parola de pe server.")
		}
	log_amx("Cmd: ^"%s<%d><%s>^" removed server password", name,get_user_userid(id),authid)
	set_cvar_string("sv_password", "")
	
	return PLUGIN_HANDLED
}
Last edited by mr.franta on 31 May 2020, 19:51, edited 1 time in total.
RoyalServer 2
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

31 May 2020, 14:50

Code: Select all

AUTHOR[ ] =          "mr.franta",
esti autor, dar nu stii sa modifici? :( jalnic :clown_smiley:
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
User avatar
mr.franta
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 25 Apr 2015, 18:33
Detinator Steam: Da
CS Status: online 24/24 cateodata si noaptea
Detinator server CS: nu
SteamID: frantacsgo
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 7 times
Contact:

31 May 2020, 19:05

Bine domnu moderator ajutator,multumesc ca nu m-ai ajutat.Ai un like!
Last edited by mr.franta on 31 May 2020, 19:21, edited 1 time in total.
The Kalu
Fost administrator
Fost administrator
Posts: 13707
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

31 May 2020, 19:12

mr.franta wrote:
31 May 2020, 19:05
Hal de moderator ajutator,ori ajuti ori taci si stai in coltul tau.Am facut o editare,toata lumea face asta cam 99% din cei care fac cerere pentru plugin-uri dar asta nu inseamna ca mi-am luat personal drepturi de autor,esti multumit?Acum dormi linistit.
Jalnic nu este o jignire, are ca si sinonim parca deplorabil in schimb hal de moderator este jignire.Abtinete te rog!
Image
User avatar
mr.franta
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 25 Apr 2015, 18:33
Detinator Steam: Da
CS Status: online 24/24 cateodata si noaptea
Detinator server CS: nu
SteamID: frantacsgo
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 7 times
Contact:

31 May 2020, 19:53

Hai sa numai facem off topic,am editat si primul mesaj acum autorul este "un user".Ramanem on topic.
Imi da eroare pe colorchat la compilare,si nu stiu ce trebuie sa ii modific.
User avatar
mr.franta
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 25 Apr 2015, 18:33
Detinator Steam: Da
CS Status: online 24/24 cateodata si noaptea
Detinator server CS: nu
SteamID: frantacsgo
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 7 times
Contact:

01 Jun 2020, 19:39

UP!
User avatar
Laurentiu P.
Fost moderator
Fost moderator
Posts: 2549
Joined: 10 Jul 2013, 21:26
Detinator Steam: Da
Reputatie: Fost super moderator
Fond eXtream: 100
Has thanked: 26 times
Been thanked: 62 times
Contact:

03 Jun 2020, 17:18

Ai în include fisierul colorchat.inc? Dacă da listează eroarea de la.compilare.
no...
User avatar
mr.franta
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 25 Apr 2015, 18:33
Detinator Steam: Da
CS Status: online 24/24 cateodata si noaptea
Detinator server CS: nu
SteamID: frantacsgo
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 7 times
Contact:

07 Jun 2020, 21:07

Asta imi arata la compilare,mai departe nu stiu nimic ce trebuie sa fac.
Fisierul colorchat.inc
Image
User avatar
DaNNe.
Fost moderator
Fost moderator
Posts: 2811
Joined: 08 Nov 2013, 20:43
Detinator Steam: Da
CS Status: Activitate scăzută
SteamID: /id/FurienMaster
Reputatie: Nick anterior: DnD. Gold, Emrys
0.5/3
Fost moderator ajutator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 244 times
Been thanked: 129 times
Contact:

08 Jun 2020, 23:09

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <regex>
#include <cstrike>
#include <colorchat>
#include <hamsandwich>

#define SEMI_ACE 4
#define MAX_PLAYERS 32
#define MAXINPUT 7
#define SANITARY "abcdefg"
#define LAST_MAPS_SAVE 3
#define MAX_NAME_LENGTH 32
#define MAX_TEXT_LENGTH 192
new bool:g_restart_attempt[MAX_PLAYERS + 1]
new amx_show_activity
new hitbox_bit
new g_max_players, g_sync_creat_statustext, g_sync_creat_list
new bool:g_teammate[33]
new cvar_plugin_on
new cvar_status_on
new szName[ 32 ];


static const

    PLUGIN[ ] =        "[DonGame]",
    VERSION[ ] =          "0.0.1",
    AUTHOR[ ] =          "un user",
    TAG[ ] =            "[DonGame]";

stock const messages [ ] [ ] =
{
    "^x04[DonGame]^x01 Va uram:^x04 o joaca cat mai placuta !!",
    "^x04[DonGame]^x01 Plugin creat de^x04 mr.franta"

};


new teamA = 0
new teamA1 = 0
new teamB = 0
new teamB1 = 0
new mixon = 0
new schimbate = 0
new roundnumber = 0
new Atsround
new adminId
new bool:g_bUsersCanChat = true;
new maxscreens
new screeninterval
new design;
new player
new ip[32]
new finish
new g_iFrags[33]
new iForward
new gSaveFile[64];
new gLastMapName[LAST_MAPS_SAVE][32];
new gLastMapTime[LAST_MAPS_SAVE];
new gNumLastMaps;
new authid[32]
new name[32]




public plugin_init()
{
	/// Setarile
	register_clcmd("say .setari", "setari", ADMIN_KICK)
	register_clcmd("say !setari", "setari", ADMIN_KICK)
	register_clcmd("say /setari", "setari", ADMIN_KICK)
	register_clcmd("say_team .setari", "setari", ADMIN_KICK)
	register_clcmd("say_team !setari", "setari", ADMIN_KICK)
	register_clcmd("say_team /setari", "setari", ADMIN_KICK)
	
	/// cvar_result_func	
	register_clcmd "say .setari", "cvar_result_func", ADMIN_KICK
	
	/// Demo
	register_concmd("amx_demo","demo",ADMIN_BAN,"<name> - takes a demo of a client")
	register_concmd("amx_stopdemo","stopdemo",ADMIN_BAN,"<name> - stops the demo taken")
	
	// Warm
	register_clcmd("say !warm", "warm", ADMIN_KICK)
	register_clcmd("say .warm", "warm", ADMIN_KICK)
	register_clcmd("say /warm", "warm", ADMIN_KICK)
	register_clcmd("say_team /warm", "warm", ADMIN_KICK)
	register_clcmd("say_team !warm", "warm", ADMIN_KICK)
	register_clcmd("say_team .warm", "warm", ADMIN_KICK)
	
	
	/// PRELUNGIRI
	register_clcmd("say !prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say .prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say /prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say .extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say /extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say !extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team /extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team !extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team .extra", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team !prelugniri", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team /prelungiri", "prelungiri", ADMIN_KICK)
	register_clcmd("say_team .prelungiri", "prelungiri", ADMIN_KICK)
	
	
	
	/// RESTART
	register_clcmd("say .rr", "restart", ADMIN_KICK)
	register_clcmd("say /rr", "restart", ADMIN_KICK)
	register_clcmd("say !rr", "restart", ADMIN_KICK)
	register_clcmd("say /restart", "restart", ADMIN_KICK)
	register_clcmd("say !restart", "restart", ADMIN_KICK)
	register_clcmd("say .restart", "restart", ADMIN_KICK)
	register_clcmd("say_team /rr", "restart", ADMIN_KICK)
	register_clcmd("say_team !rr", "restart", ADMIN_KICK)
	register_clcmd("say_team .rr", "restart", ADMIN_KICK)
	
	
	/// KNIFE
	register_clcmd("say /knife", "knife", ADMIN_KICK)
	register_clcmd("say !knife", "knife", ADMIN_KICK)
	register_clcmd("say .knife", "knife", ADMIN_KICK)
	register_clcmd("say /cutite", "knife", ADMIN_KICK)
	register_clcmd("say !cutite", "knife", ADMIN_KICK)
	register_clcmd("say .cutite", "knife", ADMIN_KICK)
	register_clcmd("say_team .knife", "knife", ADMIN_KICK)
	register_clcmd("say_team /knfie", "knife", ADMIN_KICK)
	register_clcmd("say_team !knife", "knife", ADMIN_KICK)
	register_clcmd("say_team .cutite", "knife", ADMIN_KICK)
	register_clcmd("say_team !cutite", "knife", ADMIN_KICK)
	register_clcmd("say_team /cutite", "knife", ADMIN_KICK)
	
	
	/// blocare
	register_clcmd( "say .blocare", "ClCmdSayBlocare" );
	register_clcmd( "say /off", "ClCmdSayBlocare" );
	register_clcmd( "say /blocare", "ClCmdSayBlocare" );
	register_clcmd( "say .deblocare", "ClCmdSayDeBlocare" );
	register_clcmd( "say /on", "ClCmdSayDeBlocare" );
	register_clcmd( "say !blocare", "ClCmdSayBlocare" );
	register_clcmd( "say !deblocare", "ClCmdSayDeBlocare" );
	register_clcmd( "say /deblocare", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team /on", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team !on", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team !off", "ClCmdSayDeBlocare" );
	register_clcmd( "say_team /off", "ClCmdSayDeBlocare" );
	register_clcmd( "say", "ClCmdSay" );
	
	///Ss
	register_concmd("amx_ss", "concmd_screen", ADMIN_LEVEL_A, "<authid, nick or #userid> <screens>")
	register_clcmd("say /ip", "show_ip")
	maxscreens = register_cvar("amx_ss_max", "5")
	screeninterval = register_cvar("amx_ss_interval", "1.0")
	design = register_cvar("amx_ss_design", "3")
	
	
	/// Hitbox
	register_event("ResetHUD", "event_hud_reset", "be")
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_concmd("amx_hsonly", "admin_set_hitbox", ADMIN_KICK, "<0|a|b|c|d|e|f|g> - Set hitboxes. Letters equal the body part, can combine letters.")
	hitbox_bit = register_cvar("hitbox_bit", "255")
	amx_show_activity = get_cvar_pointer("amx_show_activity")
	
	
	
	// Start Mix
	register_clcmd("say !live", "startmix", ADMIN_KICK)
	register_clcmd("say .live", "startmix", ADMIN_KICK)
	register_clcmd("say /live", "startmix", ADMIN_KICK)
	register_clcmd("say !start", "startmix", ADMIN_KICK)
	register_clcmd("say .start", "startmix", ADMIN_KICK)
	register_clcmd("say /start", "startmix", ADMIN_KICK)
	register_clcmd("say !startmix", "startmix", ADMIN_KICK)
	register_clcmd("say .startmix", "startmix", ADMIN_KICK)
	register_clcmd("say /startmix", "startmix", ADMIN_KICK)
	register_clcmd("say_team /start", "startmix", ADMIN_KICK)
	register_clcmd("say_team !start", "startmix", ADMIN_KICK)
	
	
	
	
	
	
	
	/// STOP MIX
	register_clcmd("say !stop", "stopmix", ADMIN_KICK)
	register_clcmd("say .stop", "stopmix", ADMIN_KICK)
	register_clcmd("say /stop", "stopmix", ADMIN_KICK)
	register_clcmd("say !stopmix", "stopmix", ADMIN_KICK)
	register_clcmd("say .stopmix", "stopmix", ADMIN_KICK)
	register_clcmd("say /stopmix", "stopmix", ADMIN_KICK)
	register_clcmd("say_team /stop", "stopmix", ADMIN_KICK)
	register_clcmd("say_team !stop", "stopmix", ADMIN_KICK)
	register_clcmd("say_team .stop", "stopmix", ADMIN_KICK)
	
	
	
	//Autoswitch teams
	register_logevent( "roundend", 2, "1=Round_End" );
	register_event( "TextMsg","restart","a","2&#Game_C", "2&#Game_W" ); // Event for "Game Commencing" TextMsg and "Game Will Restart in X Seconds" TextMsg
	
	Atsround = register_cvar( "amx_atsrounds", "15" );
	
	
	
	
	// Score
	register_clcmd("say !score", "scor", ADMIN_KICK)
	register_clcmd("say .score", "scor", ADMIN_KICK)
	register_clcmd("say /score", "scor", ADMIN_KICK)
	register_clcmd("say_team !score", "scor", ADMIN_KICK)
	register_clcmd("say_team .score", "scor", ADMIN_KICK)
	register_clcmd("say_team /score", "scor", ADMIN_KICK)
	
	/// Interp
	register_clcmd("say !interp", "interp", ADMIN_KICK)
	register_clcmd("say .interp", "interp", ADMIN_KICK)
	register_clcmd("say /interp", "interp", ADMIN_KICK)
	register_clcmd("say_team /interp", "interp", ADMIN_KICK)
	register_clcmd("say_team !interp", "interp", ADMIN_KICK)
	register_clcmd("say_team .interp", "interp", ADMIN_KICK)
	
	
	register_event("HLTV", "new_round", "a", "1=0", "2=0")  
	register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
	register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")  
	
	
	/// comenzi
	register_clcmd("say comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say !comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say /comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say_team /comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say_team !comenzi", "comenzi", ADMIN_KICK)
	register_clcmd("say_team .comenzi", "comenzi", ADMIN_KICK)
	
	
	
	//// ACE
	
	register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" );
	register_event( "DeathMsg", "EventDeathMsg", "a" );
	
	register_logevent( "LogEventRoundEnd", 2, "1=Round_End" );
	
	iForward  = CreateMultiForward( "FwdPlayerDidAceOrSemi", ET_STOP, FP_CELL, FP_CELL );
	
	//// TEAM MONEY
	
	
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_clcmd("say /money", "clcmd_money")
	register_clcmd("say !money", "clcmd_money")
	register_clcmd("say /bani", "clcmd_money")
	register_clcmd("say !bani", "clcmd_money")
	
	register_event("StatusValue", "show_teammate_money", "be", "1=2", "2!0")
	register_event("StatusValue", "set_team", "be", "1=1")
	
	cvar_plugin_on = register_cvar("stm_on", "1")
	cvar_status_on = register_cvar("stm_st_on", "1")
	
	g_max_players = get_maxplayers()
	g_sync_creat_statustext = CreateHudSyncObj()
	g_sync_creat_list = CreateHudSyncObj()
	
	////////////Specall
	register_concmd("amx_ct", "cmdct", ADMIN_SLAY, "NUME : Transfera jucatorul la echipa Counter/Terror");
	register_concmd("amx_t", "cmdt", ADMIN_SLAY, "NUME : Transfera jucatorul la echipa Terror");
	register_concmd("amx_spec", "cmdspec", ADMIN_SLAY, "NUME : Transfera jucatorul la Spectator");
	register_clcmd("say .specall", "cmd_spec", ADMIN_KICK, "All players spec");
	register_clcmd("say /specall", "cmd_spec", ADMIN_KICK, "All players spec");
	register_clcmd("say !specall", "cmd_spec", ADMIN_KICK, "All players spec");
	
	
	
	////// amx chat
	register_clcmd("say","admin_slash",0,"say /command < params >")
	register_clcmd("say_team","admin_slash",0,"say /command < params >")
	
	/////PASS SI NOPASS
	register_concmd("amx_pass", "pass", ADMIN_BAN, "- Sets a server password")
	register_concmd("amx_password", "pass", ADMIN_BAN, "- Sets a server password")
	register_concmd("amx_parola", "pass", ADMIN_BAN, "- Sets a server password")
	register_concmd("amx_nopass", "nopass", ADMIN_BAN, "- Removes the server password")
	register_concmd("amx_removepassword", "nopass", ADMIN_BAN, "- Removes the server password")
	
	
	
	/////HARTI
	register_clcmd("say /last", "CmdLastMaps");
	register_clcmd("say !last", "CmdLastMaps");
	register_clcmd("say /harti", "CmdLastMaps");
	register_clcmd("say !harti", "CmdLastMaps");
	
	get_datadir(gSaveFile, charsmax(gSaveFile));
	add(gSaveFile, charsmax(gSaveFile), "lastmaps.txt");
	
	new f = fopen(gSaveFile, "rt");
	
	if(f) {
		new line[64], minutes[12];
		
		while(!feof(f) && gNumLastMaps < LAST_MAPS_SAVE) {
			fgets(f, line, charsmax(line));
			trim(line);
			
			if(line[0]) {
				parse(line, gLastMapName[gNumLastMaps], charsmax(gLastMapName[]), minutes, charsmax(minutes));
				gLastMapTime[gNumLastMaps++] = str_to_num(minutes);
			}
		}
		
		fclose(f);
	}
	
	
}


public t_win() {
	if ( schimbate == 0 ) {
		teamA = teamA+1
	}
	else {
		teamB = teamB +1	
	}
}

public ct_win() {
	if ( schimbate == 0 ) {
		teamB  = teamB +1
	}
	else {
		teamA = teamA +1
	}
	
}

public new_round(){
	if ( mixon == 1)
	{
		if (schimbate == 0) {
			
			if ( teamA > teamB ) {
				
				ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru echipa T", teamA,teamB );
			}
			if ( teamB > teamA ) {
				ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru CT", teamB ,teamA);
			}
			if ( teamB == teamA ) {
				ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d (egalitate)", teamB ,teamA);
			}	
		}
		
		if ( schimbate == 1 )
		{			
			if ( teamA == 16 || teamB == 16) {
				if ( teamA > teamB ) {
					
					ColorChat(0, RED, "[DonGame]^x01 Mix-ul a fost castigat de echipa ^x04 CT");
					ColorChat(0, RED, "[DonGame]^x01 Scorul fiind: ^x04 %d - %d ",teamA, teamB);
					ColorChat(0, RED, "[DonGame]^x01 Tasteaza !harti in chat pentru a vedea ultimele 3 harti jucate.",teamA, teamB);
					
					
					
					mixon = 0
					schimbate = 0
					set_cvar_string ( "sv_restart", "1" );
				}
				
				if ( teamB > teamA ) {
					ColorChat(0, RED, "[DonGame]^x01 Mix-ul a fost castigat de echipa ^x04 T");
					ColorChat(0, RED, "[DonGame]^x01 Scorul fiind: ^x04 %d - %d ",teamB,teamA);
					ColorChat(0, RED, "[DonGame]^x01 Tasteaza !harti in chat pentru a vedea ultimele 3 harti jucate.",teamA, teamB);
					
					
					
					mixon = 0
					schimbate = 0
					set_cvar_string ( "sv_restart", "1" );
					set_cvar_string ( "mp_freezetime", "0");
					set_cvar_string ( "mp_startmoney", "16000");
				}
				} else {
				if ( teamA > teamB ) {
					ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru CT",teamA,teamB );
				}
				if ( teamB > teamA ) {
					ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d pentru T",teamB ,teamA);
				}
				if ( teamB == teamA ) {
					ColorChat(0, RED, "[DonGame]^x01 Scorul este ^x04 %d - %d (egalitate)",teamB ,teamA);
				}
			}
			
		}
	}
}


public client_disconnect(id){
	if (get_playersnum() == 0)
		set_cvar_string("sv_password", "");
}

public warm(id){
	
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "2" );
		set_cvar_string ( "mp_freezetime", "0" );
		set_cvar_string ( "mp_startmoney", "16000" );
		set_cvar_string ( "mp_friendlyfire", "0" );
		set_cvar_string ( "amx_atsrounds", "100" );
		
		
		mixon = 0;
		schimbate = 0;
		teamA = 0
		teamB = 0
		teamA1 = 0
		teamB1= 0
		roundnumber = 0
		
		
		get_user_name( id, szName, sizeof ( szName ) -1 );
		ColorChat(0, RED, "[DonGame]^x01 Rundele de incalzire au fost pornite. -^x04%s^x01 ", szName );
		
		
		
		
		
		
	}
	return PLUGIN_HANDLED
}

public stopmix(id){
	
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "1" );
		set_cvar_string ( "mp_freezetime", "0" );
		set_cvar_string ( "mp_startmoney", "16000" );
		set_cvar_string ( "mp_friendlyfire", "0" );
		set_cvar_string ( "amx_atsrounds", "100" );
		
		
		mixon = 0;
		schimbate = 0;
		teamA = 0
		teamB = 0
		teamA1 = 0
		teamB1= 0
		roundnumber = 0
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Mix-ul a fost oprit. -^x04%s^x01", szName );
		
		
		
		
		
		
	}
	return PLUGIN_HANDLED
}

public prelungiri(id){
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "5" );
		set_cvar_string ( "mp_freezetime", "8" );
		set_cvar_string ( "mp_startmoney", "10000" );
		set_cvar_string ( "mp_friendlyfire", "1" );
		set_cvar_string ( "amx_atsrounds", "3" );
		
		
		mixon = 1;
		if (schimbate == 0) 
		{
			teamA = teamA1
			teamB = teamB1
			roundnumber = 0
			} else {
			schimbate = 0;
			teamA = 0
			teamB = 0
			teamA1 = 0
			teamB1= 0
			roundnumber = 0
		}
		
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Prelungirile vor porni in 5 secunde. -^x04%s^x01 ", szName );
	}
	return PLUGIN_HANDLED
}




public restart( id ){
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Tasteaza !comenzi in chat pentru mai multe informatii!")
		
		roundnumber = 0;
		return PLUGIN_HANDLED
	}
	else {
		set_cvar_string ( "sv_restart", "1" );
		mixon = 1;
		if (schimbate == 1) 
		{
			teamA = teamA1
			teamB = teamB1
			roundnumber = 0
			} else {
			schimbate = 0;
			teamA = 0
			teamB = 0
			teamA1 = 0
			teamB1= 0
			roundnumber = 0
		}
		
	}
	return PLUGIN_HANDLED
}

public knife(id){
	
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")	
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		
		set_cvar_string ( "sv_restart", "2" );
		set_cvar_string ( "mp_freezetime", "0" );
		set_cvar_string ( "mp_startmoney", "16000" );
		set_cvar_string ( "mp_friendlyfire", "0" );
		set_cvar_string ( "amx_atsrounds", "100" );
		
		
		mixon = 0;
		schimbate = 0;
		teamA = 0
		teamB = 0
		teamA1 = 0
		teamB1= 0
		roundnumber = 0
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Rundele de cutite au fost pornite. -^x04%s^x01 ", szName );
		
		
		
		
		
		
	}
	return PLUGIN_HANDLED
}

public startmix(id){
	
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		
		
		return PLUGIN_HANDLED
	}
	else {
		
		
		set_cvar_string ( "sv_restart", "1" );
		set_cvar_string ( "mp_freezetime", "5" );
		set_cvar_string ( "mp_startmoney", "800" );
		set_cvar_string ( "mp_friendlyfire", "1" );
		set_cvar_string ( "mp_roundtime", "1.75" );
		set_cvar_string ( "mp_timelimit", "0" );
		set_cvar_string ( "mp_forchasecam", "2" );
		set_cvar_string ( "mp_buytime", "1.5" );
		set_cvar_string ( "mp_c4timer", "35" );
		set_cvar_string ( "amx_atsrounds", "15" );
		
		
		
		
		
		mixon = 1;
		if (schimbate == 1) 
		{
			teamA = teamA1
			teamB = teamB1
			roundnumber = 0
			} else {
			schimbate = 0;
			teamA = 0
			teamB = 0
			teamA1 = 0
			teamB1= 0
			roundnumber = 0
		}
		
		
		get_user_name( id, szName, sizeof ( szName ) -1 );		
		ColorChat(0, RED, "[DonGame]^x01 Adminul ^x04%s^x01 a pornit mix-ul ", 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 interp(id){
	
	if(!is_user_admin(id) && ADMIN_BAN)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru a avea acces la aceasta comanda.")
		
		
		return PLUGIN_HANDLED
		} else {
		client_cmd(0, "ex_interp 0.01");
		client_cmd(0, "rate 25000");
		client_cmd(0, "cl_updaterate 101");
		client_cmd(0, "cl_cmdrate 101");
		client_cmd(0, "fps_max 101");
		
		ColorChat(0,RED, "[DonGame] ^x01 S-a setat interp-ul. Jucatorii pot verifica tastand !setari in chat (consola)")
		
	}
	return PLUGIN_HANDLED
}

public roundend()
{
	roundnumber++;
	
	if (schimbate == 1 && roundnumber == 31)
	{
		ColorChat(0, RED, "[DonGame] ^x01 Echipele au reusit sa aduca scorul la egal ^x04 15 - 15 ");
		
		
		mixon = 0
		schimbate = 0
		set_cvar_string ( "sv_restart", "1" );
	}
	else if( roundnumber >= get_pcvar_num( Atsround ) )
	{
		new players[32], num;
		get_players( players, num );
		
		for( new i; i < num; i++ )
			add_delay( players ); // Prevent Server Crash with a lot of people.
		
	}
}

add_delay( id )
{
switch( id )
{
	case 1..7: set_task( 0.1, "changeTeam", id );
		case 8..15: set_task( 0.2, "changeTeam", id );
			case 16..23: set_task( 0.3, "changeTeam", id );
			case 24..32: set_task( 0.4, "changeTeam", id );
		}
}

public changeTeam( id )
{
	switch( cs_get_user_team( id ) )
	{
		case CS_TEAM_CT: cs_set_user_team( id, CS_TEAM_T );
			
		case CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );
		}
	
	roundnumber = 0;
	schimbate = 1
	teamA1 = teamA
	teamB1 = teamB
	
	ColorChat(0, RED, "[DonGame] ^x01 Echipele s-au schimbat intre ele ");
	set_cvar_string ( "sv_restart", "1" );
	
}




public scor(id){
	
	if ( mixon == 1 )
	{
		if (schimbate == 0) {
			
			if ( teamA > teamB ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04 T",teamA,teamB );
			}
			if ( teamB > teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04 CT",teamB ,teamA);
			}
			if ( teamB == teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d ^x04 (EGAL)",teamB ,teamA);
			}	
			} else {
			if ( teamA > teamB ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04CT",teamA,teamB );
			}
			if ( teamB > teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d pentru ^x04T",teamB ,teamA);
			}
			if ( teamB == teamA ) {
				ColorChat(id, RED, "^x03 Scorul este %d - %d ^x04 (EGAL)",teamB ,teamA);
			}
		}
	}
	else
	{
		ColorChat(id,RED, "[DonGame] ^x01 Momentan nu ruleaza niciun mix. Un admin va scrie !start pentru pornire.")
	}
	
	return PLUGIN_HANDLED
}

public clcmd_fullupdate() {
	return PLUGIN_HANDLED
}
public event_restart_attempt(){
	new players[32], num
	get_players(players, num, "a")
	for ( new i; i < num; ++i )
		g_restart_attempt[players] = true
}
public event_hud_reset(id){
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	set_properties(id)
}
public set_properties(id){ 
	set_user_hitzones(0, 0, get_pcvar_num(hitbox_bit))
}
public admin_set_hitbox(id, level, cid){
	new flags[MAXINPUT+1], name[32], error[128], result_code, bit = 1
	if ( !cmd_access(id, level, cid, 2) )
		return PLUGIN_HANDLED 
	read_argv(1, flags, MAXINPUT)
	strtolower(flags)
	new Regex:re = regex_match(flags, "0", result_code, error, 127)
	if (re >= REGEX_OK) { //This if/else will detect strange syntax, even if it doesn't need to
		regex_free(re)
		if (flags[0] == '0') {
			if (flags[1] == '^0'){
				bit = 0;
				} else {
				bit = 0; //they have a 0 followed by unnecessary characters
			}
			} else{
			bit =  1 // there is a 0 mixed in with other characters
		}
		} else {
		new buf[2] = {0,0}
		for (new i = 0; i<MAXINPUT; i++){ 
			buf[0] = flags;
			re = regex_match(SANITARY, buf[0], result_code, error, 127)
			if (re >= REGEX_OK){
				regex_free(re)
				} else {
				flags = 0 //They have weird characters in here
			}
		}
	}
	if (bit) {
		new buf2[2] = {97,0} //97 = a.
		for (new j = 2; j <= 128; j*=2, buf2[0]++){
			re = regex_match(flags, buf2, result_code, error, 127)
			if (re >= REGEX_OK){
				regex_free(re)
				bit += j
			}
		}
	}
	if (bit == 1){
		//They didn't type any valid flags at all
	}
	set_pcvar_num(hitbox_bit, bit)
	get_user_name(id, name, 31)
	switch ( get_pcvar_num(amx_show_activity) ){
		case 2:	ColorChat(0, RED, "[DonGame]  ^x01 Admin-ul ^x04 %s ^x01 a pornit/oprit modul HS ONLY ", name)
			
	}
	set_properties(0)
	log_amx("[AMXX] ADMIN %s: set hitboxes to %d", name, bit)
	return PLUGIN_HANDLED
}

public concmd_screen(id, level, cid)
{
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		return PLUGIN_HANDLED
	}
	
	new arg1[24], arg2[4]
	read_argv(1, arg1, 23)
	read_argv(2, arg2, 3)
	
	new screens = str_to_num(arg2)
	new maxss = get_pcvar_num(maxscreens)
	
	if(screens > maxss)   //too many ss?
	{
		console_print(id, "Ai depasit limita pozelor.")
		
		return PLUGIN_HANDLED
	}
	
	player = cmd_target(id, arg1, 1) 
	if (!player)   //the player has exited the sv or he didnt existed
	{
		return PLUGIN_HANDLED
	}
	finish = screens
	
	new Float:interval = get_pcvar_float(screeninterval)	//a set_task for each "amx_ss nickname nr_of_ss"
	new array[2]
	array[0] = id //save usefull data in a vector so it can be reused
	array[1] = player
	set_task(interval, "ss_propriuzis", 0, array,2, "a", screens)
	
	return PLUGIN_HANDLED
}

public ss_propriuzis(array[2])
{
	//take data and set them accordingly
	new player = array[1]
	new id = array[0]
	
	//save time,adminname,playername so that the player cant give us other ss's and because it LOOKS COOOL!
	new timestamp[32], name[32], adminname[32]
	get_time("%m/%d/%Y - %H:%M:%S", timestamp, 31)
	get_user_name(player, name, 31)
	get_user_name(id, adminname, 31)
	get_user_ip(player, ip, 31)
	
	//Clasic Design
	if(get_pcvar_num(design) == 0)
	{
		
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		client_print(id,print_console, "Comanda amx_ss a fost executata asupra jucatorului ales");
		ColorChat(id, RED, "[DonGame-SS] ^x01 Ai executat cu succes comanda amx_ss pe jucatorul ^x03 %s", name);
		client_cmd(player, "snapshot") //ss
	}
	//Doar Playerului
	else if(get_pcvar_num(design) == 1)
	{
		
	}
	//HUD Message doar Playerului
	else if(get_pcvar_num(design) == 2)
	{
		
		
	}
	//Full
	else if(get_pcvar_num(design) == 3)
	{
		ColorChat(id, RED, " ^x01 Poza executata asupra lui ^x03 %s  ^x01 de admin-ul ^x04 %s ^x01 (%s) ", name, adminname, timestamp)
		ColorChat(player, RED, " ^x01 Poza executata asupra lui ^x03 %s  ^x01 de admin-ul ^x04 %s ^x01 (%s) ", name, adminname, timestamp)
		client_cmd(player, "snapshot") //ss
		
		
	}
	console_print(id, "%s 's ip-ul este %s!",name,ip)
	console_print(id, "%s 's ip-ul este %s!",name,ip)
	console_print(id, "%s 's ip-ul este %s!",name,ip)
	finish = finish - 1;
	
	if(finish == 0)
	{
		
		
	}
	
	return PLUGIN_CONTINUE;
}

public show_ip(id)
{
	console_print(id, "Ultimul IP este: %s!",ip)
}


public demo(id,level,cid){
	if(!cmd_access(id,level,cid,1))
		return 0;
	
	new cmd[32], mapname[32], name[32], time[32], name2[32]
	read_argv(1, cmd, 31);
	new player = cmd_target(id, cmd, 5);
	
	if (!player)
		return 0;
	get_time("%m/%d/%Y - %H:%M:%S",time,31)
	get_user_name(player,name,31)
	get_user_name(id,name2,31)
	get_mapname(mapname,31)
	client_cmd(player,"record %s_%s.dem",name,mapname)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai pornit demo-ul jucatorului: %s, Data: %s",name,time)
	ColorChat(id, RED, "^x01 Ai pornit demo-ul jucatorului ^x03 %s. ^x01 Doar tu vezi acest mesaj.", name)
	log_amx("%s Started The Demo On %s, Time %s",name, name2,time)
	return 0;
}

public stopdemo(id,level,cid){
	if(!cmd_access(id,level,cid,1))
		return 0;
	
	new cmd[32], name[32], time[32], name2[32]
	read_argv(1, cmd, 31);
	new player = cmd_target(id, cmd, 5);
	
	if (!player)
		return 0;
	get_time("%m/%d/%Y - %H:%M:%S",time,31)
	get_user_name(player,name,31)
	get_user_name(id,name2,31)
	client_cmd(player,"stop")
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	client_print(id,print_console,"Ai oprit demo-ul jucatorului: %s, Data: %s",name,time)
	ColorChat(id, RED, "^x01 Ai oprit demo-ul jucatorului ^x03 %s. ^x01 Doar tu vezi acest mesaj.", name)
	log_amx("%s Started The Demo On %s, Time %s",name, name2,time)
	return 0;
}

public ClCmdSay( id )
{
	
	static szArgs[ 192 ];
	read_args( szArgs, sizeof ( szArgs ) -1 );
	
	if( !szArgs[ 0 ] )	return PLUGIN_CONTINUE;
	
	if( !g_bUsersCanChat )
	{
		
	}
	
	return g_bUsersCanChat ? PLUGIN_CONTINUE : PLUGIN_HANDLED;
}

public ClCmdSayBlocare( id )
{
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		return PLUGIN_HANDLED;
	}
	
	if( !g_bUsersCanChat )
	{
		client_print(id, print_chat, "Chat-ul a fost deja blocat.")
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat(0, RED, "[DonGame]^x01 Chat-ul a fost blocat. -^x04%s^x01", szName );
	
	g_bUsersCanChat = false;
	
	return PLUGIN_CONTINUE;
}

public ClCmdSayDeBlocare( id )
{
	if(!is_user_admin(id) && ADMIN_KICK)
	{
		client_print(id, print_chat, "Ai nevoie de admin pentru aceasta comanda.")
		return PLUGIN_HANDLED;
	}
	
	if( g_bUsersCanChat )
	{
		client_print(0, print_chat, "Chat-ul este deja deblocat.")
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	ColorChat(0, RED, "[DonGame]^x01 Chat-ul a fost deblocat. -^x04%s^x01", szName );
	g_bUsersCanChat = true;
	return PLUGIN_CONTINUE;
}

public setari(id)
{
	adminId = id;
	console_print(id, "Nume     -     IP     -     SteamID     -     INTERP");
	console_print(id, " --------------------------------------------------------");
	
	new players[32], num;
	get_players(players, num);
	
	for(new i = 0 ; i < num ; i++)
	{
		
		query_client_cvar(players, "ex_interp", "cvar_result_func")
		
	}
	console_print(id, "----------------------------------------------");
	ColorChat(id, RED, "[DonGame]^x01 Deschide consola. Ordinea informatiilor: NUME-IP-STEAMID-INTERP.")
	
	return 1;
}

public cvar_result_func(playerId, const cvar[], const value[]) {
	
	new name[32];
	new ipeki[32];
	new authid[32];
	get_user_name(playerId, name, 31)
	get_user_ip(playerId, ipeki, 31, 1)
	get_user_authid(playerId, authid, 31) 
	
	console_print(adminId, "%s  -  %s   -   %s   -   %s", name, ipeki, authid, value);
	return PLUGIN_CONTINUE
}

public comenzi(id)
{
	ColorChat(id, RED, "[DonGame]^x01 Deschide consola pentru a vedea comenzile pentru administrare.");
	console_print(id, "Comenzile de consola ale server-ului:");
	console_print(id, "-----------------------------------------------");
	console_print(id, "amx_hsonly a (pentru a seta server-ul pe HEADSHOT ONLY)")
	console_print(id, "amx_hsonly abcdefgh (pentru a seta server-ul pe clasic)")
	console_print(id, "amx_ss DonGame 1 (face poze jucatorului, de la 1 la 5)")
	console_print(id, "amx_demo DonGame (porneste demo jucatorului, fara ca el sa stie)")
	console_print(id, "amx_stopdemo DonGame (opreste demo-ul jucatorului")
	console_print(id, "demo (jucatorul primeste demo, chiar daca in consola scrie ca nu exista comanda)")
	console_print(id, "amx_stopdemo DonGame (opreste demo-ul jucatorului)")
	console_print(id, "amx_spec DonGame (transfera jucatorul la spectaotri)")
	console_print(id, "amx_t DonGame (transfera jucatorul la teroristi)")
	console_print(id, "amx_ct DonGame (transfera jucatorul la contrateroristi)")
	console_print(id, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
	console_print(id, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
	console_print(id, "Mai sus vei gasi comenzile cu prefixul amx_")
	console_print(id, "Comenzile publice ale server-ului:");
	console_print(id, "URMATOARELE COMENZI MERG SCRISE CU / . !");
	console_print(id, "EX: !start  /start   .start");
	console_print(id, "---------------------------------------------");
	console_print(id, "/specall - transfera jucatorii la spectatori ");
	console_print(id, "/live - pentru pornirea mix-ului ");
	console_print(id, "/stop - pentru oprirea mix-ului ");
	console_print(id, "/warm - pentru pornirea rundelor de incalzire");
	console_print(id, "/knife - pentru pornirea rundelor de cutite");
	console_print(id, "/money - pentru situatia financiara");
	console_print(id, "/setari- pentru afisarea interp-ului,steamid-ului si ip-ului");
	console_print(id, "/interp - pentru setarea interp-ului");
	console_print(id, "/score - pentru afisarea scorului" );
	console_print(id, "/blocare sau /off - pentru blocarea chat-ului" );
	console_print(id, "/deblocare sau /on - pentru deblocarea chat-ului")
	console_print(id, "/prleungiri pentru rundele de prelungire (scor 15-15)")
	console_print(id, "/map - pentru schimbarea hartii (/map de_dust2)" );
	console_print(id, "TOATE COMENZILE AMX SE POT FOLOSI DIRECT DE PE CHAT! EX: /ban Vasile 0 wall")
	
	
	
	
	
	
}


public plugin_end( )
{
	DestroyForward( iForward );
}

public client_connect( id )
{
	g_iFrags[ id ] = 0;
}

public EventNewRound( )
{
	arrayset( g_iFrags, 0, sizeof g_iFrags );
}

public EventDeathMsg( )
{
	new iKiller = read_data( 1 );
	new iVictim = read_data( 2 );
	
	CheckAce( iVictim );
	
	if( !iKiller || iKiller == iVictim || cs_get_user_team( iKiller ) == cs_get_user_team( iVictim ) )
	{
		return PLUGIN_CONTINUE;
	}
	
	g_iFrags[ iKiller ]++;
	
	return PLUGIN_CONTINUE;
}

public LogEventRoundEnd( )
{
	new iPlayers[ 32 ], iNum, player;
	
	get_players( iPlayers, iNum, "ch" );
	
	for( new i = 0; i < iNum; i++ )
	{
		player = iPlayers[ i ];
		
		if( g_iFrags[ player ] >= SEMI_ACE )
		{
			DidAceOrSemi( player );
			
			if( g_iFrags[ player ] == SEMI_ACE + 1 )
			{
				return PLUGIN_CONTINUE;
			}
		}
	}
	
	return PLUGIN_CONTINUE;
}

public CheckAce( id )
{
	if( g_iFrags[ id ] >= SEMI_ACE )
	{
		DidAceOrSemi( id );
	}
	
	g_iFrags[ id ] = 0;
}

public DidAceOrSemi( id )
{
	new iReturn = PLUGIN_CONTINUE;
	
	ExecuteForward( iForward, iReturn, id, g_iFrags[ id ] );
	
	if( iReturn == PLUGIN_HANDLED || iReturn == PLUGIN_HANDLED_MAIN )
	{
		return PLUGIN_HANDLED;
	}
	
	new szName[ 32 ];
	
	get_user_name( id, szName, sizeof szName - 1 );
	
	ColorChat( 0, GREEN, "%s^x03 %s^x01 a realizat un a%s ^x03%sACE! ^x01 Felicitari!",
	TAG, szName, g_iFrags [ id ] == SEMI_ACE ? "" : "n", g_iFrags [ id ] == SEMI_ACE ? "SEMI-" : "" );
	
	client_cmd( 0, "spk vox/buzwarn" );
	
	return PLUGIN_HANDLED
}
public clcmd_money(client)
{
	if (!get_pcvar_num(cvar_plugin_on))
	{
		client_print(client, print_chat, "[DonGame]: Show Teammate's Money was off.")
		return PLUGIN_HANDLED
	}
	show_money(client)
	return PLUGIN_CONTINUE
}

public player_spawn(client)
{
	remove_task(client)
	if (is_user_alive(client) && get_pcvar_num(cvar_plugin_on))
	{
		set_task(1.0, "show_money", client)
	}
}

public show_money(client)
{
	static message[1024];
	static name[32];
	
	new money, id, len;
	
	len = format(message, charsmax(message), "Situatia financiara a coechipierilor:^n^n");
	for (id = 1; id <= g_max_players; id++)
	{
		if (id != client && is_user_connected(id) && cs_get_user_team(id) == cs_get_user_team(client))
		{
			money = cs_get_user_money(id);
			get_user_name(id, name, 31);
			len += format(message[len], charsmax(message) - len, "%-22.22s: %d^n", name, money);
		}
	}
	set_hudmessage(18, 113, 255, 0.05, 0.35, 0, 0.02, 5.0, 0.1, 0.2, 2);
	ShowSyncHudMsg(client, g_sync_creat_list, message);
}

public set_team(id)
	g_teammate[id] = bool:(read_data(2) == 1);

public show_teammate_money(id)
{
	if (!get_pcvar_num(cvar_plugin_on))
		return PLUGIN_HANDLED
	if(!is_user_bot(id) && is_user_connected(id) && get_pcvar_num(cvar_status_on))
	{
		static name[32]
		
		new pid = read_data(2)
		new red = 0, blue = 0
		
		if (cs_get_user_team(pid) == CS_TEAM_T)
			red = 255
		else if(cs_get_user_team(pid) == CS_TEAM_CT)
			blue = 255
		
		get_user_name(pid, name, charsmax(name))
		new money = cs_get_user_money(pid)
		if (g_teammate[id])
		{
			set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
			ShowSyncHudMsg(id, g_sync_creat_statustext, "Friend:%s -- Money:%d", name, money)
		}
		else {
			set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
			ShowSyncHudMsg(id, g_sync_creat_statustext, "Enemy:%s", name)
		}
	}
	return PLUGIN_CONTINUE
}

public client_disconnect2(client){
	
	remove_task(client)
}


public cmdct(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
	
	if (!player)
	{
		return PLUGIN_HANDLED;
	}
	
	if (cs_get_user_team(player) == CS_TEAM_CT)
	{
		console_print(id, "Jucatorul este deja in echipa CT");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);
	
	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}
	
	cs_set_user_team(player,CS_TEAM_CT);
	log_amx("Admin %s: Task amx_ct/t %s",name, name2);
	ColorChat(0, RED, "[DonGame] ^x01Jucatorul ^x03 %s ^x01 a fost mutat la CONTRA-TERORISTI -^x04%s", name2, name);
	
	return PLUGIN_HANDLED;
}

public cmdt(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
	
	if (!player)
	{
		return PLUGIN_HANDLED;
	}
	
	if (cs_get_user_team(player) == CS_TEAM_T)
	{
		console_print(id, "Jucatorul este deja in echipa T");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);
	
	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}
	
	cs_set_user_team(player,CS_TEAM_T);
	log_amx("Admin %s: Task amx_t %s",name, name2);
	ColorChat(0, RED, "[DonGame]^x01Jucatorul ^x03 %s ^x01 a fost mutat la TERORISTI -^x04%s", name2, name);
	
	return PLUGIN_HANDLED;
}

public cmdspec(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
	
	if (!player)
	{
		return PLUGIN_HANDLED;
	}
	
	if (cs_get_user_team(player) == CS_TEAM_SPECTATOR)
	{
		console_print(id, "Jucatorul este deja in spectatori");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);
	
	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}
	
	cs_set_user_team(player,CS_TEAM_SPECTATOR);
	log_amx("Admin %s: Task amx_spec %s",name, name2);
	ColorChat(0, RED, "[DonGame]^x01Jucatorul ^x03 %s ^x01 a fost mutat la SPECTATORI -^x04%s", name2, name);
	
	return PLUGIN_HANDLED;
}

public cmd_spec (id, level, cid) {               /////////ASTA ESTE PROBLEMA PLUGIN-ULUI
	//Verificam daca are acces la comanda
	if(!cmd_access(id, level, cid, 2)) {
		//Mesajul care ii apare
		client_print(id,print_console,"Nu ai acces la aceasta comanda");
		return PLUGIN_HANDLED;
	}
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new iPlayers[ 32 ], iNum, iPlayer
	get_players( iPlayers, iNum )
	
	for ( new a = 0; a < iNum; a++ )
	{
		iPlayer = iPlayers[ a ];
		
		switch ( cs_get_user_team( iPlayer ) )
			
	{
		case CS_TEAM_T, CS_TEAM_CT:
		{
			if(is_user_alive( iPlayer ))
			user_silentkill( iPlayer );
			cs_set_user_team( iPlayer, CS_TEAM_SPECTATOR );
			set_cvar_string ( "sv_restart", "5" );
			}
		}
	}
	
	ColorChat(0,RED,"[DonGame]^x01Jucatorii au fost transferati la spectatori pentru runda alegerilor. -^x04%s^x01 ", szName );
	return 1;
}

public admin_slash(id)
{
	new sArg[MAX_NAME_LENGTH+1]
	
	read_argv(1,sArg,MAX_NAME_LENGTH)
	
	if ( sArg[0] == '/' ) {
		
		new sCommand[MAX_TEXT_LENGTH+1]
		new sMessage[MAX_TEXT_LENGTH+1]
		
		read_args(sMessage,MAX_TEXT_LENGTH)
		remove_quotes(sMessage)
		replace(sMessage,MAX_TEXT_LENGTH,"/","")
		
		
		
		format(sCommand,MAX_TEXT_LENGTH,"amx_%s",sMessage)
		client_cmd(id,sCommand)
		
	}
	return PLUGIN_CONTINUE
}

public plugin_end2() {
	new minutes = floatround(get_gametime() / 60.0, floatround_ceil);
	
	new map[32];
	get_mapname(map, charsmax(map));
	
	new f = fopen(gSaveFile, "wt");
	
	fprintf(f, "^"%s^" %d", map, minutes);
	
	if(gNumLastMaps == LAST_MAPS_SAVE) {
		gNumLastMaps--;
	}
	
	for(new i = 0; i < gNumLastMaps; i++) {
		fprintf(f, "^n^"%s^" %d", gLastMapName, gLastMapTime);
	}
	
	fclose(f);
}

public CmdLastMaps(id) {
	if(gNumLastMaps) {
		new maps[192], len;
		for(new i = 0; i < gNumLastMaps; i++) {
			len += formatex(maps[len], charsmax(maps) - len, "%s%s (%dmin)", len ? ", " : "", gLastMapName, gLastMapTime);
		}
		
		ColorChat(id, RED, "[DonGame]^x01 Ultimele 3 harti jucate: ^x04 %s", maps);
		} else {
		client_print(id, print_chat, "Nu este nicio harta anterioara.");
	}
}

public pass(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED
	
	new cmd[32], password[128]
	
	read_argv(0, cmd, 31)
	read_args(password, 127)
	replace(password, 127, cmd, "")
	format(password, 127, "%s", password)
	
	get_user_name(id, name, 31)
	get_user_authid(id, authid, 31)
	switch (get_cvar_num("amx_show_activity")) {
		case 2: ColorChat(0,RED,"[DonGame]^x01 Parola a fost setata pe server. Tasteaza /nopass pentru a o scoate. - ^x04 %s",name)
			case 1: ColorChat(0,RED,"Este deja o parola pe server.")
		}
	log_amx("Cmd: ^"%s<%d><%s>^" set the server password to %s",name,get_user_userid(id),authid,password)
	set_cvar_string("sv_password", password)
	
	return PLUGIN_HANDLED
}

public nopass(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED
	
	get_user_name(id, name, 31)
	get_user_authid(id, authid, 31)
	switch (get_cvar_num("amx_show_activity")) {
		case 2: ColorChat(0,RED,"[DonGame]^x01 Parola a fost scoasa de pe server. - ^x04 %s",name)
			case 1: client_print(0,print_chat,"A fost scoasa deja parola de pe server.")
		}
	log_amx("Cmd: ^"%s<%d><%s>^" removed server password", name,get_user_userid(id),authid)
	set_cvar_string("sv_password", "")
	
	return PLUGIN_HANDLED
}
User avatar
mr.franta
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 25 Apr 2015, 18:33
Detinator Steam: Da
CS Status: online 24/24 cateodata si noaptea
Detinator server CS: nu
SteamID: frantacsgo
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 7 times
Contact:

10 Jun 2020, 08:24

Aceasi eroare la compilare

Code: Select all

mix.sma(704) : error 035: argument type mismatch (argument 1)
mix.sma(784) : error 033: array must be indexed (variable "players")
mix.sma(817) : error 006: must be assigned to an array
mix.sma(822 -- 823) : error 033: array must be indexed (variable "flags")
mix.sma(1076) : error 035: argument type mismatch (argument 1)
mix.sma(1561) : warning 203: symbol is never used: "AUTHOR"
mix.sma(1561) : warning 203: symbol is never used: "PLUGIN"
mix.sma(1561) : warning 203: symbol is never used: "VERSION"
User avatar
DaNNe.
Fost moderator
Fost moderator
Posts: 2811
Joined: 08 Nov 2013, 20:43
Detinator Steam: Da
CS Status: Activitate scăzută
SteamID: /id/FurienMaster
Reputatie: Nick anterior: DnD. Gold, Emrys
0.5/3
Fost moderator ajutator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 244 times
Been thanked: 129 times
Contact:

11 Jun 2020, 19:11

mr.franta wrote:
10 Jun 2020, 08:24
Aceasi eroare la compilare

Code: Select all

mix.sma(704) : error 035: argument type mismatch (argument 1)
mix.sma(784) : error 033: array must be indexed (variable "players")
mix.sma(817) : error 006: must be assigned to an array
mix.sma(822 -- 823) : error 033: array must be indexed (variable "flags")
mix.sma(1076) : error 035: argument type mismatch (argument 1)
mix.sma(1561) : warning 203: symbol is never used: "AUTHOR"
mix.sma(1561) : warning 203: symbol is never used: "PLUGIN"
mix.sma(1561) : warning 203: symbol is never used: "VERSION"
Cu ce compilezi?
https://imgur.com/MPZnrWG
User avatar
mr.franta
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 25 Apr 2015, 18:33
Detinator Steam: Da
CS Status: online 24/24 cateodata si noaptea
Detinator server CS: nu
SteamID: frantacsgo
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 7 times
Contact:

12 Jun 2020, 21:19

Cu amxx compiler
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests