[CS: Source] Простой Resetscore.

Тема в разделе "Новые плагины", создана пользователем Владислав Абрамов, 10 янв 2016.

  1. Владислав Абрамов

    Владислав Абрамов

    Сообщения:
    15
    Симпатии:
    0
    Простой Resetscore с проверкой присутствия игрока на сервере, ибо я слышал, что можно крашануть сервер таким способом.
    PHP:
    #pragma semicolon 1
    #include <sourcemod>
    #include <sdktools>

    public Plugin:myinfo 
    {
        
    name "Resetscore",
        
    author "Sniper",
        
    description "Плагин для сброса счёта",
        
    version "1.2",
        
    url "hlmod.ru"
    }

    public 
    OnPluginStart()
    {
        
    RegConsoleCmd"say"Command_RS );
        
    RegConsoleCmd"say_team"Command_RS );
    }

    public 
    Action:Command_RS(clientargs)
    {
        
    decl String:Said128 ];
        
    GetCmdArgStringSaidsizeofSaid ) - );
        
    StripQuotesSaid );
        
    TrimStringSaid );
        
        if( 
    StrEqualSaid"!resetscore" ) || StrEqualSaid"!rs" ) || StrEqualSaid"!rdk" ) || StrEqualSaid"!кы" ) || StrEqualSaid"!квл" ) )
        {
          if(!
    IsValidClient(client))
          {
              return 
    Plugin_Continue;
          }
          
          if( 
    GetClientDeathsclient ) == && GetClientFragsclient ) == )
          {
            
    PrintToChatclient"\x03Ваш счёт и так равен 0" );
            
            return 
    Plugin_Continue;
          }
          
          
    ResetsCore(client);
          
    PrintToChatclient"\x03Вы обнулили свой счёт" );
        }
        
        return 
    Plugin_Continue;
    }

    stock bool:IsValidClient(clientbool:alive false)
    {
        return (
    client >= && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client) && (alive == false || IsPlayerAlive(client)));
    }

    ResetsCore(client)
    {
        
    SetEntProp(clientProp_Data"m_iFrags"0);
        
    SetEntProp(clientProp_Data"m_iDeaths"0);
     

    Вложения:

    • Resetscore.smx
      Размер файла:
      4,6 КБ
      Просмотров:
      23
    Последнее редактирование: 10 янв 2016
  2. SourceSamil

    SourceSamil

    Сообщения:
    121
    Симпатии:
    24
    Эм, код вроде бы wS, если не ошибаюсь.
    И довольно много узлесс кода.
    Вот самый простой способ:
    Код:
    #pragma semicolon 1 
    #include <sourcemod> 
    #include <sdktools> 
    
    public OnPluginStart() 
    { 
    	RegConsoleCmd("rs",ResetScore);
    	RegConsoleCmd("resetscore",ResetScore);
    } 
    
    public Action:ResetScore(iClient,iArgs) 
    {
    	if(iClient)
    	{
    		if(GetClientDeaths(iClient)==GetClientFrags(iClient)==0) 
    		{
    			PrintToChat(iClient,"\x03Ваш счёт и так равен 0"); 
    		}
    		else
    		{
    			SetEntProp(iClient,Prop_Data,"m_iFrags",0); 
    			SetEntProp(iClient,Prop_Data,"m_iDeaths",0); 
    			ResetsCore(iClient); 
    			PrintToChat(iClient,"\x03Вы обнулили свой счёт"); 
    		}
    	}
    	return Plugin_Continue; 
    }