45.png
44.png
43.png
42.png
41.png
40.png
39.png
38.png
37.png
36.png
35.png
34.png
33.png
32.png
31.png
30.png
29.png
28.png
27.png
26.png
24.png
23.png
22.png
21.png

Бесплатный сервис SOWPROJECT разработан специально для серверов arma 3 EPOCH,EXILE. Мы разрабатываем продукты для серверов arma III

Реклама на сайте

Сервис фотографий девушек
Мир и бизнес
AC Studio
UHOT.RU
FILMKINO

Контактная информация

Информация для связи

info@sowproject.ru - отдел по работе с клиентами. Решение общих вопросов и для информации. Любые вопросы касательно проекта SOWPROJECT.

support@sowproject.ru - технический отдел. Решение технических вопросов касательно проекта SOWPROJECT.

Городские боты с настройками arma III EXILE

95.jpg
28 Января 2018

//////////////////////////////////////////////// Настройки тригера ///////////////////////////////////////////////////////////////
_triggerTime = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
_triggers = [
["Эради",[5545.89,6996.82,0],200],
["Шапой",[5833.05,3547.68,0],200],
["Хаудан",[7116.62,6085.18,0],200],
["Сент-Лиус",[7134.95,8966.06,0],200],
["Санте-МАрия",[5559.6,4232.65,0],200],
["Морэй",[886.414,11967.4,0],200],
["Лоулис",[5559.09,11195.2,0],200],
["Ле порту",[8209.86,3105.73,0],200],
["Ла Трините",[7267.96,7941.88,0],200],
["Ла Ливьер",[3747.73,3189.38,0],200],
["Ла Пессане",[3128,6336.82,0],200],
["Ларше",[6042.07,8629.15,0],200],
["Канкон",[5397.71,2789.72,0],200],
["Доурдан",[7037.94,7120.17,0],200],
["Гуис",[3566.72,8504.32,0],200],
["Виньи",[3091.34,6835.74,0],200],
["Аэропорт",[8215.78,10052.7,0],200]
];


//////////////////////////////////////////////// Снаряжение для ботов ///////////////////////////////////////////////////////////////
/* Список второстепенного оружия для ботов.
1-ое значение класс оружия
2-ое значение класс обойм
3-ее значение количество обойм
4-ое значение подствольного патрона. Если не указывать то не будет
5-ое количество подствольных патронов */
_LMGs_bots = [
["srifle_DMR_03_F","20Rnd_762x51_Mag",7],
["LMG_Zafir_F","150Rnd_762x54_Box",3],
["srifle_DMR_05_blk_F","10Rnd_93x64_DMR_05_Mag",7],
["MMG_01_hex_F","150Rnd_93x64_Mag",3],
["srifle_GM6_F","5Rnd_127x108_Mag",7],
["srifle_LRR_F","7Rnd_408_Mag",7],
["srifle_EBR_F","20Rnd_762x51_Mag",7],
["srifle_EBR_F","20Rnd_762x51_Mag",7],
["srifle_EBR_F","20Rnd_762x51_Mag",7],
["LMG_Mk200_F","200Rnd_65x39_cased_Box",3],
["LMG_Mk200_F","200Rnd_65x39_cased_Box",3],
["LMG_Mk200_F","200Rnd_65x39_cased_Box",3],
["LMG_Mk200_F","200Rnd_65x39_cased_Box",3],
["LMG_Mk200_F","200Rnd_65x39_cased_Box",3],
["LMG_Mk200_F","200Rnd_65x39_cased_Box",3],
["arifle_Katiba_GL_F","30Rnd_65x39_caseless_green",5,"1Rnd_HE_Grenade_shell",3],
["arifle_MX_GL_F","30Rnd_65x39_caseless_mag",5,"3Rnd_HE_Grenade_shell",3],
["arifle_MX_GL_F","30Rnd_65x39_caseless_mag",5,"3Rnd_HE_Grenade_shell",3],
["arifle_MX_GL_F","30Rnd_65x39_caseless_mag",5,"3Rnd_HE_Grenade_shell",3],
["arifle_MXC_Black_F","30Rnd_65x39_caseless_mag",5]
];
/* Список второстепенного оружия для ботов.
1-ое значение класс оружия
2-ое значение класс обойм
3-ее значение количество обойм
["","",0] - означает ни чего не давать
["launch_RPG7_F","",0] - если второй параметр пустой то не будет зарядов */
_weaponSecondaryBots = [
["","",0],
["","",0],
["","",0],
["CUP_launch_RPG18","CUP_RPG18_M",1],
["launch_RPG7_F","RPG7_F",2]
];
/* Список прицелов */
_rifleOptics = ["optic_ERCO_khk_F","optic_MRCO","optic_Hamr","optic_ERCO_khk_F","optic_MRCO","optic_Hamr","optic_Nightstalker","optic_DMS"];
/* Список лута в боте */
_itemmy = ["HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","APERSBoundingMine_Range_Mag","APERSMine_Range_Mag","RPG32_HE_F","Rangefinder","optic_Nightstalker","Rangefinder"];
/* Список униформы для ботов */
_uniform_bots = ["U_O_Wetsuit","U_O_GhillieSuit","U_O_CombatUniform_oucamo","U_I_OfficerUniform","U_I_CombatUniform_tshirt","U_O_PilotCoveralls","U_OG_Guerilla3_2","U_O_CombatUniform_ocamo"];
/* Список разгрузок ботов */
_vst_bots = ["V_PlateCarrier1_rgr","V_PlateCarrier2_blk","V_PlateCarrierL_CTRG","V_PlateCarrierH_CTRG","V_PlateCarrierIA1_dgtl","V_PlateCarrierGL_mtp","V_PlateCarrierGL_blk","V_PlateCarrierGL_rgr","V_PlateCarrier3_rgr"];
/* Список шлемов ботов */
_Headgear_bots = ["H_PilotHelmetFighter_I","H_PilotHelmetHeli_I","H_CrewHelmetHeli_I","H_HelmetO_ocamo","H_HelmetSpecO_blk"];
/* Список рюкзоков ботов */
_backpack_bots = ["B_Carryall_ocamo"];

