eyal282 icon

ct rounds bug

eyal282 | PRO | 11/05/12 10:59:44 AM UTC | 0 ⭐ | 989 👁️ | Never ⏰ | []
text |

10.78 KB

|

None

|

0 👍

/

0 👎

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
 #pragma semicolon 1
 #define MAX_CMDS 	4
#define MAX_NUMBERS	10
#define MAX_LETTERS 	26
#define TASKID		325
 new const g_CmdStart[ MAX_CMDS ][] = 
{
"say /fw",
"say /first",
"say_team /fw",
"say_team /first"
};
new const g_CmdStop[ MAX_CMDS ][] = 
{
"say /stopfirst",
"say /stopfw",
"say_team /stopfirst",
"say_team /stopfw"
};
  new const fw_Letters[ MAX_LETTERS ][] = 
{
"a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m", "n",
"o", "p", "q", "r", "s", "t", "u",
"v", "w", "x", "y", "z"
};
 new const fw_Numbers[ MAX_NUMBERS ][] = 
{
"0", "1", "2", "3", "4", 
"5", "6", "7", "8", "9"
};
  new bool:g_fwActive, bool:g_fwAllowMove;
new g_FWCount, g_MixChars[ 6 ], g_LastChars[ 6 ];
new g_Round[33];
new g_MaxPlayers,g_Cvar,g_Cvar2;
 public plugin_init(){
        register_plugin("JB Max Rounds","1.2","NorToN");
 		for( new i; i < MAX_CMDS; i++ )
		{
		register_clcmd( g_CmdStart[ i ], "fnFwStart" );
		register_clcmd( g_CmdStop[ i ], "fnFwStop" );
		}
        register_clcmd("say","HandleSay");
        register_clcmd("say_team","HandleSay");
		register_clcmd( "say", "Handle_Say" );
		register_event( "SendAudio", "EventTeamWin", "a", "2=%!MRAD_terwin", "2=%!MRAD_ctwin", "2&%!MRAD_ROUNDDRAW" );
 		RegisterHam( Ham_Spawn, "player", "FwdPlayerSpawn", 1 );
 		g_Cvar = register_cvar("amx_maxrounds","10");
		g_MaxPlayers = get_maxplayers();
}
public client_putinserver(id) g_Round[id] = 0;
public client_disconnect(id) g_Round[id] = 0;
 public FwdPlayerSpawn(client)
{
  g_Cvar2 = get_pcvar_num(g_Cvar);
  for (new i = 1; i <= g_MaxPlayers; i++)
  {
    if (!is_user_connected(i))
			continue;
     else if (cs_get_user_team(i) != CS_TEAM_CT)
			continue;
	else
  ColorChat(client,"You played: ^4%i/%i^1 rounds.",g_Round[i],g_Cvar2);
			}
		}
