Быстрое создание новой расы

Самостоятельная настройка параметров игры и создание модификаций.
Аватара пользователя
Darth_Brovius
Fighter
Сообщения: 13

Быстрое создание новой расы

Сообщение Darth_Brovius » 28 апр 2016, 15:27

Как и обещал, мини руководство по добавлению новой расы. Просьба сильно не пинать, для меня всё это впервой! :oops:
Конструктивная критика и дополнения приветствуются!

Сначала подготовка:
В папке "ModKit\1.03c" создаём папку "Rus".
Туда копируем файл "rtq.lng" из папки "Lang\Rus".
Затем запускаем "rtq_es_conv.bat".
После этого копируем в папку "ModKit\1.03c" все файлы из папки "ModKit\1.03c\Rus" с заменой.
Потом копируем с переименовыванием любой из "r_*.a" файлов.
В моём случае "r_mag.a" в "r_mex.a".
Открываем наш файл в программе notepad++. Далее показано что я изменял:

Код: Выделить всё

def object Mexanoid
begin
  Attribute raceID = raceMex
  String Attribute strID = "Mex"
  String Attribute faceImage = "images/Races/Mex128.png" //маленькая картинка нашей расы
  String Attribute bigImage = "images/Races/big/Mexanoid_1024.png" //большая картинка нашей расы
  String Attribute Color = "#808080" //цвет
  String Attribute DescriptionFile = "RaceDescr/mex.txt" // файл с описанием нашей расы
  String Attribute IconImage = "Images/Races/Icon/mex.png" // иконка нашей расы на система и т.д.
...
  String Attribute RaceName = /*idx:6457*/L"Механоиды"
  String Attribute RaceNameSingle = /*idx:6458*/L"Механоид"
  String Attribute RaceNameFull = /*idx:6459*/L"Киберединство"
  String Attribute RaceNameFullRod = /*idx:6460*/L"Киберединства"
  String Attribute RaceNameFullTvo = /*idx:6461*/L"Киберединством"
  String Attribute RaceNameFullDat = /*idx:6462*/L"Киберединство"
  String Attribute RaceNameWhoes = /*idx:6463*/L"Механоидный"
...
  Attribute RemembersBad = 5000
...
    call UFAddDesignName(this.raceID, /*idx:6624*/L"Тип1_")
    call UFAddDesignName(this.raceID, /*idx:6625*/L"Тип2_")
    call UFAddDesignName(this.raceID, /*idx:6626*/L"Тип3_")
    call UFAddDesignName(this.raceID, /*idx:6627*/L"Тип4_")
    call UFAddDesignName(this.raceID, /*idx:6628*/L"Тип5_")
    call UFAddDesignName(this.raceID, /*idx:6629*/L"Тип6_")
    call UFAddDesignName(this.raceID, /*idx:6630*/L"Тип7_")
    call UFAddDesignName(this.raceID, /*idx:6631*/L"Тип8_")
    call UFAddDesignName(this.raceID, /*idx:6632*/L"Тип9_")
...
  phrase AddColonyNames()
    this.ColonyNames add next /*idx:6633*/L"Первичный"
    this.ColonyNames add next /*idx:6634*/L"Вторичный"
    this.ColonyNames add next /*idx:6635*/L"Третичный"
    this.ColonyNames add next /*idx:6636*/L"Запасной"
  end phrase
...
  initial
    Mexanoid.inherit AbstractRace
    Mexanoid.Init("Room_Mexanoid")
  end initial 
end

ROOM Room_Mexanoid
  conv Main check()
    Mexanoid.MainConv()
  end conv 
END ROOM

затем открываем файл "const.a":

Код: Выделить всё

...
def const racePirates = 9
def const raceBogovans = 10
def const raceMex = 11 //номер нашей рассы. ВАЖНО!!! свои рассы добавляем после Богованов.
def const raceCount = 12 //увеличиваем счётчик
...

открываем файл "rtq.a":

Код: Выделить всё

...
#include "pirates.a"
#include "bogovans.a"
#include "r_Mex.a" //добавляем свой файл
...

