Перейти к содержимому


Фотография

BIS_fnc_loadInventory на сервере в MP, с параметрами из БД


  • Закрытая тема Тема закрыта
Сообщений в теме: 25

#21 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 10 September 2015 - 23:14

NoNameUltima, речь ведь про поток к БД.

Я видимо не правильно понял реплику, я решил что идёт речь о соединении с базой. И да команда spawn создаёт не зависимый поток исполнения кода.


  • 0

#22 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 10 September 2015 - 23:21

 

 

Насчет избирательности, интересно только одно - есть ли смысл отдельных потоков, для пересохранения

Это не отдельные потоки, поток в базу один, с разницей, отправляются только те данные которые требуют синхронизации, естественно сама база должна поддерживать такой режим работы, избирательный в смысле.

 

Если не ошибаюсь - Spawn создает нить, соответственно внутри нити вставить цикл с таймером, и походу работы сервера, сохранять, в одном потоке игроков, в другом технику, в третьем объекты...

 

 

А зачем вам несколько циклов, ни что не мешает сделать всё перечисленное в одном, синхронизирующем всё, цикле.

Я считаю нет смысла всё размазывать.

 

Единственное, забиндите на клавишу Esc у игрока, принудительную инициализацию сохранения, для корректной работы.

Вам нужно, либо модифицировать на предмет вызова функции этот диплей

class RscDisplayMPInterrupt : RscStandardDisplay {};

Либо при нажатии клавиши проверить открыт ли этот дисплей, что будет предполагать желание игрока выйти из игры.


  • 0

#23 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

  • Пользователи
  • 189 сообщений
  • Откуда:SPB

Отправлено 12 September 2015 - 12:13

 

 

 

Насчет избирательности, интересно только одно - есть ли смысл отдельных потоков, для пересохранения

Это не отдельные потоки, поток в базу один, с разницей, отправляются только те данные которые требуют синхронизации, естественно сама база должна поддерживать такой режим работы, избирательный в смысле.

 

Если не ошибаюсь - Spawn создает нить, соответственно внутри нити вставить цикл с таймером, и походу работы сервера, сохранять, в одном потоке игроков, в другом технику, в третьем объекты...

 

 

А зачем вам несколько циклов, ни что не мешает сделать всё перечисленное в одном, синхронизирующем всё, цикле.

Я считаю нет смысла всё размазывать.

 

Единственное, забиндите на клавишу Esc у игрока, принудительную инициализацию сохранения, для корректной работы.

Вам нужно, либо модифицировать на предмет вызова функции этот диплей

class RscDisplayMPInterrupt : RscStandardDisplay {};

Либо при нажатии клавиши проверить открыт ли этот дисплей, что будет предполагать желание игрока выйти из игры.

 

Да - в одном потоке и сделал сохранение.

А по поводу выхода - в onPlayerDisconnect принудительное сохранение.


  • 0

#24 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 September 2015 - 20:16

 

А по поводу выхода - в onPlayerDisconnect принудительное сохранение.

При дисконекте игрока, управляемый игроком бот подыхает, это не секрет, как медицину синхронизировать собираетесь?


  • 0

#25 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 September 2015 - 20:27

ЗЫ

Возьмите на вооружение лучше это

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

_3:_Event_Handlers#HandleDisconnect

Если я всё правильно понимаю, при дисконекте игрока, тело передаётся в управление серверу, а не дохнет, даже если в миссии отключен AI.

Ещё не маловажный плюс, в это событие передаётся объект БОТ, к которому можно обратиться из кода, в отличии от события onPlayerDisconnect, в которое объект не передаётся, а значит и нет возможности поставить телу диагноз, так как ссылки на тело нет.


Сообщение отредактировал SteelRat: 20 September 2015 - 20:31

  • 0

#26 OFFLINE   WAF3R

WAF3R

    Майор

  • ex. Администратор
  • 2234 сообщений

Отправлено 13 March 2016 - 18:37

Автоматически сформированное сообщение
Тема закрыта модератором.

Причина: Тема оформлена не по правилам раздела.

Если вы не согласны с закрытием темы, то можете обратиться к администратору.

С наилучшими пожеланиями
Команда ARMA3.RU Форум
  • 0




Яндекс.Метрика