[CSGO] Advertisement Translate

Тема в разделе "Тестовые плагины", создана пользователем inklesspen, 4 сен 2016.

  1. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    Это плагин на "рекламу", но с переводом. Полезно для серверов с иностранцами)

    Поддержка лишь для CS:GO
    Так-же поддерживаются символы \n

    PHP:
    /**
    Типы сообщений:
    0 - В чат
    1 - Хинт
    2 - Центер
    3 - Консоль
    **/


    "messages"
    {
        
    "1"
        
    {
            
    "ru"
            
    {
                
    "text"    "RU Message #1\nLol"
                "type"    "0"
            
    }
            
    "en"
            
    {
                
    "text"    "EN Message #1\nLol"
                "type"    "0"
            
    }
        }
        
    "2"
        
    {
            
    "ru"
            
    {
                
    "text"    "RU Message #2\nLol"
                "type"    "1"
            
    }
            
    "en"
            
    {
                
    "text"    "EN Message #2\nLol"
                "type"    "1"
            
    }
        }
        
    "3"
        
    {
            
    "ru"
            
    {
                
    "text"    "RU Message #3\nLol"
                "type"    "2"
            
    }
            
    "en"
            
    {
                
    "text"    "EN Message #3\nLol"
                "type"    "2"
            
    }
        }
        
    "4"
        
    {
            
    "ru"
            
    {
                
    "text"    "RU Message #4\nLol"
                "type"    "3"
            
    }
            
    "en"
            
    {
                
    "text"    "EN Message #4\nLol"
                "type"    "3"
            
    }
        }
    }

    // This file was auto-generated by SourceMod (v1.8.0.5928)
    // ConVars for plugin "reklama_translate.smx"


    // -
    // Default: "60.0"
    // Minimum: "0.100000"
    sm_adv_translate_interval "60.0"

    Установка:
    * Переместить reklama_translate.smx в addons/sourcemod/plugins/
    * Переместить advertisement_translate.ini в addons/sourcemod/configs/
    Переместить reklama_translate.sp в addons/sourcemod/scripting/

    Спасибо Someone за помощь в новом синтаксисе
     

    Вложения:

    TRID и Dreizehnt нравится это.
  2. nikita1811

    nikita1811

    Сообщения:
    86
    Симпатии:
    4
    Привет, добавь поддержу вывода различных сообщений на разных картах, пример:
    PHP:
    "messages"
    {
        
    "1"
        
    {
            
    "ru"
            
    {
                
    "maps" "all" //сообщение выводится на всех картах
                
    "text"    "RU Message #1\nLol"
                "type"    "0"
            
    }
        }
        
    "2"
        
    {
            
    "ru"
            
    {
                
    "maps" "de_dust2" //сообщение выводится только на карте de_dust2
                
    "text"    "RU Message #2\nLol"
                "type"    "1"
            
    }
        }
        
    "3"
        
    {
            
    "ru"
            
    {
                
    "maps" "de_dust2, de_inferno" //сообщение выводится только на картах de_dust2 и de_inferno
                
    "text"    "RU Message #2\nLol"
                "type"    "1"
            
    }
        }
    }
     
  3. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    Попробуй
    Карты разделять через пробел (Например "de_dust2 de_lol_ziga zm_depth_rulit")
     

    Вложения:

  4. nikita1811

    nikita1811

    Сообщения:
    86
    Симпатии:
    4
    Не работает, в консоле:
    KeyValues Error: LoadFromBuffer: missing { in file addons/sourcemod/configs/advertisement_translate.ini

    Мой advertisement_translate.ini
    PHP:
    "messages"
    {
        
    "1"
        
    {
            
    "ru"
            
    {
                
    "maps"    "all"
                "text"    "Все карты"
                "type"    "0"
            
    }
        }
        
    "2"
        
    {
            
    "ru"
            
    {
                
    "maps"    "de_dust2 de_inferno"
                "text"    "Проверка de_dust2, de_inferno"
                "type"    "0"
            
    }
        }
    }

    Было бы круто чтобы плагин поддерживал префиксы карт de_, mg_, surf_ и т.д.
    P.S Сообщения с "maps" "all" должны выводиться также и на картах с "maps" "de_dust2" (пример).
    Оффтоп
     
  5. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Сохранять в кодировке UTF-8 без BOM!
     
  6. nikita1811

    nikita1811

    Сообщения:
    86
    Симпатии:
    4
    лол, сохранял раза 3 в UTF-8 без BOM, попробую другой текстовый редактор...
     
  7. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    @inklesspen, не лучше ли было вывести настройки в секцию, а только текст оставить в ключе:

    PHP:
    /**
    Типы сообщений:
    0 - В чат
    1 - Хинт
    2 - Центер
    3 - Консоль
    **/


    "messages"
    {
        
    "1"
        
    {
           
    "type"    "0"
           "maps" "de_dust2 de_inferno"
            "ru"
            
    {
                
    "text"    "RU Message #1\nLol"
               
            
    }
            
    "en"
            
    {
                
    "text"    "EN Message #1\nLol"
            
    }
        }
        
    "2"
        
    {
            
    "maps" "all"
             "type"    "1"
            "ru"
            
    {
                
    "text"    "RU Message #2\nLol"
            
    }
            
    "en"
            
    {
                
    "text"    "EN Message #2\nLol"
            
    }
        }
    }
     
  8. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    В обновлении так и сделаю
     
  9. nikita1811

    nikita1811

    Сообщения:
    86
    Симпатии:
    4
    Проблема осталась:
    KeyValues Error: LoadFromBuffer: missing { in file addons/sourcemod/configs/advertisement_translate.ini
    Оффтоп
     
  10. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    Удали комментарии (И скажи, поможет ли))
     
  11. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    @inklesspen, поможет. kv не любит многострочные комментари, только однострочные
     
  12. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    Я вот об этом и подумал

     
  13. nikita1811

    nikita1811

    Сообщения:
    86
    Симпатии:
    4
    Так работает :biggrin:, но работает очень странно, после каждой смены карты сообщения работаю по разному, например на карте de_mirage может работать сообщение указанное только для карт de_dust2 и de_inferno, а сообщение помеченное "all" не работает, или же вообще не работает не одно сообщение, в общем рандом)
     
  14. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    Ясно
     
  15. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    @inklesspen,
    PHP:
    Handle TheTimer INVALID_HANDLE

    Handle cInterval 
    INVALID_HANDLE

    Handle KvText 
    INVALID_HANDLE
    Раз уж пишешь но новом см то пиши на нем полностью
    Для KeyValues есть специальный тип KeyValues
    INVALID_HANDLE замени на null
    Если делаешь FileToKeyValues при старте карты то зачем делать это в OnPluginStart

    PHP:
    char name[32]
        
    GetPluginFilename(GetMyHandle(), name32)
        
    ReplaceString(name32".smx""")
        
    ServerCommand("exec sourcemod/plugin.%s.cfg"name)
    Это еще зачем? При смене карты и так все конфиги перезагружаются.
    PHP:
    client<=64
    Для этого есть MaxClients
    PHP:
    KvRewind(KvText)
    if(!
    KvJumpToKey(KvTextlangcodefalse))
    Зачем это делать если есть GotoNextKey ?
    И как я понял судя по логике если на карте реклама отключена - рекламы просто не будет и следующая будет только через интервал, а нужно просто пропустить эту рекламу и вывести следующую.

    Ну это если вкратце
     
  16. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    Я пишу так дабы потом на см2.0 привычно писать. А раз уш компилит, то я просто рад, зачем лишние сложности?


    Видел жалобы на кфг где-то с wS Ping... Вот и решил форсивно запускать кфг, уберу.


    Ну ладно( Скажи хоть где менять


    А разве он не для того, чтобы перейти на след.ключ?


    Пересмотрю хрень с таймером.
     
  17. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    не заглядывай так далеко, пока он выйдет то уже апокалипсис начнется.
    именно для этого, так зачем получать имя следующего и делать джамп на него?
     
  18. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    ?
    Я тебя не понял =\
    Я получаю язык игрока и ищу для него текст, если не нашел - ищу текст для языка сервера
    Зачем все ключи то проверять?
     
  19. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.981
    @inklesspen, при чет тут все ключи. Я не о том писал, а о перемещении по ключам
     
  20. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    833
    Симпатии:
    197
    Ааа... дэк мне все равно же переходить по подключам... А, ну а потом можно GotoBack иль чет там... В общем сооружу