public EventTeamWin(client){
		new szName [ 32 ];
        g_Cvar2 = get_pcvar_num(g_Cvar);
        for (new i = 1; i <= g_MaxPlayers; i++)
        {
                if (!is_user_connected(i))
                        continue;
                 else if (cs_get_user_team(i) != CS_TEAM_CT)
                        continue;
                  g_Round[i]++;
                 if (g_Round[i] > g_Cvar2)
                {
						set_task(5.0, "FwStart");
						cs_set_user_team( client, CS_TEAM_T );
						ExecuteHamB( Ham_CS_RoundRespawn, client );
						ColorChat( 0, "^03תוינש 5 דועב ליחתמ םשורש ןושארה ^3", szName );
                        g_Round[i] = 0;
                }
        }
}
 public cl_cmdrounds(id){
        new Args[32],szName[32];
        read_argv(1,Args,charsmax(Args));
         if (equali(Args,""))
        {
                client_print(id,print_console,"Usage: /round name");
                return 1;
        }
         new player = cmd_target(id,Args,8);
        g_Cvar2 = get_pcvar_num(g_Cvar);
         if(!player)
                return 1;
         get_user_name(player,szName,charsmax(szName));
         if (cs_get_user_team(player) != CS_TEAM_CT)
        {
                client_print(id,print_console,"%s isn't in the Counter-Terrorist (CT) team!",szName);
                return 1;
        }
         else if (id == player)
        {
                client_print(id,print_console,"You played: %i/%i rounds.",g_Round[player],g_Cvar2);
                return 1;
        }
         client_print(id,print_console,"%s played: %i/%i rounds.",szName,g_Round[player],g_Cvar2);
        return 1;
}
public FwStart( client ) 
{
new szName[ 32 ];
get_user_name( client, szName, charsmax( szName ) );
 g_FWCount = 5;
g_fwActive = true;
set_task( 1.0, "ActionTimer", TASKID );
return PLUGIN_HANDLED;
}
public fnFwStart( client ) 
{
if ( !(get_user_flags( client ) & ADMIN_RCON) ) 
{
ColorChat(client, "^x03תאזה^x04 הדוקפל^x04 תושיג ךל ןיא^x03 !" );
return PLUGIN_HANDLED;
}
if( g_fwActive )
{
ColorChat( client, "^x04ליחתה רבכ םשורש ןושארה^x03 !" );
return PLUGIN_HANDLED;
}
new szName[ 32 ];
get_user_name( client, szName, charsmax( szName ) );
 g_FWCount = 5;
g_fwActive = true;
set_task( 1.0, "ActionTimer", TASKID );
 ColorChat( 0, "^x03 םשורש ןושארה^x04 ליחתה^x03 %s !", szName );
return PLUGIN_HANDLED;
}
  public fnFwStop( client ) 
{
if ( !(get_user_flags( client ) & ADMIN_RCON ) ) 
{
ColorChat( client, "^x03תאזה^x04 הדוקפל^x04 תושיג ךל ןיא^x03 !" );
return PLUGIN_HANDLED;
}
if( !g_fwActive )
{
ColorChat( client, "^xןיידע^x03 ליחתה^x04 םשורש^x03 ןושארה" );
return PLUGIN_HANDLED;
}
 new szName[ 32 ];
get_user_name( client, szName, charsmax( szName ) );
 g_fwActive = false;
remove_task( TASKID );
g_fwAllowMove = false;
ColorChat( 0, "^x04%s^x03 םשורה תא^x04  רצע^x03 !", szName );
return PLUGIN_HANDLED;
}
public Handle_Say( client ) 
{
new szMsg[ 32 ], szName[ 32 ];
read_args( szMsg, charsmax( szMsg ) );
remove_quotes( szMsg );
 if( g_fwAllowMove )
{
if ( !is_user_alive( client ) ) 
{
	ColorChat( client, "^x03ייח^x04 תויהל בייח התא^x03 !" );
	return PLUGIN_HANDLED;
}
 if ( cs_get_user_team( client ) != CS_TEAM_T ) 
{
	ColorChat( client, "^x03תונעל םילוכי רורט קר^x03 !" );
	return PLUGIN_HANDLED;
}
 if( equali( szMsg, g_MixChars ) ) 
{
	new RGB[ 3 ];
	RGB[ 0 ] = random_num( 50, 250 );
	RGB[ 1 ] = random_num( 50, 250 );
	RGB[ 2 ] = random_num( 50, 250 );
	cs_set_user_team( client, CS_TEAM_CT );
	ExecuteHamB( Ham_CS_RoundRespawn, client );
	get_user_name( client, szName, charsmax( szName ) );
	set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 2, 8.0, 8.0 );
	show_hudmessage( 0, "%s !אוה חצנמה ", szName );
	ColorChat( 0, "^x04%s^x03 יטיסל רבעומו חצינ^x03.", szName );
	client_cmd( client, "spk holo/tr_holo_nicejob" );
	remove_task( TASKID );
	g_fwAllowMove = false;
	g_fwActive = false;
}
else 
{
	ColorChat( client, "^x03הנוכנ אל ךלש הבושתה^x03 !" );
	client_cmd( client, "spk scientist/completelywrong" );
}
}
return PLUGIN_CONTINUE;
}
  public ActionTimer( ) 
{
new RGB[ 3 ];
RGB[ 0 ] = random_num( 50, 250 );
RGB[ 1 ] = random_num( 50, 250 );
RGB[ 2 ] = random_num( 50, 250 );
 if( g_FWCount <= 0 )
{
remove_task( TASKID );
g_fwAllowMove = true;
switch( random_num( 1,3 ) )
{
	case 1:
	{
		formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s", 
		fw_Letters[ random( MAX_LETTERS - 1 ) ], 
		fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
		fw_Letters[ random( MAX_LETTERS - 1 ) ],
		fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
		fw_Letters[ random( MAX_LETTERS - 1 ) ]
		);
	}
	case 2:
	{
		formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s", 
		fw_Letters[ random( MAX_LETTERS - 1 ) ], 
		fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
		fw_Letters[ random( MAX_LETTERS - 1 ) ],
		fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
		fw_Letters[ random( MAX_LETTERS - 1 ) ]
		);
	}
	case 3:
	{
		formatex( g_MixChars, charsmax( g_MixChars ), "%s%s%s%s%s", 
		fw_Letters[ random( MAX_LETTERS - 1 ) ], 
		fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
		fw_Letters[ random( MAX_LETTERS - 1 ) ],
		fw_Numbers[ random( MAX_NUMBERS - 1 ) ],
		fw_Letters[ random( MAX_LETTERS - 1 ) ]
		);
	}
}
g_LastChars = g_MixChars;
set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 0, 8.0, 8.0 );
show_hudmessage( 0, "[ %s ]", g_LastChars );
ColorChat( 0,"^x04 םשורש ימ %s^x03 יטיס^x04מועבר ל !", g_LastChars );
set_task( 15.0, "ActionFailed", 239 );
}
 if( g_FWCount != 0 ) 
{
new g_CountVoice[ 21 ];
num_to_word( g_FWCount, g_CountVoice, charsmax( g_CountVoice ) );
client_cmd( 0, "spk ^"vox/%s seconds^"", g_CountVoice );
set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 0, 0.1, 0.5 );
show_hudmessage( 0, "תוינש %i דועב ליחתמ םשורש ןושארה", g_FWCount );
--g_FWCount;
set_task( 1.0, "ActionTimer", TASKID );
}
}
  public ActionFailed( ) 
{
if( g_fwAllowMove ) 
{
new RGB[ 3 ];
RGB[ 0 ] = random_num( 50, 250 );
RGB[ 1 ] = random_num( 50, 250 );
RGB[ 2 ] = random_num( 50, 250 );
set_hudmessage( RGB[ 0 ], RGB[ 1 ], RGB[ 2 ], -1.0, 0.30, 0, 6.0, 6.0 );
show_hudmessage( 0,"ןוכנ םשר אל דחא ףא!" );
ColorChat( 0, "^x03ןוכנ^x04 םשר אל דחא ףא !" );
client_cmd( 0,"spk holo/tr_holo_tryagain" );
g_fwAllowMove = false;
g_fwActive = false;
remove_task( TASKID );
}
}          
 public HandleSay(id){
        new Args[128],Args2[16],Args3[32],szName[32];
        read_argv(1,Args,charsmax(Args));
        parse(Args,Args2,charsmax(Args2),Args3,charsmax(Args3));
        if(equali(Args2,"/round") || equali(Args2,"!round"))
        {
                if (equali(Args3,""))
                {
                        ColorChat(id,"Usage: ^4/round <name>^1 or ^4!round <name>^1");
                        return 1;
                }
                new player = cmd_target(id,Args3,8);
                g_Cvar2 = get_pcvar_num(g_Cvar);
                 if(!player)
                {
                        ColorChat(id,"Player ^4%s^1 does not exist / isn't not connected!",Args3);
                        return 1;
                }
                 get_user_name(player,szName,charsmax(szName));
                 if (cs_get_user_team(player) != CS_TEAM_CT)
                {
                        ColorChat(id,"^4%s^1 isn't in the ^4Counter-Terrorist^1 (CT) team!",szName);
                        return 1;
                }
                 else if (id == player)
                {
                        ColorChat(id,"You played: ^4%i/%i^1 rounds.",g_Round[player],g_Cvar2);
                        return 1;
                }
                 ColorChat(id,"^4%s^1 played: ^4%i/%i^1 rounds.",szName,g_Round[player],g_Cvar2);
                return 1;
        }
         return 0;
}
 stock ColorChat(const id, const string[], {Float, Sql, Resul,_}:...){
        new msg[191], players[32], count = 1;
         static len; len = formatex(msg, charsmax(msg), "^x04[^x01 JailBreak ^x04]^x01 ");
        vformat(msg[len], charsmax(msg) - len, string, 3);
         if(id)    players[0] = id;
        else    get_players(players,count,"ch");
         for (new i = 0; i < count; i++)
        {
                if(is_user_connected(players[i]))
                {
                        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, players[i]);
                        write_byte(players[i]);
                        write_string(msg);
                        message_end();
                }
        }
}

Comments