Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
vinnyvint

Устанавливаем миссии на сервер.

Рекомендованные сообщения

Всем доброго времени суток!Сегодня поговорим об установки миссии,миссий,на сервер ArmA III с EPOCH мод.К стати эти миссии можно установить на любой сервер с любыми модами.

// И так начнём.

Нам для начало надо создать миссию,а точнее написать её :wink: в формате sqf.

Выглядит скрипт миссии так!!!

 Готовая миссия СКАЧАТЬ!!!

private ["_pos","_centerPos"];
_centerPos = getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition");
_pos = [getMarkerPos "center",100,20000,5,0,25,0] call BIS_fnc_findSafePos;


_LMGs = [
	["srifle_GM6_F",            "5Rnd_127x108_Mag"],
	["srifle_LRR_F",            "7Rnd_408_Mag"],
	["srifle_DMR_02_F",         "10Rnd_338_Mag"],
	["srifle_DMR_05_blk_F",     "10Rnd_93x64_DMR_05_Mag"],
	["MMG_01_hex_F",            "150Rnd_93x64_Mag"],
	["MMG_02_camo_F",           "130Rnd_338_Mag"],
	["MMG_01_tan_F",              "150Rnd_93x64_Mag"]
];
_LMGs1 = [
	["srifle_GM6_F",            "5Rnd_127x108_Mag"],
	["srifle_LRR_F",            "7Rnd_408_Mag"],
	["srifle_DMR_02_F",         "10Rnd_338_Mag"],
	["srifle_DMR_05_blk_F",     "10Rnd_93x64_DMR_05_Mag"],
	["MMG_01_hex_F",            "150Rnd_93x64_Mag"],
	["MMG_02_camo_F",           "130Rnd_338_Mag"],
	["MMG_01_tan_F",              "150Rnd_93x64_Mag"]
];

_bomb = (random 300) + 300;//Время спавна миссии.Стоит 300 сек + ещё 300.(От 5 да 10 минут.)
sleep _bomb;

_itemmy = ["CUP_H_SLA_Helmet","B_ViperLightHarness_oli_F","V_PlateCarrier1_tna_F","ItemWatch","APERSMine_Range_Mag","DemoCharge_Remote_Mag","MortarBucket","CinderBlocks","KitWoodFloor","FoodWalkNSons","7Rnd_408_Mag","5Rnd_127x108_Mag","NVG_EPOCH","ItemGPS","Rangefinder","B_Carryall_khk","ItemGoldBar10oz","RPG32_HE_F","FirstAidKit","RPG32_HE_F"];     
_rifleOptics = ["optic_tws","optic_LRPS","optic_MRCO","optic_Arco","optic_AMS"];
_Uniform = ["CUP_U_O_SLA_Officer_Suit","CUP_U_O_CHDKZ_Lopotev","CUP_U_B_BAF_DPM_S1_RolledUp","U_O_V_Soldier_Viper_F","U_O_T_Sniper_F"];
_stroyloot = ["MortarBucket","CinderBlocks","KitCinderWall","KitWoodFloor","KitWoodStairs"];

//Брифинг.
_gou  = "<t color='#2a8909' size='1.2' shadow='1' shadowColor='#000000' align='center'>СБРОС ГРУЗА С ЦЕННЫМ ЛУТОМ.</t><br/><br/><img size='7' shadow='0' image='SoWM\bomb.jpg'/><br/><br/><t color='#ffffff'>Координаты ящика Вам переданы на GPS.</t><br/><br/><t color='#ffffff' align='right'>Сценарий от DOZZER'a.</t>";

_gou1  = "<t color='#2a8909' size='1.2' shadow='1' shadowColor='#000000' align='center'>СБРОС ГРУЗА ЧЕРЕЗ 10 МИНУТ.</t><br/><br/><img size='7' shadow='0' image='SoWM\bomb.jpg'/><br/><br/><t color='#ffffff'>Всем полная готовнасть.</t>";

_gou2  = "<t color='#2a8909' size='1.2' shadow='1' shadowColor='#000000' align='center'>ЯЩИК СБРОШЕН.</t><br/><br/><img size='7' shadow='0' image='SoWM\bomb.jpg'/><br/><br/><t color='#ffffff'>Найдите ящик с лутом первым и заберите награду.</t>";

