Название происходит из первых букв "Ambient Life In Civilian Environment"
По-русски получится типа "Жизненные Процессы В Гражданском Секторе" - ЖПВГС. Похоже на жёпу. Теперь серьёзно.
Настраиваемые параметры.
Переменные, используемые с требуемыми параметрами в BIS_alice_mainscope:
townlist = <array>; - список мест, в которых будут возрождаться гражданские. Это может быть триггер, массив в формате [центр,расстояние] или местонахождение логики (созданное функцией BIS_fnc_locations).
Пример: this setvariable [“townlist”,[bis_loc_acityc_mogilevka,[position this,3000],trigger1]];
Значение по умолчанию: Весь чёртов остров.
spawnDistance = <number>; - расстояние от игроков до логики города (в метрах), которая начнёт возрождать гражданских в своём городе.
Пример: BIS_alice_mainscope setvariable [“spawnDistance”,800];
Значение по умолчанию: 1000
civilianRarity = <array>; - Изменение возможности возрождения одинаковых моделей цивилов: (т.е. в городах можно респануть кучу деревенской лимиты, или специально отключить конкретный класс, присвоив ему значение 10). По умолчанию эти цифры прописаны в конфиге rarityUrban (в диапазоне от 0-деревня до 1-город)
Пример: BIS_alice_mainscope setvariable [“vehicleRarity”,[“Citizen1”,10,”Worker2”,0.8]];
По умолчанию: []
civilianCount = <string>; - формула, по которой система рассчитывает кол-во гражданских в конкретной локации. %1 - это кол-во зданий с дверями (memory points called “AIDoor1”, “AIDoor2”, …) в радиусе 500 м. от локации.
Прмер: BIS_alice_mainscope setvariable [“civilianCount”,”round (%1 / 10)”];
По умолчанию (и рекомендуемое значение): “round (2 * (sqrt %1))”
civilianActions = <array>; - список типов действий из CfgCivilianActions
Пример: BIS_alice_mainscope setvariable [“civilianActions”,[“BIS”,”CSLA”]];
По умолчанию: [“BIS”]
respectModifyCoef = <number>; - искусственный коэффициент устанавливающий уровень падения рейтинга (respect) при ранении или убийстве гражданского. Чем выше цифра - тем больше отнимается очков у фракции, к которой принадлежит убийца.
Пример: BIS_alice_mainscope setvariable [“respectModifyCoef”,0.2];
По умолчанию: 0.7
threatDecay = <number>; - значение угрозы, которое снимается с города каждые 5 секунд (до тех пор, пока оно не достигнет значения 0)
Пример: BIS_alice_mainscope setvariable [“threatDecay”,0.05];
По умолчанию: 0.033
Устанавливайте следующие переменные для логики города (town logic)
ALICE_forcePopulation = <boolean>; - true либо false, устанавливает, будут-ли цивилы пропадать после покидания игроками зоны города.
При значении true цивилы не будут пропадать.
Пример: BIS_loc_acityc_kozlovka setvariable [“ALICE_forcePopulation”,true];
По умолчанию: false
ALICE_populationCoef = <number>; - коэффициент, задающий кол-во гражданских вне зданий. 0.5 означает, что снаружи будет 50% гражданских.
Пример: BIS_loc_acityc_kozlovka setvariable [“ALICE_populationCoef”,1];
По умолчанию: около 0.6
ALICE_civilianinit = <array>; - массив кодов, исполняемых на каждого гражданского при его создании.
Пример: [bis_loc_acityc_kozlovka,”ALICE_civilianinit”,[{_this addweapon “Mk_48”}]] call bis_fnc_variablespaceadd;
(пользуйте функцию BIS_variablespaceadd для того чтобы избежать замены уже существующих кодов)
По умолчанию: none
Записываемые переменные
Переменные, записанные в городских лоджиках (town logics)
“ALICE_population” = <array>; - список всех гражданских в городе
“ALICE_populationActive” = <array>; - список всех активных гражданских в городе (т.е. тех, кто вне домов шатаются)
“ALICE_populationCountDef” = <number>; - начальное кол-во гражданских (на него сбрасывается их кол-во, когда кто-то покидает город)
“ALICE_threat” = <number>; - threat level of town (-1 = ещё не заселён; 0 = безопасно; >0 = опасность, где интервал 0-1 просто подозрение на угрозу, а значения более 10 являют собой экстремальную угрозу)
“ALICE_status” = <string>; - status category (“black” = inactive, “green” = threat on 0, “red” = threat > 0)
Функции
BIS_ALICE_fnc_civilianSet
Описание: Устанавливает простейшие значения ALICE для всех гражданских. С этого момента гражданские будут действовать согласно расписанному в модуле ALICE.
Параметры:
_this select 0 - OBJECT или ARRAY - Гражданский или [group,class] для создания нового юнита
_this select 1 - OBJECT (опционально) - Городская логика (Если ничего не установлено, будет использоваться ближайшая.)
_this select 2 - OBJECT (опционально) - Невидимая дверь (если ничего не установлено, будет использоваться рандомная дверь в этом городе)
Возвращаемое значение: true
Автор: Party3AH