Показано с 1 по 9 из 9

Тема: Скрипт чистки от рытвин на аэродроме

  1. #1
    Модератор форума Аватар для a11archer
    Регистрация
    26.02.2014
    Адрес
    Москва
    Сообщений
    503
    Благодарности/Неодобрения
    Получено: 10/0
    Отправлено: 149/0

    Скрипт чистки от рытвин на аэродроме

    Код доработан, исходники ниже:
    (источник кода)Вставить маркер на карту.
    В маркере задать имя маркера triggername1
    nothing = [triggerName1] execVM "scripts\bobcat\boxZone.sqf";

    Любой бульдозер (Бобкет) который наедет на площадку сможет чистить аэродром и выбрасывать до 4х контейнеров боеприпасов к технике.

    Первоисходник сделал tox1m
    Код:
    Crater cleaner and a bomb remover scripts
    Ill post these here, maybe somebody can find these useful 
    
    Script that cleans up craters from the given area, left behind by blown up helicopters and planes. 
    Ever had to avoid craters at airfield during takeoff/landing? Those pesky craters have ruined my day several times..
    Code:
    /*
       Author: -=XTRA=- tox1m
    
       Description:
       Cleans up craters from the given area.
    
       Parameter(s):
       1. Area size
       2. Marker name
       
       Example;
       _cratercleaner = [1000, "my_airport"] execVM "cratercleaner.sqf"
    
    */
    
    private ["_basemarker","_craters","_areasize","_base"];
    
    _areasize    = _this select 0;
    _basemarker   = _this select 1;
    
    _base = getMarkerPos _basemarker;
    
    while {true} do 
    {
       _craters = nearestObjects [_base, ["CraterLong"], _areasize];
       sleep 0.1;
       
       if (count _craters > 0) then
       {
          for "_i" from 0 to ((count _craters) - 1) do
          {
             private ["_crater"];
             _crater = _craters select _i;
             deleteVehicle _crater;
          };
       };
       sleep 10;
    };
    
    Script that cleans up certain type of bombs from the given area. 
    Might be useful against players who try to destroy your base.
    Code:
    /*
       Author: -=XTRA=- tox1m
    
       Description:
       Cleans up bombs from the given area.
       Uses nearObjects, since nearestObjects doesnt seem to work with bombs
    
       Parameter(s):
       1. Area size
       2. Marker name
       
       Example;
       _bombdisposal = [1000, "my_airport"] execVM "bombdisposal.sqf"
    
    */
    
    private ["_base","_bombs","_areasize","_basemarker","_bomb1","_bomb2","_bomb3"];
    
    _areasize    = _this select 0;
    _basemarker   = _this select 1;
    
    _base = getMarkerPos _basemarker;
    
    while {true} do
    {
       _bomb1 = _base nearObjects ["Bo_GBU12_LGB", _areasize];
       _bomb2 = _base nearObjects ["PipeBomb", _areasize];
       _bomb3 = _base nearObjects ["Bo_FAB_250", _areasize];
       _bombs = _bomb1 + _bomb2 + _bomb3; // Workaround since nearObjects doesnt seem to work with arrays
       
       if (count _bombs > 0) then
       {
          {deleteVehicle _x} foreach _bombs;
       };
       sleep 0.5; // Short sleep for catching all the bombs before damage occurs.
    };
    Last edited by Toxim; Feb 14 2011 at 14:36. Reason: typos
    Вложения Вложения

    0 Вы не можете благодарить! Вы не можете благодарить!

  2. #2
    Модератор форума Аватар для a11archer
    Регистрация
    26.02.2014
    Адрес
    Москва
    Сообщений
    503
    Благодарности/Неодобрения
    Получено: 10/0
    Отправлено: 149/0
    Сделал. проверил - работает. Бобкет может работать как бульдозер с его помощью. После доработки будет еще и мины чистить.

    groundWorks.sqf
    Код:
    /*
    Crater cleaner and a bomb remover scripts
    Ill post these here, maybe somebody can find these useful 
    
    Script that cleans up craters from the given area, left behind by blown up helicopters and planes. 
    Ever had to avoid craters at airfield during takeoff/landing? Those pesky craters have ruined my day several times..
    Code:
    
       Author: -=XTRA=- tox1m
    
       Description:
       Cleans up craters from the given area.
    
       Parameter(s):
       1. Area size
       2. Marker name
       
       Example;
       0 = [7, myBobCat_name] execVM "groundWorks.sqf";
    
    */
    
    private ["_basemarker","_craters","_areasize","_base"];
    
    _areasize    = _this select 0;
    _basemarker   = _this select 1; //Bobcat
    
    //_areasize = 7; //Only in small range near Bobcat
    
    
    while {true} do 
    {
     if !(Alive _basemarker) exitWith {};
     _base = getPos _basemarker; //Bobcat position 
     _craters = nearestObjects [_base, ["CraterLong"], _areasize];
       sleep 0.1;
       
       if (count _craters > 0) then
       {
       SystemChat (format ["Craters = %1",count _craters]);
          for "_i" from 0 to ((count _craters) - 1) do
          {
             private ["_crater"];
             _crater = _craters select _i;
    		 _basemarker VehicleChat "I`ve prepared the backhoe dipper. Move...";
    		 sleep 2;
             if ( speed (_basemarker) >= 7) then 
    		   {
    				deleteVehicle _crater; 
    		   };
          };
       };
       sleep 3;
    };

    Инициализация скрипта (без возможности респавна. для респавна вставляйте в скрипт вертолетной площадки как это было с другим скриптом (boxZone.sqf). Хотя надо проверить что после респавна не работает!...

    0 = [7, myBobCat_name] execVM "groundWorks.sqf";


    мины больше не являются обьектами, они не управляются через классы nearObjects и NearestObjects, nearEntities (ловить как пули надо, не знаю как). придется без разминирования обойтись наверное.

    0 Вы не можете благодарить! Вы не можете благодарить!

  3. #3
    Модератор форума Аватар для a11archer
    Регистрация
    26.02.2014
    Адрес
    Москва
    Сообщений
    503
    Благодарности/Неодобрения
    Получено: 10/0
    Отправлено: 149/0
    внедрил на RW#6 для примера.

    0 Вы не можете благодарить! Вы не можете благодарить!

  4. #4
    Администратор Аватар для Noart
    Регистрация
    11.02.2014
    Адрес
    Пермь
    Сообщений
    250
    Благодарности/Неодобрения
    Получено: 57/3
    Отправлено: 22/0
    Работает скрипт?

    0 Вы не можете благодарить! Вы не можете благодарить!

  5. #5
    Руководитель проекта Аватар для tym32167
    Регистрация
    31.03.2014
    Адрес
    Челябинск
    Сообщений
    678
    Благодарности/Неодобрения
    Получено: 64/2
    Отправлено: 8/0
    Noart, у нас же на втором вроде он стоит

    0 Вы не можете благодарить! Вы не можете благодарить!

  6. #6
    Администратор Аватар для Noart
    Регистрация
    11.02.2014
    Адрес
    Пермь
    Сообщений
    250
    Благодарности/Неодобрения
    Получено: 57/3
    Отправлено: 22/0
    Ааа это бульдозер. Невнимательно прочитал)

    0 Вы не можете благодарить! Вы не можете благодарить!

  7. #7
    Модератор форума Аватар для a11archer
    Регистрация
    26.02.2014
    Адрес
    Москва
    Сообщений
    503
    Благодарности/Неодобрения
    Получено: 10/0
    Отправлено: 149/0
    Кстати если скрипт бульдозера воткнуть в monitor.sqf (скрипт респавна) то и площадка бобкету не нужна. Хотя что-то грузить в бобкет все-таки хочется. я еще не понял что именно. Может минирование\ разминирование надо. Удалять мины не получалось.
    Цитата Цитата
    cursorTarget
    и
    Цитата Цитата
    nearestObject
    не выдает типа обьектов "Мина".
    Еще ящику выбрасываему бобкетом думаю возможности ремонта (ограниченно числом операций) прописать через функцию.

    0 Вы не можете благодарить! Вы не можете благодарить!

  8. #8
    Модератор форума Аватар для a11archer
    Регистрация
    26.02.2014
    Адрес
    Москва
    Сообщений
    503
    Благодарности/Неодобрения
    Получено: 10/0
    Отправлено: 149/0
    Обновлено до 3.0 (сетевая версия).
    Инициализация:
    [triggername1] execVM "scripts\bobcat\boxZone.sqf";
    Где Triggername - имя пустого триггера с активацией ВСЕ либо Сторона (зоны загрузки Бобкета).
    При загрузке оборудования из зоны триггера бобкет сможет чистить аэродром.
    Вложения Вложения

    0 Вы не можете благодарить! Вы не можете благодарить!

  9. #9
    Модератор форума Аватар для a11archer
    Регистрация
    26.02.2014
    Адрес
    Москва
    Сообщений
    503
    Благодарности/Неодобрения
    Получено: 10/0
    Отправлено: 149/0
    Сетевая версия скрипта обновлена до версии 5.0 (сетевая).
    обработаны исключения ( через isNil {variable} )
    Чуть-чуть расширена зона устранения рытвин - стало намного проще чистить.
    Вложил в первое сообщение.
    Тестируется на 4м сервере.


    Проверил, идей улучшения кода больше у меня больше нет. вполне эффективно. Если бобкету не добавляется действие на базе (после респавна возможно - перезайти в игровой слот помогает. Других трудностей я не замечал.

    0 Вы не можете благодарить! Вы не можете благодарить!

Похожие темы

  1. Скрипт перевооружения
    от ZeRoKoOl в разделе Скрипты
    Ответов: 8
    Последнее сообщение: 31.08.2015, 20:12
  2. Обучающий скрипт
    от mexan в разделе Скрипты
    Ответов: 1
    Последнее сообщение: 12.08.2014, 13:29
  3. Скрипт бронедесанта
    от mexan в разделе Скрипты
    Ответов: 0
    Последнее сообщение: 09.04.2014, 11:32
  4. Скрипт обороны города
    от в разделе Скрипты
    Ответов: 0
    Последнее сообщение: 03.04.2014, 17:08
  5. Скрипт телепорта к объекту
    от mexan в разделе Скрипты
    Ответов: 0
    Последнее сообщение: 09.02.2014, 16:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Яндекс.Метрика