_end1  = "<t color='#2a8909' size='1.2' shadow='1' shadowColor='#000000' align='center'>ОТМЕНА СБРОСА.</t><br/><br/><img size='7' shadow='0' image='SoWM\bomb.jpg'/><br/><br/><t color='#ffffff'>Не достаточно игроков на миссии,сброс отменён.</t>";

_end2  = "<t color='#2a8909' size='1.2' shadow='1' shadowColor='#000000' align='center'>ЯЩИК УНЕЧТОЖЕН.</t><br/><br/><img size='7' shadow='0' image='SoWM\bomb.jpg'/><br/><br/><t color='#ffffff'>Ящик не был найден.Груз унечтожен.</t>";

_end3  = "<t color='#2a8909' size='1.2' shadow='1' shadowColor='#000000' align='center'>ЯЩИК ОБНАРУЖЕН.</t><br/><br/><img size='7' shadow='0' image='SoWM\bomb.jpg'/><br/><br/><t color='#ffffff'>Ящик был обнаружен одним из игроков.Успейте перехватить груз.</t>";


customRemoteMessage = ['hint', _gou]; //СБРОС ГРУЗА С ЦЕННЫМ ЛУТОМ.
publicVariable "customRemoteMessage";

//Маркер радиус сброса.
DMS_Main2 = createMarker ["Yajik0", _pos]; 
DMS_Main2 setMarkerColor "Colorgreen"; 
DMS_Main2 setMarkerShape "ELLIPSE"; 
DMS_Main2 setMarkerBrush "solid"; 
DMS_Main2 setMarkerSize [750,750];//Радиус маркера сброса.

//Маркер основной.
randomMarkerObject = createMarker  ["Yajik", _pos]; 
randomMarkerObject setMarkerColor "ColorRed";
randomMarkerObject setMarkerType "mil_circle";
randomMarkerObject setMarkerText "Ящик с лутом";

