SAIL - Zapisywanie pojazdów do następnej misji

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

Modérateur : zoNE

User avatar
zoNE
The Great Uniter & Site Administrator
The Great Uniter & Site Administrator
Messages : 2061
Inscription : Fri Feb 17, 2006 3:44 pm
Location : Poland
Contact :

SAIL - Zapisywanie pojazdów do następnej misji

Post par zoNE »

Moonstrider wrote:Imo najlepiej zrobić to za pomocą funkcji. I tak w jednej misji:

Code: Select all

export function carsaving(idi,nazwa)
var i;
Begin
i=[GetChassis(idi), GetEngine(idi), GetControl(idi), GetWeapon(idi)];
SaveVariable(i,nazwa);
end;

// przy zapisywaniu:

carsaving(pojazd1,'zapispojazdu1');
a w następnej misji:

Code: Select all

export pojazd1, pojazd2, pojazd3, pojazd4, pojazd5;

export function carloading(idi,nazwa)
var i;
Begin
i=LoadVariable(nazwa,[]);
// tu dajesz uc_nation=
// oraz uc_side=
vc_chassis=i[1];
vc_engine=i[2];
vc_control=i[3];
vc_weapon=i[4];
idi=CreateVehicle;
// tutaj jeszcze jakiś PlaceUnit
end;

// przy loadowaniu

carloading(pojazd1,'zapispojazdu1');
Gothuk wrote:hmm to może ja coś napisze..

Code: Select all

pojazd1=FilterAllUnits([[f_side,1],[f_chassis,us_morphling],[f_engine,engine_siberite]]);
to tak, wiecie że filotrowanie zwraca tablice? co nie?
jak jest jeden pojazd to zwraca tablicę jednoelementową.
w takim razie funkcja carsaving nie zadziała, bo :
[GetChassis(idi), GetEngine(idi), GetControl(idi), GetWeapon(idi)]
nie można stosować do tablicy elemetów.
jesli już chcecie używać tej funkcji do tablic to zastosujcie:

Code: Select all

var i, j;
begin
  for j in idi do
     i=[GetChassis(j), GetEngine(j), GetControl(j), GetWeapon(j)]; 
     SaveVariable(i,nazwa);
  end;
end;
Moonstrider wrote:Hmm to może po prostu nazwać pierwszy element tablicy?

Code: Select all

pojazdy=FilterAllUnits([[f_side,1],[f_chassis,us_morphling],[f_engine,engine_siberite]]);
pojazd1=pojazdy[1];
Co Wy na to?
Author: Moonstrider & Gothuk
Topic: http://forum.original-war.net/viewtopic ... c&start=30