SAIL - Tworzenie budynków

Gotowe kody SAIL'a, informacje na temat moddingu, itd.

Moderator: zoNE

Post Reply
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

SAIL - Tworzenie budynków

Post by Radzio »

== TWORZENIE BUDYNKÓW W SAILU ==
Tworzenie budynków w SAILu odbywa się w podobny sposób, jak tworzenie ludzi, czy pojazdów. Wystarczy tylko zdefiniować potrzebne zmienne (parametry) i użyć komendy:

Code: Select all

CreateBuilding
Można również przypisać budynkowi identyfikator np.

Code: Select all

budynek=CreateBuilding
W założeniu, że "budynek" to oczekiwany identyfikator. Identyfikator musi być oczywiście wcześniej wprowadzony jako zmienna poleceniem VAR (lub EXPORT, jeśli ma to być zmienna globalna).

Jest 5 parametrów, które możemy ustawić dla budynku:

Code: Select all

bc_type - rodzaj budynku (laboratorium, skład, magazyn etc.)
bc_level - poziom budynku
bc_tread - odgłos budynku (ten, który słychać po zaznaczeniu go)
bc_kind1 - rodzaj 1 rozbudowy laboratorium
bc_kind2 - rodzaj 2 rozbudowy laboratorium
Nie musimy definiować wszystkich zmiennych, a tylko te, których nam akurat potrzeba np. chcemy postawić magazyn. Wystarczy zdefiniować "bc_type" i ewentualnie "bc_level". Reszta nam niepotrzebna (no chyba, że chcemy zmienić odgłos budynku).

== WARTOŚCI PARAMETRÓW ==
Dla "bc_type", "bc_tread", "bc_kind1" i "bc_kind2" można przypisać dowolny budynek.
Lista budynków:

Code: Select all

b_depot = 0 - skład (1,2,3)
b_warehouse = 1 - magazyn (1,2,3)
b_workshop = 2 - warsztat (1,2,3)
b_factory = 3 - fabryka (1,2,3)
b_armoury = 4 - zbrojownia (1,2,3)
b_barracks = 5 - koszary (1,2,3)
b_lab = 6 - laboratorium bez rozwinięć (1,2,3)
b_lab_half = 7 - laboratorium z jednym rozwinięciem (1,2,3)
b_lab_full = 8 - laboratorium z dwoma rozwinięciami (1,2,3)
b_lab_basic = 9 - [*] lab. podstawowe [*] (1,2,3)
b_lab_weapon = 10 - [*] lab. uzbrojenia [*] (1,2,3)
b_lab_siberium = 11 - [*] lab. syberytowe [*] (1,2,3)
b_lab_computer = 12 - [*] lab. komputerowe [*] (1,3)
b_lab_biological = 13 - [*] lab. biologiczne [*] (2)
b_lab_spacetime = 14 - [*] lab. czasoprzestrzenne [*] (3)
b_lab_opto = 15 - [*] lab. optyczne [*] (1,2)
b_ext_track = 16 - rozb. fabryki na poj. gąsienicowe (1,2,3)
b_ext_gun = 17 - rozb. fabryki na działa (1,2,3)
b_ext_rocket = 18 - rozb. fabryki na rakiety (1,2,3)
b_ext_noncombat = 19 - rozb. fabryki na pojazdy cywilne (1,3)
b_ext_radar = 20 - rozb. fabryki na radary (1,2)
b_ext_siberium = 21 - rozb. fabryki na syberyt (1,2,3)
b_ext_radio = 22 - rozb. fabryki na radio (nie istnieje)
b_ext_stitch = 23 - rozb. fabryki na poj. transportowe (2)
b_ext_computer = 24 - rozb. fabryki na komputery (1,3)
b_ext_laser = 25 -  rozb. na lasery (1)
b_oil_power = 26 - elektrownia na ropę (1,2,3)
b_solar_power = 27 - elektrownia słoneczna (1,2)
b_siberite_power = 28 - elektrownia syberytowa (1,2,3)
b_oil_mine = 29 - szyb naftowy (1,2,3)
b_siberite_mine = 30 - kopalnia syberytu (1,2,3)
b_breastwork = 31 - bunkier (1,2,3)
b_bunker = 32 - wieżyczka ręczna (1,2,3)
b_turret = 33 - wieżyczka automatyczna (1,3)
b_teleport = 34 - teleport (3)
b_fort = 35 - fort (nie istnieje)
b_control_tower = 36 - wieża kontrolna (1)
b_eon = 38 - eon (1)
b_behemoth = 37 - behemot (3)
b_alien_tower = 39 - wieża obcych (1)
Wartości w () to nacje (odpowiednio: 1 - AM, 2 - AR, 3 - RU), dla których ten budynek istnieje. (nację ustawiamy zmienną uc_nation)
Jeśli nazwa jest oznaczona [*] [*] to znaczy, że ten budynek jest jednym z rozwinięć laboratorium.
Pełną nazwę budynku w SAILu (np. b_lab) można zastąpić liczbą po znaku = (w tym przypadku jest to 6).

