Jest to pierwsze tego typu opracowanie w moim yciu prosz wic o wyrozumiao i przesanie na mj adres uwag krytycznych.

Tutorial zosta sporzdzony na podstawie CamVatorDemo ale nie jest jego tumaczeniem. Niektre elementy zostay rozwizane inaczej ( a dwa :)  ) oraz dodano obsug "napisw"

Nazwa CamVator zostaa tu uyta w nastpujcych znaczeniach
- obiekt windy 
- metoda ktrej powicony jest niniejszy tutorial 

Zapis obiekt1 -CD-obiekt2 czytaj jako link ControlDevice pomidzy obiektem1 a obiektem2 

Zaoyem, e dysponujemy ju plikiem misji z punktem startowym, zaadowanymi wszystkimi niezbdnymi moduami oraz przestrzeni w ktrej moe porusza si Gracz i CamVator.

Do sporzdzenia dema bdziemy potrzebowali
 a. TerrPt 			4 sztuki
 b. Buttony			2 sztuki
 c. Markery			3 sztuki
 d. Boundstriggery		2 sztuki
 e. AI				1 osobnika
 f. Plaque			1 sztuk
 g. Wind			1 sztuk
 h. Osobne pomieszczenie	 blueroom

1)
 Rozpoczniemy od uoenia TerrPt i poczenia ich za pomoc linkw TPath. Czynimy to analogicznie jak w przypadku windy ale wystpuj tu dwie zasadnicze rnice :
 a) Nie musz one by uoone w jednej linii
 b) Ostatni nie jest czony z pierwszym
    W polu data kadego linku wpisujemy szybko z jak gracz ma si porusza na wyznaczonej     ciece. Jej ustalenie pozostawiam uytkownikowi, ja stosuj zazwyczaj 5. Szybko 3     odpowiada marszowi  AI. Proponuj nazwa je TerrPt1, TerrPt2 itd
2)
 W pobliu TerPt1 kadziemy wind. Ja zastosowaem Raft. Jeeli zdecydujesz si na inny musisz    sprawdzi jedn rzecz. We waciwociach script nie moe by wpisu StopAtWaypoints. Powoduje on    zatrzymywanie si windy na TerrPt w trakcie ruchu. 
3)
 Musimy dokona we waciwociach windy nastpujce zmian
 a) Nadajemy jej nazw CamVator
 b) czynimy j niewidzialn
    Renderer-Has Refs  : false   ( UWAGA : mona to wykona na samym kocu, wtedy wida czy         wszystko dziaa przez cay czas )
 c) nadajemy jej nastpujcy wymiary 1x1x1 -  po co wikszy obiekt, ale mona to pomin,
 d) nastawiamy Colision Type na None - brak efektu w przypadku kolizji z innymi obiektami
 e) ustawiamy Moving Terrain na false - przyczyny tego nie znam ale jest niezbdne aby winda moga porusza si po krzywoliniowym torze TerrPt ( Raft ma t waciwo ustawion na false, ale inne typy lub obiekty nie )
 f) dodajemy script TrapTeleporter - od tej chwili nasza winda bdzie si zachowywa jak         TeleportetTrap, zatem moliwa bdzie teleportacja gracza/obiektw do pozycji windy.
 g) poczy j linkiem TpathInit z TerrPt1.
4)
 Tworzymy button i nadajemy mu nazw CVButton1. Umieszczamy go w dowolnym miejscu dostpnym dla    gracza i nie kolidujcym z wyznaczon tras CamVatora.
5)
 Tworzymy osobne pomieszczenie - BlueRoom.Bdzie ono suy jako miejsce przechowywania obiektw , ktrych gracz nie powinien widzie.
6)
 Tworzymy dowolny AI , nadajemy mu nazw CVAktor. Ustawiamy go w BlueRoom-ie.
7)
 Tworzymy marker i nadajemy mu nazw CVMarker1.Nalepy nada mu waciwoci jak zwykemu    markerowi odpowiedzialnemu za konwersacj.  czymy go linkiem AiConversatioActor z CVAktor i    ustawiamy w polu data warto 1.Szczegy pomin.
8)
 Tworzymy button , nazywamy do CVButton2. Ustawiamy go w BlueRoom-ie
9)
 Tworzymy marker i nadajemy mu nazw CVMarker2.Nalepy nada mu waciwoci jak zwykemu    markerowi odpowiedzialnemu za konwersacj. czymy go linkiem AiConversatioActor z CVAktor i    ustawiamy w polu data warto 1.Ustawiamy go w BlueRoom-ie
10)
 Tworzymy marker i nadajemy mu nazw CVMarker3.Nalepy nada mu waciwoci jak zwykemu     markerowi odpowiedzialnemu za konwersacj.  czymy go linkiem AiConversatioActor z CVAktor     i ustawiamy w polu data warto 1. Ustawiamy go w BlueRoom-ie
