+ Ответить в теме
Страница 7 из 7 ПерваяПервая ... 5 6 7
Показано с 61 по 70 из 70

Тема: Скриптование под мультиплеер

  1. #61
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    35
    Сообщений
    6,240

    По умолчанию

    kemal, что за правило? Что именно не работает?
    За loading network data скрывается синхронизация всех стнхронизируемых объектов. Положение стрелок, формировпние и расположение составов и привязки игроков. Настройки объектов, правил и тп не синхронизируются.

  2. #62
    Разработчик Trainz UP Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    31
    Сообщений
    3,159
    Автор

    По умолчанию

    Цитата Сообщение от TRam_ Посмотреть сообщение
    если вручную запрашиваешь
    Я ничего не запрашиваю. Я просто надеюсь, что SetProperties выполнится у всех одинаково.

    ---------- Сообщение добавлено в 23:56 ---------- Предыдущее сообщение размещено в 23:52 ----------

    Эрендир, правило ручных стрелок (то самое). Сегодня ребята проверяли - говорят, что на клиенте не работает. Все стрелки воспринимает как централизованные. Именно такое поведение у правила и должно быть, если настроек нет.
    Кстати, с разной работой правил на сервере и клиенте я уже сталкивался. Если переименовать машинистов, то работает это только на сервере.

  3. #63
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    29
    Сообщений
    15,126

    По умолчанию

    значит аурановцы так сделали, что правила вызывают setProperties только на сервере...

  4. #64
    Разработчик Trainz UP Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    31
    Сообщений
    3,159
    Автор

    По умолчанию

    Да... Печально.
    А если я сделаю себе GetProperties и всё это клиенту отправлю, нормально?

    ---------- Сообщение добавлено в 21:29 ---------- Предыдущее сообщение размещено в 20:42 ----------

    Теперь вопрос, как правильно это сделать. Я заглянул в sU. Это мне всё это тоже надо делать?

  5. #65
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    35
    Сообщений
    6,240

    По умолчанию

    kemal, для начала надо разобраться что и как работает и как вообще запускается клиент, а потом уже что-то делать

    Сначала загружается сессия как обычно. То есть, создаются все объекты, для всех вызываются SetProperties, потом World ModuleInit, ну в общем как всегда. А дальше стартует правило мультиплеера. И вот оно, во время Loading Network Data удаляет с карты все составы, машинистов и ещё что-то, а затем создаёт их заново по данным полученным с сервера. Там же синхронизируются положения стрелок и тп. Всё остальное остаётся не тронутым. Что происходит с правилами я не знаю, не было нужды разбираться, может они тоже пересоздаются. Так что надо разобраться для начала, а не воротить огород.

  6. #66
    Разработчик Trainz UP Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    31
    Сообщений
    3,159
    Автор

    По умолчанию

    И как ты предлагаешь разбираться?

  7. #67
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    29
    Сообщений
    15,126

    По умолчанию

    Цитата Сообщение от kemal Посмотреть сообщение
    Это мне всё это тоже надо делать?
    что именно, синхронизацию показаний и ограничений скорости? Если о сигналке - да, надо. Потому что у клиентов вне зоны видимости поезда не ездят.

  8. #68
    Разработчик Trainz UP Аватар для kemal
    Регистрация
    22.10.2009
    Страна
    Адрес
    Казань / 793км
    Возраст
    31
    Сообщений
    3,159
    Автор

    По умолчанию

    Я сейчас не об этом. У меня в правиле достаточно только начальные настройки переслать. А в сигналке меня поразило, что нужно ещё менеджер сессий (или как его там?) подключать и что-то с ним делать.

  9. #69
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    29
    Сообщений
    15,126

    По умолчанию

    Он нужен исключительно для вылавливания момента коннекта юзера к сессии или запуска сессии. Это более разумно чем периодические проверки MultiplayerGame.IsActive() хотя смысл тот же.
    Код:
    void MultiplayerSessionHandler(Message msg)
    	{
    	if((msg.minor == "UsersChange" or msg.minor == "ClientReady") and MultiplayerGame.IsActive() )
    		{
    
    		if(!MP_started)
    			{
    			MP_started = true;
    
    			if(!MultiplayerGame.IsServer())
    				{
    				MP_NotServer = true;
    
    				AddHandler(me,"sU_signals", "mult_client","MultiplayerClientHandler1");
    
    				Waiter();
    
    				return;
    				}
    
    			ServerInitBase();
    			AddHandler(me,"sU_signals", "mult_server" ,"MultiplayerServerHandler1");
    			}
    
    			
    
    		}
    	
    	}

  10. #70
    Пользователь Аватар для Sandrilyon
    Регистрация
    25.05.2010
    Страна
    Адрес
    Борисов
    Сообщений
    1,538

    По умолчанию

    Возможно ли реализовать синхронизацию положения пантографа для локомотива ВЛ11м?

+ Ответить в теме
Страница 7 из 7 ПерваяПервая ... 5 6 7

Ваши права

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