קוד:#include < amxmodx > #include < hamsandwich > #include < cstrike > #define MAX_NUMBERS 10 #define MAX_LETTERS 26 new const g_CmdStart[][] = { "say /fw", "say /first", "say_team /fw", "say_team /first" }; new const g_CmdStop[][] = { "say /stop", "say /stopfw", "say_team /stop", "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 g_FWCount, g_fwActive = false, g_fwAllowMove = false, g_CountVoice[ 21 ], szWinner[ 32 ], g_MixChars[ 6 ], g_LastChars[ 6 ] const TASKID = 2502502 new g_max_clients new AutoTeamBalance public plugin_init() { register_plugin("Advanced FirstWrites (Fixed)", "v3", "xDrugz") for( new i; i < sizeof g_CmdStart; i++ ) register_clcmd( g_CmdStart[ i ], "fnFwStart" ) for( new i; i < sizeof g_CmdStop; i++ ) register_clcmd( g_CmdStop[ i ], "fnFwStop" ) register_clcmd( "say", "HandleSay" ) AutoTeamBalance = register_cvar("jail_autoteambalance", "1") register_logevent("RoundStart", 2, "1=Round_Start") g_max_clients = get_maxplayers() } public RoundStart() { if(get_pcvar_num(AutoTeamBalance)) { set_task(1.0, "AutoFW") } } 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 HandleSay( 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 AutoFw( ) { new players[32], num, ct, t get_players(players, num) TeamCount(ct, t) if(t > 0 && ct == 0 && !g_fwActive) { g_FWCount = 15; g_fwActive = true; set_task( 1.0, "ActionTimer", TASKID ); } else if(t > 8 && ct == 1 && !g_fwActive) { g_FWCount = 15; g_fwActive = true; set_task( 1.0, "ActionTimer", TASKID ); } else if(t > 15 && ct == 2 && !g_fwActive) { g_FWCount = 15; g_fwActive = true; set_task( 1.0, "ActionTimer", TASKID ); } else if(t > 22 && ct == 3 && !g_fwActive) { g_FWCount = 15; g_fwActive = true; set_task( 1.0, "ActionTimer", TASKID ); } else if(t > 29 && ct == 4 && !g_fwActive) { g_FWCount = 15; g_fwActive = true; set_task( 1.0, "ActionTimer", TASKID ); } else if(t < 7 && ct == 2) { RandomT() } else if(t < 14 && ct == 3) { RandomT() } else if(t < 28 && ct == 4) { RandomT() } } public RandomT() { new vPlayers[32], vPlayerNum, vName[32] get_players(vPlayers, vPlayerNum) if(vPlayerNum) { new g_iVIPid = 0 g_iVIPid = vPlayers[(vPlayerNum > 1) ? random(vPlayerNum) : 0] get_user_name(g_iVIPid, vName, charsmax(vName)) if(cs_get_user_team(g_iVIPid) == CS_TEAM_T) set_task(1.0, "RandomT") else { ColorChat(0, "^4%s ^1is selected for Random Terror because there is too much CT", vName) cs_set_user_team(g_iVIPid, CS_TEAM_T) ExecuteHamB(Ham_CS_RoundRespawn, g_iVIPid) set_hudmessage(255, 0, 0, -1.0, 0.69, 2, 6.0, 18.0) show_hudmessage(0, "^%s is selected for Random Terror because there is too much CT", vName) } } } stock ColorChat(index, const Msg[], {Float, Sql, Result,_}:...) { new Buffer[190], Buffer2[192] formatex(Buffer2, sizeof(Buffer2)-1, "^3[^1 FW ^3]^1 %s", Msg) vformat(Buffer, sizeof(Buffer)-1, Buffer2, 3) if(!index) { for (new i = 1; i <= get_maxplayers(); i++) { if(!is_user_connected(i)) continue message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, i) write_byte(i) write_string(Buffer) message_end() } } else { if(!is_user_connected(index)) return message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, index) write_byte(index) write_string(Buffer) message_end() } } public TeamCount(&ct, &t) { for(new id=1; id <= g_max_clients; id++) { if(!is_user_connected(id)) continue if(cs_get_user_team(id) == CS_TEAM_T) t++ else if(cs_get_user_team(id) == CS_TEAM_CT) ct++ } }



ציטוט ההודעה