_tim = 0;
_time = 300;//время через которое исчезнет миссия если игроки не придут
while{(_tim == 0) && (_time > 0)} do{
_time = _time - 5;
if(_time == 0) then{
customRemoteMessage = ['hint', _end1];//ОТМЕНА СБРОСА. 
publicVariable "customRemoteMessage";
deleteMarker "Yajik";
deleteMarker "Yajik0";
}else{
      if (({isPlayer _x} count (_pos nearEntities ["CAManBase",750]))  > 5)then{ //Количество игроков нужное для начало.Стоит больше 5ти

customRemoteMessage = ['hint', _gou1];//СБРОС ГРУЗА ЧЕРЕЗ 10 МИНУТ. 
publicVariable "customRemoteMessage";
	  
sleep 600; //Время после которого будет сброс в секундах.

customRemoteMessage = ['hint', _gou2]; //ЯЩИК СБРОШЕН.
publicVariable "customRemoteMessage";
     };
    };
  sleep 5; 
};
//Лут
_Vehicle_203 = objNull;
if (true) then
{
_vzr5 = createVehicle ["B_supplyCrate_F",_pos, [], 400, "NONE"];//Значение 400 это радиус сброса.
_vzre5 = createVehicle ["NonSteerable_Parachute_F",_pos, [], 0, "FLY"];
_vzr5 attachTo [_vzre5, [0, 0, 0] ];
_Vehicle_203 = _vzr5;
_vzr5 setVehicleVarName "lut";
lut = _vzr5;
clearItemCargoGlobal _vzr5;
    clearWeaponCargoGlobal _vzr5;
    clearMagazineCargoGlobal _vzr5;
    clearBackPackCargoGlobal _vzr5;
	_wpn = _LMGs select (random (count _LMGs -1));
	_wpn1 = _LMGs1 select (random (count _LMGs1 -1));
	_vzr5 addWeaponCargoGlobal [(_wpn select 0), 1];
	_vzr5 addMagazineCargoGlobal [(_wpn select 1), 3];
	_vzr5 addWeaponCargoGlobal [(_wpn1 select 0), 1];
	_vzr5 addMagazineCargoGlobal [(_wpn1 select 1), 3];
	_vzr5 addItemCargoGlobal [_rifleOptics select (random (count _rifleOptics -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_itemmy select (random (count _itemmy -1)), 1];
	_vzr5 addItemCargoGlobal [_Uniform select (random (count _Uniform -1)), 1];
	_vzr5 addItemCargoGlobal [_Uniform select (random (count _Uniform -1)), 1];
	_vzr5 addItemCargoGlobal [_Uniform select (random (count _Uniform -1)), 1];
	_vzr5 addItemCargoGlobal [_stroyloot select (random (count _stroyloot -1)), 10];
	_vzr5 addItemCargoGlobal [_stroyloot select (random (count _stroyloot -1)), 10];
	_vzr5 addItemCargoGlobal [_stroyloot select (random (count _stroyloot -1)), 20];
	_vzr5 addItemCargoGlobal [_stroyloot select (random (count _stroyloot -1)), 10];
	_vzr5 addItemCargoGlobal [_stroyloot select (random (count _stroyloot -1)), 20];
    };
    if(_tim == 0)then{
   deleteVehicle lut;
   deleteVehicle parasha;
  }; 
_tic = 0;
_tict = 300;//Время через которое исчезнет миссия если не найден ящик.
while{(_tic == 0) && (_tict > 0)} do{
_tict = _tict - 150;
if(_tict == 60) then{
customRemoteMessage = ['hint', _end2];// ЯЩИК УНЕЧТОЖЕН.
publicVariable "customRemoteMessage";
_claymore = "DemoCharge_Remote_Ammo_Scripted" createVehicle position lut;
0 = _claymore spawn {
	uiSleep 1;
	_this setDamage 1;
deleteMarker "Yajik";
deleteMarker "Yajik0";
deleteVehicle lut;
};
}else{
{
     if((_x distance lut) < 5) then{
	   if(_tic == 0) then{
	   _tic = 1;
deleteMarker "Yajik";
deleteMarker "Yajik0";

customRemoteMessage = ['hint', _end3];// ЯЩИК ОБНАРУЖЕН.
publicVariable "customRemoteMessage";

randomMarkerObject = createMarker  ["Yajik2", _pos]; 
randomMarkerObject setMarkerColor "ColorBlack";
randomMarkerObject setMarkerType "mil_objective";
randomMarkerObject setMarkerText "Ящик найден";

sleep 600;
deleteMarker "Yajik2";
deleteVehicle lut;
	           };
	        };
       }forEach allPlayers;
    };  
       sleep 5;
};

Смысл миссии таков: На карте появляется маркер с оповещением о начале миссии в правом углу экрана.

как только в этом секторе появляется нужное количество игроков то срабатывает условие которое запускает миссию.И как мы видим через 10 минут или как написано в скрипте,через 600 секунд сбрасывается ящик с наградой.Если за 5 минут или 300 секунд,не наберётся нужное количество игроков то миссия удалиться!:laugh: Можно поставить свои параметры,меняйте как хотите.

 

Теперь поговорим об установке.

Создаем папку и называем её как хотите.

Далее создаём файл mission.sqf

В нём прописываем.

sleep 40;
while{true} do
{
  sleep 30;
   _name = [1];
   _mis = floor(random 1);
   _num = _name select _mis;
     if(_num == 1) then {
       call compile preProcessFileLineNumbers "папка где хронится файл миссии\название файла вашей мисс sqf";
     };   
};

Если вы будите подключать ещё миссии то нужно будет дописать скрипт.

Пример:

sleep 40;
while{true} do
{
  sleep 30;
   _name = [1,2,3,4,5,6];
   _mis = floor(random 6);
   _num = _name select _mis;
     if(_num == 1) then {
       call compile preProcessFileLineNumbers "папка где хронится файл миссии\название файла вашей мисс sqf";
     };
     if(_num == 2) then {
       call compile preProcessFileLineNumbers "папка где хронится файл миссии\название файла вашей мисс sqf";
     };
     if(_num == 3) then {
       call compile preProcessFileLineNumbers "папка где хронится файл миссии\название файла вашей мисс sqf";
     };	 
     if(_num == 4) then {
       call compile preProcessFileLineNumbers "папка где хронится файл миссии\название файла вашей мисс sqf";  
     };
	 if(_num == 5) then {
       call compile preProcessFileLineNumbers "папка где хронится файл миссии\название файла вашей мисс sqf";  
     };
         if(_num == 6) then {
       call compile preProcessFileLineNumbers "папка где хронится файл миссии\название файла вашей мисс sqf";  
     };
   
};

В примере мы видим,что из 6 ти миссий рамдомно загрузится только одна и как только миссия будет самостоятельно удалена с карты,либо по выполнению либо о исходу времени отпущенное на её выполнение.(Эти параметры удаления прописываются в самой миссии ) ,то загрузится ещё одна.

PS.Можно создать несколько папок с миссиями и тогда можно будет загрузить одновременно несколько миссий.

Далее.

В файле init.sqf Если нет этого файла,создаём его.

if (isServer) then { [] execVM "mission.sqf"};

Далее вам нужно будет закинуть этот файл в вашу миссию и прописать его запуск в  init.sqf

[] execVM "hint.sqf";

Это позволит вам и вашим игрокам видеть оповещения в правом углу экрана.

Ну вот и всё!Теперь наши миссии работают и загружаются не влияя на работу сервера.

PS.Не забудьте сделать аватарку к миссии и прописать путь к ней в скрипте миссии 

image='папка с миссиями\название аватарки в формате jpg '  

 

Изменено пользователем vinnyvint (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





10 часов назад, vinnyvint сказал:

хронится

Болеет в смысле?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В смысле,хроник.:relaxed:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: ZigoFrend
      Что делать если машины с миссий не хотят продаваться ??


    • Автор: Alex39
      [EXO] Mod

       
      Этот [EXO] Mod Pack позволяет нам предоставлять игрокам на  серверах возможность загружать только меньший файл миссии и при этом иметь много дополнительных на наших серверах, таких как: высококачественные текстуры для нашего сценария Base Painting, Awesome скины транспортных средств, Custom Audio файлы и так далее ... В будущем мы будем добавлять все больше и больше в этот пакет дополнений! 
       
      Всего 412 текстур в 2048x2048 для BasePainting, множество высококачественных скинов для Strider (HMG), Ifrit (HMG), Hunter (HMG), SUV, Offroad (Armed), 4WD (Open & Closed)
       
      https://steamcommunity.com/sharedfiles/filedetails/?id=778466491&searchtext=
       

    • Автор: Jdinovich
      Добрый день,захотел поставить станок стингера на миссии,ввел в каждую миссию в Static guns,но почему-то они не появились вот как я писал
       
      //Static Guns [[ [(_position select 0) + 10, (_position select 1) + 10, 0], [(_position select 0) + 10, (_position select 1) - 10, 0] ],"M2StaticMG","Hard","Bandit","Bandit",0,2,"Random","Random",_mission] call spawn_static; [[[(_position select 0) - 10, (_position select 1) - 10, 0]],"Stinger_Pod","hard","Bandit","Bandit",0,2,"Random","Random",_mission] call spawn_static; //Static Guns [[[(_position select 0) - 10, (_position select 1) + 10, 0]],"M2StaticMG","hard","Bandit","Bandit",0,2,"Random","Random",_mission] call spawn_static; [[[(_position select 0) + 10, (_position select 1) - 10, 0]],"M2StaticMG","hard","Bandit","Bandit",0,2,"Random","Random",_mission] call spawn_static; [[[(_position select 0) + 10, (_position select 1) + 10, 0]],"M2StaticMG","hard","Bandit","Bandit",0,2,"Random","Random",_mission] call spawn_static; [[[(_position select 0) - 10, (_position select 1) - 10, 0]],"M2StaticMG","hard","Bandit","Bandit",0,2,"Random","Random",_mission] call spawn_static; [[[(_position select 0) - 10, (_position select 1) - 10, 0]],"Stinger_Pod","hard","Bandit","Bandit",0,2,"Random","Random",_mission] call spawn_static; это две разные коды разных миссиий
    • Автор: sanek327
      Помогите пожалуйста решить проблему,есть миссии Wicked AI 2.2.3, в них есть миссии на которых есть патруль,хаммер или уазик или оффроад не важно,техника которая ездит и патрулирует эту миссию в месте с ботами. И вот вопрос,когда сбиваешь колесо у этой техники или убиваешь водителя,причем с одного выстрела,техника начинает гореть или взрывается,смотрел в рпт,ничего,шарил по всей миссии ничего не нашел,пытался заменить технику,думал проблема в ней,но нет,ставил даже БРДМ,ничего не выходит,куда копать ,что делать?  Помогите,спасибо.
       
      Логи на всякий случай,в этом логе в миссии "ARMY Base" я взорвал хаммер  с одного выстрела в колесо.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.