запускаем файл "rtq_es.bat", после смотрим файл "rtq.err".
Если всё нормально, тогда копируем в папку для модов файлы:
"rtq.cht", "rtq.gen", "rtq.pht", "rtq.rht"
создаём папку "Lang\Rus" и копируем туда "rtq.lng" из "ModKit\1.03c"
создаём папку "Lang\Rus\RaceDescr" и ложим туда "mex.txt"(я просто переименовал файл "mag.txt" и отредактировал)
создаём папки "Images\Races", "Images\Races\big", "Images\Races\Icon" и ложим туда наши картинки.
копируем файл "ShipBody.all" из корня игры и добавляем туда:

Код: Выделить всё

...
[SHIP_BODY]

  Type Fighter

  Race Mex

  Size 62 36

  Decks 1

    Img "Ships/Top/n50_1.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 0.400000

  own_hull 20

  hangarUse 10

  containerFit Small10 1

  cell_info_path "m1.cli"

  game_resolution 32 24

//  game_center 16 12

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    "Ships/n50_atlas_2048.idx"
    "Ships/n50_atlas_1024.idx"

    "Ships/n50_atlas_512.idx"

    "Ships/n50_atlas_256.idx"



[SHIP_BODY]

  Type Interceptor

  Race Mex

  Size 55 42

  Decks 1

    Img "Ships/Top/n51_1.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 0.900000

  own_hull 30

  hangarUse 15

  containerFit Small15 1

  cell_info_path "m2.cli"

  game_resolution 35 26

//  game_center 17 13

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    "Ships/n51_atlas_2048.idx"

    "Ships/n51_atlas_1024.idx"

    "Ships/n51_atlas_512.idx"

    "Ships/n51_atlas_256.idx"



[SHIP_BODY]

  Type Heavy_Fighter

  Race Mex

  Size 62 38

  Decks 1

    Img "Ships/Top/n52_1.png" BIG

  own_weight 0.000000

  hullMult 0.500000

  weightMult 1.250000

  own_hull 50

  hangarUse 25

  containerFit Medium25 1

  cell_info_path "m3.cli"

  game_resolution 38 29

//  game_center 19 14

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    "Ships/n52_atlas_2048.idx"

    "Ships/n52_atlas_1024.idx"

    "Ships/n52_atlas_512.idx"

    "Ships/n52_atlas_256.idx"



[SHIP_BODY]

  Type Assult_Shuttle

  Race Mex

  Size 68 48

  Decks 2

    Img "Ships/Top/n53_0.png" BIG

    Img "Ships/Top/n53_1.png" BIG

  own_weight 0.000000

  hullMult 0.330000

  weightMult 1.650000

  own_hull 40

  hangarUse 40

  containerFit Medium40 1

  HasTurretsAtTopDeck

  cell_info_path "m4.cli"

  game_resolution 50 37

//  game_center 25 19

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    "Ships/n53_atlas_2048.idx"

    "Ships/n53_atlas_1024.idx"

    "Ships/n53_atlas_512.idx"

    "Ships/n53_atlas_256.idx"



[SHIP_BODY]

  Type Corvette

  Race Mex

  Size 64 58

  Decks 2

    Img "Ships/Top/n54_0.png" BIG

    Img "Ships/Top/n54_1.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 1.000000

  own_hull 1200

  HasTurretsAtTopDeck

  cell_info_path "m5.cli"

  game_resolution 512 384

  post_shift 0.075

//  game_center 320 240

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    NULL

    "Ships/n54_turn.idx"

    "Ships/n54_turn_256.idx"

    "Ships/n54_turn_128.idx"



[SHIP_BODY]

  Type Frigate

  Race Mex

  Size 45 67

  Decks 3

    Img "Ships/Top/n55_0.png" BIG

    Img "Ships/Top/n55_1.png" BIG

    Img "Ships/Top/n55_2.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 1.250000

  own_hull 2400

  HasTurretsAtTopDeck

  cell_info_path "m6.cli"

  game_resolution 800 600

  post_shift 0.075

//  game_center 400 250

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    NULL

    "Ships/n55_turn.idx"

    "Ships/n55_turn_256.idx"

    "Ships/n55_turn_128.idx"



[SHIP_BODY]

  Type Cruiser

  Race Mex

  Size 41 75

  Decks 3

    Img "Ships/Top/n56_0.png" BIG

    Img "Ships/Top/n56_1.png" BIG

    Img "Ships/Top/n56_2.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 2.000000

  own_hull 3600

  HasTurretsAtTopDeck

  cell_info_path "m7.cli"

  game_resolution 1024 768

  post_shift 0.08

