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

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

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

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

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

Реально ли реализовать изменение FOV нажатием, например, на дальномер?

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


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

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

  • 0

Что значит FOV? Дальность прорисовки или что? Угол обзора? Понять не могу.

Если речь о том, что я думаю, то что ты конкретно хочешь? Чтобы он сильнее приблежал или что?

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

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


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





  • 0

Что значит FOV? Понять не могу.

 

Поле зрения, как на минус ты нажимаешь или на плюс на правой клавиатуре во время игры. FOV показывает сколько пространства вместится в твой монитор (ну не совсем пространства). Думаю ты понял.

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


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

 

Поле зрения, как на минус ты нажимаешь или на плюс на правой клавиатуре во время игры. FOV показывает сколько пространства вместится в твой монитор (ну не совсем пространства). Думаю ты понял.

Окей. Как я понял ты хочешь перенести данную кнопку с -/+ к примеру на дальномер?

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

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


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

Окей. Как я понял ты хочешь перенести данную кнопку с -/+ к примеру на дальномер?

 

Ну почти. На минус или плюс FOV не фиксируется, а я хочу сделать выбор с фиксацией до смерти игрока. Т.е. значения поставить от 0 до 2, чтобы игрок сам выбрал оптимальный FOV для себя. Это всё делается для сервера без третьего лица, думаю многим будет интересно впихнуть как можно больше пространства в свой экран.

 

Нашёл команду, но не знаю как её вообще реализовать:

https://community.bistudio.com/wiki/camSetFov

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


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

Интересно. Что если применить данную команду, к примеру на скрипте "Изм. дальности прорисовки".
Что-то вроде этого:

(findDisplay 106) closeDisplay 1;
waitUntil { isNull (FindDisplay 106) };
view_fov_menu =
[
	["",false],
		[" Низкое", [2],  "", -5, [["expression","camSetFov 0.5; systemChat('Поле зрения: Низкое');"]], "1", "1"],
		[" Среднее", [3],  "", -5, [["expression","camSetFov 1.0; systemChat('Поле зрения: Среднее');"]], "1", "1"],
		[" Высокое", [4],  "", -5, [["expression","camSetFov 1.5; systemChat('Поле зрения: Высокое');"]], "1", "1"],
		["", [-1], "", -5, [["expression", ""]], "1", "0"],
		["Выход", [13], "", -5, [["expression", ""]], "1", "1"]
];

showCommandingMenu "#USER:view_fov_menu";

*Со значениями camSetFov также можешь поиграться в диапазоне: 0.01-2.00

Подключение:

1. В Infistar, в блок _cMenu дописать:

"#USER:view_fov_menu" 

 

2. В extra_rc.hpp(надеюсь он у тебя подключён) дописать:

class Binocular_Vector {
        class FovBV {
            text = "Поле зрения";
            script = "execVM 'путь к файлу\view_fov.sqf'";
        };
    };

 

Не уверен до конца в работе, нужно тестировать.

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

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


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

Интересно. Что если применить данную команды, к примеру на скрипте "Изм. дальности прорисовки".

Что-то вроде этого:

(findDisplay 106) closeDisplay 1;
waitUntil { isNull (FindDisplay 106) };
view_distance_menu =
[
	["",false],
		[" Низкое", [2],  "", -5, [["expression","camSetFov 0.5; systemChat('Поле зрения: Низкое');"]], "1", "1"],
		[" Среднее", [3],  "", -5, [["expression","camSetFov 1.0; systemChat('Поле зрения: Среднее');"]], "1", "1"],
		[" Высокое", [4],  "", -5, [["expression","camSetFov 1.5; systemChat('Поле зрения: Высокое');"]], "1", "1"],
		["", [-1], "", -5, [["expression", ""]], "1", "0"],
		["Выход", [13], "", -5, [["expression", ""]], "1", "1"]
];

showCommandingMenu "#USER:view_fov_menu";

Подключение:

1. В Infistar, в блок _cMenu дописать:

"#USER:view_fov_menu" 

 

2. В extra_rc.hpp(надеюсь он у тебя подключён) дописать:

class Binocular_Vector {
        class FovBV {
            text = "Поле зрения";
            script = "execVM 'путь к файлу\view_fov.sqf'";
        };
    };

 

Не уверен до конца в работе, нужно тестировать.

 

Какой тип камеры указывать? Синтаксис такой: camera camSetFov level

"camera: Object - object of type "camera"

Это вырезка из сайта BIS.

 

Вот в этом и вся загвоздка. Помню посмотрел мельком скрипт по отдалению камеры в небо после смерти игрока, там камера привязывалась к координатам смерти. А как сделать здесь совершенно не понимаю.

Я, конечно, попробую твой код, но более чем уверен он не заработает без типа камеры.

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

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


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

Какой тип камеры указывать? Синтаксис такой: camera camSetFov level

"camera: Object - object of type "camera"

Это вырезка из сайта BIS.

 

Вот в этом и вся загвоздка. Помню посмотрел мельком скрипт по удалению камеры в небо после смерти игрока, там камера привязывалась к координатам смерти. А как сделать здесь совершенно не понимаю.

Я, конечно, попробую твой код, но более чем уверен он не заработает без типа камеры.

Мда.. Хотя бы образец для разбора был-бы...

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


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

Мда.. Хотя бы образец для разбора был-бы...

 

camera = GetPos player;

может так? тогда придётся обновлять скрипт без задержки, хотя не уверен.

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


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

_camera = GetPos player; - вот так.

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

Поищу похожии скрипты, может что-то смогу вытащить.

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

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


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

_camera = GetPos player; - вот так.

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

