Несфокусированный прыжок / X3 Terran Conflict (Земной конфликт)
X3 Terran Conflict / X3 Земной конфликт
 
X3 Terran conflict / База знаний X3: Terran Conflict / Несфокусированный прыжок  
 

На сайте онлайн (человек): 30

 



Несфокусированный прыжок

Aвτοp: Макс aka Malstrime

Несфокусированный прыжковый двигатель


Бесхозный Странник в секторе несфокусированного прыжка

Описание Несфокусированного прыжкового двигателя

Для того, чтобы получить возможность совершать несфокусированный прыжок, вы должны до конца пройти Гонерскую сюжетную линию. После ее прохождения несфокусированный прыжковый двигатель (далее: НПД) будет "приклеен" к игроку. В меню "Навигация" появится новый пункт "Несфокусированный прыжок". Единственное условие его активности - наличие на корабле обычного Прыжкового двигателя. Также можно назначить горячую клавишу прямо в начале игры (в меню "Управлениие", вкладка "Игра", секция "Улучшения"). На один такой прыжок потребляется всего пять батарей (вне зависимости от класса корабля). Совершив прыжок, вы не сможете командовать кораблями, находящимися за пределами этого сектора. Думаю, на этом все.

Сектор несфокусированного прыжка

Сейчас начнется самое интересное, а именно подробное разбирание кода генерации, а также прочих действий, так или иначе связанных с Неизвестным сектором 23-19, в который игрок попадает при использовании НПД. Сразу хочу предупредить, что мы не будем лезть в обж, ибо нельзя, но, пожалуй, скажу, что именно там находится часть кода, ответственного за случайный выбор одного из пяти бекграундов (фонов), которые мы можем узреть. Итак, начнем сначала.

