|
|
Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Operation Arrowhead Скрипты Рукопашный бой (Мой вариант )) |
Рукопашный бой |
› Четверг
› 03.03.2011
› 15:32
› Сообщение #
Всем привет! Представляю вашему вниманию свой вариант реализации рукопашного боя в arma 2 OA. Сам вариант родился случайно, хотел создать митинг, но получилось то, что получилось )))
А теперь сам скрипт Code _unit = _this select 0; _target = _this select 1; _b1 = 0; _b2 = 0; T attachTo [pl, [0,0,0]] pl setcaptive true; #tr _a = floor(random 2); _a = _a + 1; ?(v == 1): _unit setdammage 0; v = 0; _unit removeaction _rt; _target doMove getpos _unit; ?(_target in List T && alive _target && alive _unit): _unit dowatch _target; _target dowatch _unit; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 1): _target switchmove "AmelPercMstpSnonWnonDnon_zasah3hard"; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 1): _unit switchmove "AmelPercMstpSlowWrflDnon_StrokeGun"; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 1): _target setDammage getDammage _target + 0.25; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 1): _b1 = _b1 + 0.25; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 2): _target switchmove "AmelPercMstpSnonWnonDnon_amaterUder1"; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 2): _unit switchmove "AmelPercMstpSnonWnonDnon_zasah4"; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 2): _unit setDammage getDammage _unit + 0.25; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 2): _b2 = _b2 + 0.25; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 3): _target switchmove "AmelPercMstpSnonWnonDnon_amaterUder2"; ?(_target in List T && _b1 < 0.75 && _b2 < 0.75 && _a == 3): _unit switchmove "AmelPercMstpSnonWnonDnon_amaterUder3"; ?(_b2 == 0.75): _unit switchmove "AinjPpneMstpSnonWnonDnon_rolltofront"; hint format ["%1", v] ?(_b1 == 0.75): _target switchmove "AinjPpneMstpSnonWnonDnon_rolltofront"; ?(_b2 == 0.75): _rt = _unit addaction ["medic", "DOC.sqs"]; ~3 goto "tr" И так, как его использовать. 1) Ставим на карте юнита, который будет защищаться, с именем pl 2) Прописываем ему в инит this setcaptive true 3) Ставим триггер с именем T 4) Ставим противника и в инит ему пишем [pl, this] exec "dam.sqs"; Вот и всё! Теперь противник будет бегать за вами, пытаясь ударить, а вы, в свою очередь, обороняться. Исход боя зависит целиком от случайности! И ещё кое-что. Когда ваш союзник (обороняюшийся) упал на землю, то можно попытаться его вылечить, для этого достаточно просто подойти к нему и нажать соответствующее действие. P.S. анимки персонажей легко заменяемы, как и все остальные параметры. Скрипт легко дорабатывается под зомби и другие нужды. P.P.S. не откажусь от советов по оптимизации Для наглядности вот пример: Прикрепления:
Mis1Campany_Zar.rar
(3.6 Kb)
|
› Пятница
› 05.08.2011
› 14:07
› Сообщение #
Спасибки! Еще бы врестлеманию миссию сделали с картинками,видео и персонажами оттуда))
|
› Суббота
› 08.10.2022
› 17:08
› Сообщение #
|
| |||
| |||
Чат сайта |