SHOW:
|
|
- or go back to the newest paste.
| 1 | #include < amxmodx > | |
| 2 | #include < hamsandwich > | |
| 3 | #include < cstrike > | |
| 4 | ||
| 5 | new const g_CmdStart[][] = {
| |
| 6 | "say /fw", | |
| 7 | "say /first", | |
| 8 | "say_team /fw", | |
| 9 | "say_team /first" | |
| 10 | }; | |
| 11 | new const g_CmdStop[][] = {
| |
| 12 | "say /stop", | |
| 13 | "say /stopfw", | |
| 14 | "say_team /stop", | |
| 15 | "say_team /stopfw" | |
| 16 | }; | |
| 17 | - | new g_FWCount, g_fwActive = false, g_fwAllowMove = false, g_CountVoice[ 21 ], szWinner[ 32 ], g_MixChars[ 6 ], g_LastChars[ 6 ] |
| 17 | + | new g_FWCount, g_fwActive = false, g_fwAllowMove = false, g_CountVoice[ 21 ], szWinner[ 32 ], g_MixChars[ 6 ], g_LastChars[ 6 ], starter |
| 18 | const TASKID = 2502502 | |
| 19 | ||
| 20 | public plugin_init() {
| |
| 21 | register_plugin("Advanced FirstWrites (Fixed)", "v3", "xDrugz")
| |
| 22 | ||
| 23 | for( new i; i < sizeof g_CmdStart; i++ ) | |
| 24 | register_clcmd( g_CmdStart[ i ], "fnFwStart" ) | |
| 25 | for( new i; i < sizeof g_CmdStop; i++ ) | |
| 26 | register_clcmd( g_CmdStop[ i ], "fnFwStop" ) | |
| 27 | register_clcmd( "say", "HandleSay" ) | |
| 28 | } | |
| 29 | ||
| 30 | public fnFwStart( player ) {
| |
| 31 | if ( !(get_user_flags( player ) & ADMIN_RCON) ) {
| |
| 32 | ColorChat( player, "Only^4 Admins^1 May Use This Command !" ) | |
| 33 | return PLUGIN_HANDLED | |
| 34 | } | |
| 35 | if( !g_fwActive ) {
| |
| 36 | g_FWCount = 5 | |
| 37 | ActionTimer( ) | |
| 38 | g_fwActive = true | |
| 39 | } | |
| 40 | else {
| |
| 41 | ColorChat(player, "^"^4First Writes^1^" Activity Already Started !" ) | |
| 42 | } | |
| 43 | return PLUGIN_CONTINUE | |
| 44 | } | |
| 45 | ||
| 46 | public fnFwStop( player ) {
| |
| 47 | if ( !(get_user_flags( player ) & ADMIN_RCON) ) {
| |
| 48 | ColorChat( player, "Only^4 Admins^1 May Use This Command !" ) | |
| 49 | return PLUGIN_HANDLED | |
| 50 | } | |
| 51 | if( g_fwActive ) {
| |
| 52 | remove_task( TASKID ) | |
| 53 | g_fwActive = false | |
| 54 | g_fwAllowMove = false | |
| 55 | ColorChat(0, "^"^4First Writes^1^" Activity Stopped !" ) | |
| 56 | } | |
| 57 | return PLUGIN_CONTINUE | |
| 58 | } | |
| 59 | ||
| 60 | public HandleSay( player ) {
| |
| 61 | new szMessage[ 32 ] | |
| 62 | read_args( szMessage, charsmax( szMessage ) ) | |
| 63 | remove_quotes( szMessage ) | |
| 64 | ||
| 65 | if ( g_fwAllowMove && get_user_team( player ) != 1 ) {
| |
| 66 | ColorChat( player, "Only^4 Prisoners^1 May Participate !" ) | |
| 67 | return PLUGIN_HANDLED | |
| 68 | } | |
| 69 | if( equali( szMessage, g_LastChars ) ) {
| |
| 70 | if ( g_fwAllowMove ) {
| |
| 71 | if ( !is_user_connected(player) || !is_user_alive(player) ) {
| |
| 72 | ColorChat( player, "You Must Be^4 Alive^1 !" ) | |
| 73 | return PLUGIN_HANDLED | |
| 74 | } | |
| 75 | get_user_name( player, szWinner, 31 ) | |
| 76 | cs_set_user_team( player, CS_TEAM_CT ) | |
| 77 | ExecuteHamB(Ham_CS_RoundRespawn, player ); | |
| 78 | set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0) | |
| 79 | show_hudmessage( 0, "%s, is the Winner !", szWinner ) | |
| 80 | ColorChat(0, "^1%s^4 Won^1 And Moved To^4 CT Team^1 !", szWinner ) | |
| 81 | client_cmd( player, "spk holo/tr_holo_nicejob" ) | |
| 82 | g_fwAllowMove = false | |
| 83 | g_fwActive = false | |
| 84 | } | |
| 85 | } | |
| 86 | else {
| |
| 87 | if ( g_fwAllowMove ) {
| |
| 88 | client_cmd( 0, "spk scientist/completelywrong" ) | |
| 89 | } | |
| 90 | } | |
| 91 | return PLUGIN_CONTINUE | |
| 92 | } | |
| 93 | ||
| 94 | public ActionTimer( ) {
| |
| 95 | new UserName[32] | |
| 96 | switch( g_FWCount ) {
| |
| 97 | case 0: {
| |
| 98 | g_fwAllowMove = true | |
| 99 | formatex(g_MixChars, 5, "%i", random_num(0, 99999)) | |
| 100 | g_LastChars = g_MixChars | |
| 101 | set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0) | |
| 102 | show_hudmessage( 0, "[ %s ]", g_LastChars ) | |
| 103 | ColorChat(0, "Agreed Number is^4 %s^1 Hurry up !", g_LastChars) | |
| 104 | remove_task( TASKID ) | |
| 105 | set_task( 15.0, "ActionFailed", TASKID ) | |
| 106 | } | |
| 107 | case 1..5: {
| |
| 108 | set_task( 1.0, "ActionTimer", TASKID ) | |
| 109 | } | |
| 110 | } | |
| 111 | if(g_FWCount != 0) {
| |
| 112 | get_user_name(starter, UserName, 31) | |
| 113 | num_to_word(g_FWCount, g_CountVoice, 20) | |
| 114 | - | show_hudmessage( 0, "Start in %d Seconds !", g_FWCount ) |
| 114 | + | |
| 115 | set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 0.5, 0.5) | |
| 116 | show_hudmessage( 0, "The First writes will started in %d Secconds^n[By %d]", g_FWCount, UserName ) | |
| 117 | --g_FWCount | |
| 118 | } | |
| 119 | } | |
| 120 | ||
| 121 | public ActionFailed( ) {
| |
| 122 | if( g_fwAllowMove ) {
| |
| 123 | set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0) | |
| 124 | show_hudmessage( 0, "First Writes Activity Failed !" ) | |
| 125 | ColorChat(0, "^"^4First Writes^1^" Activity Failed !" ) | |
| 126 | client_cmd( 0, "spk holo/tr_holo_tryagain" ) | |
| 127 | g_fwAllowMove = false | |
| 128 | g_fwActive = false | |
| 129 | } | |
| 130 | else {
| |
| 131 | remove_task( TASKID ) | |
| 132 | } | |
| 133 | } | |
| 134 | ||
| 135 | ||
| 136 | stock ColorChat(index, const Msg[], {Float, Sql, Result,_}:...) {
| |
| 137 | new Buffer[190], Buffer2[192] | |
| 138 | formatex(Buffer2, sizeof(Buffer2)-1, "^3[^1 JailBreak ^3]^1 %s", Msg) | |
| 139 | vformat(Buffer, sizeof(Buffer)-1, Buffer2, 3) | |
| 140 | if(!index) {
| |
| 141 | for (new i = 1; i <= get_maxplayers(); i++) {
| |
| 142 | if(!is_user_connected(i)) continue | |
| 143 | message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, i)
| |
| 144 | write_byte(i) | |
| 145 | write_string(Buffer) | |
| 146 | message_end() | |
| 147 | } | |
| 148 | } else {
| |
| 149 | if(!is_user_connected(index)) return | |
| 150 | message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, index)
| |
| 151 | write_byte(index) | |
| 152 | write_string(Buffer) | |
| 153 | message_end() | |
| 154 | } | |
| 155 | } |