#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