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

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

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

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

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

Всем привет. Может кто подскажет, как можно ограничить радиус захвата,например ка52, наземной техники ракетами воздух-хемля "Вихрь"? В данный момент захватывается более чем за 5 км и спокойно уничтожается. Снаряды отключать не хочу,а вот радиус бы ограничил. Либо,если это не возможно без вмешательства в мод, как вариант, отключить данные ракеты у пилота,оставив только у стрелка.

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


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

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

  • 0

Где то былоюа созданна похожая тема с инстоукцией, но не смог найти что бы выслать линк или в гайдах или в помощи, скорее в помощи. Поищи и сам

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


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



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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: DrTauren
      Установка:
      1) В папке core/gangs создаём файл fn_areaCapture.sqf с таким содержимым:
      #include "..\..\script_macros.hpp" /*     File: fn_areaCapture.sqf     Author: Fuel RebornRoleplay.com     Description:     checks the area for gangs or police before allowing you to capture an area */ private["_gangNum","_gName","_group","_area","_nil","_pos","_xname","_text","_action","_cpRate","_cP","_nearUnits","_areaContested","_progressBar","_title","_titleText","_ui"]; _area = getpos player nearestObject "Flag_Red_F"; //finds the flag _group = _area getVariable ["gangOwner",grpNull]; //gets the owner of the flag _xname = ""; //setup for popo name _nearUnits = _area nearEntities ["Man",500]; //searches area for players  _areaContested = false; //sets the area to not contested if ((player distance _area) > 10) exitWith { hint "You must be closer to the flag to capture this area!"; }; //too far away /* ######################################### #       The Police Capture System       # ######################################### */ if (playerside isEqualTo west) exitWith { //inform the server the police are trying to capture it. [[0,1],"STR_GNOTF_CaptureAreaAttemptPopo",true,[name player]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; //set the cp rate if (!isNull _group) then {     _cpRate = 0.0045; } else {     _cpRate = 0.0075; }; //Police officer checks {              //check for other members of same side     if ((isPlayer _x) && (_x != player) && (side _x == west)) then {         _areaContested = false;     };     //checks for rebels     if ((isPlayer _x) && (_x != player) && (side _x == civilian)) then {         _areaContested = true;         _xname = "Rebels";     };     //closes the capture     if (_areaContested && _xname isEqualTo "Rebels") then {         hint "Rebels are nearby!\nGet rid of them first!";     }; } forEach _nearUnits; //exit if contested if (_areaContested) exitWith {}; //Setup our progress bar. disableSerialization; _title = localize "STR_GNOTF_CapturingArea"; 5 cutRsc ["life_progress","PLAIN"]; _ui = uiNamespace getVariable "life_progress"; _progressBar = _ui displayCtrl 38201; _titleText = _ui displayCtrl 38202; _titleText ctrlSetText format["%2 (1%1)...","%",_title]; _progressBar progressSetPosition 0.01; _cP = 0.01; if (!(_areaContested)) then {     for "_i" from 0 to 1 step 0 do {         sleep 3; //police capture time * 100         _cP = _cP + _cpRate;         _progressBar progressSetPosition _cP;         _titleText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_title];         //sets the area to incapture         _area setVariable ["inCapture",true,true];         //interuption checks         if (_cP >= 1 || !alive player) exitWith {_area setVariable ["inCapture",false,true];};         if (player distance _area > 100) exitWith {_area setVariable ["inCapture",false,true];}; //how far they can go from the hideout while capturing         if (_areaContested) exitWith {hint "Area Contested";}; //Future testing         if (life_istazed) exitWith {_area setVariable ["inCapture",false,true];}; //Tazed         if (life_isknocked) exitWith {_area setVariable ["inCapture",false,true];}; //Knocked         if (life_interrupted) exitWith {_area setVariable ["inCapture",false,true];}; //interupted     };           if (player distance _area > 100) exitWith {_area setVariable ["inCapture",false,true];}; //how far they can go from the hideout while capturing }; //Kill the UI display and check for various states 5 cutText ["","PLAIN"];         if (player distance _area > 100) exitWith {_area setVariable ["inCapture",false,true];}; //how far they can go from the hideout while capturing if (!alive player || life_istazed || life_isknocked) exitWith {life_action_inUse = false;_area setVariable ["inCapture",false,true];}; //knocked out or tazed revert state if (player getVariable["restrained",false]) exitWith {life_action_inUse = false;_area setVariable ["inCapture",false,true];}; //restrained revert state if (life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_GNOTF_CaptureCancel","PLAIN"]; life_action_inUse = false;_area setVariable ["inCapture",false,true];}; //interupted revert state life_action_inUse = false; titleText[localize "STR_GNOTF_CapturedArea","PLAIN"]; //marker system _gangNum = _area getVariable ["gangNum", ""]; _gName = group player getVariable "gang_name"; _pText = format["Neutralized Area"]; if (_gangNum == "Gang_Area_1") then {     "gang_cap_1" setMarkerText _pText; }; if (_gangNum == "Gang_Area_2") then {     "gang_cap_2" setMarkerText _pText; }; if (_gangNum == "Gang_Area_3") then {     "gang_cap_3" setMarkerText _pText; }; _area setVariable ["inCapture",false,true]; _area setVariable ["gangOwner",group player,true]; }; /* ############################################# #       End Of Police Capture System        # ############################################# */ /* ######################################### #       The Rebel Capture System        # ######################################### */ _area = getpos player nearestObject "Flag_Red_F"; //finds the flag _group = _area getVariable ["gangOwner",grpNull]; //gets the ownerr of the flag _xname = ""; //setup for popo name _nearUnits = _area nearEntities ["Man",500]; //searches area for players if (isNil {group player getVariable "gang_name"}) exitWith { hint "You must be in a gang to capture a gang area!"; }; //not in a gang if (_group isEqualTo group player) exitWith { hint "Your gang already has control over this area!"; }; //already own it if ((_area getVariable ["inCapture",FALSE])) exitWith {hint "Only one person shall capture at once!"; }; //stops 2 people capturing at the same time [[0,1],"STR_GNOTF_CaptureAreaAttempt",true,[name player,(group player) getVariable "gang_name"]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; //tells the server someone is trying to capture the outpost if (!isNull _group) then { _gangName = _group getVariable ["gang_name",""]; //gets the gang name     //check if they want to capture someones elses area     _action = [         format[localize "STR_GNOTF_AlreadygangControlled",_gangName],         localize "STR_Gang_captuerr",         localize "STR_Global_Yes",         localize "STR_Global_No"     ] call BIS_fnc_guiMessage;     _cpRate = 0.0045; } else {     _cpRate = 0.0075; }; //check if area is contested {     //check for other members of same gang     if ((isPlayer _x) && (_x != player) && (side _x == civilian) && (group _x == group player)) then {         _areaContested = false;     };     //check for other rebels     if ((isPlayer _x) && (_x != player) && (side _x == civilian) && (!(group _x == group player))) then {         _areaContested = true;     };     //checks for cops     if ((isPlayer _x) && (_x != player) && (side _x == west)) then {         _areaContested = true;         _xname = "Police Force";     };     //closes the capture     if (_areaContested) exitWith {         if (_xname isEqualTo "Police Force") then {             hint "The Police Force are nearby!\nGet rid of them first!";         } else {             hint "Other rebels are nearby!\nGet rid of them first!";         };     }; } forEach _nearUnits;     //exit if contested  if (_areaContested) exitWith {}; //Setup our progress bar. disableSerialization; _title = localize "STR_GNOTF_CapturingArea"; 5 cutRsc ["life_progress","PLAIN"]; _ui = uiNamespace getVariable "life_progress"; _progressBar = _ui displayCtrl 38201; _titleText = _ui displayCtrl 38202; _titleText ctrlSetText format["%2 (1%1)...","%",_title]; _progressBar progressSetPosition 0.01; _cP = 0.01; if (!(_areaContested)) then {     for "_i" from 0 to 1 step 0 do {         sleep  3; //rebel capture time * 100         _cP = _cP + _cpRate;         _progressBar progressSetPosition _cP;         _titleText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_title];         //sets the area to incapture         _area setVariable ["inCapture",true,true];         //interuption checks         if (_cP >= 1 || !alive player) exitWith {_area setVariable ["inCapture",false,true];};         if (player distance _area > 100) exitWith {_area setVariable ["inCapture",false,true];}; //how far they can go from the hideout while capturing         if (_areaContested) exitWith {hint "Area Contested";};         if (life_istazed) exitWith {_area setVariable ["inCapture",false,true];}; //Tazed         if (life_isknocked) exitWith {_area setVariable ["inCapture",false,true];}; //Knocked         if (life_interrupted) exitWith {_area setVariable ["inCapture",false,true];}; //interupted     };     if (player distance _area > 100) exitWith {_area setVariable ["inCapture",false,true];}; //how far they can go from the hideout while capturing }; //Kill the UI display and check for various states 5 cutText ["","PLAIN"]; if (player distance _area > 100) exitWith {_area setVariable ["inCapture",false,true];}; //how far they can go from the hideout while capturing if (!alive player || life_istazed || life_isknocked) exitWith {life_action_inUse = false;_area setVariable ["inCapture",false,true];}; //knocked out or tazed revert state if (player getVariable["restrained",false]) exitWith {life_action_inUse = false;_area setVariable ["inCapture",false,true];}; //restrained revert state if (life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_GNOTF_CaptureCancel","PLAIN"]; life_action_inUse = false;_area setVariable ["inCapture",false,true];}; //interupted revert state life_action_inUse = false; titleText[localize "STR_GNOTF_CapturedArea","PLAIN"]; //marker system _gangNum = _area getVariable ["gangNum", ""]; _gName = group player getVariable "gang_name"; _Text = format["Area Controlled By %1",_gName]; if (_gangNum == "Gang_Area_1") then {     "gang_cap_1" setMarkerText _text; }; if (_gangNum == "Gang_Area_2") then {     "gang_cap_2" setMarkerText _text; }; if (_gangNum == "Gang_Area_3") then {     "gang_cap_3" setMarkerText _text; }; //Tell the world [[0,1],"STR_GNOTF_CaptureAreaSuccess",true,[name player,(group player) getVariable "gang_name"]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; _area setVariable ["inCapture",false,true]; _area setVariable ["gangOwner",group player,true]; /* ############################################# #       End Of The Rebel Capture System     # ############################################# */ 2) Открываем Functions.hpp и добавляем код ниже в  core/gangs:
      class areaCapture {}; 3) Открываем редактор миссий и создаём три локации:
      Локация #1
      Добавляем флаг Flag_Red_F и записываем его координаты (понадобится позже)
      Поле init этого флага должно содержать: this allowDamage false; this enableSimulation false; this setVariable ["gangNum","Gang_Area_1", true]; На позиции флага добавляем маркер и называем его: gang_cap_1
      Поле test должно содержать описание: Uncontrolled Area
        Локация #2
      Добавляем флаг Flag_Red_F и записываем его координаты (понадобится позже)
      Поле init этого флага должно содержать: this allowDamage false; this enableSimulation false; this setVariable ["gangNum","Gang_Area_2", true]; На позиции флага добавляем маркер и называем его: gang_cap_2
      Поле test должно содержать описание: Uncontrolled Area
       
      Локация #3
      Добавляем флаг Flag_Red_F и записываем его координаты (понадобится позже)
      Поле init этого флага должно содержать: this allowDamage false; this enableSimulation false; this setVariable ["gangNum","Gang_Area_3", true]; На позиции флага добавляем маркер и называем его: gang_cap_3
      Поле test должно содержать описание: Uncontrolled Area
      P.S. Также можно создать триггер в 500 метров для каждого флага, чтобы игроки знали его зону, но это по личному усмотрению
      4) Открываем файл stringtable.xml и добавляем код:
              <Key ID="STR_GNOTF_CaptureAreaAttemptPopo">             <Original>%1 and the police are trying to neutralize an area!</Original>         </Key>         <Key ID="STR_GNOTF_CapturingArea">             <Original>Claiming Area</Original>         </Key>         <Key ID="STR_GNOTF_CapturedArea">             <Original>Area has been captured.</Original>         </Key>         <Key ID="STR_Gang_captuerr">             <Original>Capture Area</Original>         </Key>         <Key ID="STR_GNOTF_CaptureAreaSuccess">             <Original>%1 and his gang: %2 - have claimed an area!</Original>         </Key> 5) Открываем fn_setupActuons.sqf и добавляем код ниже в классы west и civilian:
      //Gang life_actions = life_actions + [player addAction["<t color='#FF0000'>Capture Gang Location</t>",life_fnc_areaCapture,"",0,false,false,"",' ((typeOf cursorTarget) == "Flag_Red_F") ']]; Серверная часть
      6) Открываем папку life_server/functions/gang и создаём файл fn_gangCash.sqf с таким содержимым:
      #include "\life_server\script_macros.hpp" /*     File: fn_gangCash.sqf     Author: Fuel RebornRoleplay.com     Description:     checks the gang areas, then rewards the gang if they own them */  /*     #########################      #      north outpost        #      #########################  */ //gets the flag locations _area = [4870.743,21934.35,0] nearestObject "Flag_Red_F"; //gets the gang names of the flag owners _owner = _area getVariable ["gangOwner",grpNull]; //get the gang funds _gFund = _owner getVariable ["gang_bank",0]; //set the new gang funds _owner setVariable ["gang_bank",round(_gFund+((count playableUnits)*2000)),true]; //push gang funds to DB [1,_owner] call TON_fnc_updateGang;    /*     #########################      #    south pen outpost    #      #########################  */ //gets the flag locations _area2 = [11207.171,8699.596,0] nearestObject "Flag_Red_F"; //gets the gang names of the flag owners _owner = _area2 getVariable ["gangOwner",grpNull]; //get the gang funds _gFund = _owner getVariable ["gang_bank",0]; //set the new gang funds _owner setVariable ["gang_bank",round(_gFund+((count playableUnits)*2000)),true]; //push gang funds to DB [1,_owner] call TON_fnc_updateGang;  /*     #########################      #       east outpost        #      #########################  */ //gets the flag locations _area3 = [20079.65,6744.436,0] nearestObject "Flag_Red_F"; //gets the gang names of the flag owners _owner = _area3 getVariable ["gangOwner",grpNull]; //get the gang funds _gFund = _owner getVariable ["gang_bank",0]; //set the new gang funds _owner setVariable ["gang_bank",round(_gFund+((count playableUnits)*2000)),true]; //push gang funds to DB [1,_owner] call TON_fnc_updateGang; //time between scripts Sleep 900; [] spawn TON_fnc_gangCash; 7) Теперь координаты локаций, которые мы сохраняли нужно вставить в скрипте выше (fn_gangCash.sqf) в трёх местах где написано подобное:
      //gets the flag locations _area3 = [20079.65,6744.436,0] nearestObject "Flag_Red_F"; 8) Открываем Config.cpp и вставляем код ниже в: \life_server\Functions\Gangs:
      class gangCash {}; 9) Открываем server init.sqf и под этой строкой:
      [] spawn TON_fnc_initHouses; вставляем этот код:
      [] spawn TON_fnc_gangCash;

      Оригинал на английском:
      https://www.altisliferpg.com/topic/1257-tutorial-gang-capturable-areas/  
    • Автор: siriusblek13
      Как вырезать вооружение у тяжёлой техники? Например у КА-52 убрать ракеты и оставить только пулемёт? Ещё вот вопрос, как сделать, что бы техника после рестарта появлялась без патронов, например тот же самый КА-52. Сделал покупку техники без патронов, но после рестарта техника с полным боекомплектом.
    • Автор: himik
      ПТУРы  на боевых вертах и бронетехнике не берут цели в захват,вообще никак,в чем может быть проблема? ЗУРы (ручные) захват делают
    • Автор: JustBullet
      Как проверить что был открыт инвентарь находясь внутри техники?
    • Автор: Schigari
      Как настроить прочность техники в DayZ mod Arma 2 ? Уж очень она хрупка по умолчанию.
  • Наш выбор

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

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

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