Модератор форума: Slon |
Форум » РЕДАКТОР - ArmA 2 Operation Arrowhead » Вопрос - ответ » Тема для небольших вопросов по ArmA 2 Operation Arrowhead |
Тема для небольших вопросов по ArmA 2 Operation Arrowhead |
› Воскресенье
› 20.09.2015
› 12:39
› Сообщение #
Где запускаешь?
Score работает только в МП А по МП лучше Слона спрашивать Сообщение отредактировал andrucio - Воскресенье, 20.09.2015, 12:45
|
› Воскресенье
› 20.09.2015
› 13:21
› Сообщение #
andrucio, в мп запускаю, попробовал в миссии не получилось, создал в редакторе пробную карту, скрипт в инит закинул, то же не сработало.
|
› Воскресенье
› 20.09.2015
› 13:38
› Сообщение #
в МП очки раздаёт сервер. такчта вместо "mpkilled" достаточно "killed" Но, выполняемое сервером.
всех кому выдан ЕХ, надо запомнить в массиве, и вычитать из Allunits, также из него вычитаются убитые остаются вновь появившиеся которым выдаётся свеженький ЕХ )) очки начислять, после проверки исПлэйер селект 1 // поскольку у Ботов очков нет)) Сторона 0 != сторона 1 файл запускать из init.sqf строкой if isServer then {execVM "Score_Edit.sqf"}; текст для файла Score_Edit.sqf ............................................ sleep 3; ms_all_EH = []; fn_edit_csore = { _un = _this select 0; _kl = _this select 1; if (isPlayer _kl) then { if (Side _un != Side _kl) then { _kl addScore 1 }}; ms_all_EH = ms_all_EH - [_un]; }; _ms = []; While {true} do { _ms = AllUnits - ms_all_EH; { _x addEventHandler ["Killed", {_as = _this Spawn fn_edit_csore}]; } forEach _ms; ms_all_EH = ms_all_EH + _ms; sleep 1; }; |
› Воскресенье
› 20.09.2015
› 14:14
› Сообщение #
Slon, а сервер getvariable не осилит?
вместо создания массива из осчастливленных ЕХ |
› Воскресенье
› 20.09.2015
› 14:17
› Сообщение #
andrucio, а смысл в такой перегрузке?
создание массива из "осчастливленных" )) позволяет в дальнешем заниматся только НЕ осчасливленными _ms = AllUnits - ms_all_EH; |
› Воскресенье
› 20.09.2015
› 15:23
› Сообщение #
Slon, спасибо огромное, всё супер заработало, давало 3 очка за убийство, поменял на +0 стало давать 2 очка.
Добавлено (20.09.2015, 15:23) |
› Воскресенье
› 20.09.2015
› 16:34
› Сообщение #
ага. значит измени это
_kl addScore (Score _kl) + 1 на _kl addScore 1 |
› Воскресенье
› 20.09.2015
› 18:35
› Сообщение #
Slon, getvariable затратнее, чем создание массива?
Все равно Allunits считаешь каждый раз, да и массив счастливых не постоянен. |
› Воскресенье
› 20.09.2015
› 18:55
› Сообщение #
трудно сказать. но эти переменные Каждая привязана к объекту - верояно разнесены в разные места памяти
а Массив размещается единым пулом. да и процесс _ms = AllUnits - ms_all_EH; куда проще чем if (side _x == west and (_x isKindOf "Man") and (_x getvariable "EXkilled" !=1)) then |
› Понедельник
› 21.09.2015
› 12:06
› Сообщение #
Slon,
Цитата ага. значит измени это Добавлено (21.09.2015, 12:06) |
› Понедельник
› 21.09.2015
› 13:38
› Сообщение #
barbosa, должно получится. Сделай список кто - кого - засколько.
|
› Понедельник
› 21.09.2015
› 16:10
› Сообщение #
Slon, наверно это будут слишком большие списки техники, я попробую выложить самую основную технику, надеюсь её получится потом самостоятельно добавлять))
кто: М1А1, AAV, T72_RU, T90, BMP3, ZSU_CDF, 2S6M_Tunguska, T34, HMMWV_TOW, HMMWV_Avenger, UAZ_AGS30_RU, UAZ_SPG9_INS, Ural_ZU23_CDF, GRAD_RU , BRDM2_ATGM_CDF, BTR90, LAV25, GAZ_Vodnik_HMG, AH1Z, A10, AH64D, F35B, AV8B2, Mi24_D, Mi24_P, Mi24_V, Ka52, Su39, Su34 кого: М1А1, AAV, HMMWV_TOW, HMMWV_Avenger, AH1Z, A10, AH64D, F35B, AV8B2, награда 5 очков за уничтоженное железо, с расчётом что за погибший экипаж будет плюсоваться дополнительно по вышеизложенному скрипту В списке "кого" только амеровская техника в отличии от "кто" там уже всё подряд |
› Понедельник
› 21.09.2015
› 18:39
› Сообщение #
если это Вся стреляющая техника из миссии, то нет смысла её выделять.
вот. примерь этот файл Score_Edit.sqf Прикрепления:
Score_Edit.sqf
(1.5 Kb)
|
› Среда
› 23.09.2015
› 15:51
› Сообщение #
Slon, спасибо большое, как всё потестирую отпишу.
Добавлено (23.09.2015, 15:51) |
› Среда
› 23.09.2015
› 18:04
› Сообщение #
функция обрабатывающая попадание в технику
fn_Veh_csore = { _vh = _this select 0; _kl = _this select 1; if (count (crew _vh) > 0) then { // проверка наличия экипажа if (typeOf (vehicle _kl) in dt_Vip_vh) then { // проверка список КТО if ((_this select 2) == 0) then { // проверка список КОГО _kl addScore 5; }}}}; примеряй Прикрепления:
9859505.sqf
(1.5 Kb)
|
| |||
Чат сайта |