[CS: Source] Auto Demo Record

Тема в разделе "Новые плагины", создана пользователем mumuxtarka, 13 фев 2016.

Метки:
  1. mumuxtarka

    mumuxtarka

    Сообщения:
    51
    Симпатии:
    1
    Auto Demo Record
    Текущая версия : 1.0
    Описание:
    Плагин предлагает записать игрокам демо при входе на сервер. Подойдет для серверов CS:S V34.

    Требования:
    SourceMod

    P/S За помощь спасибо R1KO
     

    Вложения:

    • demo_record.rar
      Размер файла:
      6,2 КБ
      Просмотров:
      180
    Mafia нравится это.
  2. yarmak745

    yarmak745

    Сообщения:
    14
    Симпатии:
    0
    Подойдет для CS:S V86 ??
     
  3. vovchik21rus

    vovchik21rus

    Сообщения:
    5
    Симпатии:
    0
    Отличный плагин,всё работает,демки пишет.
    Но было бы удобней не в папку SAVE сохранять,а в корень игры.Так будет удобней воспроизводить.Не все пользуются плеером,для воспроизведения.
    Или это только мне кажется :ab:
    Поставил бы плюсик,да не нашёл.Спасибо за плагин
     
  4. September

    September

    Сообщения:
    1.187
    Симпатии:
    164
    какая разница куда сохранять?
     
  5. SkorP1onS

    SkorP1onS

    Сообщения:
    113
    Симпатии:
    1
    @mumuxtarka, CS:S v34
    L 02/13/2016 - 17:15:54: SourceMod error session started
    L 02/13/2016 - 17:15:54: Info (map "35hp_2_2010") (file "errors_20160213.log")
    L 02/13/2016 - 17:15:54: [SM] Native "GetClientUserId" reported: Client index 0 is invalid
    L 02/13/2016 - 17:15:54: [SM] Displaying call stack trace for plugin "DemoRecord.smx":
    L 02/13/2016 - 17:15:54: [SM] [0] Line 37, C:\Users\\Downloads\DemoRecord.sp::RecordPanel()
    L 02/13/2016 - 17:20:09: [SM] Native "GetClientUserId" reported: Client index 0 is invalid
    L 02/13/2016 - 17:20:09: [SM] Displaying call stack trace for plugin "DemoRecord.smx":
    L 02/13/2016 - 17:20:09: [SM] [0] Line 37, C:\Users\\Downloads\DemoRecord.sp::RecordPanel()
     
  6. KapaT

    KapaT Эгоист

    Сообщения:
    1.983
    Симпатии:
    408
    В планах нет, чтоб кикало кто откажется?
     
  7. vovchik21rus

    vovchik21rus

    Сообщения:
    5
    Симпатии:
    0
    Нужно попросить автора,что бы он сделал различные модификации плагина,на вкус и цвет.
     
  8. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    Более адекватный вариант, версия 1.1:[HIDE-REPLY-THANKS]
    PHP:
    #pragma semicolon 1
    #include <sourcemod>

    #define PATH_DEMO_RECORD    "SAVE"

    new Handle:KV;

    public 
    Plugin:myinfo =
    {
        
    name    =    "DemoRecord client",
        
    author    =    "Mumuxtarka",
        
    version    =    "1.1"
    };

    public 
    OnPluginStart()
    {
        
    HookEvent("player_team"Event_PlayerTeam);
        
    KV CreateKeyValues("DemoRecord");
    }

    public 
    OnConfigsExecuted()
    {
        
    decl String:command_record[128], String:map[32],
             
    String:time[17];

        
    GetCurrentMap(mapsizeof(map));
        
    FormatTime(timesizeof(time), "%d-%m-%Y_%H-%M");
        
    FormatEx(command_recordsizeof(command_record), "record %s/%s_%s"PATH_DEMO_RECORDtimemap);
        
    KvSetString(KV"cmd"command_record);
    }

    public 
    Event_PlayerTeam(Handle:event, const String:name[], bool:dontBroadcast)
    {
        if (
    GetEventInt(event"oldteam") == && GetEventBool(event"disconnect") == falseWelcomePanel(GetClientOfUserId(GetEventInt(event"userid")));
    }

    WelcomePanel(client)
    {
        
    decl String:name[MAX_NAME_LENGTH],
             
    String:buffer[66], Handle:panel;
        
    GetClientName(clientnameMAX_NAME_LENGTH);

        
    SetPanelTitle(panel CreatePanel(), "[DemoRecord] Автоматическая запись демо\n");
      
        
    FormatEx(buffersizeof(buffer), "Добро пожаловать, %s!"name);
        
    DrawPanelText(panelbuffer);

        
    DrawPanelText(panel"Хочешь записать свою игру?\n \n");
        
    DrawPanelItem(panel"Да");
        
    DrawPanelItem(panel"Нет\n \n");
        
    DrawPanelItem(panel"Как это работает?");

        
    SendPanelToClient(panelclientSelect_Record_Panel90);

        
    CloseHandle(panel);
    }

    public 
    Select_Record_Panel(Handle:panelMenuAction:actionclientindex)
    {
        if (
    action == MenuAction_Select)
        {
            switch(
    index)
            {
                case 
    1ShowVGUIPanel(client"info"KV);
                case 
    2:
                {
                    
    PrintToChat(client"\x01\x04[DemoRecord] \x01Вы отказались от записи \x03демо\x01!");
                    
    //KickClient(client, "Вы отказались от записи демо!");
                
    }
                case 
    3:    RulesPanel(client);
            }
        }
    }

    RulesPanel(client)
    {
        
    decl String:buffer[128], Handle:panel;
        
    SetPanelTitle(panel CreatePanel(), "[DemoRecord] Как это работает?\n \n");

        
    DrawPanelText(panel"С Вашего соглашения автоматически запишется демо,");
        
    FormatEx(buffersizeof(buffer), "которое будет сохранено в папке cssv34/cstrike/%s/"PATH_DEMO_RECORD);
        
    DrawPanelText(panelbuffer);
        
    DrawPanelText(panel"В случае бана или других спорных моментов,");
        
    DrawPanelText(panel"при предоставлении демо, вопросы будут решаться быстрей.\n \n");
        
    DrawPanelText(panel"С уважением, администрация!");
        
    DrawPanelItem(panel"Вернуться назад...");

        
    SendPanelToClient(panelclientSelect_Rules_Panel0);

        
    CloseHandle(panel);
    }

    public 
    Select_Rules_Panel(Handle:panelMenuAction:actionclientindex)
    {
        if (
    action == MenuAction_SelectWelcomePanel(client);
    }
    [/HIDE-REPLY-THANKS]Где:
    PATH_DEMO_RECORD - ваш путь записи демо-роликов клиенту после папки cstrike (будет отображён и в меню помощи);
    //KickClient - если слэши // переместить выше (закрыть сообщение в чат), то отказавшегося в записи игрока кикнет.
     
    Meowmurmur, Monomizer и Серый™ нравится это.
  9. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.565
    Симпатии:
    1.150
    @SkorP1onS, найди это
    и замени на это
     
  10. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Оффтоп
     
  11. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    На v34 многое возможно... И только там.
     
  12. SkorP1onS

    SkorP1onS

    Сообщения:
    113
    Симпатии:
    1
  13. Felton

    Felton

    Сообщения:
    332
    Симпатии:
    9
    Удалено
     
    Последнее редактирование: 16 фев 2016
  14. SkorP1onS

    SkorP1onS

    Сообщения:
    113
    Симпатии:
    1
    @Серый™, Теперь вот так:
    L 02/14/2016 - 13:24:15: Info (map "awp_lego_2") (file "errors_20160214.log")
    L 02/14/2016 - 13:24:15: [SM] Native "GetClientTeam" reported: Client 4 is not in game
    L 02/14/2016 - 13:24:15: [SM] Displaying call stack trace for plugin "DemoRecord.smx":
    L 02/14/2016 - 13:24:15: [SM] [0] Line 31, C:\Users\МАКС\Downloads\DemoRecord.sp::RecordPanel()
    L 02/14/2016 - 14:03:52: Error log file session closed.
     
  15. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    Если автор не собирается дополнять плагин, используй Auto Demo Record v1.1. Оффтоп
     
  16. SkorP1onS

    SkorP1onS

    Сообщения:
    113
    Симпатии:
    1
    @AlmazON, А можете пожалуйста немного подправить, в своей версии, чтобы демо писалось без согласия игрока?
    Исходник без согласия прикрепил.
     

    Вложения:

    • DemoRecord.sp
      Размер файла:
      1,1 КБ
      Просмотров:
      16
  17. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    Вообще-то, игроку всё равно нужно нажать "ОК" в MOTD-окне, чтобы запись началась.
     
  18. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.565
    Симпатии:
    1.150
    @AlmazON, можно сделать как обычное приветствие когда заходишь на север.
     
  19. SkorP1onS

    SkorP1onS

    Сообщения:
    113
    Симпатии:
    1
    Ну у нас просто тупо воспроизводится 2 окна, 1 приветствие, закрываешь его, и потом окно с записью демки. - Трудностей это не вызывает.
    Если можно, сделайте без согласия игрока)

    UP - немного не заметил, в 17 посте, это без согласия игрока?)
    UP2 - Спасибо, работает отлично)
     
    Последнее редактирование: 14 фев 2016
  20. Alraune

    Alraune

    Сообщения:
    94
    Симпатии:
    1
    @AlmazON,
    а почему я не могла вам Мне нравится оставить? Странно так....