Advertisement
Guest User

search nominate

a guest
Jul 15th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 2.18 KB | None | 0 0
  1.  
  2. public Action Command_Nominate( int client, int args )
  3. {
  4.     if( args < 1 )
  5.     {
  6.         OpenNominateMenu( client );
  7.         return Plugin_Handled;
  8.     }
  9.    
  10.     char mapname[PLATFORM_MAX_PATH];
  11.     GetCmdArg( 1, mapname, sizeof(mapname) );
  12.     if( SMC_FindMap( mapname, mapname, sizeof(mapname) ) )
  13.     {
  14.         if( StrEqual( mapname, g_cMapName ) )
  15.         {
  16.             ReplyToCommand( client, "[SMC] Can't nominate current map" );
  17.             return Plugin_Handled;
  18.         }
  19.        
  20.         int idx = g_aOldMaps.FindString( mapname );
  21.         if( idx != -1 )
  22.         {
  23.             ReplyToCommand( client, "[SMC] %s was recently played", mapname );
  24.             return Plugin_Handled;
  25.         }
  26.    
  27.         ReplySource old = SetCmdReplySource( SM_REPLY_TO_CHAT );
  28.         Nominate( client, mapname );
  29.         SetCmdReplySource( old );
  30.     }
  31.     else
  32.     {
  33.         PrintToChatAll( "[SMC] Could not find map '%s'", mapname );
  34.     }
  35.    
  36.     return Plugin_Handled;
  37. }
  38.  
  39. public Action Command_UnNominate( int client, int args )
  40. {
  41.     if( g_cNominatedMap[client][0] == '\0' )
  42.     {
  43.         ReplyToCommand( client, "[SMC] You haven't nominated a map" );
  44.         return Plugin_Handled;
  45.     }
  46.  
  47.     int idx = g_aNominateList.FindString( g_cNominatedMap[client] );
  48.     if( idx != -1 )
  49.     {
  50.         g_aNominateList.Erase( idx );
  51.         g_cNominatedMap[client][0] = '\0';
  52.     }
  53.  
  54.     ReplyToCommand( client, "[SMC] Successfully removed nomination for '%s'", g_cNominatedMap[client] );
  55.    
  56.    
  57.     return Plugin_Handled;
  58. }
  59.  
  60. void Nominate( int client, const char mapname[PLATFORM_MAX_PATH] )
  61. {
  62.     int idx = g_aNominateList.FindString( mapname );
  63.     if( idx != -1 )
  64.     {
  65.         ReplyToCommand( client, "[SMC] %s has already been nominated", mapname );
  66.         return;
  67.     }
  68.    
  69.     if( g_cNominatedMap[client][0] != '\0' )
  70.     {
  71.         RemoveString( g_aNominateList, g_cNominatedMap[client] );
  72.     }
  73.    
  74.     g_aNominateList.PushString( mapname );
  75.     g_cNominatedMap[client] = mapname;
  76.    
  77.     PrintToChatAll( "[SMC] %N has nominated %s", client, mapname );
  78. }
  79.  
  80. bool SMC_FindMap( const char[] mapname, char[] output, int maxlen )
  81. {
  82.     int length = g_aMapList.Length;
  83.     for( int i = 0; i < length; i++ )
  84.     {
  85.         char entry[PLATFORM_MAX_PATH];
  86.         g_aMapList.GetString( i, entry, sizeof(entry) );
  87.        
  88.         if( StrContains( entry, mapname ) != -1 )
  89.         {
  90.             strcopy( output, maxlen, entry );
  91.             return true;
  92.         }
  93.     }
  94.    
  95.     return false;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement