P1xeL

Zedox750 FirstWrith

Jul 28th, 2012
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.96 KB | None | 0 0
  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 ]
  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_KICK) ) {
  32.         ColorChat( player, "Only^4 Admins/VIP^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_KICK) ) {
  48.         ColorChat( player, "Only^4 Admins/VIP^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 ) == 3 ) {
  66.         ColorChat( player, "Spec^4 can`t^1 May Participate !" )
  67.         return PLUGIN_HANDLED
  68.     }
  69.     if( equali( szMessage, g_LastChars ) ) {
  70.         if ( g_fwAllowMove )
  71.         {
  72.             if ( !is_user_connected(player) || !is_user_alive(player) ) {
  73.                 ColorChat( player, "You Must Be^4 Alive^1 !" )
  74.                 return PLUGIN_HANDLED
  75.             }
  76.            
  77.             switch(cs_get_user_team(player))
  78.             {
  79.                 case CS_TEAM_T:
  80.                 {
  81.                     get_user_name( player, szWinner, 31 )
  82.                     cs_set_user_team( player, CS_TEAM_CT )
  83.                     ExecuteHamB(Ham_CS_RoundRespawn, player );
  84.                     set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0)
  85.                     show_hudmessage( 0, "%s, is the Winner !", szWinner )
  86.                     ColorChat(0, "^1%s^4 Won^1 And Moved To^4 CT Team^1 !", szWinner )
  87.                     client_cmd( player, "spk holo/tr_holo_nicejob" )
  88.                     g_fwAllowMove = false
  89.                     g_fwActive = false
  90.                 }
  91.                 case CS_TEAM_CT:
  92.                 {
  93.                     teamctMenu(player)
  94.                     client_cmd( player, "spk holo/tr_holo_nicejob" )
  95.                     g_fwAllowMove = false
  96.                     g_fwActive = false
  97.                    
  98.                     get_user_name( player, szWinner, 31 )
  99.                     set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0)
  100.                     show_hudmessage( 0, "%s, is the Winner !", szWinner )
  101.                     ColorChat(0, "^1%s^4 Won^1 And Chose Someone To^4 CT Team^1 !", szWinner )
  102.                 }
  103.             }
  104.         }
  105.     }
  106.     else {
  107.         if ( g_fwAllowMove ) {
  108.             client_cmd( 0, "spk scientist/completelywrong" )
  109.         }
  110.     }
  111.     return PLUGIN_CONTINUE
  112. }
  113.  
  114. public ActionTimer( ) {
  115.     switch( g_FWCount ) {
  116.         case 0: {
  117.             g_fwAllowMove = true
  118.             formatex(g_MixChars, 5, "%i", random_num(0, 99999))
  119.             g_LastChars = g_MixChars
  120.             set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0)
  121.             show_hudmessage( 0, "[ %s ]", g_LastChars )
  122.             ColorChat(0, "Agreed Number is^4 %s^1 Hurry up !", g_LastChars)
  123.             remove_task( TASKID )
  124.             set_task( 15.0, "ActionFailed", TASKID )
  125.         }
  126.         case 1..5: {
  127.             set_task( 1.0, "ActionTimer", TASKID )
  128.         }
  129.     }
  130.     if(g_FWCount != 0) {
  131.         num_to_word(g_FWCount, g_CountVoice, 20)
  132.         client_cmd(0, "spk ^"vox/%s seconds^"", g_CountVoice)
  133.         set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 0.5, 0.5)
  134.         show_hudmessage( 0, "Start in %d Seconds !", g_FWCount )
  135.         --g_FWCount
  136.     }
  137. }
  138.  
  139. public ActionFailed( ) {
  140.     if( g_fwAllowMove ) {
  141.         set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0)
  142.         show_hudmessage( 0, "First Writes Activity Failed !" )
  143.         ColorChat(0, "^"^4First Writes^1^" Activity Failed !" )
  144.         client_cmd( 0, "spk holo/tr_holo_tryagain" )
  145.         g_fwAllowMove = false
  146.         g_fwActive = false
  147.     }
  148.     else {
  149.         remove_task( TASKID )
  150.     }
  151. }
  152.  
  153.  
  154. stock ColorChat(index, const Msg[], {Float, Sql, Result,_}:...) {
  155.     new Buffer[190], Buffer2[192]
  156.     formatex(Buffer2, sizeof(Buffer2)-1, "^3[^1 JailBreak ^3]^1 %s", Msg)
  157.     vformat(Buffer, sizeof(Buffer)-1, Buffer2, 3)
  158.     if(!index) {
  159.         for (new i = 1; i <= get_maxplayers(); i++) {
  160.             if(!is_user_connected(i))   continue
  161.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, i)
  162.             write_byte(i)
  163.             write_string(Buffer)
  164.             message_end()
  165.         }
  166.         } else {
  167.         if(!is_user_connected(index))   return
  168.         message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, index)
  169.         write_byte(index)
  170.         write_string(Buffer)
  171.         message_end()
  172.     }
  173. }
  174.  
  175. public teamctMenu(id)
  176. {
  177.     new shopppmenu4 = menu_create("\r[ \wMenu \r] \y Transfer To CT Menu", "sub_4")
  178.    
  179.     new name[32], szTempid[10], Item[100]
  180.     for( new i = 1; i <= get_maxplayers(); i++ )
  181.     {
  182.         if(!is_user_connected(i)) continue
  183.        
  184.         get_user_name(i, name, sizeof(name) - 1)
  185.         num_to_str(i, szTempid, 9)
  186.        
  187.         formatex(Item, 99, "\y%s", name)
  188.         menu_additem(shopppmenu4, Item, szTempid)
  189.     }
  190.     menu_setprop(shopppmenu4, MPROP_EXITNAME, "\yExit")
  191.     menu_display(id, shopppmenu4)
  192. }
  193.  
  194. public sub_4(client, shopppmenu4, item)
  195. {
  196.     if(item == MENU_EXIT)
  197.     {
  198.         //Menu(client)
  199.         return
  200.     }
  201.     new data[6], iName[64]
  202.     new _access, callback
  203.     menu_item_getinfo(shopppmenu4, item, _access, data,5, iName, 63, callback)
  204.    
  205.     new tempid = str_to_num(data)
  206.    
  207.     if(!is_user_connected(tempid))  return
  208.     //new name[32]
  209.     //get_user_name(tempid, name, sizeof(name) - 1)
  210.    
  211.     //server_cmd( "amx_team %s ct", name )
  212.     cs_set_user_team( tempid, CS_TEAM_CT )
  213.     ExecuteHamB(Ham_CS_RoundRespawn, tempid );
  214. }
Advertisement
Add Comment
Please, Sign In to add comment