Dla "bc_level" można ustawić bez problemu dowolną wartość całkowitą z zakresu 0-255. Jednakże wpływa ona na odporność budynku. Jeśli podstawa ma dużą odporność, to przy zbyt dużych wartościach poziomu gra może dawać błędy przy atakowaniu takiego budynku.

== CIEKAWOSTKI ==
Jak już pisałem, "bc_tread" dotyczy odgłosu, jeśli chcemy np. mieć magazyn z odgłosem laboratorium wystarczy ustawić odpowiednio wartości dla "bc_type" jako magazyn, a "bc_tread" jako laboratorium.

Parametrom "bc_kind1" i "bc_kind2" można ustawić każdy budynek. Tak więc zwykłe lab. może mieć zamiast jakiejś rozbudowy np. elektrownię słoneczną :P
Screen: Image

Parametry te nie zostaną zignorowane przy wybraniu lab. bez rozwinięć jako rodzaju budynku. Wpływa on tylko na to ile rozwinięć można jeszcze wprowadzić (dla nierozwiniętego - 2, dla rozw. w połowie - 1, a dla w pełni rozwiniętego - 0)

Na liście budynków znalazły się dwa niedostępne budynki. Jeden z nich można uzyskać edytując plik buildings.txt (w folderze /Data/GameInit w Data1.owp), ale o tym w innym tutku.

== PRZYKŁADY ==
Magazyn rosyjski, kolor strony - 1 (AM niebieski), oryginalny odgłos, poziom 12; identyfikator "zupa":

Code: Select all

uc_side=1;
uc_nation=3;
bc_type=1;
bc_level=12;
zupa=CreateBuilding;
Laboratorium arabskie nierozwinięte (jedna część podmieniona na elektrownię słoneczną), kolor strony - 7 (PRZYMIERZE zielony), odgłos kopalni syberytowej, poziom 0; identyfikator "kot":

Code: Select all

uc_side=7;
uc_nation=2;
bc_type=b_lab;
bc_level=0;
bc_tread=b_siberite_mine;
bc_kind2=b_solar_power;
kot=CreateBuilding;
Celowo użyłem dwóch bardzo róznych przykładów, stosując różne wartości (w pierwszym przypadku liczbowe, w drugim słowne).
Tak stworzony budynek trzeba jeszcze postawić na mapę np. poleceniem:

Code: Select all

PlaceUnitXY(identyfikator,x,y,materializacja)
Lub zamienić "CreateBuilding" na:

Code: Select all

CreateAndPlaceBuildingXYD(x,y,kierunek)
"kierunek" może przyjmować wartości od 0 do 5.

Dziękuję za przeczytanie mojego tutka. Mam nadzieję, że był (lub będzie) on przydatny dla ciebie i każdego innego moddera.

Powodzenia w modowaniu!!!
Post Reply