???
Математика на уровне МГУ

Страница 13 из 30 ПерваяПервая ... 39101112131415161723 ... КрайняяКрайняя
Показано с 301 по 325 из 789

Тема: Вопросы.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    четыре варианта есть :
    gpHUDLogCenter(string msg); всем отправляется строка msg
    gpHUDLogCenter( Player[] to, string msg ); массиву Player отправляется строка msg
    gpHUDLogCenter( Player[] to, string msg, object[] parms );массиву Player отправляется строка msg с параметрамии строки, например
    Код:
    int num_target = 10;
    gpHUDLogCenter(gpRemotePlayers(), " Вам надо уничтожить {0} целей", num_target );
    gpHUDLogCenter( Player[] to, string msg, object[] parms, double lifeTime ); массиву Player отправляется строка msg с параметрамии строки , будет на экране lifeTime секунд
    Спасибо!
    Сразу еще пару вопросов хочется уточнить
    gpRemotePlayers()
    Какое значение возвращает? Всех игроков в миссии?

    object[] parms
    Это переменная или массив переменных?

    И я правильно понимаю, что вариант gpHUDLogCenter(string msg, double lifeTime); недопустим?
    Вложения Вложения
    • Тип файла: zip SMP.zip (175.0 Кб, Просмотров: 16)
    Крайний раз редактировалось podvoxx; 09.01.2012 в 06:06.

  2. #2
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Спасибо!
    Сразу еще пару вопросов хочется уточнить

    Какое значение возвращает? Всех игроков в миссии?
    да, это все игроки.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Это переменная или массив переменных?
    массив, емнип параметры через запятую , как-то так ("параметр {0},{1},{2}",num0,num1,num2)

    Цитата Сообщение от podvoxx Посмотреть сообщение
    И я правильно понимаю, что вариант gpHUDLogCenter(string msg, double lifeTime); недопустим?
    да, правильно, работают только те 4 варианта которые я указал
    Don't happy, be worry

  3. #3
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    да, правильно, работают только те 4 варианта которые я указал
    Спасибо, теперь даже вопросов не осталось по этой команде

  4. #4
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Хотелось бы уточнить
    Код:
    public override void OnBattleStarted()
     {
            base.OnBattleStarted();
            MissionNumberListener = -1;
            GamePlay.gpPostMissionLoad("missions\\Single\\Samples\\TestSubmissions\\TestSubMission1.mis");
            GamePlay.gpPostMissionLoad("missions\\Single\\Samples\\TestSubmissions\\TestSubMission2.mis");
            GamePlay.gpPostMissionLoad("missions\\Single\\Samples\\TestSubmissions\\TestSubMission3.mis");
     }
    public override void OnBattleStarted() - это переопределение метода, в него мы заносим то, что нужно сделать при старте миссии-хоста (?), здесь загружаем миссии и слушаем их все. Можно получить какое-то нормально определение, что это такое? И что в нем делает это: base.OnBattleStarted();.

    У меня есть только такое определение:
    В начале любой миссии "Ил-2.БЗБ" вызывается метод '''public virtual void OnBattleStarted()'''. Именно при его помощи мы будем загружать под-миссии при старте основной миссии (миссии-хоста):
    И:
    base.OnBattleStarted() - метод вызова, выполняемый один раз при инициализации.
    Оба неустраивают, хотелось бы ясности.

  5. #5
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Оба неустраивают, хотелось бы ясности.
    Насколько я понимаю, это случается, когда сервер нажимает кнопку Battle! или если выделенный, то когда пишет battle start в консоли launcher.exe.

    Есть еще другой метод Init, который происходит при загрузке миссии емнип.

    Для чего используется base. ... во многих методах самому интересно.

    Еще смежный вопрос: onMissionLoaded если прописан в миссии хосте, будет срабатывать при подгрузке подмиссий или только хоста? Соответственно, в подмиссию можно его включать и, например запускать timeout некоторых процессов подмиссии в методе onMissionLoaded ? Например для подмиссии:
    Код:
    onMissionLoaded ...
                           timeout ...
                                  {
                                     destroy actors
                                     и перезагрузить саму себя
                                   }
    OnBattleStarted() если присутствует в подмиссии при загрузке подмиссии будет срабатывать?
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  6. #6
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    OnBattleStarted() если присутствует в подмиссии при загрузке подмиссии будет срабатывать?
    В тех скриптах, что у меня есть - этот метод прописывается в подмиссии и значит срабатывает, вот пример naruv'а scripttest

    Код:
    public override void OnBattleStarted()
            {            
                AiActor actor = GamePlay.gpActorByName("Static0");
                if (actor != null)
                {
                    serverMessage("Объект найден");
                }
                else
                {
                    serverMessage("Объект не найден");
                }
    
            }

  7. #7

    Re: Вопросы.

    OnBattleStarted()
    Метод вызывается один раз при старте битвы. Точнее - как только битва уже стартовала.

    OnMissionLoaded(...)
    Вызывается как только загрузилась новая миссия. Причем вызывается во всех ранее загруженных миссиях.

    Роль ключевого слова base. Вызывается переопределяемый метод класса-предка. На пример - у нас есть класс MyMission, предком которого является AMission. В классе MyMission переопределен OnBattleStarted(), в котором мы пишем на экран - "Битва началась!". Определим еще один класс RealMission, предком которого будет класс MyMission, и так же, переопределим в нем метод OnBattleStarted(), где на экран выведем - "Таки да, началась!" Что произойдет, если мы создадим экземпляр RealMission и вызовем в нем OnBattleStarted()? Как и предполагается, будет выведена надпись "Таки да, началась!". Получается, весь код, который мы писали в MyMission в том же методе, никак не используется. Для этого и существует base. Т.е. Этим мы вызовем метод предка. Т.е., если в реализации RealMission.OnBattleStarted() вначале дописать base.OnBattleStarted(), мы получим две последовательно выведенные надписи - "Битва началась!" и "Таки да, началась!".

  8. #8
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    OnBattleStarted()
    Метод вызывается один раз при старте битвы. Точнее - как только битва уже стартовала.
    OnMissionLoaded(...)
    Вызывается как только загрузилась новая миссия. Причем вызывается во всех ранее загруженных миссиях.
    Спасибо за подробный ответ!
    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Для этого и существует base. Т.е. Этим мы вызовем метод предка. Т.е., если в реализации RealMission.OnBattleStarted() вначале дописать base.OnBattleStarted(), мы получим две последовательно выведенные надписи - "Битва началась!" и "Таки да, началась!".
    Можно это назвать вызовом метода MyMission из RealMission, после которого уже идет выполнение самого RealMission?
    А если добавить третий класс SuperMission, предок которого RealMission, как тогда добраться до MyMission? Или так делать нельзя?
    Крайний раз редактировалось podvoxx; 05.10.2011 в 13:32.

  9. #9

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Спасибо за подробный ответ!

    Можно это назвать вызовом метода MyMission из RealMission, после которого уже идет выполнение самого RealMission?
    А если добавить третий класс SuperMission, предок которого RealMission, как тогда добраться до MyMission? Или так делать нельзя?
    Да, можно. RealMission есть "прокачанный" вариант MyMission. А после, до или во время зависит от того, где именно base пропишете.
    Это зависит от того, что написано в RealMission.

  10. #10
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Нужна помощь. Не могу понять, почему в миссии на карте Степи чтобы сменить самолет, нажав ESC нужно сначала кликнуть на флажек страны. В других миссиях достаточно клика на спауне своей же стороны или клика на карте. В этой миссии ничего не происходит, пока не кликнешь на флажек своей стороны (или противника). При этом появляется окно "Вы действительно хотите покинуть свой самолет?".

    В настройках реализма сервера все пересадки полностью разрешены, все галочки с чекбоксов сняты. Скрипта нет.
    При попытке добавить в миссию
    Army 1 gb
    Army 2 de
    редактор виснет на загрузке миссии (переходит в полноэкранный режим без меню и возможности выхода).

    Миссию прилагаю.
    Вложения Вложения
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  11. #11
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Это правильный формат?
    Код:
    void gpLogServer(Player[] to, string msg, new object[] parms)
    
    Пример:
    GamePlay.gpLogServer (null, "OnTrigger ({0} | {1} | {2})  wurde ausgelost", new object [] {missionNumber, shortName, active});
    Встречал еще такой:
    Код:
    void gpLogServer(maddox.game.Player[] to, string format, object[] args)
    Какой из них правильный и нет ли разных вариантов, как для gpHUDLogCenter

  12. #12

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Это правильный формат?
    Код:
    void gpLogServer(Player[] to, string msg, new object[] parms)
    
    GamePlay.gpLogServer (null, "OnTrigger ({0} | {1} | {2})  wurde ausgelost", new object [] {missionNumber, shortName, active});
    Встречал еще такой:
    Код:
    void gpLogServer(maddox.game.Player[] to, string format, object[] args)
    Какой из них правильный и нет ли разных вариантов, как для gpHUDLogCenter
    Это одно и то же.. Если в секции uses не прописан прямо неймспейс maddox.game - второй вариант, если прописан - без разницы. В первом варианте ошибка - new к описанию отношения не имеет - это только при вызове метода.

  13. #13
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Можно ли запрограммировать некий админский вход на сервер, чтобы на сервере без внешних видов админ мог пользоваться внешними видами для отладки?

    Как это сделать?
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  14. #14
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Прошу пояснить первую строчку.

    Код:
    Чтобы не копировать постоянно названия триггеров, мы можем использовать такой код:
    
    if (shortName.Substring(0, 12).Equals("WinCondition") && active)
    {
        WinConditionCounter++;
        GamePlay.gpGetTrigger(shortName).Enable = false;   
    }
    Имеются подмиссии, в каждой триггер с именем "WinCondition1", "WinCondition2", "WinCondition3" ... "WinConditionn". При срабатывании любого триггера, он проверяется в условии.

    shortName.Substring(0, 12) позволяет учитывать только первые 12 символов названия триггеров. Т.е. мы можем добавлять сколь угодно подмиссий с именами типа "WinConditionn" и не портить при этом код главного скрипта. Я прав? Что означает ноль?

    GamePlay.gpGetTrigger(shortName).Enable = false; - переключает триггер в состояние OFF?

    Тогда GamePlay.gpGetTrigger(shortName).Enable = enable; наоборот, включает ?

    П.С.Прошу прощения за простые вопросы, но с работы не могу нормально пользоваться поиском, а дома скорее всего не будет времени этим заняться.

  15. #15

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Прошу пояснить первую строчку.

    Код:
    Чтобы не копировать постоянно названия триггеров, мы можем использовать такой код:
    
    if (shortName.Substring(0, 12).Equals("WinCondition") && active)
    {
        WinConditionCounter++;
        GamePlay.gpGetTrigger(shortName).Enable = false;   
    }
    Имеются подмиссии, в каждой триггер с именем "WinCondition1", "WinCondition2", "WinCondition3" ... "WinConditionn". При срабатывании любого триггера, он проверяется в условии.

    shortName.Substring(0, 12) позволяет учитывать только первые 12 символов названия триггеров. Т.е. мы можем добавлять сколь угодно подмиссий с именами типа "WinConditionn" и не портить при этом код главного скрипта. Я прав? Что означает ноль?

    GamePlay.gpGetTrigger(shortName).Enable = false; - переключает триггер в состояние OFF?

    Тогда GamePlay.gpGetTrigger(shortName).Enable = enable; наоборот, включает ?

    П.С.Прошу прощения за простые вопросы, но с работы не могу нормально пользоваться поиском, а дома скорее всего не будет времени этим заняться.
    Все верно. В многих случаях нумерация символов с строке начинается с нуля (в других языках может и с единицы) Соответственно первые двенадцать символов будут иметь индексы с 0 до 11. В данном случае первая цифра (0) означает индекс символа, с которого надо начинать отсчет. "12" означает кол-во символов, которые надо забрать. Статья на MSDN.

    --- Добавлено ---

    Цитата Сообщение от -atas- Посмотреть сообщение
    @ naryv
    В IL-2 (на ADW, например) можно было кикать игроков за неправильно установленные сетевые настройки (запрещалось ставить в настройках LAN при большом количестве народа).

    Как это можно сделать в БзБ? Как получить в скрипт скорость соединения клиента и как его кикнуть скриптом? (Вроде можно в банлист тоже добавить?) Как вообще из скрипта команды серверные посылать? Например, добавить в банлист, выйти из launcher.exe, и т.д.
    Пинг получить можно.. Кикнуть скриптом - не видел.

  16. #16
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение

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

    Вот это из БзБ или из Ил-2?

    Код:
    [17:31:32]	<ban>
    [17:31:32]	  [ADD] [REM] [NAME [<name>]] [PATTERN [<pattern>]] [CLEAR] [LOAD [<file name>]] [SAVE [<file name>]] 
    
    <kick<player - kicks player matching pattern (wildcards: ? - matches one charcter, * - matches any character)
    <ban<player - bans player matching pattern (wildcards: ? - matches one charcter, * - matches any character)
    <banlist - list banned players
    <unban<player - remove ban for payer matching pattern (use <banlist to see what can be unbanned)
    Если из БзБ, то можно скриптом сгенерить (и наверное запустить?) .cmd в который писать
    kick<player>
    Только как такой файл генерить в .net не знаю. У Веточки видел генерацию списков неких.

    А <ban> точно работает. Я себя банил. В крайнем случае можно его вместо кика использовать.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  17. #17

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Пинг тоже хорошо, но хотелось бы еще настройки сети клиента получить.

    Вот это из БзБ или из Ил-2?

    Код:
    [17:31:32]	<ban>
    [17:31:32]	  [ADD] [REM] [NAME [<name>]] [PATTERN [<pattern>]] [CLEAR] [LOAD [<file name>]] [SAVE [<file name>]] 
    
    <kick<player - kicks player matching pattern (wildcards: ? - matches one charcter, * - matches any character)
    <ban<player - bans player matching pattern (wildcards: ? - matches one charcter, * - matches any character)
    <banlist - list banned players
    <unban<player - remove ban for payer matching pattern (use <banlist to see what can be unbanned)
    Если из БзБ, то можно скриптом сгенерить (и наверное запустить?) .cmd в который писать
    kick<player>
    Только как такой файл генерить в .net не знаю. У Веточки видел генерацию списков неких.

    А <ban> точно работает. Я себя банил. В крайнем случае можно его вместо кика использовать.
    Гм.. В принципе, это идея однако.. Скриптом сгенерить батник и запустить его... Только я не сильно соображаю в этом - например, есть ли простой направить команды из этого батника в консоль? Можно конечно написать свою консольку, которая бы через telnet коннектилась к консоли сервера и отправляла туда команды.

  18. #18
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Только я не сильно соображаю в этом - например, есть ли простой направить команды из этого батника в консоль?
    Есть.
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  19. #19
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Гм.. В принципе, это идея однако.. Скриптом сгенерить батник и запустить его... Только я не сильно соображаю в этом - например, есть ли простой направить команды из этого батника в консоль? Можно конечно написать свою консольку, которая бы через telnet коннектилась к консоли сервера и отправляла туда команды.
    help kick выдает
    <kick> <name>

    А любой .cmd в папке конфигов игры все сразу в консоль передает. Так что генери и запускай kick.cmd с содержанием
    kick <name> Желательно сначала предупреждения писать на экран многократные.

    Сейчас проверил, кикает на ура, раньше такого не было Какие у вас ники игровые, кстати?
    Пинг до 180 где-то ограничить видимо имеет смысл?

    Скрипт может отправить сообщение от Server to Server. думаю, так можно и команды отправлять?
    log: Server to [Server]: Captured BR.20M are used by UK side only. Check your fire!
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  20. #20
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    @ naryv
    В IL-2 (на ADW, например) можно было кикать игроков за неправильно установленные сетевые настройки (запрещалось ставить в настройках LAN при большом количестве народа).

    Как это можно сделать в БзБ? Как получить в скрипт скорость соединения клиента и как его кикнуть скриптом? (Вроде можно в банлист тоже добавить?) Как вообще из скрипта команды серверные посылать? Например, добавить в банлист, выйти из launcher.exe, и т.д.

    --- Добавлено ---

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Прошу пояснить первую строчку.
    Вроде все верно.
    Возможно считают с 0 до 11. Часто такое встречал (от 0 до < 12).

    Откуда кстати такой код? Может, там еще что интересное есть? Не видел раньше.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  21. #21
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    @ naryv
    Откуда кстати такой код? Может, там еще что интересное есть? Не видел раньше.
    Из перевода туторов Kodiak'а

  22. #22
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Из перевода туторов Kodiak'а
    Спс. Это я тебя спрашивал, а не naryv Цитата некорректная
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  23. #23
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Спс. Это я тебя спрашивал, а не naryv Цитата некорректная
    Ой)) Работа, спешка

  24. #24
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Как можно показывать разный онлайн-брифинг в зависимости от языка клиента, т.е. русским один, а всем остальным на английском?

    Как можно отправлять консольные команды из скрипта сервера в консоль сервера?
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  25. #25
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    47
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Как можно показывать разный онлайн-брифинг в зависимости от языка клиента, т.е. русским один, а всем остальным на английском?
    если общий бриф(англ) в файле "1.briefing" то русский - в файле "1_ru.briefing" в полном редакторе выбираем меню Редактировать->языки там выбираем нужный , тогда брифинг сохранится с выбранным языком, ну или просто написать английский, потом в текстовом редакторе изменить на русский и переименовать добавив к названию миссии "_ru"

    Цитата Сообщение от -atas- Посмотреть сообщение
    Как можно отправлять консольные команды из скрипта сервера в консоль сервера?
    вот так попробуйте:
    System.Console.WriteLine("bla-bla-bla");
    Don't happy, be worry

Страница 13 из 30 ПерваяПервая ... 39101112131415161723 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •