Отловить консольные команды

Тема в разделе "Кодинг", создана пользователем idpro2, 12 авг 2017.

  1. idpro2

    idpro2 Соучастник

    Доброго времени!
    Подскажите пожалуйста как можно отловить в коде выполнение консольных команд и заблокировать или наоборот разрешить их выполнение?
    Речь идет про команды типа ChangeCharacter, CreateCameraEffect, GetWeapon и прочие
     
  2. Flame

    Flame -Заслуженый кодер форума-

    Ну тот же ChangeCharacter этож из контроллера игрока
    Переопредели эту функцию в KFPCServ и нормально
     
    idpro2 нравится это.
  3. tor1980

    tor1980 Соучастник

    Вот для примера запрет на смену ника через консоль
    Код:
    exec function SetName(coerce string S)
    {
    	ClientMessage("No way :)");
    }
    
     
    Последнее редактирование модератором: 13 авг 2017
    idpro2 нравится это.
  4. idpro2

    idpro2 Соучастник

    Спасибо. А реально ли это сделать за пределами ServerPerks отдельным мутатором?
     
  5. Essence

    Essence Солдат

    Да.

    Код:
    Код:
    class ConComMut extends Mutator;
    
    function PostBeginPlay()
    {
       Level.Game.PlayerControllerClass=Class'ConComMut.SRPlayerController';
       Level.Game.PlayerControllerClassName="ConComMut.SRPlayerController";
       Super.PostBeginPlay();
    }
    
    defaultproperties
    {
      bAddToServerPackages=True
      GroupName="KF-ConComMut"
      FriendlyName="Console Commands Mutator"
      Description="Redefines console commands."
    }
    

    Код:
    class SRPlayerController extends KFPlayerController;
    
    exec function ChangeCharacter(string newCharacter, optional string inClass);
    exec function CreateCameraEffect(class<CameraEffect> EffectClass);
    exec function GetWeapon(class<Weapon> NewWeaponClass);
    
    defaultproperties
    {
    }
    

    Ссылка
     
    Flame нравится это.