BorizzK

Все про камеры. Работа с ними со стороны сервера.

8 сообщений в этой теме

Давайте все что касается камер обсуждать в этой теме.

 

Камеры бывают

freedebugcamera

dayzspectator

staticcamera

 

Взято из примера:

 

Cоздание свободной камеры игроку (player - обьект игрока типа PlayerBase)

GetGame().SelectSpectator(player.GetIdentity(), "freedebugcamera", player.GetPosition());

Уничтожение камеры c возвратом фокуса камеры обратно к персонажу

PlayerBase pBody = player;
GetGame().SelectPlayer(player.GetIdentity(), pBody);

 

Тут мне не ясен нюанс

Зачем было загонять обьект игрока в переменную pBody и использовать эту переменную в SelectPlayer, когда проще
GetGame().SelectPlayer(player.GetIdentity(), player);

 

И еще хотелось бы понять

как получить координаты положения камеры на сервере когда она  создана и переместилась

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


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


3 часа назад, BorizzK сказал:

как получить координаты положения камеры

АктивКамера с игрока.. где то было..

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


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, BorizzK сказал:

как получить координаты положения камеры на сервере когда она  создана и переместилась

GetGame().GetCurrentCameraPosition()

 

Что касается камеры, то

1. Ее можно создать и самому.

2. Можно тупо переключаться на дебаг камеру(позиционировать ее, и т.п.)

Небольшой пример:

vc_Camera    =    GetGame().CreateObject( "FreeDebugCamera", Vector(0, 0, 0), true );

Переключить на камеру для наблюдения

vc_Camera.SetActive( true );

Выключить ее, тем самым переключиться обратно

vc_Camera.SetActive( false );

   

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


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

NoNameUltima 

GetGame().GetCurrentCameraPosition();
В контексте сервера координаты только 0 0 0

Мы же про сервер говорим и действия с него, не имея возможности что-то делать на клиенте

 

Однако, как мне кажется

Если создать обьект

Entiti vc_Camera;

vc_Camera    =    GetGame().CreateObject( "FreeDebugCamera", Vector(0, 0, 0), true );

затем

GetGame().SelectPlayer(player.GetIdentity(), NULL);

GetGame().SelectPlayer(player.GetIdentity(), vc_Camera);

 

Вдруг прокатит?

 

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


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

BorizzK прокатит на катке)

 0 0 0 могут быть локальные коорды, относительно персонажа, хотя я не проверял т.к. мне влом стало возиться. Да и сервер должен возвращать все коорды. А с какого объекта и как ты их там тащиш я хз...

 

И нахрена в тип entity класть тип camera?

 

camera vc_Camera;

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

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


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

NoNameUltima 

Entity

Ты посмотри camera.c ))

 

Игрока прилепить можно только к Entity

 

Я пока ток теоретизирую, тк в разьездах с телефона

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


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

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

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

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

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


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

Войти

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


