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

Показано с 1 по 25 из 789

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

Древовидный режим

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

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Там еще Server есть. Он возможно как player считается, не помню уже, когда-то на желтом обсуждали с Kodiak. Лучше посмотреть как у него реализовано. Он раз 10 код менял, чтобы все заработало на выделенном.
    Сами сообщения сервера проходят как положено. Думаю разберусь, только нескоро получится. Заодно добавлю еще пару интересных вещей.
    Кажется нашел ошибку, хотя не уверен. Много раз читал тему, но все равно особенности выделеного не учел.
    Сам скрипт сообщений работает идеально.

    Код:
    //******************Send Screen Message Method*******************
        private void sendScreenMessageTo(int army, string msg, object[] parms)
        {
            List<Player> Players = new List<Player>();
            //Singleplayer or Dedi Server
            if (GamePlay.gpPlayer() != null)
            {
                if (GamePlay.gpPlayer().Army() == army || army == -1)
                    Players.Add(GamePlay.gpPlayer());
            } // Multiplayer
            if (GamePlay.gpRemotePlayers() != null || GamePlay.gpRemotePlayers().Length > 0)
            {
                foreach (Player p in GamePlay.gpRemotePlayers())
                {
                    if (p.Army() == army || army == -1)
                        Players.Add(p);
                }
            }
            if (Players != null && Players.Count > 0)
                GamePlay.gpHUDLogCenter(Players.ToArray(), msg, parms);
        }
    Код:
    [21:34:02]	Server to [Server]: ======================================
    [21:34:02]	Server to [Server]: RED> [ 142 ] / [ 166 ] <BLUE 
    [21:34:02]	Server to [Server]: Миссия будет остановлена через 2 min.
    [21:34:02]	Server to [Server]: ======================================
    [21:34:19]	Server to [Server]: Команда красных уничтожила самолет-разведчик синих[ 1 ]
    [21:34:19]	Server to [Server]: Команда красных получает очки за выполнение задания: [ 100 ]
    [21:34:19]	Server: Bf 110 C-4 () (Бот) сбил FW 200 () (Бот).
    Пока "в игре" только [Server] - локализация тоже работает правильно, но в ней есть определение языка игрока:
    Код:
    string langIndex = GamePlay.gpPlayer().LanguageName();
    Получается, что текст сообщения определяется по GamePlay.gpPlayer()(скорее всего здесь конфликт), а сообщения отправляются массиву игроков(они все могут оказаться с разными языками):
    Код:
    sendScreenMessageTo(-1, getLocalizedMessage("noWinner"), new object[] { });
    Попробую сделать определение языка для каждого игрока из массива и тправку сообщений в соответствии с ним, но я не очень хорошо понимаю отличия выделенного/сингла от мультиплеера. Хотел бы уточнить, чтобы правильно понимать что происходит с этими плеерами, так как они везде используются.
    Для сингла и dedi:
    GamePlay.gpPlayer() - это кто?

    Для мультиплеера:
    GamePlay.gpRemotePlayers() - массив игроков на сервере(он состоит из GamePlay.gpPlayer() ?)

    И почему определение игрока отличается для сингла и выделенного?
    Крайний раз редактировалось podvoxx; 11.01.2012 в 10:35.

Ваши права

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