//  game_center 450 350

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL
    NULL

    NULL

    NULL

    "Ships/n56_turn.idx"

    "Ships/n56_turn_256.idx"

    "Ships/n56_turn_128.idx"



[SHIP_BODY]

  Type Battleship

  Race Mex

  Size 82 89

  Decks 3

    Img "Ships/Top/n57_0.png" BIG

    Img "Ships/Top/n57_1.png" BIG

    Img "Ships/Top/n57_2.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 1.500000

  own_hull 4800

  HasTurretsAtTopDeck

  cell_info_path "m8.cli"

  game_resolution 1364 1023

  post_shift 0.075

//  game_center 600 400

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL
    NULL

    "Ships/n57_turn.idx"

    "Ships/n57_turn_512.idx"

    "Ships/n57_turn_256.idx"

    "Ships/n57_turn_128.idx"



[SHIP_BODY]

  Type Drednought

  Race Mex

  Size 66 97

  Decks 4

    Img "Ships/Top/n59_0.png" BIG

    Img "Ships/Top/n59_1.png" BIG

    Img "Ships/Top/n59_2.png" BIG

    Img "Ships/Top/n59_3.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 1.250000

  own_hull 6400

  HasTurretsAtTopDeck

  cell_info_path "m9.cli"

  game_resolution 2048 1536

  post_shift 0.125

//  game_center 850 560

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL
    NULL

    "Ships/n59_turn.idx"

    "Ships/n59_turn_512.idx"

    "Ships/n59_turn_256.idx"

    "Ships/n59_turn_128.idx"



[SHIP_BODY]

  Type Satellite

  Race Mex

  Size 50  45

  Decks 3

    Img "Ships/Top/n5b_0.png" BIG

    Img "Ships/Top/n5b_1.png" BIG

    Img "Ships/Top/n5b_2.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 1.000000

  own_hull 1600

  containerFit Big200 8

  HasTurretsAtTopDeck

  cell_info_path "mb.cli"

  game_resolution 800 600

  post_shift 0.055

//  game_center 400 250

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL
    NULL

    NULL

    NULL

    "Ships/n5b_turn.idx"

    "Ships/n5b_turn_256.idx"

    "Ships/n5b_turn_128.idx"



[SHIP_BODY]

  Type Orbital_Station

  Race Mex

  Size 132 104

  Decks 5

    Img "Ships/Top/n5c_0.png" BIG

    Img "Ships/Top/n5c_1.png" BIG

    Img "Ships/Top/n5c_2.png" BIG

    Img "Ships/Top/n5c_3.png" BIG

    Img "Ships/Top/n5c_4.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 1.250000

  own_hull 9000

  containerFit Big400 32

  HasTurretsAtTopDeck

  cell_info_path "mc.cli"

  game_resolution 1800 1350

  post_shift 0.03

//  game_center 900 600

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    "Ships/n5c_turn.idx"

    "Ships/n5c_turn_512.idx"

    "Ships/n5c_turn_256.idx"

    "Ships/n5c_turn_128.idx"



[SHIP_BODY]

  Type Freighter

  Race Mex

  Size 54  103

  Decks 3

    Img "Ships/Top/n5a_0.png" BIG

    Img "Ships/Top/n5a_1.png" BIG

    Img "Ships/Top/n5a_2.png" BIG

  own_weight 0.000000

  hullMult 1.000000

  weightMult 1.000000

  own_hull 1200

  HasTurretsAtTopDeck

  cell_info_path "ma.cli"

  game_resolution 1364 1023

  post_shift 0.13
//  game_center 600 400

  ellipse_ratio 0.500000

  BattleMov

    NULL

    NULL

    NULL

    NULL

    NULL

    "Ships/n5a_turn.idx"

    "Ships/n5a_turn_256.idx"

    "Ships/n5a_turn_128.idx"

копируем файл "PLANTYPE.INI" из корня игры и добавляем:

Код: Выделить всё

...
PLANET
  VeryGood "Earthlike" "Earthlike_name"
  FullInfo "Earthlike_descr"
  Sound "SOUND/D/100_PLANET_EARTH.wav"
  Size Min 0.9 Max 1.1
  Generate Manual 5
  Position Middle
  Prefer "G" AnySize 0
         "K" AnySize 1  "F" AnySize 1
         "A" AnySize 2  "M" AnySize 2
         "B" AnySize 3
  Preset "Temperate"
  Preset "Temperate.1"
  Preset "Temperate.2"
  Preset "Temperate.3"
  Preset "Temperate.4"
  Preset "Temperate.5"

  CanBeHomeworld
    For Drill 
    For Ery use "Temperate.3"
    For Gava use "Temperate.5"
    For Hum use "Temperate"
    For Log
    For Mag use "Temperate.1"
    For Sha use "Temperate.4"
    For Urg
    For Vag use "Temperate.2"
    For Mex //наша раса