Войти сейчас

  • Похожие публикации

    • Автор: BorizzK
      Вобщем в процессе работы сервера происходят рандомные динамические события и вместе с ними на карте спавнятся некоторые обьекты
      Если время их жизни истекает и настает время нового события и в радиусе видимости нет игроков обьекты удаляются с карты
      Но
      Если выключение корректно (запланированный рестарт например), вызов функции удаления происходит из деструктора класса
      Все отрабатывает
      Ошибок нет
      Но после рестарта некоторые обьекты на месте
      Тогда я замутил функцию-задержку с проверкой
       
      float TimeWait(Object object, float timeW) { float cTick = GetGame().GetTickTime() + timeW; while(object || GetGame().GetTickTime() < cTick ) { if ( GetGame().GetTickTime() >= cTick ) break; } return GetGame().GetTickTime(); } и вызываю ее
       
      if (object) tW = TimeWait(object, timeW); задержка реально происходит - делал ее 60 секунда да же
      НО! обьекты эти после рестарта опять на месте
       
      Пока придумал костыль - сохраняю в профиль сервера при каждом спавне координаты и тайпнеймы заспавленных обьектов и при запуске в конструкторе проверяю это место и грохаю обьекты по тайпнеймам - места безлюдные и открытые, лагерей и тп там быть не может - потому в принципе ничего лишнего туда попасть не может
      к тому же это полезно в случае крашей
       
      и все же
      почему обьекты не удаляются при завершении работы сервера?
       
    • Автор: Hosti7u
      Профессиональный виртуальный хостинг по привлекательным ценам, включающий в себя профессиональную техническую поддержку, защиту от DDoS и удобный сервис регистрации доменных имен а так же многие другие услуги. Мы предоставляем услуги хостинга с 2013 года.

      Наши основные тарифы виртуальных серверов

      VPS SSD ABUSE

      Intel® Xeon® Processor E5 v3
      CPU1 vCore x 2.4 GHz
      2048 MB DDR4 RAM
      10 GB SSD Local RAID 10
      До 16 IPv4-адресов
      Bandwidth 100 Mbps
      Защита от DDoS-атак
      от 6 €

      VPS CLOUD ABUSE

      Intel® Xeon® Processor E5 v3
      CPU 1 vCore x 3.1 GHz
      2048 MB DDR4 RAM
      25 GB SSD High Availability (Ceph)
      До 16 IPv4-адресов
      Bandwidth 100 Mbps
      Защита от DDoS-атак
      от 12 €

      VPS CLOUD RAM ABUSE

      Intel® Xeon® Processor E5 v3
      CPU 1 vCore x 2.4 GHz
      6144 MB DDR4 RAM
      25 GB SSD High Availability (Ceph)
      До 16 IPv4-адресов
      Bandwidth 100 Mbps
      Защита от DDoS-атак
      от 12 €

      Подробнее https://host-i7u.com/vps
       
      Тарифы на Аренду виртуального SMTP сервера для рассылок.

      Тариф VPS - SMTP

      Установка SMTP/POP3/IMAP
      Настройка записей A, MX, DNS, DKIM, SPF, DMARC
      Соединение по протоколу SSL/TLS
      Выбор страны размещения сервера
      Данные для подключение к SMTP
      Инструкция и рекомендации
      Настройка только основного IP-адреса
      Настройка единоразово 3 €
      Сервер под рассылку 6 € в месяц

      Тариф VPS - SMTP - PMTA 4.5

      SMTP/POP3/IMAP
      A, MX, DNS, DKIM, SPF, DMARC
      Настройка ротации IP адресов
      Инструкция по настройки конфигурации
      Данные для подключение к PMTA
      Инструкция и рекомендации
      До 16 IPv4-адресов
      Настройка единоразово 20 €
      12 € Ежемесячно

      Аренда скрипта для рассылки

      MailWizz / Mumara PRO /Interspire
      VPS сервер для скрипта
      ISPmanager 5 Lite(бесплатно)
      Установка и настройка скрипта
      Административный доступ к скрипту
      Инструкция и рекомендации
      Видео по подключению и настройки
      Поддержка по Skype / Telegram
      от 20 € Ежемесячно

      Подробнее Аренда SMTP сервера. Сервера для рассылок.
    • Автор: almalk454
      Написал собственную миссию, решил протестировать на дедике. Добавляю моды на него, запускаю клиент, и в итоге кикает с сервера, типа файлы не подписаны. 
      В логах все они подключаются. С той же директории их подключает игра. А кикает типа они не подписаны

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

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

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: Tamirlan
      Народ помогите! У меня проблема! В один момент все персонажи (игроки), когда залетают на остров одеты не в свою одежду и у всех в рюкзаках пустые пластиковые бутылки! не знаю вообще как это исправить! SOS! Есть подозрение что что то произошло с базой данных! но не уверен! Может кто сталкивался с такой проблемой? Как решали... не будьте равнодушными пожалуйста помогите... (началось с того что один из игроков покупал пластиковые бутылки и не заметил что купил слишком много что у него они стали вываливаться и появляться на земле (в рюкзаке место закончилось)) в момент покупки бутылок говорит что что то на секунду подвисло и после этого все кто залетает в игру стали появляться в его одежде и с бутылками. Это было вчера. Сегодня кто то купил одежду сантаклауса и теперь все появляются в одежде санты. Причем если корректно  выйти из миссии и после зайти на последнюю точку подключения все ок. А если выбрать любой город то все как я описывал выше. Плиз помогите решить этот полтергейст!) 
    • Автор: buka
      Всем здорова, значит сервер 1.9.0  почти чистый, приват базы и пару ботов на этих базах заспавненые в миссии, Играть скучновато, да и вообще на старых версиях всегда DZAI боты стояли... но на прошлой версии и на этой так и не могу победить, делаю по гайду, леплю строчку как написано, но инициализации нет, в логе тишина, ровно как и в игровом процессе, не знаю куда рыть уже, далее. Так втрое, переделывал скрипт авиа поддержки, всё работало ровно на тех же версиях что и DZAI, там для старых версий кто в курсе помнит нужно было еще дополнительно изменить строку в server_cleanup.sqf иначе техника взрывалась при спавне... (ботовская) ну и собственно в этой же строке я убирал дамаг на заспавниную технику миссией... сейчас я не могу найти где это в коде, техника взрывается после появления через 10 сек, очень жаль потому как скрипт выдался не плохой.И третье, очень много старых полезных скриптов просто недоступны, срок хранения их на серверах истёк и ссылки битые, у кого есть скрипт вырубания травы топором??? помню такой был мелкий...