А я просто хочу чтобы просто можно было видеть всем локомотив ане только одному) Про Через функции класса MultiplayerGame Можно подробнее?
А я просто хочу чтобы просто можно было видеть всем локомотив ане только одному) Про Через функции класса MultiplayerGame Можно подробнее?
SKZDRostovDon, файл multiplayergame.gs в папке script. Там всё что надо
А кто-нибудь разбирался с kind servlet?
Конечно, у них там написано, что что-то там не реализовано, но при этом в дефолте такие ассеты есть. Да и для передачи данных между игрой и сторонним сервером много не надо, я думаю.
Собственно, почему я пишу именно в эту тему. Было бы здорово вынести часть логики СЦБ из игры на сторонний сервер и/или создать АРМ диспетчера (или даже дежурных). Так можно будет управлять движением на мультиплеере даже не заходя в Траинз)) Да и возможностей по реализации всяких плюшек больше, чем в скриптах.
Слишком заморочено и без должной документации. К тому же, всё через сервера аурана.
kemal, надо будет попробовать что-нибудь сделать. Пока не очень понятно что у чему. Но серверный интерфейс реализуется здесь.
Поковырялся я в скриптах...
Вся серверная часть (взаимодействие с внешним миром) реализуется в самом сервлете. Для взаимодействия с игрой пишется отдельная библиотека (что для меня осталось не ясным, ведь сервлет и сам является наследником библиотеки). Всё взаимодействие идёт через OnlineAccess.PostMessage(string destUsername, Soup data). Вся суть в том, что если мы хотим отправить данные в игру какому-нибудь пользователю, то мы указываем его логин в первом параметре. Если же хотим отправить данные на сервер, то в качестве пользователя указываем "servlet".
Извне доступ к сервлету возможен по адресу servlet.auran.com/<kuid>/ Для обработки запроса в сервлет передаются URI и суп с ГЕТ переменными. В ответ он может сгенерировать хтмл, отдать статику из какого-нибудь ассета или нарисовать(!) картинку.
А теперь спать...
---------- Сообщение добавлено в 15:48 ---------- Предыдущее сообщение размещено в 03:55 ----------
Кстати, а гарантируется ли совпадение игровых Id у разных игроков? С объектами карты всё понятно - для них id берётся из файла mapfile.obs. А с вагонами как? Особенно, если их в процессе игры добавлять.
А фиг его знает. Теоретически, вроде как да.
Ты ошибаешься. Точнее путаешь id объекта с тем, который ты можешь получить через скрипт. Сплайны и объекты хранятся в разных файлах, и там у каждого свой id, который является тупо счётчиком внутри отдельной группы. А в скриптах свой счётчик, который выдаёт каждому объекту в сессии id при его создании во время загрузки сессии и при добавлении ПС, команд и машинистов во время сессии. Тут сквозной счётчик для всех объектов загруженных с карты и сессии: объекты, сплайны, ПС, правила, команды и тп.
---------- Сообщение добавлено в 16:07 ---------- Предыдущее сообщение размещено в 16:04 ----------
Исхожу из того, что последовательность загрузки сессий у всех клиентов одинаковая, а раз id ни что иное как счётчик, то можно со 100% уверенностью сказать, что после загрузки все объекты на всех клиентах имеют абсолютно одинаковые id. Всё что создаётся в сессии (ПС, команды, машинисты) могут быть созданы только на сервере, который потом синхронизирует их с остальными клиентами, а там и id так же будут одинаковыми.