|
|
Модератор форума: GUNNER161, Panikaha |
Форум » РЕДАКТОР - ArmA 3 » Скрипты » Реплей миссии |
Реплей миссии |
› Вторник
› 14.07.2020
› 18:12
› Сообщение #
Привет всем!
Рискую показаться нубом, но все же. Может кто-нибудь на пальцах рассказать как реализована записьреплея миссии на глобальной карте? С отметкой юнитов и их передвижение в разрезе времени. Так скажем, для аналитики боя. За ранее спасибо. |
› Среда
› 15.07.2020
› 06:51
› Сообщение #
Незнаю где и как реализовано, но ничего сложного тут нет.
Главное определитсься какие параметры надо сохранить-воспроизвести. перемещение пешком/ в технике, стрельба-попадания. переговоры. итд. |
› Воскресенье
› 26.07.2020
› 11:15
› Сообщение #
Slon, привет!
ну по сути не много: Местоположение/перемещение пехоты/техники,жив/не жив, направление смертельного выстрела. Если дашь направление как это реализовывается, то буду очень признателен. |
› Среда
› 29.07.2020
› 14:51
› Сообщение #
Ещё сырой вариант. сохранение и воспроизведение.
размещено в 3х файлах. файл init.sqf sleep 1; [] execVm "map_rep_1.sqf"; waituntil {!isnull (finddisplay 46)}; Stat_repley = true; _Id = (findDisplay 46) displayAddEventHandler ["KeyDown", " if (visibleMap && ((_this select 1) == 14) && Stat_repley) then { Stat_repley = false; _as = [] execVM 'map_rep_2.sqf'; }; "]; файл map_rep_1.sqf msU = []; msV = []; _au = AllUnits; _u = count _au -1; _av = Vehicles; _v = count _av -1; Side_msU = []; { Switch (Side _x) do { case East: {Side_msU set [_forEachIndex, "ColorRed"]}; case West: {Side_msU set [_forEachIndex, "ColorBlue"]}; case Resistance: {Side_msU set [_forEachIndex, "ColorGreen"]}; case civilian : {Side_msU set [_forEachIndex, "ColorYellow"]}; }} forEach _au; _st = 0; While {true} do { sleep 1; _mt = []; for "_a" from 0 to _u do { _un = _au select _a; _mt set [_a, [getpos _un, getDir _un]]; }; msU set [_st, _mt]; _mt = []; for "_a" from 0 to _v do { _un = _av select _a; _mt set [_a, [getpos _un, getDir _un]]; }; msV set [_st, _mt]; _st = _st+1; }; файл map_rep_2.sqf _msU = +msU; _msV = +msV; _u = count _msU -1; // делаем маркеры на солдат, и красим в сторону. { _mk = createMarker [ format ["Un_%1", _forEachIndex ], [0,0,0]]; _mk setMarkerType "hd_dot"; _mk setMarkerColor _x } forEach Side_msU; for "_a" from 0 to _u do { { ( format ["Un_%1", _forEachIndex ]) setMarkerPos (_x select 0); } forEach (_msU select _a); sleep 1; if ! visibleMap exitWith {}; }; { deleteMarker format ["Un_%1", _forEachIndex ]; } forEach Side_msU; Stat_repley = true; |
› Среда
› 29.07.2020
› 14:59
› Сообщение #
краткое описание.
файл init.sqf Запускает файл map_rep_1.sqf сбора информации и устанавливает обработчик события для запуска файла воспроизведения при открытой карте нажатием клавиши БэкСпейс. (номер клавиши 14, можно роменять на любую другую. Файл map_rep_1.sqf создаёт три массива данных, msU = []; - перемещение юнитов msV = []; - перемещение техники Side_msU = []; Принадлежность стороны юнитов. необходимо ещё время смерти смертельный выстрел. файл map_rep_2.sqf создаёт маркеры нужного цвета двигает их по карте читая массивы данных при закрывании карты удаляет маркеры. нужно ещё менять цвет на чёрный, при гибели юнита и техники. показать линией смертельный выстрел. |
| |||
| |||
Чат сайта |