...

если мы хотим сделать стартовую планету типа "гайя", тогда надо сделать по другому:

Код: Выделить всё

PLANET
  VeryGood "Gaia" "Gaia_name"
  FullInfo "Gaia_descr"
  Sound "SOUND/D/100_PLANET_EARTH.wav"
  Size Min 0.9 Max 1.1
  Generate Manual 1 // отсюда удалил  " RND 25" иначе не всегда генерируется, и получается вылет
  Position Middle
  Prefer "G" AnySize 0

  Preset "Gaia"

  CanBeHomeworld //добавляем
    For Mex //нашу рассу

  Free Population
...

Но учтите, что её будут охранять пираты.
Чтобы этого не происходило, нужно в файле "pirates.a" удалить следующие строки кода:

Код: Выделить всё

...
  phrase ProtectGaiaPlanets()

    if (this.Exists==No)
      this.Register()
    end if

    local GaiaType = call UFSearchPlanetType("Gaia")
    local DesignFighter = call UFGetShipDesignByName("Pir_Fighter_hard", this.raceID)

    if (0!=GaiaType)
      call SetCallback(2)
      call UFEnumerateAllStars(E1_UNDEFINED)
      call ClearCallback()     

      local i
      local j
      local k
      local StarHandle
      local PlanetHandle
      local FleetHandle
      local ShipFighter

      for (i = 1, i<=HandleList2 SIZE, i++)
        StarHandle = HandleList2 get (i)

        for (j = 0, j<call UFGetPlanetsNum(StarHandle), j++)
          PlanetHandle = call UFGetPlanet(StarHandle, j)

          if (GaiaType==call UFGetPlanetType(PlanetHandle))

            FleetHandle = call UFNewFleet(this.raceID, StarHandle, 0)

            for (k = 0, k<80, k++)
              ShipFighter = call UFNewShip(DesignFighter, this.raceID)
              call UFSetShipAIType(ShipFighter, aisFighter)
              call UFAddShipToFleet(FleetHandle, ShipFighter)
            end for
          end if
        end for
      end for
    end if
  end phrase
...
    on event "GALAXY STARTED" callm this.ProtectGaiaPlanets()
...

Всё! Наша раса добавлена.
My.jpg
My.jpg (58.22 КБ) 13092 просмотра

Ну и прикладываю сам мод
Вложения
My.zip
(1.9 МБ) 204 скачивания
Аватара пользователя
Darkreigh
Frigate
Сообщения: 698

Быстрое создание новой расы

Сообщение Darkreigh » 28 апр 2016, 15:42

00011011100101110?
Аватара пользователя
p0rc0_r0ss0
Destroyer
Сообщения: 1141

Быстрое создание новой расы

Сообщение p0rc0_r0ss0 » 28 апр 2016, 15:49

Darkreigh писал(а):Источник цитаты 00011011100101110?

372Е больше нравится? :)
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 849

Быстрое создание новой расы

Сообщение Veshnyak » 28 апр 2016, 15:55

Спасибо.
Параметры только не очень подходят. Ассимиляция должна быть на нуле, мораль на максимуме.
Ну и остался следующий шаг - новые корабли для расы.
Аватара пользователя
Darth_Brovius
Fighter
Сообщения: 13

Быстрое создание новой расы

Сообщение Darth_Brovius » 28 апр 2016, 18:28

Veshnyak писал(а):Источник цитаты Спасибо.
Параметры только не очень подходят. Ассимиляция должна быть на нуле, мораль на максимуме.
Ну и остался следующий шаг - новые корабли для расы.

Ну я не волшебник. Я только учусь. :)
По сути пока это не более чем копия магеланцев. Дальше будут вопросы и ковыряния. :geek:
Аватара пользователя
Aquilo
Assault Shuttle
Сообщения: 165

Быстрое создание новой расы

Сообщение Aquilo » 28 апр 2016, 22:50

Не по теме
А откуда картинка?

Вернуться в «Настройка/модификации»