Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
vinnyvint

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

Recommended Posts

Всем доброго времени суток!Сегодня поговорим об установки миссии,миссий,на сервер 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 '  

 

Edited by vinnyvint (see edit history)

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

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


    • By 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=
       

    • By 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; это две разные коды разных миссиий
    • By sanek327
      Помогите пожалуйста решить проблему,есть миссии Wicked AI 2.2.3, в них есть миссии на которых есть патруль,хаммер или уазик или оффроад не важно,техника которая ездит и патрулирует эту миссию в месте с ботами. И вот вопрос,когда сбиваешь колесо у этой техники или убиваешь водителя,причем с одного выстрела,техника начинает гореть или взрывается,смотрел в рпт,ничего,шарил по всей миссии ничего не нашел,пытался заменить технику,думал проблема в ней,но нет,ставил даже БРДМ,ничего не выходит,куда копать ,что делать?  Помогите,спасибо.
       
      Логи на всякий случай,в этом логе в миссии "ARMY Base" я взорвал хаммер  с одного выстрела в колесо.

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

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.