Модератор форума: Slon |
Форум » РЕДАКТОР - ArmA 2 Operation Arrowhead » Вопрос - ответ » Тема для небольших вопросов по ArmA 2 Operation Arrowhead |
Тема для небольших вопросов по ArmA 2 Operation Arrowhead |
› Четверг
› 20.06.2013
› 12:06
› Сообщение #
weqtor, команды, ты про отдельный отряд?
Добавлено (20.06.2013, 12:06) --------------------------------------------- Если да, то пиши в условие: Код {alive _x} count units group *Командир отряда* == 0; Сообщение отредактировал Dim@s535 - Четверг, 20.06.2013, 12:07
|
› Четверг
› 20.06.2013
› 16:31
› Сообщение #
|
› Четверг
› 20.06.2013
› 17:06
› Сообщение #
Пферц, в триггере, в том, что создаёт маркер пиши:
Код (Создание и настройка маркера);Tgt setTriggerStatements ["this", "nul = [] execVM 'Reveal.sqf'", ""] Код While {alive Soldat} do { // Вместо Soldat пиши своего солдата-красного. if (group *Имя командира* knowsAbout Soldat == 4) then {"Target" setMarkerPos (getPos Soldat)}; sleep 10; }; Сообщение отредактировал Dim@s535 - Четверг, 20.06.2013, 17:23
|
› Четверг
› 20.06.2013
› 22:03
› Сообщение #
Цитата createMarker ["Target", getPos *Солдат Синих*]; "Target" setMarkerColor "Цвет"; "Target" setMarkerText "Текст маркера"; "Target" setMarkerType "Тип маркера"; Цитата createMarker ["Target", getPos team]; "Target" setMarkerColor "ColorRed"; "Target" setMarkerText "Диверсанты"; "Target" setMarkerType "Destroy"; Type string, expected nothing. Добавлено (20.06.2013, 22:03) Цитата While {alive Soldat} do { // Вместо Soldat пиши своего солдата-красного. if (group *Имя командира* knowsAbout Soldat == 4) then {"Target" setMarkerPos (getPos Soldat)}; sleep 10; }; Выходит, что мне нужно указывать каждого солдата-часового по имени? |
› Четверг
› 20.06.2013
› 23:07
› Сообщение #
Пферц, нет. Ты же говорил, что солдат один.
|
› Пятница
› 21.06.2013
› 08:23
› Сообщение #
|
› Пятница
› 21.06.2013
› 08:37
› Сообщение #
Пферц, а, можно поинтересоваться, а зачем вам нужен маркер?
|
› Пятница
› 21.06.2013
› 09:10
› Сообщение #
|
› Пятница
› 21.06.2013
› 10:48
› Сообщение #
Пферц, не очень удачная идея...
Добавлено (21.06.2013, 10:47) Добавлено (21.06.2013, 10:48) |
› Пятница
› 21.06.2013
› 11:08
› Сообщение #
|
› Пятница
› 21.06.2013
› 12:09
› Сообщение #
Пферц, я попытался сделать миссию-пример, маркеры не хотят создаваться для каждого юнита, так как имя у маркера уникальное, и дублировать его для каждого юнита нельзя, поэтому я сделал так:
Код _Targets = getPos player nearObjects ["Man", 200]; // Сканируем на наличие объектов на дистанции в 200 м. for "_x" from 1 to (player countEnemy _Targets) do { // Если обнаруженный солдат - враг, то ставим ему маркер. {if (side (group _x) == East && player knowsAbout _x == 4) then { createMarker [name _x, getPos _x]; // Пришлось импровизировать и давать маркерам имена солдат. name _x setMarkerType "Mil_Dot"; name _x setMarkerColor "ColorRed"; }; } forEach _Targets; }; Добавлено (21.06.2013, 11:53) --------------------------------------------- Пферц, за надёжность кода не ручаюсь. Добавлено (21.06.2013, 12:09) --------------------------------------------- Код While {true} do { _Targets = getPos player nearObjects ["Man", 200]; for "_i" from 1 to (player countEnemy _Targets) do { { if (side (group _x) == East && alive _x) then { createMarker [name _x, getPos _x]; name _x setMarkerType "Mil_Dot"; name _x setMarkerColor "ColorRed"; }; } forEach _Targets; }; {if (!alive _x) then {deleteMarker name _x} else {name _x setMarkerPos (getPos _x)}} forEach _Targets; sleep 0.5; }; Этот код лучше, но, к сожалению, я не могу разобраться с обнаружением противника. На данный момент помечает всех противников в радиусе 200 метров. Сообщение отредактировал Dim@s535 - Пятница, 21.06.2013, 12:14
|
› Пятница
› 21.06.2013
› 12:18
› Сообщение #
|
› Пятница
› 21.06.2013
› 12:21
› Сообщение #
Пферц, нет, Man - это обнаружение объектов с типом "Человек", т.е. команда будет искать именно солдат, а не здания, технику и пр.
Цитата && Цитата for "_i" from 1 to (player countEnemy _Targets) do { Цитата _Targets = getPos player nearObjects ["Man", 200]; Сообщение отредактировал Dim@s535 - Пятница, 21.06.2013, 12:22
|
› Пятница
› 21.06.2013
› 12:32
› Сообщение #
|
› Пятница
› 21.06.2013
› 12:37
› Сообщение #
Пферц, нет. Пиши так:
Добавлено (21.06.2013, 12:37) Код While {true} do { _Targets = units group *Командир диверсантов Синих*; for "_i" from 1 to (count _Targets) do { { createMarker [name _x, getPos _x]; name _x setMarkerType "Mil_Dot"; name _x setMarkerColor "ColorRed"; } forEach _Targets; }; {if (!alive _x) then {deleteMarker name _x} else {name _x setMarkerPos (getPos _x)}} forEach _Targets; sleep 0.5; }; |
| |||
Чат сайта |