За генерацию содержимого ответственна часть файла 3.08 Sector Management, находящийся в папке \director

  • Проверка существования сектора.

    1. <find_sector name="UFJD Sector" x="23" y="19" exact="0"/>
    2. <do_if value="{sector.exists@UFJD Sector}" exact="0">
    3.   <cancel_cue cue="UFJD"/>
    4. </do_if>

    Если вы имеете логическое мышление и хотя бы немного знаете английский, то наверняка поймете что к чему. Здесь осуществляется проверка на существование сектора вообще. Она происходит при старте игры. Я считаю, что ее созданию мы обязаны тем, что на данный момент есть средства редактирования файла вселенной и вполне вероятно, что этого сектора там может просто не оказаться.


  • Определение противника.

    1. <do_any>
    2.   <set_value chance="4" name="this.Enemy" exact="{lookup.race@xenon}"/>
    3.   <set_value chance="2" name="this.Enemy" exact="{lookup.race@khaak}"/>
    4.   <set_value chance="3" name="this.Enemy" exact="0"/>
    5. </do_any>

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

    Код объемный, но отвечает за исчезновение одного из следующих типов оборудования:
    • Сканер грузов
    • Транспортер
    • Сканер С3

    Шанс у всех трех типов одинаков и равен 3 из 29. В остальных 20 случаях оборудование уничтожено не будет.

  • Светило.

    Следующий кусок отвечает за наличие светила. В 30 из 33 случаев сгенерируется одно из девяти солнц. "Рамки" позиции:

    1. <position min="2000km" max="2500km" height="600km"/>


  • Ресурсы астероидов.

    1. <set_value name="this.Nividium Chance" max="100" profile="decreasing"/>
    2. <set_value name="this.Ore Chance" max="150" profile="bell"/>
    3. <set_value name="this.Silicon Chance" max="200" profile="bell"/>

    Этот кусок отвечает за шанс создания астероида одного из трех типов:

    • Нивидиум - от 0 до 100 (преимущественно ближе к нулю).
    • Руда - от 0 до 150 (преимущественно усредненные значения).
    • Кремний - от 0 до 200 (преимущественно усредненные значения).


  • Область создания объектов.

    1. <set_value name="this.MinRange" min="0" max="3"/>
    2. <set_value name="this.MaxRange" min="50" max="60"/>
    3. <create_spacefly name="this.Position" swarm="1">
    4.   <position x="0" y="0" z="0" min="3km" max="5km"/>
    5.   <sector sector="UFJD Sector"/>
    6. </create_spacefly>

    Итак, первая и вторая строки присваивают значения переменным MinRange и MaxRange. У каждой случайное значение в заданных диапазонах (у первой от нуля до трех, а у второй от пятидесяти до шестидесяти). Далее эти значения будут использоваться в качестве радиусов воображаемой сферы (MaxRange - максимальный радиус сферы, MinRange - минимальный), хотя есть и искючения. После идет создание космической мухи, которая будет использоваться в качестве центра этой воображаемой сферы. Далее, если объект создается внутри сферу с центром в виде космической мухи, минимальным радиусом MinRange км и максимальным радиусом MaxRange км будет, то его позиция будет именоваться как стандартная ("Позиция стандартная"). Вот картинка для наглядности.

  • Объекты.

    Дальше идет генерация станции и ее охраны. Раса, естественно, та, которая сгенерировалась. Код довольно объемный. Основные моменты:

    • OBS

      1. <do_if value="{value@this.Enemy}" exact="0" negate="1">
      2.   <set_value name="this.OBS Instances" min="0" max="10" profile="decreasing" chance="90"/>
      3.   <set_value name="this.Enemy Level" min="{lookup.level@easy}" max="{lookup.level@veryhard}" profile="bell"/>
      4. </do_if>

      Если на нашу долю-таки выпали враги, то в ход идет OBS - Oponent balancing system. Далее употребляю OBS в качестве числа.

    • Ксеноны:

      • Генерируется ксенонская станция. Одна, с щитам. Позиция стандартная.
      • OBS принимает усредненное значение между 3 и 12.
      • Создается OBS*2 ксенонских истребителей. Без корветов и бигшипов.


    • Хааки:

      • Максимальный шанс появления нивидиумного астероида увеличивается вдвое (значения, близкие к минимуму). Вспомните пятый пункт.
        Далее или легкие или тяжелые.

        ЛегкиеТяжелые
        Максимальный и минимальные шансы появления нивидиумного астероида уменьшаются вдвое (значения, близкие к минимуму).Максимальный шанс появления нивидиумного астероида увеличивается вдвое (усредненные значения) (да-да, еще раз!).
        Множитель OBS принимает усредненные значения между 3 и 7.Множитель OBS принимает усредненные значения между 3 и 13.
        Генерация обломков и прочей фигни, от 5 до 15 штук.Создается хаакская станция.

      • Генерация хаакских истребителей кол-вом OBS*2. Без корветов и бигшипов. Позиция стандартная.
      • Генерация OBS хаакских кластеров. Две группы: Кластер+Кластер6 и Кластер14+Кластер27. Первая группа выпадает в три раза чаще, причем генерируется лишь один из двух кластеров. Позиция стандартная.

      Однако, даже если выпадет наличие врагов, есть ~3% шанс, что их не будет, но и шанс появления астероидов с нивидиумом не будет меняться и т.п.


    • Астероиды. Важные факты:

      • Если шанс появления ресурса в астероиде меньше 25, то астероиды с таким ресурсом созданы не будут.
      • Кол-во астероидов определяется по формуле Шанс/5 (для каждого типа), т.е. астероидов с одним ресурсом не будет меньше пяти.
      • Помимо астероидов создается астероидный мусор (очень разнообразных размеров). Шанс появления последнего в два раза выше.
      • Шанс 30%, что у астероида/астероидного_мусора появится космомуха (причем может появиться всего одна).

    • Особое. Три особых объекта: Странник, Аран и Врата - взаимоисключающие.

      • Странник:

        • Шанс ~0,25% (сначала шанс ~2.5%, что выпадет фрагмент создания, а после 10% шанс, что он вообще создастся).
        • Немного оборудования на борту.
        • От 100 до 300 батарей.
        • Корпус: 3%-30%
        • В 1 из 5 случаев может сгенериться прыжковый двигатель.
        • Невидим. Захватываем (правда как его взять в прицел?).
        • Позиция стандартная.

      • Аран:

        • Шанс ~2.5%.
        • От 100 до 300 батарей.
        • Корпус: 3%-30%.
        • Позиция особая (от MinRange*2 км до MaxRange*3 км).
        • Невидим до захвата.
        • Совет по обнаружению, предложенный пилотом V2200, при помощи спутника в этом посте.
          V2200 писал(а):
          Для поиска Арана или обломков врат можно также воспользоваться камерой улучшенного спутника (клавиша Л при открытой карте сектора).
          Минусы такого способа обнаружения:
          Зона просмотра при максимальном масштабе карты сектора составляет квадрат со сторонами 90 км (обычно Аран на таком расстоянии хорошо виден и так). При использовании курсора зона просмотра составляет квадрат со стороной 200 км. Это максимум, что можно посмотреть со спутника.
          Высота камеры при максимальном масштабе карты сектора около 40 км. Проекция на оси X и Z со стороны +Y, на оси X и Y (при переключении карты по клавише Insert) со стороны -Z. При уменьшении масштаба карты, высота камеры тоже уменьшается.
          Данный способ рекомендуется как дополнение к визуальному осмотру сектора описанного в статье по захвату Арана.
          Вид со спутника на Аран и обломки врат при максимальном масштабе карты.

      • Врата:

        • Шанс ~4.5%.
        • Позиция стандартная.

        Однако, шанс, что ничего не сгенерируется, равен ~90%.

    • Позиция игрока.

      • Любая точка внутри сферы радиусом в пять километров и с центром, совпадающим с центром сектора (0;0;0).
      • Может не повезти, и при прыжке мы окажемся внутри астероида, то есть умножимся на ноль.

    • Батарейки. Они нужны, чтобы в случае чего можно было выбраться из сектора. Они создаются уже после того, как окончится генерация сектора.
      Обычными словами хорошо не объяснить этот код, но я попытаюсь.

      • Анализ суммарного кол-ва батарей, находящихся на кораблях игрока в этом секторе.
      • Если батарей больше 800, то переходим к пункту четыре.
      • Четыре раза создаем по два контейнера. Один секретный со стандартной позицией, другой обычный, но может находиться до двух раз дальше (от MinRange*2 км до MaxRange*2 км). Кол-во батарей: от 100 до 500 в каждом из восьми контейнеров.
      • Через 10-20 минут переходим на пункт один.

    Завершение.

    Здесь я бы хотел выразить благодарность следующим людям:
    Помни, [username], во Вселенной X много непознанного. Это - лишь крохотная ее часть. А большую часть мы никогда и не узнаем.

    База знаний X3: Terran Conflict

    Aвτοp: Макс aka Malstrime
    Дοбaвил(a): Макс aka Malstrime
    Cοздaнο: 15.09.2010
    Измeнeнο: 25.09.2010
    Kοличecτвο измeнeний: 8
    Пpοcмοτpοв: 54162

    Оценка: 4,8
    Голосов: 70

    Ccылκa нa эτy cτpaницy:
    <a href="https://x3tc.net/nesfokusirovannyj-pryzhok_96.html">Hecфοκycиpοвaнный пpыжοκ</a>

    BBCode:
    [url=https://x3tc.net/nesfokusirovannyj-pryzhok_96.html]Hecфοκycиpοвaнный пpыжοκ[/url]

    Список игр