Проблема с файлами перевода.

Тема в разделе "Программирование / Скриптинг", создана пользователем spore, 6 май 2013.

  1. spore

    spore SubPlay.ru

    Сообщения:
    640
    Симпатии:
    148
    Оффтоп

    Есть к примеру плагин funcommands который изначально входит в sourcemod. И в нем есть 2 команды: sm_freeze и sm_noclip к примеру. Вся проблема в том, что при использовании этих команд на нескольких игроках (к примеру @all, @ct и т.д.), в чате пишется немного некорректное оповещение. К примеру:

    sm_freeze @all
    [SM] ADMIN: Все игроки заморожены (тут все нормально)

    sm_noclip @all
    [SM] ADMIN: Для Все игроки изменен режим полета (непорядок)

    Можно заменить падеж этим высказываниям в core.phrases ( к примеру "Все игроки" заменить на "всех игроков"). Тогда при использовании ноклипа будет все в норме, а вот при заморозке нет. Кроме как полностью перенести ноклип в другой плагин и там сделать загрузку альтернативного core_alt.phrases где изменены падежи, решений я не нашел.

    Вот собственно вопрос. Можно ли сделать так, чтобы для определенных команд в плагине подгружался альтернативный файл перевода core_alt.phrases не разбивая плагин на 2 и более части?
     
  2. V-Rico

    V-Rico SM Скриптер (Skype: v-rico.95)

    Сообщения:
    22
    Симпатии:
    9
    В SourceMod есть функция ProcessTargetString, которая и используется во всех стандартных плагинах. Именно она и отвечает за вывод ника игрока/названия группы игроков. Самый простой вариант - переписать имеющиеся фразы, например: [SM] ADMIN: Все игроки получили режим полета.

    Добавлено через 13 минут
    Еще вариант: написать функцию-аналог ProcessTargetString, которая бы учитывала какой именно аргумент используется (@all, @ct и т.д.), и в зависимости от этого брала бы разные переводы.
     
    Последнее редактирование: 7 май 2013
    Kudemus и spore нравится это.