???
Математика на уровне МГУ

Страница 1 из 7 12345 ... КрайняяКрайняя
Показано с 1 по 25 из 168

Тема: Полный редактор и скрипты.

  1. #1

    Полный редактор и скрипты.

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

    Что мы имеем на этот момент.

    Скрипт представляет собой обычный (ну или почти) cs файл со всеми полагающимися атрибутами. Скажем скрипт от одной из миссий, исключая реализацию выглядел так:
    Код:
    //$reference Campaign.dll
    //-$debug
    using System;
    using maddox.game;
    using maddox.game.world;
    
    public class Mission : maddox.game.campaign.Mission {
    
    	// здесь реализация....
     
    }
    Т.е., нам надо создать новый класс (Mission), наследуемый от класса maddox.game.campaign.Mission.

    Далее, методом переопределения существующих виртуальных методов класса-предка, собственно и пишем всю подноготную для миссии.

    Собственно класс maddox.game.campaign.Mission я как то не нашел (уже нашел), но зато обнаружил абстрактный класс AMission (maddox.game.campaign.Mission наследуется от него прямо). Далее выкладываю список всех виртуальных методов этого класса (первая строчка - защищенный конструктор, его ИМХО трогать пока не надо.), а также публичные поля класса. С которыми разобрался, напишу дополнительно, ну и постараюсь походу информацию дополнять, включая информацию по используемым классам (таких как AiActor к примеру и т.д.).
    Код:
    protected AMission()
    public virtual void Init(maddox.game.ABattle battle, int missionNumber)
    public virtual void Inited()
    public virtual bool IsMissionListener(int missionNumber)
    public virtual void OnActorCreated(int missionNumber, string shortName, maddox.game.world.AiActor actor)
    public virtual void OnActorDamaged(int missionNumber, string shortName, maddox.game.world.AiActor actor, maddox.game.world.AiDamageInitiator initiator, part.NamedDamageTypes damageType)
    public virtual void OnActorDead(int missionNumber, string shortName, maddox.game.world.AiActor actor, System.Collections.Generic.List<DamagerScore> damages)
    public virtual void OnActorDestroyed(int missionNumber, string shortName, maddox.game.world.AiActor actor)
    public virtual void OnActorTaskCompleted(int missionNumber, string shortName, maddox.game.world.AiActor actor)
    public virtual void OnAiAirNewEnemy(maddox.game.world.AiAirEnemyElement element, int army)
    public virtual void OnAircraftCrashLanded(int missionNumber, string shortName, maddox.game.world.AiAircraft aircraft)
    public virtual void OnAircraftCutLimb(int missionNumber, string shortName, maddox.game.world.AiAircraft aircraft, maddox.game.world.AiDamageInitiator initiator, part.LimbNames limbName)
    public virtual void OnAircraftDamaged(int missionNumber, string shortName, maddox.game.world.AiAircraft aircraft, maddox.game.world.AiDamageInitiator initiator, part.NamedDamageTypes damageType)
    public virtual void OnAircraftKilled(int missionNumber, string shortName, maddox.game.world.AiAircraft aircraft)
    public virtual void OnAircraftLanded(int missionNumber, string shortName, maddox.game.world.AiAircraft aircraft)
    public virtual void OnAircraftLimbDamaged(int missionNumber, string shortName, maddox.game.world.AiAircraft aircraft, maddox.game.world.AiLimbDamage limbDamage)
    public virtual void OnAircraftTookOff(int missionNumber, string shortName, maddox.game.world.AiAircraft aircraft)
    public virtual void OnAutopilotOff(maddox.game.world.AiActor actor, int placeIndex)
    public virtual void OnAutopilotOn(maddox.game.world.AiActor actor, int placeIndex)
    public virtual void OnBattleInit()
    public virtual void OnBattleStarted()
    public virtual void OnBattleStoped()
    public virtual void OnCarter(maddox.game.world.AiActor actor, int placeIndex)
    public virtual void OnMissionLoaded(int missionNumber)
    public virtual void OnPersonHealth(maddox.game.world.AiPerson person, maddox.game.world.AiDamageInitiator initiator, float deltaHealth)
    public virtual void OnPersonMoved(maddox.game.world.AiPerson person, maddox.game.world.AiActor fromCart, int fromPlaceIndex)
    public virtual void OnPersonParachuteFailed(maddox.game.world.AiPerson person)
    public virtual void OnPersonParachuteLanded(maddox.game.world.AiPerson person)
    public virtual void OnPlaceEnter(maddox.game.Player player, maddox.game.world.AiActor actor, int placeIndex)
    public virtual void OnPlaceLeave(maddox.game.Player player, maddox.game.world.AiActor actor, int placeIndex)
    public virtual void OnPlayerArmy(maddox.game.Player player, int army)
    public virtual void OnPlayerConnected(maddox.game.Player player)
    public virtual void OnPlayerDisconnected(maddox.game.Player player, string diagnostic)
    public virtual void OnSingleBattleSuccess(bool success)
    public virtual void OnTickGame()
    public virtual void OnTickReal()
    public virtual void OnTrigger(int missionNumber, string shortName, bool active)
    public virtual void Timeout(double sec, maddox.game.DoTimeout doTimeout)
    
    public maddox.game.ABattle Battle { get; }
    public maddox.game.IGamePlay GamePlay { get; }
    public int MissionNumber { get; }
    public int MissionNumberListener { set; get; }
    public maddox.game.world.ITime Time { get; }
    Как видно, названия многих методов говорят сами за себя.
    Далее маленький пример. Скажем реакция на триггер:

    Переопределяем метод OnTrigger

    public override void OnTrigger(int missionNumber, string shortName, bool active)
    {
    // здесь реализация...
    }


    Собственно реализация..

    if ("trigger".Equals(shortName) && active)
    {
    GamePlay.gpHUDLogCenter("Сработал триггер trigger");
    }


    Человеческий перевод. Если имя триггера равно trigger и он активен (т.е. условия триггера выполнены) пишем надпись по центру экрана "Сработал триггер trigger".

    В итоге у нас получится что-то вроде этого:

    Код:
    //$reference Campaign.dll
    //-$debug
    using System;
    using maddox.game;
    using maddox.game.world;
    
    public class Mission : maddox.game.campaign.Mission {
    
    	public override void OnTrigger(int missionNumber, string shortName, bool active)
            {
                if ("trigger".Equals(shortName) && active)
               {
                    GamePlay.gpHUDLogCenter("Сработал триггер trigger");
                }   
            }
     
    }
    Конечно, для того что бы что-то писать, надо хотя бы немного знать C#. В целом это весьма несложно. Также информацию можно почерпнуть, просмотрев скрипты к миссиям кампаний (....Steam\SteamApps\common\il-2 sturmovik cliffs of dover\parts\bob\mission\campaign)

    Кстати GamePlay.gpHUDLogCenter() не будет работать, если в миссии нет игроков-людей... Брехня, таки работает.

    Примеры скриптов.
    Ниже буду размещать примеры скриптов. Может кто-то еще чего подскажет.

    ________________________

    Запуск действия
    (Сейчас с игре похоже присутствует только один тип действия - рождение группы).

    1. Подготовка.
    Создаем группу самолетов как обычно, но в свойствах группы ставим флажок "Старт скриптом". Группа не появится до тех пор, пока мы ее сами не запустим.
    2. Идем в "Скрипты" на вкладку "Действия". Создаем новое действие, называем его, например "TestAction" (без кавычек), жмакаем "Выбрать группу" и указываем созданную нами в первом шаге группу.

    3. Допустим, мы хотим, что-бы группа родилась, когда кого то отправят к праотцам. Это может быть что угодно, как самолет так и прочее... Переходим на вкладку скрипты и пишем следующее:

    Код:
    using System;
    using maddox.game;
    using maddox.game.world;
    
    
    class Mission : maddox.game.AMission
    {
    	public override void OnActorDead(int missionNumber, string shortName, AiActor actor, System.Collections.Generic.List<DamagerScore> damages)
    	{
    		base.OnActorDead(missionNumber, shortName, actor, damages);
    		AiAction action = GamePlay.gpGetAction("TestAction");
    		if (action != null)
    		{
    			action.Do();
    		}
    	}
    }
    Обратите внимание. Наследоваться надо не от maddox.game.campaign.Mission, а от maddox.game.AMission. Это актуально для сингловых миссий и (возможно) мультиплеерных. Для миссий в кампании надо наследоваться от maddox.game.campaign.Mission. Этот класс предоставляет еще одно свойство Campaign, который позволяет управлять кампанией.

    Человеческим языком:

    public override void OnActorDead(...)
    Переопределили метод, который вызывается при чьей либо смерти.

    base.OnActorDead(missionNumber, shortName, actor, damages);
    В принципе можно не вызывать, но для порядка пусть будет.

    AiAction action = GamePlay.gpGetAction("TestAction");
    if (action != null)
    {
    action.Do();
    }

    В первой строчке получили объект действия по его имени. Как мы помним, это было "TestAction"
    Вторая строчка - проверяем, действительно ли ц нас есть такое действие (от опечаток никто не застрахован), и, если оно есть (т.е. не равно null), вызываем метод действия Do(). Что значит "Сделать". Вуаля. Наша группа появляется и топает по маршруту.
    Крайний раз редактировалось Small_Bee; 10.04.2011 в 00:01.

  2. #2

    Re: Полный редактор и скрипты.

    Клёво! А сделай, пожалуйста, пример миссии со скриптом, если это не сложно. Например, игрок вылетает сначала против одного бота, а если его сбивает, то против него уже вылетают два бота. Я как поняла там же где и триггеры есть закладка с действиями, где можно нарисовать действие с рождением новой группы, а скриптом увязать триггер с действием.

  3. #3

    Re: Полный редактор и скрипты.

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

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

  4. #4

    Re: Полный редактор и скрипты.

    Сделал небольшую миссию как пример скрипта, типа "Выживание".
    Всего три раунда и четыре противника - 3 G.50 и один мессер-асс. Бой проходит над водой, высота 3000 м. Думаю будет не сложно.
    Распаковать в ...\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\missions\Single
    Если все нормально, в отдельных заданиях появится миссия "Выживание".

    Нажмите на изображение для увеличения. 

