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


Фотография

численный заход в триггер


Лучший Ответ vlad333000 , 08 October 2014 - 11:15

foran, уважаемый, тут даже логически если подумать, то предложенный варинт не сработает на 1 - вывод: вы неправильно все сделали или оставили в миссии что то другое
Для справки: тип тригера долженбыть "нет" иначе смысла небудет в этой писанине
Порядок работы триггера (если правильно написать):
1. Срабатывает на любого человека в зоне
2. _count рисваивает 0 (незнаю зачем)
3. _count присваивает кол-во юнитов стороны WEST среди активировавших триггер
4. Если _count окажется больше 5 (в моем примере) то вызывается функция бисов, которая закнчивает игру Перейти к сообщению


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

#1 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 сообщений
  • Откуда:Россия
  • Отряд:[WTF]

Отправлено 07 October 2014 - 01:54

Вопрос, как сделать зону что бы триггер сработал только после того  как в него зайдет 3-5 человек одной фракции. . А не 1.


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 07 October 2014 - 06:37

BY Blender (Atrium)
_zonePos = getMarkerPos "zoneMarker"; // Позиция зоны
_area = (getMarkerSize "zoneMarker") select 0; // Радиус зоны
_side = ... // Сторона
_minMan = ... // Кол-во тушек нужных в зоне


while {true} do {
_vehCount = 0;
_man = _zonePos nearEntities [["Man"], _area];
_veh = _zonePos nearEntities [["LandVehicle"], _area];
_manCount = _side countSide _man;
{
if (side _x == _side) then {
_vehCount = _vehCount + (count (crew _x));
}; 
} forEach _veh;
if ((_manCount + _vehCount) > _minMan) exitWith {...то что тебе нужно сделать при заходе в зону...}
sleep 5.213;
};

  • 1

#3 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 сообщений
  • Откуда:Россия
  • Отряд:[WTF]

Отправлено 07 October 2014 - 07:18

эм а куда это все прописывается?

 

_zonePos = getMarkerPos "zoneMarker"; // Позиция зоны
_area = (getMarkerSize "zoneMarker") select 0; // Радиус зоны

км 8 примерно в длину а  ширина 1 км может меньше.

if ((_manCount + _vehCount) > _minMan) exitWith {...то что тебе нужно сделать при заходе в зону...}
sleep 5.213;
};

победа нато


  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 07 October 2014 - 08:09

foran, тогда попроще так:
Создаешь триггер
Активация триггера: "кем угодно", "существует", "повторно"
Обзываешь его: triggerWin
Ставишь задержку: "перерыв", 5 или больше
По активации:
_count = 0;
_count = WEST countSide list triggerWin;
if (_count > 5) then {["end1",true,true] call BIS_fnc_endMission};

Сообщение отредактировал vlad333000: 07 October 2014 - 08:30

  • 1

#5 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 сообщений
  • Откуда:Россия
  • Отряд:[WTF]

Отправлено 07 October 2014 - 17:36

 

foran, тогда попроще так:
Создаешь триггер
Активация триггера: "кем угодно", "существует", "повторно"
Обзываешь его: triggerWin
Ставишь задержку: "перерыв", 5 или больше
По активации:
_count = 0;
_count = WEST countSide list triggerWin;
if (_count > 5) then {["end1",true,true] call BIS_fnc_endMission};

 

такой способ я знаю но это не вариант.  можно даже  без текста сделать. просто активацию сделать нато и все. 


  • 0

#6 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 08 October 2014 - 06:27

такой способ я знаю но это не вариант...

Интересно, а почему не вариант?

...можно даже  без текста сделать...

Какого текста?
  • 0

#7 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 сообщений
  • Откуда:Россия
  • Отряд:[WTF]

Отправлено 08 October 2014 - 10:20

 

такой способ я знаю но это не вариант...

Интересно, а почему не вариант

 

зайдет в зону из 50  1 боец и все миссион комплит. мне нужно что бы хотя бы отделение  зайти смогло.  



...можно даже  без текста сделать...

Какого текста?

 

_count = 0;
_count = WEST countSide list triggerWin;
if (_count > 5) then {["end1",true,true] call BIS_fnc_endMission};


  • 0

#8 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 08 October 2014 - 11:15   Лучший Ответ

foran, уважаемый, тут даже логически если подумать, то предложенный варинт не сработает на 1 - вывод: вы неправильно все сделали или оставили в миссии что то другое
Для справки: тип тригера долженбыть "нет" иначе смысла небудет в этой писанине
Порядок работы триггера (если правильно написать):
1. Срабатывает на любого человека в зоне
2. _count рисваивает 0 (незнаю зачем)
3. _count присваивает кол-во юнитов стороны WEST среди активировавших триггер
4. Если _count окажется больше 5 (в моем примере) то вызывается функция бисов, которая закнчивает игру
  • 1

#9 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 сообщений
  • Откуда:Россия
  • Отряд:[WTF]

Отправлено 08 October 2014 - 15:43

foran, уважаемый, тут даже логически если подумать, то предложенный варинт не сработает на 1 - вывод: вы неправильно все сделали или оставили в миссии что то другое
Для справки: тип тригера долженбыть "нет" иначе смысла небудет в этой писанине
Порядок работы триггера (если правильно написать):
1. Срабатывает на любого человека в зоне
2. _count рисваивает 0 (незнаю зачем)
3. _count присваивает кол-во юнитов стороны WEST среди активировавших триггер
4. Если _count окажется больше 5 (в моем примере) то вызывается функция бисов, которая закнчивает игру

Я тебя просто не понял сразу. как раз это и  искал спасибо.


  • 0




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