Menu Based Rules v1.5.1

Тема в разделе "Counter-Strike: Source", создана пользователем DexKekcuk #13, 5 июн 2014.

  1. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Всем доброго времени суток!

    У меня возникла проблема с плагином Menu Based Rules v1.5.1.

    1.Скачал данный плагин с официального источника.
    2.Установил данный плагин к себе на сервер. SM+MM(1.5.3 1.10.0) Сервер пустой на Windiws 7.
    3.При подключении у меня не отображаются правила вообще. Даже пытался настраивать .cfg файл так же безрезультатно.
    4.Сделал перевод плагина, но так же не работает. Плагин работает только если воспользоваться админ командой sm_showrules "Name". Только после чего он показывает правила игроку, но у меня на английском переводе все великолепно. Показывает все пункты и потом 1.Yes 2.No (Согласны или нет). Но когда я сделал русский перевод у меня он так же не показывается, но к тому же если я пользуют командой sm_showrules "Name", то у меня вылазиет меню, но у нём не некоторых пунктов если быть точней двух последних пунктов, и нет 1.Да 2.Нет, но если нажать просто на цифру 1 или 2, то он соглашается с правилами, либо выкидывает с сервера.


    Как видно на 1 миниатюре, там правила английские, появляются полностью, но только вызываются командой !showrules "Name". А правила должны появляться сами при подключении игрока.

    Как видно на 2 миниатюре, там правила русские, появляются не полностью, и даже нет кнопок соглашения, но согласиться можно нажав на 1 или отказать на 2. Сами они так же не появляться только командой !showrules "Name".

    P.S Лично у себя на компьютере плагин не компилировал, а даже если компилирую он все равно так же не работает.

    Прошу вашей помощи разобраться с плагином. К посту прикрепил правила и свой перевод,так же .sp файл. Никаких ошибок в логах нет. Прошу помочь чтоб правила сами открывались при подключении игрока, и появлялся полный русский перевод.
     

    Вложения:

    Последнее редактирование: 5 июн 2014
  2. R1KO

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

    Сообщения:
    6.000
    Симпатии:
    2.992
    Alex Tarasenko, переводы в кодировке utf8 без bom нужно сохранять. Закинь те что во вложениях - русский должен работать.

    Исходник возможно позже гляну.
     

    Вложения:

  3. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Сохранил в UTF-8 без BOM, все же не польностью показывает. И все так же нет 1 согласиться, 2 Нет.
     
  4. AlmazON

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

    Сообщения:
    4.563
    Симпатии:
    1.988
    Слишком много настрочил, превышен лимит показа текста. Если бы правила были на латинице, то всё влезло б.
    Надо делать кнопочку "Далее", чтобы часть текст перенести на новое окошко меню.
     
  5. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Там написано Что максимальное кол-во символов 511, я зашел на сайт и проверил сколько символов в моем русском переводе там около 320 символов. Ну так можно же 100% сделать чтоб так все на одной странице было, зачем эта кнопка далее вообще если там 1.Да, согласен 2. Нет, не согласен. Кнопка далее никуда уже ни куда не лезет) Лучше попытаться довести до ума. Ну даже если бы влезло, я уберу несколько, помоги сделать так, чтоб оно всплывало при подключении.
     
  6. AlmazON

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

    Сообщения:
    4.563
    Симпатии:
    1.988
    Ты неправильно считаешь. Это указано ограничение для латиницы. Русские буквы занимают раза в 2 больше места.
     
  7. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Аааааа, ну тогда все ясно, может как-нибудь можно увеличить?
     
  8. AMD

    AMD

    Сообщения:
    180
    Симпатии:
    16
    Латинский символ занимает 1 байт, русский занимает 2 байта, соответствено 320 русских символов будут занимать 640 байт, а у вас там ограничение как вы сказали до 511, вам нужно увеличить массив до 640 байт, сделать это можно в исходнике плагина.
     
    DexKekcuk #13 и AlmazON нравится это.
  9. AlmazON

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

    Сообщения:
    4.563
    Симпатии:
    1.988
    Не всегда всё так просто, насколько я знаю. Есть, так сказать, глобальное ограничение размера окон. Но, попробовать можно.
     
  10. AMD

    AMD

    Сообщения:
    180
    Симпатии:
    16
  11. AMD

    AMD

    Сообщения:
    180
    Симпатии:
    16
    в сорс моде не шарю, но даже если так то у чувака самих символов по факту 320, думаю влезит.
     
  12. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Ребят я если честно в Source Pawn вообще никак, максимум что могу сделать, это добавить библиотеку Include и изменить написание цвета, так же может добавить пару команд для открытия плагина какого-нибудь. Так что помогите будьте добры. Ну почему сразу до 640 байт, уж лучше сразу сделать 800 чтоб потом не париться. И будет великолепно, но при том это только решение одной проблемы, вторую проблему еще не разу не затронули, с автоматическим открыванием меню при каждом подключении игрока. Даже если он заходит второй раз подряд все равно чтоб открывалось. Вот)

    Добавлено через 1 минуту
    Сейчас попробую отпишу сразу

    Добавлено через 6 минут
    Нет, все равно не влазиет(
     
    Последнее редактирование: 6 июн 2014
  13. AMD

    AMD

    Сообщения:
    180
    Симпатии:
    16
    Вот сейчас попробуй, если нет то я не вкуРрсе, по поводу другой проблемы, посмотрел вроде все норм, квара на 1 значение true...
    Посмотреть вложение showrules.sp
     
  14. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Вот и я о том же, вроде квар включен, а он не показывает. хз хз

    Добавлено через 1 минуту
    Нет, AMD все равно не катит, не хочет все отображать( Я тоже думал поменять те значения, что поменял ты, а потом понял что это не к этому относится)
     
    Последнее редактирование: 6 июн 2014
  15. AlmazON

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

    Сообщения:
    4.563
    Симпатии:
    1.988
    Примитив.
    PHP:
    public OnClientPutInServer(client)
    {
        
    PrintToChat(client"Привет! Прочти пожалуйста правила нашего сервера");
    }
    Сам код не смотрел, но делается так + часто с таймером.
    Посмотрел...
    512. Увеличение до 640 делается так:
    PHP:
    new String:ruleData[10][640];
      new 
    Handle:panel CreatePanel();
      
    Format(title,127"%T""Rules menu title"client);
      
    Format(question,127"%T""Agree Question"client);
      
    Format(yes,127"%T""Yes Option"client);
      
    Format(no,127"%T""No Option"client);
      
    Format(close,127"%T""Close Option"client);
      
    Format(ruleData[0], 640"%T""Rule Line 1"client);
      
    Format(ruleData[1], 640"%T""Rule Line 2"client);
      
    Format(ruleData[2], 640"%T""Rule Line 3"client);
      
    Format(ruleData[3], 640"%T""Rule Line 4"client);
      
    Format(ruleData[4], 640"%T""Rule Line 5"client);
      
    Format(ruleData[5], 640"%T""Rule Line 6"client);
      
    Format(ruleData[6], 640"%T""Rule Line 7"client);
      
    Format(ruleData[7], 640"%T""Rule Line 8"client);
      
    Format(ruleData[8], 640"%T""Rule Line 9"client);
      
    Format(ruleData[9], 640"%T""Rule Line 10"client);
    Можно попытаться также сделать более 10 строк, возможно, это заставит показать весь текст.
     
  16. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Так ребят одну проблему я решил, с показом при каждом подключении и чтоб оно вообще отображалось. А теперь надо сделать кол-во символов
     
  17. AMD

    AMD

    Сообщения:
    180
    Симпатии:
    16
    Всё это к тому относиться, там создаются переменые с типом данных строка, и размером который я менял также есть двумерный массив который через функцию Format можно редактировать, в данном случаи это твои языковые файлы.

    PHP:
      new String:title[512];
      new 
    String:question[512];
      new 
    String:yes[512];
      new 
    String:no[512];
      new 
    String:close[512];
      new 
    String:ruleData[10][1024];
    Добавлено через 2 минуты
    Я ему так и сделал, говорит неа ну я тогда и памяти не пожалел:
    PHP:
      new String:title[512];
      new 
    String:question[512];
      new 
    String:yes[512];
      new 
    String:no[512];
      new 
    String:close[512];
      new 
    String:ruleData[10][1024];
      new 
    Handle:panel CreatePanel();
      
    Format(title,511"%T""Rules menu title"client);
      
    Format(question,511"%T""Agree Question"client);
      
    Format(yes,511"%T""Yes Option"client);
      
    Format(no,511"%T""No Option"client);
      
    Format(close,511"%T""Close Option"client);
      
    Format(ruleData[0], 1024"%T""Rule Line 1"client);
      
    Format(ruleData[1], 1024"%T""Rule Line 2"client);
      
    Format(ruleData[2], 1024"%T""Rule Line 3"client);
      
    Format(ruleData[3], 1024"%T""Rule Line 4"client);
      
    Format(ruleData[4], 1024"%T""Rule Line 5"client);
      
    Format(ruleData[5], 1024"%T""Rule Line 6"client);
      
    Format(ruleData[6], 1024"%T""Rule Line 7"client);
      
    Format(ruleData[7], 1024"%T""Rule Line 8"client);
      
    Format(ruleData[8], 1024"%T""Rule Line 9"client);
      
    Format(ruleData[9], 1024"%T""Rule Line 10"client);
    :-D
     
    Последнее редактирование: 6 июн 2014
  18. AlmazON

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

    Сообщения:
    4.563
    Симпатии:
    1.988
    Давай сюда твой вариант, хоть сразу проверим изменения для вместимости текста, кто может.
     
    Последнее редактирование: 6 июн 2014
  19. DexKekcuk #13

    DexKekcuk #13

    Сообщения:
    638
    Симпатии:
    70
    Что тебе скинуть? У меня то что скидывал AMD Где 1024 бита он сделал.

    Перевод мой, cfg вот я изменил теперь все вылазиет при каждом подключении, а исходник AMD так текст полностью и не влазиет.
     

    Вложения:

    Последнее редактирование: 7 июн 2014
  20. AlmazON

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

    Сообщения:
    4.563
    Симпатии:
    1.988
    // Number of hours before the previous terms agreement expires.
    // -
    // Default: "24"
    sm_showrules_expiration "0"
    "Количество часов, прежде чем время предыдущего соглашения истекает.".
    Да ты молодца, только перевёл, да? :lol:
    Вот потому всегда компилирую исходники уже с переводом.