Иконка ресурса

Advertisement Translate 2021-09-12

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #1
Это плагин на "рекламу", но с переводом. Полезно для серверов с иностранцами)

Поддержка лишь для 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 за помощь в новом синтаксисе
 
Последнее редактирование модератором:

Lima

Участник
Сообщения
159
Реакции
57
Привет, добавь поддержу вывода различных сообщений на разных картах, пример:
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"
        }
    }
}
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #3
Привет, добавь поддержу вывода различных сообщений на разных картах, пример:
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"
        }
    }
}
Попробуй
Карты разделять через пробел (Например "de_dust2 de_lol_ziga zm_depth_rulit")
 

Вложения

  • reklama_translate.sp
    4 КБ · Просмотры: 13
  • reklama_translate.smx
    7.5 КБ · Просмотры: 4

Lima

Участник
Сообщения
159
Реакции
57
Не работает, в консоле:
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" (пример).
Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
@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"
        }
    }
}
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #8
@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"
        }
    }
}
В обновлении так и сделаю
 

Lima

Участник
Сообщения
159
Реакции
57
Проблема осталась:
KeyValues Error: LoadFromBuffer: missing { in file addons/sourcemod/configs/advertisement_translate.ini
Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #11
@inklesspen, поможет. kv не любит многострочные комментари, только однострочные
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #12

Lima

Участник
Сообщения
159
Реакции
57
Удали комментарии (И скажи, поможет ли))
Так работает :biggrin:, но работает очень странно, после каждой смены карты сообщения работаю по разному, например на карте de_mirage может работать сообщение указанное только для карт de_dust2 и de_inferno, а сообщение помеченное "all" не работает, или же вообще не работает не одно сообщение, в общем рандом)
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #14
Так работает :biggrin:, но работает очень странно, после каждой смены карты сообщения работаю по разному, например на карте de_mirage может работать сообщение указанное только для карт de_dust2 и de_inferno, а сообщение помеченное "all" не работает, или же вообще не работает не одно сообщение, в общем рандом)
Ясно
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #15
@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(), name, 32)
    ReplaceString(name, 32, ".smx", "")
    ServerCommand("exec sourcemod/plugin.%s.cfg", name)
Это еще зачем? При смене карты и так все конфиги перезагружаются.
PHP:
client<=64
Для этого есть MaxClients
PHP:
KvRewind(KvText)
if(!KvJumpToKey(KvText, langcode, false))
Зачем это делать если есть GotoNextKey ?
И как я понял судя по логике если на карте реклама отключена - рекламы просто не будет и следующая будет только через интервал, а нужно просто пропустить эту рекламу и вывести следующую.

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

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #16
Раз уж пишешь но новом см то пиши на нем полностью
Для KeyValues есть специальный тип KeyValues
INVALID_HANDLE замени на null
Я пишу так дабы потом на см2.0 привычно писать. А раз уш компилит, то я просто рад, зачем лишние сложности?


Это еще зачем? При смене карты и так все конфиги перезагружаются.
Видел жалобы на кфг где-то с wS Ping... Вот и решил форсивно запускать кфг, уберу.


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


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


И как я понял судя по логике если на карте реклама отключена - рекламы просто не будет и следующая будет только через интервал, а нужно просто пропустить эту рекламу и вывести следующую.
Пересмотрю хрень с таймером.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #17
Я пишу так дабы потом на см2.0 привычно писать.
не заглядывай так далеко, пока он выйдет то уже апокалипсис начнется.
А разве он не для того, чтобы перейти на след.ключ?
именно для этого, так зачем получать имя следующего и делать джамп на него?
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #18
не заглядывай так далеко, пока он выйдет то уже апокалипсис начнется.

именно для этого, так зачем получать имя следующего и делать джамп на него?
?
Я тебя не понял =\
Я получаю язык игрока и ищу для него текст, если не нашел - ищу текст для языка сервера
Зачем все ключи то проверять?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #19
@inklesspen, при чет тут все ключи. Я не о том писал, а о перемещении по ключам
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
  • Автор ресурса
  • #20
Сверху Снизу