11)
 Tworzymy plaque, Ustawiamy go w BlueRoom-ie. Nadajemy mu waciwo Text na dowolny plik     tekstowy  ( dowolny ale z rozszerzeniem str) , ktry ma by wywietlony na ekranie. Nazywamy     go Tekscik1
12) 
Wstawiamy BoundsTriggera w miejscu ktrym ma pojawi si tekst. Nadajemy mu nazw CVBT1 i     ustawiamy jego "czuo odlegoci" na odpowiednim poziomie.
13)
 Wstawiamy BoundsTriggera w pobliu koca  trasy windy. Nadajemy mu nazw CVBT2 i ustawiamy     jego "czuo odlegoci" na odpowiednim poziomie.


    W tym momencie mamy wszystkie elementy niezbdne do utworzenia dziaajcego mechanizmu     CamVatora, pora rozpocz budowanie zalenoci pomidzy tymi elementami.

14)
 Rozpoczniemy  od CVButton1 Lczymy go w nastpujcy sposb
      CVButton1 - CD - CVMarker1 rozpocznie on ca kaskad wydarze.
15)
 Nastpnie czas na CVMarker1. W polach conversation wpisujemy nastpujce linie
    a) Wpis 1
      i) Actor :1
     ii) Add link
       (1) ControlDevice
       (2) Player
       (3) CamVator
    b) Wpis2
      i) Actor :1
     ii) FrobObject
       (1) CVButton2
    c) Wpis 3
      i) Add link
       (1) PhysAttach
       (2) CamVator
       (3) Player

Wpis 1 odpowiada za zwizanie Camvator i gracza zwizkiem teleportacji (CamVator  zachowuje si przecie jak TeleportTrap)
Wpis 2 klika na CVButton2 i wywouje zwizane z tym reakcje  - jakie patrz dalej
Wpis 3 czy gracza z CamVatorem linkiem PhysAttach, powoduje on , e gracz nie moe si ruszy z miejsca. Moe wykonywa jedynie obroty dookoa  osi  Z

16)
 CVButton2 czymy nastpujcymi linkami
    a) CVButton2  - CD -CamVator
    b) CVButton2 - CD - TerrPt2 - wane jest aby to by DRUGI TerrPt.
Link pierwszy wywoa teleportacj gracza do CamVatora, link drugi zadziaa jak przycisk uruchamiajcy wind. Poniewa jednak brak jest w windzie scriptu nakazujcego zatrzyma si na kadym TerrPt bdzie on kontynuowa ruch a do ostatniego znacznika.
17) 
W  CVMArker2 dokonujemy nastpujcych wpisw
   i)  Wpis12
     (1) Actor :1
     (2) FrobObject
       (a) Tekscik1
Uruchomi to napis na ekranie z odpowiedni treci.
18) 
W  CVMArker2 dokonujemy nastpujcych wpisw
   i)  Wpis12
    (1) Actor :1
    (2) Remove link
      (a) PhysAttach
      (b) CamVator
      (c) Player
Uwolni to gracza "z obj" windy i umoliwi mu swobodny ruch
19)
 CBVT1 czymy w nastpujcy sposb
    CVBT1 - CD - CVMarker2
20)
 CVBT1 czymy w nastpujcy sposb
    CVBT2 - CD - CVMarker3

To wszystko, musimy jeszcze dokona wszystkich przelicze pliku i mona uruchomi Dromeda w trybie Game. Metoda oparta na BoundsTriggerach wywietlania napisw ma jeden powany mankament. Musi by BoundsTrigger umieszczony w takich miejscach gdzie inne postacie nie wejd i nie wywoaj zdarzenia im przypisanego. Rozwizaniem tego problemu  moe by metoda oparta na S&R ( ale to temat na inny tutorialik ) lub zastosowanie scriptu VK-iego ( made in US  :) )
Mona take  wszystkie napisy wywoywa  z pierwszej konwersacji ( tej z CVMarker1 ), dodajemy po prostu wpisy 
* Wait XXXXX ,
* frobObject : Tekscik1 itd.
 Ja jednak wol wszystko rozbija na elementy pierwsze i dopiero pniej je skada w funkcjonujc cao. Pozwala to na wiksz kontrol i uatwia dokonywanie zmian.
Jeeli cae dziaanie ma miejsce w obszarze gry, gdzie bdzie toczya si akcja gry to nie naley zapomnie o zastosowaniu DestroyTrap z ktrym lczymy CVBT1,CVBT2,CVButton1 i CamVator. Powinien on by wywoany przez ReleyTrap wstawiony midzy CVBT2 a CVMarker3 . 
