Stat4u.pl dla Emergency Stat4u.pl

www.gry-online.pl - wortal rozrywkowy Techland
Licznik Emergency
klimatyzacja
rekuperacja
Brak serwerów w ciągu najbliższych 2 tygodni. Kliknij, by dodać swój serwer!
Konfiguracja pojazdów i personelu

/Spec/Specs/Vehicles.xml - plik odpowiedzialny za część informacji o pojazdach i wyświetlanie menu pojazdów, ustala m.in.:
* podział pojazdów na 4 grupy (FD, THW, PD, EMS)
* kolejność pojazdów w grupach (poprzez kolejność wpisów; 9 pierwszych wyświetlanych od razu, resztę trzeba przewijać)

* cenę pojazdu (price="")
* ilość miejsc dla personelu (space="")
* ilość miejsc dla cywili / rannych (loadspace=""; uwaga aby móc ładować do nowych typów pojazdów cywili należy zmodyfikować skrypty odpowiedzialne za to, są one przypisane do osób wykonujących tą czynność a nie do pojazdu)
* prędkość na mapie dojazdowej (speed="")

* personel który może być przywieziony pojazdem (wsiadanie na miejscu akcji - skrypty personelu)
* misje w których pojazd występuje (requires="")

* informacje o wyposażeniu pojazdu
* inne informacje o pojazdach

Uwaga w przypadku pojazdów umieszczonych na mapie należy określić ilość miejsc w pojeździe poprzez polecenia w skrypcie:
VehicleList lista("rtw00");
Vehicle Pojazd = *lista.GetVehicle(0);
Pojazd.SetMaxPassengers(4); // personel
Pojazd.SetMaxTransports(1); // cywile / ranni
Natomiast parametry takie jak wyposażenie, przypisane skrypty (i inne ustawiane w *.e3p) ustawia się w edytorze (domyślnie dziedziczenie z *.e3p).
UWAGA: zmiany dokonywane w *.e3p po utworzeniu obiektów na mapie nie dotyczą tych obiektów !!!

/Prototypes/*/*/*.e3p - inne informacje o pojazdach / personelu m.in.:
* realnie posiadane wyposażenie (binarny argument Flags="" znacznika <Prototype> w pliku *.e3p pojazdu)
* przypisania skryptów do pojazdów / personelu (znaczniki <command name="_skrypt_" /> w bloku <commands>)
* unikalny (ale może zostać zdublowany) identyfikator typu pojazdu (argument TaskType="" znacznika <Prototype>; numer ten jest zwracany przez funkcje GetVehicleType(); można używać nowych identyfikatorów > 28);
* identyfikator typu osoby (argument SquadType="" znacznika <Prototype>; identyfikuje on typ osoby - FD, PD, EMS, THW - a nie samą osobę, jak ma to miejsce przy pojazdach)

* pliki najwygodniej modyfikować (poza pewnymi wyjątkami - TaskType) jest edytorem: Edit -> Scene (prototypes) -> Vehicles -> ...


Uwaga aby pojazdy o identyfikatorach > 28 zachowywały się po dotarciu na miejsce akcji normalnie, skrypt misji powinien zawierać coś takiego:
void OnSquadVehicleArrived(Vehicle *Vehicle_) {
if (Vehicle_->GetVehicleType() > 28)
Vehicle_->SetCommandable(true);
}
Analogiczną komendę należy dodawać dla pojazdów umieszczanych od razu na mapie.

Rozwiązanie takie ma jednak wady: pojazd nie jest zaznaczany na minimapie oraz w skrypcie każdej misji gdzie ma być użyty należy umieścić stosowną komendę, dlatego rozważyć należy dublowanie TaskType="". W przypadku konieczności rozróżnienia pojazdów o jednakowym GetVehicleType() zastosować można:
if( StrCompare(Caller->GetPrototypeFileName(), "mod:sciezka_odpowiedniego_pliku_e3p") == 0 )
 


Poradnik napisany przez: bercik