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


Фотография

Триггер активации корректировщика минометного обстрела


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 12 April 2020 - 01:51

Доброго дня.

Я хочу сделать триггер на повторяемый минометный обстрел по игроку.

Моя задача -  когда вражеская лодка видит игрока с моря, позицию игрока должен обстреливать миномет, но обстрел должен быть ТОЛЬКО когда лодка в настоящий момент видит игрока. Если лодка скрылась за гору или игрок спрятался, то арт-обстрела не должно быть! 

 

 

Я создал нечто подобное но как я понимаю это не симулирует реальность точно

Я поместил в условие активации повторяющегося триггера следующее:

this and (BoatKillersLeader knowsAbout player > 0 and player distance BLUFORBoat1 < 1200)

где

 

this - наличие игрока в радиусе триггера (это моя зона потенциальной опасности игрока)

BoatKillersLeader - это командир вражеской лодки-корректировщика минометного обстрела, который должен видеть игрока

knowsAbout - как я понимаю переменная BIS определяющая знает ли юнит(имя) об указанном юните (имя)

distance - дистанция между лодкой-корректировщиком и целью о которой тот должен знать

BLUFORBoat1 - имя самой лодки

 

в поле триггера On Activation я добавил стрельбу из миномета

MortarG doArtilleryFire [position player,"8Rnd_82mm_Mo_shells",3]

где 

 

MortarG - это ИИ стрелок из миномета.

 

Теперь пожалуйста Внимание! Все это работает,  MortarG стреляет в игрока, но это происходит постоянно, даже в те моменты, когда лодка корректировщик не может видеть игрока - вот где моя проблема! 

 

Как я понял условие knowsAbout работает даже в моменты когда лодка не видит игрока. Например лодка скрылась за горой или игрок спрятался, но командир лодки все еще знает об игроке, об его существовании. Лодка-корректировщик скрылась за горой, но миномет стреляет! Игрок спрятался за камнем, но миномет стреляет и тд.

 

Мой вопрос - Чем я могу заменить переменную knowsAbout для того чтобы создать более реалистичную стрельбу по игроку в момент ТОЛЬКО если лодка в настоящий момент видит игрока? Я хочу создать ситуацию в которой лодка корректирует минометный огонь и следовательно если лодка в текущий момент НЕ видит игрока - тогда она не должна вызывать обстрел миномета, т.к не видит цель и не может предоставить координаты для обстрела.

Я знаю только о переменной knowsAbout 

Есть ли что-то типа SeesCurrently (видит в данный момент) ? 

Или что то наподобе?

Может быть есть совершенно другой способ создать корректировщика?

 

Заранее Спасибо за помощь!


Сообщение отредактировал mickeymen: 12 April 2020 - 02:00

  • 0

#2 OFFLINE   Denispetrov123

Denispetrov123

    Ефрейтор

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

Отправлено 12 April 2020 - 14:37

Может следует попробовать с помощью скрипта, вот пример ( сам не тестил ). (Нужно как-нибудь назвать триггер в миссии):

/*
Нужно заменить _trig
*/

[] spawn {
	while {player inArea _trig && BoatKillersLeader knowsAbout player > 0 && player distance BLUFORBoat1 < 1200} do {
		
		if (!(player inArea _trig)) exitWith {
			BoatKillersLeader forgetTarget player;
		};
		
		MortarG doArtilleryFire [position player,"8Rnd_82mm_Mo_shells",3];
		
		sleep 10;

	};
}; 

  • 0

#3 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 12 April 2020 - 18:41


Может следует попробовать с помощью скрипта

 

В данном скрипте я вижу ту же переменную knowsAbout player

какой смысл в этом скрипте тогда? Ведь у меня knowsAbout player  работает и без скрипта. 

Все проблема в том что knowsAbout player - не симулирует ситуацию правильно в данном случае

 

Вообще кто нибудь знает как работает knowsAbout player?

 

Я посмотрел

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

, это перевод

 

Описание: Проверяет, знает ли группа или сторона о цели.

  • Знания врага мгновенно передаются групповым подразделениям
  • Подразделения в одной группе всегда отлично знают друг друга
  • Знания ИИ не могут проверить за пределами текущего 

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

     и сбрасываются в ноль, как только расстояние до цели превышает его.
    Примечание: ни туман, ни дневной свет не влияют на это поведение.
  • Потеря зрения цели более чем на 120 секунд сбрасывает ее знания о нуле также
  • Магическое число - это значение, которое должно быть достигнуто отрядом, чтобы стрелять по врагу (также используется триггерами «Обнаружено»)

 

Я использую knowsAbout player > 0, а что если использовать knowsAbout player > 0.5 или knowsAbout player == 1 ? 

В целом я прочитал что значение  knowsAbout  может варьироваться в пределах 0 -4, следует проэксперементировать

 

 

Однако мой основной вопрос все еще существует. 

 

 

 

Мой вопрос - Чем я могу заменить переменную knowsAbout для того чтобы создать более реалистичную стрельбу по игроку в момент ТОЛЬКО если лодка в настоящий момент видит игрока? 

Если альтернативы нет, то я все же попробую адаптировать knowsAbout под мою цель


Сообщение отредактировал mickeymen: 12 April 2020 - 20:18

  • 0




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