Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
Taiga

Кровоточат персонажи на серве

Всем привет возможно кто с этим сталкивался. Мой персонаж не кровоточит, и у других кровотока не вижу, а другие видят. Вреда он не приносит, просто можно пропустить когда реально нанесут урон. Если у кого нибудь есть подобное отпишите пожалуйста.

 

Изменено пользователем Taiga (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

dell

Изменено пользователем irkutsk38 (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0

Taiga irkutsk38 

Причина в следующем

На стороне сервера регится сетевая переменная для синхронизации

На клиенте не регится или регится не там или регится криво

Тк от сервера клиенту летит поток бит и обратно то же - там все строго в определенном порядке

Каждая переменная (точнее ее значение) имеет смещение в потоке в зависимости от порядка их регистрации

Тк в модах и тп они регятся в одних и тех же местах - порядок не нарушается и одинаков с обеих сторон

Но стоит зарегить переменные для клиента и сервера в разных местах (например в условии проверки типа if (GetGame().IsClent()) на клиенте а на сервере в if (GetGame().IsServer())) смещения могут быть разными и значение этой сетевой переменной может прилетать в совсем другую переменную на клиенте или сервере

Про кровоток - тк IsBleeding булево - то она 1 бит - 0 false, 1 true - на ее место например прилетает другая со значением 1 или этот бит явлется куском другой - и персонаж кровоточит - но тк BleedingBits не установлен на сервере - то кровь не уходит

 

В большинстве случаев это происходит по причине - народ взял клиент-серверный мод и запулил его только на сервере как серверный не отрезав клиентскую часть и не убрав регистрацию сетевых переменных

Прямой пример - MedicalAttention
либо любая админка которую на серверу подключили и у админов то же, а у других клиентов нет

или отключена проверка сигнатур на сервере и на клиенте какой-то мод не взлетел - а мод этот регит сетевые переменные на сервере

порядок потока данных нарушается и начинается свистопляска

 

ЗЫ Если криво обходться с RPC - то глюков может быть на порядки больше

 

Потому надо внимательно следить за такими вещами

 

надеюсь доходчиво обьяснил...

 

сорри за сумбур

 

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

dell

Изменено пользователем irkutsk38 (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 20.09.2019 в 21:55, BorizzK сказал:

Taiga irkutsk38 

Причина в следующем

На стороне сервера регится сетевая переменная для синхронизации

На клиенте не регится или регится не там или регится криво

Тк от сервера клиенту летит поток бит и обратно то же - там все строго в определенном порядке

Каждая переменная (точнее ее значение) имеет смещение в потоке в зависимости от порядка их регистрации

Тк в модах и тп они регятся в одних и тех же местах - порядок не нарушается и одинаков с обеих сторон

Но стоит зарегить переменные для клиента и сервера в разных местах (например в условии проверки типа if (GetGame().IsClent()) на клиенте а на сервере в if (GetGame().IsServer())) смещения могут быть разными и значение этой сетевой переменной может прилетать в совсем другую переменную на клиенте или сервере

Про кровоток - тк IsBleeding булево - то она 1 бит - 0 false, 1 true - на ее место например прилетает другая со значением 1 или этот бит явлется куском другой - и персонаж кровоточит - но тк BleedingBits не установлен на сервере - то кровь не уходит

 

В большинстве случаев это происходит по причине - народ взял клиент-серверный мод и запулил его только на сервере как серверный не отрезав клиентскую часть и не убрав регистрацию сетевых переменных

Прямой пример - MedicalAttention
либо любая админка которую на серверу подключили и у админов то же, а у других клиентов нет

или отключена проверка сигнатур на сервере и на клиенте какой-то мод не взлетел - а мод этот регит сетевые переменные на сервере

порядок потока данных нарушается и начинается свистопляска

 

ЗЫ Если криво обходться с RPC - то глюков может быть на порядки больше

 

Потому надо внимательно следить за такими вещами

 

надеюсь доходчиво обьяснил...

 

сорри за сумбур

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.