Trialogi
Ten pakiet pozwala na tworzenie rozmów z dowolną liczbą NPC i sterowanie kamerą podczas dialogu.
Zależności
Inicjalizacja
Zainicjuj za pomocą flagi LeGo_Trialoge
.
Implementacja
Funkcje
EquipWeapon
Funkcja Sektenspinnera. Sprawia, że NPC wyposaża broń.
var C_NPC slf
NPC który wyposaża brońvar int ItemInstance
Instancja broni do wyposażenia
Konfiguracja
const int EquipWeapon_TogglesEquip = 1
Powyższa stała ustala zachowanie funkcji podczas próby założenia już założonej broni:
0
-EquipWeapon
nic nie zrobi1
-EquipWeapon
zdejmie tą broń
Npc_GetArmor
Pobiera pancerz wyposażony przez NPC.
var C_NPC slf
NPC którego pancerz jest pobierany
Zwracana wartość
Funkcja zwraca ID instancji pancerza założonego przez NPC.
Npc_GetMeleeWeapon
Pobiera wyposażoną przez NPC broń białą.
var C_NPC slf
NPC którego broń jest pobierana
Zwracana wartość
Funkcja zwraca ID instancji broni białej wyposażonej przez NPC.
Npc_GetRangedWeapon
Pobiera wyposażoną przez NPC broń dystansową.
var C_NPC slf
NPC którego broń jest pobierana
Zwracana wartość
Funkcja zwraca ID instancji broni dystansowej wyposażonej przez NPC.
Npc_TradeItem
Podmienia broń założoną przez NPC.
var C_NPC slf
NPC na którym wykonywana jest operacjavar int itm0
ID instancji przedmiotu do usunięciavar int itm1
ID instancji przedmiotu do stworzenia i założenia
DiaCAM_Update
Funkcja Sektenspinnera. Aktualizuje kamerę dialogową. (Używana wewnętrznie)
DiaCAM_Disable
Całkowicie wyłącza kamery dialogowe.
DiaCAM_Enable
Resetuje kamery dialogowe do ustawień domyślnych.
TRIA_Wait
Sprawia że self
i other
czekają na siebie, np. podczas dla synchronizacji po wywołaniu AI_GotoWP
.
TRIA_Invite
Zaprasza NPC do rozmowy. Należy wywołać przed TRIA_Start
.TRIA_Start
.
var C_NPC slf
Zapraszany NPC
TRIA_Start
Rozpoczyna trialog. Wcześniej wszyscy NPC powinni zostać zaproszeni przez TRIA_Invite
.
TRIA_Barrier
Robi to samo co TRIA_Wait
, ale dotyczy wszystkich uczestniczących NPC.
TRIA_Next
Ustawia podanego NPC na self
.
var C_NPC n0
NPC ustawiany naself
TRIA_Cam
Rozpoczyna zdefiniowany wcześniej ruch kamery.
var string evt
Nazwa ruchu kamery w Spacerze. Jeśli zostanie przekazany pusty ciąg znaków, nastąpi przerwanie ruchu kamery.
TRIA_Finish
Kończy trwający trialog. Musi być zawsze wywoływana na końcu, w przeciwnym razie dalsze trialogi nie będą mogły zostać rozpoczęte.
Przykłady
Prosty Trialog
Poniższa konwersacja zostanie zaimplementowana za pomocą trialogów:
- Arto: Wybacz bohaterze, ale nie możesz tędy przejść.
- Bohater: Dlaczego nie?
- Horka: Miasto zostało zamknięte.
- Bohater: Mam trochę złota przy sobie, możemy pohandlować?
- Squelto: Nie. Nie jesteśmy otwarci na przekupstwo.
- Bohater: Na pewno?
- Arto: Muszę prosić, abyś teraz odszedł.
- Bohater: Niech będzie...
Note
Dodatkowo w powyższym przykładzie użyty jest też pakiet Dialoggestures.