Название:	round1.jpg 
Просмотров:	209 
Размер:	95.0 Кб 
ID:	131587
    Вложения Вложения
    • Тип файла: rar Single.rar (2.8 Кб, Просмотров: 234)

  5. #5
    Инспектор
    Регистрация
    12.08.2008
    Адрес
    Новосибирск
    Сообщений
    5,345

    Re: Полный редактор и скрипты.

    Угу.
    Теперь понятно где находится "главный вход"
    Я-то его искал в ClientAddin-ах.
    А вопрос на засыпку можно?
    В случае более-менее сложного скрипта, какие инструменты отладки можно использовать?

  6. #6

    Re: Полный редактор и скрипты.

    Цитата Сообщение от Mirnyi Посмотреть сообщение
    Угу.
    Теперь понятно где находится "главный вход"
    Я-то его искал в ClientAddin-ах.
    А вопрос на засыпку можно?
    В случае более-менее сложного скрипта, какие инструменты отладки можно использовать?
    К сожалению, похоже, что кроме собственной головы - никаких. Если кто найдет обратное, буду очень признателен.
    Почти наверняка влияет вот эта строчка - //-$debug, но я с ней пока не экспериментировал.
    Я делаю так - запускаю студию, новый проект любой C#. Прилинковал к проекту:

    ...\Steam\SteamApps\common\il-2 sturmovik cliffs of dover\parts\core\part.dll
    ...\Steam\SteamApps\common\il-2 sturmovik cliffs of dover\parts\core\maddox.dll
    ...\Steam\SteamApps\common\il-2 sturmovik cliffs of dover\parts\core\gameWorld.dll
    ...\Steam\SteamApps\common\il-2 sturmovik cliffs of dover\parts\core\gamePlay.dll
    ...\Steam\SteamApps\common\il-2 sturmovik cliffs of dover\parts\bob\Campaign.dll

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

    using System;
    using maddox.game;
    using maddox.game.world;

    И пишу себе спокойно, после код просто копирую в игру. Единственное убираю неймспейс моего проекта. Не самая удобная штука, но писать вполне можно.
    Крайний раз редактировалось Small_Bee; 10.04.2011 в 13:09.

  7. #7

    Re: Полный редактор и скрипты.

    А теперь устроим небольшую диверсию
    Пример миссии в аттаче, комментарии в коде ниже.

    Код:
    using System;
    using maddox.game;
    using maddox.game.world;
    
        public class Mission : maddox.game.AMission
        {
      	// переопределяем метод, который вызывается, когда какой-то из самолетов взлетит...
    	public override void OnAircraftTookOff(int missionNumber, string shortName, AiAircraft aircraft)
            {
                base.OnAircraftTookOff(missionNumber, shortName, aircraft); // вызвали базовый метод (мало ли...)
                if (GamePlay.gpPlayer() != null) // проверили, есть ли у нас игрок.
                {
                    if (GamePlay.gpPlayer().Place() != null) // проверили, что игрок сидит где-то, а не болтается на тряпке.
                    {
                        if (aircraft.Name().Equals(GamePlay.gpPlayer().Place().Name())) // если взлетевший самолет - игрока, то...
                        {
                            aircraft.hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled); // ...вырубаем рули высоты...
                            aircraft.hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled); // ... элероны ...
                            aircraft.hitNamed(part.NamedDamageTypes.ControlsRudderDisabled); // ... руль направления.
    						// Приятного полета!
                        }
                    }
                }
            }      
        }
    Вложения Вложения

  8. #8

    Re: Полный редактор и скрипты.

    Небольшой скриншот, что-бы можно было начинать пускать слюну. Разбираемся дальше в общем...
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	AddIn.jpg 
Просмотров:	523 
Размер:	106.1 Кб 
ID:	131630  

  9. #9
    Инспектор
    Регистрация
    12.08.2008
    Адрес
    Новосибирск
    Сообщений
    5,345

    Re: Полный редактор и скрипты.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Небольшой скриншот, что-бы можно было начинать пускать слюну. Разбираемся дальше в общем...
    Вот за то, как это удалось, скажу огромаднейшее СПАСИБО....
    Колись.... пожалуйста

  10. #10
    Инструктор Аватар для Ilya Kaiten
    Регистрация
    21.06.2010
    Адрес
    Норильск
    Возраст
    48
    Сообщений
    1,793

    Re: Полный редактор и скрипты.

    М.б. Маленький Пчёл даже решится на написание небольшого, но содержательно гайда по результатам своих исследований? Если гайд будет в расчёте на не отягощённых академическими знаниями в области программирования, то я буду просто счастлив (моё вот знакомство с кодингом ограничилось, в своё время, бейсиком, да последующим ковырянием скриптов игровых серверов...).

    Особенно, конечно, интересны методы реализации ветвления сюжетной линии,
    сбор, обработка, отображение статистики,
    сборка следующей миссии по итогам предыдущей (как-то подвижка линии фронта и потеря/занятие филдов или условия по типу: в эскадре было 20 крафтов, в вылет ушло 10, вернулось 7 = в следующей миссии всего 17 крафтов)
    ветвление сюжетной линии по итогам предыдущей миссии.

    Губозакатывательную машинку не предлагать =)

  11. #11
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    53
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Полный редактор и скрипты.

    Тоже как поклонник бейсика хочу спросить насколько сложно сделать образец миссии для онлайна, чтобы по ее шаблону можно было бы делать другие онлайн миссии не углубляясь в программирование дальше копи-паст?

    Например: 2 "прифронтовых" аэродрома противников, 2 тыловых аэродрома противников. Рождаются зенитные и другие бронеавтомобили, пара танков, ползут на фронтовой аэродром противника. Как только их убили, рождаются новые в другом квадрате. Регулярно рождаются бомберы, летят уничтожать танчики противника.

    Для начала для онлайна будет достаточно, потом можно будет добавить склады, конвои и проч.

    Насколько сложно такие скрипты написать?
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  12. #12
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    40
    Сообщений
    4,245

    Re: Полный редактор и скрипты.

    Спасибо за исследования, очень все неплохо выглядит
    Владею написанием скриптов для Армы, здесь вроде бы все пострашнее выглядит, точнее непонятно как и куда прописывать. Ну и список команд бы наподобие бисовской вики, очень помогло бы.

  13. #13
    Старший инструктор
    Регистрация
    25.03.2006
    Сообщений
    3,234

    Re: Полный редактор и скрипты.

    Пчел, а на сколько реально сделать такую вещь?
    Прив посадке и выключении двигателя происходила бы перезарядка самолета. Например в течение 1-2 минуты с условием подъехать к машинке - техникам людям и т.п.- как раз время отдохнуть после вылета и успеть к новому, и заправка, и возможно мелкий ремонт но уже более длительный по времени. И например в заисимости от рембазы - разбомблена ли или нет. Эта фича была бы очень исторична, т.к. в реале истребители англии успевали сесть перезарядится и продолжить сбивать. В игре же приходится выходить при этом миссию надо запускать заново

  14. #14

    Re: Полный редактор и скрипты.

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

    На счет перезарядки не уверен - так глубоко пока не копал.

    Машинки и прочие танки заставить туда сюда кататься по команде можно, но судя по всему, старт наземки скриптом пока не работает (либо баг, либо что-то не так делаю). Я пытался устроить высадку десанта - подходит корабль, срабатывает триггер, рядом с кораблем появляются десантные лодки, гребут к берегу, по достижении берега на нем появляется наземка и топает вглубь континента. Однако не смотря на то, что триггеры срабатывали и выполнялись действия на рождение групп, сама группа так и не появлялась. Причем с самолетами тот же номер проходит прекрасно.

    Ну и пытаюсь подключить АddIn.. Есть такая мысль, что если описать в нем класс миссии (по типу Campaign.dll), в котором бы вся инфа (или выборочно в зависимости от настроек) сливалась в лог или сразу в базу, дописать свои методы, то в скрипте можно было бы наследоваться от этого класса и не беспокоится от "учете".

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

    Так как формат миссия текстовый, думаю формировать их кодом будет не сильно сложнее, чем в Иле. Но, полагаю, особой необходимости в этом не будет. Все вполне можно разворачивать на одной карте без перезагрузки миссии.

  15. #15
    Инспектор
    Регистрация
    12.08.2008
    Адрес
    Новосибирск
    Сообщений
    5,345

    Re: Полный редактор и скрипты.

    Всёже, поясни чайнику ЧЯНТД (по поводу аддинов)
    Смотри.
    Создаю проект в студии, добавляю ссылку на System.Addin и на AddInView из папки боба.
    Пишу вот такую простую фигню:
    Код:
    using System;
    using System.AddIn;
    
    
    
    namespace myaddin
    {
           [AddIn("MyaddinToBOB", Version = "1.0.0.0")]
     public class MyAddinToBOB : maddox.Client.AddInView
        {
            public override void AnswerFile(string serverFileName, System.IO.Stream fileStream)
            {
              
            }
    
            public override bool ConsoleInput(string line)
            {
                return true;
            }
    
            public override void Initialize(GameObject gameObj, bool isServer)
            
            {
                
                Console.WriteLine(gameObj.ToString() + isServer.ToString());
                gameObj.ConsoleOutput("ghbdtn");
            }
    
            public override void MsgFromServer(byte[] msg)
            {
            }
    
            public override void PageEnter(string page, string prevPage, string arg)
            {
            }
    
            public override void PageEnterPop(string page, string prevPage, string arg)
            {
            }
    
            public override void PageEnterPush(string page, string upPage, string arg)
            {
            }
    
            public override void PageLeave(string page, string newPage, string arg)
            {
            }
    
            public override void PageLeavePop(string page, string upPage, string arg)
            {
            }
    
            public override void PageLeavePush(string page, string newPage, string arg)
            {
            }
    
            public override void Terminate()
            {
            }
    
            public override void UIMainOnHide()
            {
            }
    
            public override void UIMainOnShow()
            {
            }
        }
    }
    Дальше компиллю это в длл-ку и размещаю её в папаке ClientAddins/addins/myaddin
    Пробовал и в директории с игрой, и в документах - результат 0
    Сразу скажу - запускаю сервер.
    До патча, отладка этого проекта (при прописывании запускаемой программы) вылетала с руганью БОБа "не хочу работать под отладчиком", после патча, вроде отладка начинается, но длл-ка эта явно не грузится в боб.
    Может, я где-то крепко туплю?

  16. #16

    Re: Полный редактор и скрипты.

    Если к этому у референса на вью стоит Copy local = false, значит все вроде правильно. Имхо, проверить AddIn на правильность можно, нарисовав собственный хост. Это недолго.
    А так, если хост не создает/обновляет файлы кэша (смотри *.store рядом со сборками конвеера), значит это фича пока отключена. У меня такие файлы были - удалил ради эксперимента, больше не появлялись.

    Элемент меню делается элементарно. Во первых, из аддона через вызов соответствующих методов GameObject, а во вторых... Смотрим ...Steam\SteamApps\common\il-2 sturmovik cliffs of dover\AddIns, делаем выводы.
    Крайний раз редактировалось Small_Bee; 11.04.2011 в 19:23.

  17. #17
    Инспектор
    Регистрация
    12.08.2008
    Адрес
    Новосибирск
    Сообщений
    5,345

    Re: Полный редактор и скрипты.

    AddIn.store в \ClientAddIns\AddIns
    и PipelineSegments.store в \ClientAddIns
    присутствуют



    Присутствовали
    После удаления - ёк.
    Крайний раз редактировалось Mirnyi; 11.04.2011 в 19:56.

  18. #18
    Старший инструктор
    Регистрация
    25.03.2006
    Сообщений
    3,234

    Re: Полный редактор и скрипты.

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

    На счет перезарядки не уверен - так глубоко пока не копал.

    Машинки и прочие танки заставить туда сюда кататься по команде можно, но судя по всему, старт наземки скриптом пока не работает (либо баг, либо что-то не так делаю). Я пытался устроить высадку десанта - подходит корабль, срабатывает триггер, рядом с кораблем появляются десантные лодки, гребут к берегу, по достижении берега на нем появляется наземка и топает вглубь континента. Однако не смотря на то, что триггеры срабатывали и выполнялись действия на рождение групп, сама группа так и не появлялась. Причем с самолетами тот же номер проходит прекрасно.

    Ну и пытаюсь подключить АddIn.. Есть такая мысль, что если описать в нем класс миссии (по типу Campaign.dll), в котором бы вся инфа (или выборочно в зависимости от настроек) сливалась в лог или сразу в базу, дописать свои методы, то в скрипте можно было бы наследоваться от этого класса и не беспокоится от "учете".

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

    Так как формат миссия текстовый, думаю формировать их кодом будет не сильно сложнее, чем в Иле. Но, полагаю, особой необходимости в этом не будет. Все вполне можно разворачивать на одной карте без перезагрузки миссии.
    Перезарядку можно реализовать например таким способом - просто добавляется полный БК - автоматически или в меню переговоров (к примеру) или по нажатии кнопки (я так делал скрипты в арме2)

  19. #19

    Re: Полный редактор и скрипты.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Машинки и прочие танки заставить туда сюда кататься по команде можно, но судя по всему, старт наземки скриптом пока не работает (либо баг, либо что-то не так делаю). Я пытался устроить высадку десанта - подходит корабль, срабатывает триггер, рядом с кораблем появляются десантные лодки, гребут к берегу, по достижении берега на нем появляется наземка и топает вглубь континента. Однако не смотря на то, что триггеры срабатывали и выполнялись действия на рождение групп, сама группа так и не появлялась. Причем с самолетами тот же номер проходит прекрасно.
    Скажи, будь добр чем вызывал рождение наземки? Авиагруппы вижу, наземные - нет 8-/
    Если ты веришь, что все можно испортить, поверь и в то, что все можно исправить. Раби Нахман из Браслава.

  20. #20
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    53
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Полный редактор и скрипты.

    Small_Bee,

    а есть ли уже понимание, каким скриптом вызывать рождение самолета в онлайне каждые 15 или 30 минут, например? Хочу в онлайн миссию добавить.

    По поводу рождения наземки, в игре есть скрипты для аэродромного транспорта (тракторов,тележек и проч.) и колонн, которые по дорогам катаются (в обучающих миссиях например). Вы эти скрипты не вскрывали? Ни в одном из них случайно не заложена функция их возрождения после уничтожения?

    Кто играл в оффлайн компании, нет ли там миссий в которых что-то появляется с периодически с интервалом во времени? Хочу вскрыть и посмотреть такую.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  21. #21
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    53
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Полный редактор и скрипты.

    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  22. #22

    Re: Полный редактор и скрипты.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Small_Bee,

    а есть ли уже понимание, каким скриптом вызывать рождение самолета в онлайне каждые 15 или 30 минут, например? Хочу в онлайн миссию добавить.

    По поводу рождения наземки, в игре есть скрипты для аэродромного транспорта (тракторов,тележек и проч.) и колонн, которые по дорогам катаются (в обучающих миссиях например). Вы эти скрипты не вскрывали? Ни в одном из них случайно не заложена функция их возрождения после уничтожения?

    Кто играл в оффлайн компании, нет ли там миссий в которых что-то появляется с периодически с интервалом во времени? Хочу вскрыть и посмотреть такую.
    Пример миссии с циклическим возрождением наземки. Колонна на колонну. Как только одна колонна гибнет, через 10 сек. рождается новая. Уничтоженные юниты убирается с глаз долой через полторы минуты после убиения. Запускать host01.mis. Класть в Dogfight. Можно в принципе и в другую папку, но тогда надо будет изменить пути к файлам миссий в скриптах. Аналогично делается и для самолетов. Dogfight.rar

    PS Скрипты, те, которые cpp, походу отвечают за индивидуальное поведение объекта..

  23. #23
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    53
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Полный редактор и скрипты.

    Спасибо!!
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  24. #24

    Re: Полный редактор и скрипты.

    Вот такое вопрос, может кто пытался. А можно ли из плагина запустить миссию? А еще лучше - а можно ли из плагина запустить миссию как хост и/или присоединиться к указанному адресу в качестве хоста. О как.
    Если ты веришь, что все можно испортить, поверь и в то, что все можно исправить. Раби Нахман из Браслава.

  25. #25

    Re: Полный редактор и скрипты.

    Цитата Сообщение от tahorg Посмотреть сообщение
    Вот такое вопрос, может кто пытался. А можно ли из плагина запустить миссию? А еще лучше - а можно ли из плагина запустить миссию как хост и/или присоединиться к указанному адресу в качестве хоста. О как.
    Встречный вопрос.. А вы уже прикрутили плагин? Если прикрутили, делитесь.

Страница 1 из 7 12345 ... КрайняяКрайняя

Ваши права

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