Поищу похожии скрипты, может что-то смогу вытащить.

 

кстати, до сих пор не понимаю зачем писать _ перед переменной. Понимаешь почему?

Скрипты тоже буду искать, может что и откопаю. Надеюсь из знающих людей откликнется и поможет решить проблему.

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


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

Ну что, не пробовал ставить мою версию скрипта?

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


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

 

Ну что, не пробовал ставить мою версию скрипта?

Сегодня попробую, отпишусь.

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


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

Ну что, не пробовал ставить мою версию скрипта?

 

В общем фигня полнейшая, camsetFOV видимо работает только со статичными объектами. Никак не смог сделать нормальную регулировку. Нужны другие варианты.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: 123new
      Такого плана вопрос по моддингу на 1.0.
      В моде есть, например, класс:
      class ExpansionGlobalChat с кучей функций
      создаю свой мод, в котором указываю
      modded class ExpansionGlobalChat { override void GlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { super.GlobalChat(type, ctx, sender, target); Param2< string, string > data; if ( !ctx.Read( data ) ) return; if( type == CallType.Server ) { string name = sender.GetName(); string steamid = sender.GetPlainId(); string bisid = sender.GetId(); string idtable = sender.GetPlayerId().ToString(); string log_date_time = ExpansionGetDateTime(); string format = "[" + log_date_time + "] " + "[Chat]" + " " + name + "(steamid=" + steamid + ", bisid=" + bisid + ") " + data.param2; Print(format); } } } и пакую, запускаю сервер. Пишет как на скрине.

      Если modded убираю - пишет что класс уже используется. Что я не так делаю? Как делать правильно? не допираю.
    • Автор: DrTauren
      Собственно, из названия понятно, что в этом гайде мы научимся отключать уровень стамины игрока, отключать усталость

      Инструкция:
      1) Находим файл dta/scripts.pbo и распаковываем его при помощи PBO Manager и копируем только что распакованную папку scripts в корневую папку сервера
      2) Открываем файл scripts/3_Game/constants.c и изменяем этот код под себя:
      const int STAMINA_DRAIN_STANDING_SPRINT_PER_SEC = 5; //в единицах (сколько единиц выносливости отбавляется при ускорении) const int STAMINA_DRAIN_CROUCHED_SPRINT_PER_SEC = 1; //в единицах (сколько единиц выносливости отбавляется при ускорении на корточках) const int STAMINA_DRAIN_PRONE_SPRINT_PER_SEC = 3; //в единицах (сколько единиц выносливости отбавляется при ускорении лёжа) const float STAMINA_DRAIN_HOLD_BREATH = 0.2; //в единицах (сколько единиц выносливости отбавляется при задержке дыхания) const int STAMINA_DRAIN_JUMP = 20; //в единицах (сколько единиц выносливости отбавляется при прыжке) const int STAMINA_DRAIN_MELEE_LIGHT = 5; //в единицах (сколько единиц выносливости отбавляется при лёгком ударе в ближнем бою) const float STAMINA_DRAIN_MELEE_HEAVY = 20; //в единицах (сколько единиц выносливости отбавляется при сильном ударе в ближнем бою) const int STAMINA_DRAIN_MELEE_EVADE = 8; //в единицах (сколько единиц выносливости отбавляется при уклонении) Таким образом мы можем отключить усталость игрока, стамина всегда будет максимальная. Для этого нужно всего лишь установить все параметры на значение 0
       
    • Автор: DrTauren
      Дорогие друзья, Администрацией форума приняты новые правила касательно слива\распространения античита InfiSTAR 

      Теперь коллектив сайта не несёт ответственности за слив продукта, т.к. будет создана специальная тема, в которой будут выкладываться уже слитые версии, найденные в интернете, на других сайтах. Выкладываться они будут абсолютно без изменений. Кстати, все темы касательно InfiSTAR будут удалены с сайта.
      Обращаю внимание что данное решение было принято не мной лично, а всем коллективом S-Platoon.
      Внимание! На форуме все так же запрещено сливать\продавать\выкладывать InfiSTAR, это будет караться баном без предупреждения. 
      В данной теме вы можете изложить своё мнение по этому вопросу, а также предложить другие пути разрешения ситуации
    • Автор: DrTauren
      Собственно из названия темы всё понятно, да и сам скрипт всем давно известен. Он позволяет изменить дальность прорисовки при нажатии ПКМ по биноклю или дальномеру.

      Что вам понадобится:

      Инструкция по установке:
      1) Качаем архив: 
      2) Открываем наш extra_rc.hpp и добавляем туда код:
      class Binocular { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; class distanceb4500m { text = "4500 meters"; script = "execVM 'custom\setview\4500.sqf'"; }; class distanceb5000m { text = "5000 meters"; script = "execVM 'custom\setview\5000.sqf'"; }; }; class Binocular_Vector { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; class distanceb4500m { text = "4500 meters"; script = "execVM 'custom\setview\4500.sqf'"; }; class distanceb5000m { text = "5000 meters"; script = "execVM 'custom\setview\5000.sqf'"; }; }; }; 3) Копируем папку setview из архива в нашу папку custom, находящуюся в папке миссии

      Вот и всё. Надеюсь кому-то помог 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: kenguru74
      Всем привет!
       
      Необходимо поднять солнце на нескольких картах. Вроде положение солнца в полдень прописано в конфиге в аддоне самой карты, так? Смотрел, но и у Тави и у Черно одна и та же latitude.. WTF?
       
      Невозможно играть из-за HDR, а гугля обделался, инфы нет
  • Наш выбор

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

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

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