//////////////////////////////////////////////// Настройки городских ботов ///////////////////////////////////////////////////////////////
_timen = 60; /* Задержка появление ботов, после того как их убили. в Секундах. По дефолту 3 минуты */
_countBoats = [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]; /* Количество ботов, пишется через запятую в массиве. Береться рандомно. Заспавниться могут от 1 до 3 ботов. */
_classBoats = "i_survivor_F"; /* Класс самого бота */
_rankBoats = ["CORPORAL","SERGEANT","LIEUTENANT","CAPTAIN","MAJOR","COLONEL"]; /* Список рангов ботов */
_abilityBots = [0.5,0.6,0.7,0.8,0.9]; /* Рандомный список жесткости ботов. Формируется от 0 до 1, к примеру 50% это 0.5 */
_countItemBots = [[1,2],[1],[1,2,3]]; /* Количество произвольного лута в ботах пишется через запятую в массиве. Береться рандомно */
_betweenTimeBots = 2; /* Задержка в секундах между появлением ботов */
_betweenTimeTriggers = 5; /* Задержка в секундах между проверкой каждого тригерра. Советуем не делать минимальный, может повлиять на игровой ФПС. */

while{true} do
{
sleep _betweenTimeTriggers;
{
_nameTriger = _x select 0;
_posTriger = _x select 1;
_posTrigerRadius = _x select 2;
_posTrigerX = _posTriger select 0;
_posTrigerY = _posTriger select 1;
//diag_log format["DEBUG: botstown %1.", _nameTriger];
_list = {isPlayer _x} count (_posTriger nearEntities ["CAManBase",_posTrigerRadius]);
if(_list > 0) then{
_alllist = count (_posTriger nearEntities ["CAManBase",_posTrigerRadius]);
_yesBot = _alllist - _list;
if(_yesBot == 0) then {
_thisTime = _triggerTime select _forEachIndex;
if(_thisTime == 0)then{
_triggerTime set[_forEachIndex,_timen];
_co = _countBoats select (random (count _countBoats -1));;
//customRemoteMessage = ['systemChat', format ["В городе %1 обнаружен враг! Вызвана группа захвата.",_nameTriger]];
//publicVariable "customRemoteMessage";

["toastRequest", ["InfoTitleAndText", ["Городские боты", format ["В городе %1 обнаружен враг! Вызвана группа захвата.",_nameTriger]]]] call ExileServer_system_network_send_broadcast;

_group_109 = createGroup EAST;
{
_randZnak = floor(random 2) + 1;
_randZnak2 = floor(random 2) + 1;
_randMetrs = random(_posTrigerRadius / 2);
_randMetrs2 = random(_posTrigerRadius / 2);
_rad1 = 0;
_rad2 = 0;

if(_randZnak == 2)then{
_rad1 = _randMetrs + _posTrigerX;
}else{
_rad1 = _posTrigerX - _randMetrs;
};

if(_randZnak2 == 2)then{
_rad2 = _randMetrs2 + _posTrigerY;
}else{
_rad2 = _posTrigerY - _randMetrs2;
};

_unit_109 = objNull;
if (true) then{
_this = _group_109 createUnit [_classBoats, [_rad1, _rad2, 1], [], _posTrigerRadius, "CAN_COLLIDE"];
_unit_109 = _this;
removeAllWeapons _this;
removeAllItems _this;
removeUniform _this;
removeVest _this;
removeBackpack _this;
_this setPos [_rad1, _rad2, 1];
if(count(_rankBoats) > 0)then{
_rankBot = _rankBoats select (random (count _rankBoats -1));
_this setUnitRank _rankBot;
};
if(count(_abilityBots) > 0)then{
_abilityBot = _abilityBots select (random (count _abilityBots -1));
_this setUnitAbility _abilityBot;
};
if(count(_uniform_bots) > 0)then{
_uniform = _uniform_bots select (random (count _uniform_bots -1));
_this forceAddUniform _uniform;
};
if(count(_backpack_bots) > 0)then{
_backpack = _backpack_bots select (random (count _backpack_bots -1));
_this addBackpack _backpack;
};
if(count(_vst_bots) > 0)then{
_vst = _vst_bots select (random (count _vst_bots -1));
_this addVest _vst;
};
if(count(_LMGs_bots) > 0)then{
_wpn = _LMGs_bots select (random (count _LMGs_bots -1));
_this addMagazines [(_wpn select 1),(_wpn select 2)];
if(count(_wpn) == 5)then{
_this addMagazines [(_wpn select 3),(_wpn select 4)];
};
_this addWeapon (_wpn select 0);
_pricel = _rifleOptics select (random (count _rifleOptics -1));
_this addWeaponItem [(_wpn select 0),_pricel];
};
if((count _weaponSecondaryBots) > 0)then{
_wpnBoats = _weaponSecondaryBots select (random (count _weaponSecondaryBots -1));
if(count (_wpnBoats select 0) > 0)then{
if(count (_wpnBoats select 1) > 0)then{
_this addMagazines [(_wpnBoats select 1),(_wpnBoats select 2)];
};
_this addWeapon (_wpnBoats select 0);
};
};
if((count _Headgear_bots) > 0)then{
_Headgear = _Headgear_bots select (random (count _Headgear_bots -1));
_this addHeadgear _Headgear;
};
_countItemBot = _countItemBots select (random (count _countItemBots -1));
{
_itemBot = _itemBots select (random (count _itemBots -1));
_this addItem _itemBot;
}forEach _countItemBot;

if (true) then {_group_109 selectLeader _this;};
_this addEventHandler ["killed", "[_this select 0, _this select 1] execVM 'respectSoWM.sqf'"];
[_this] join _group_109;
};

_this = _group_109 addWaypoint [_posTriger, _posTrigerRadius];
_this setWaypointType "SAD";
_this setWaypointCombatMode "YELLOW";
_this setWaypointSpeed "LIMITED";
_this setWaypointBehaviour "COMBAT";
_waypoint_109 = _this;

_this = _group_109 addWaypoint [_posTriger, _posTrigerRadius];
_this setWaypointType "CYCLE";
_this setWaypointCombatMode "YELLOW";
_this setWaypointSpeed "LIMITED";
_this setWaypointBehaviour "COMBAT";
_waypoint_0109 = _this;

sleep _betweenTimeBots;
}forEach _co;
}else{
_thisTimeNew = _thisTime - 5;
_triggerTime set[_forEachIndex,_thisTimeNew];
};
};
};
}forEach _triggers;
};

Тут все подробно описано. Комментарии излишние. Файл respectSoWM.sqf и сам файл скрипта можете скачать на ютубе под видео.

loading.gif