#include #include #include #include #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 ^1 or ^4!round ^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(); } } }