Nauczanie Baalów w obozie sekty 4036 0

O temacie

Autor Ebhodini

Zaczęty 25.02.2021 roku

Wyświetleń 4036

Odpowiedzi 0

Ebhodini

Ebhodini

Użytkownicy
posty77
Profesjabrak
  • Użytkownicy
Napisałem prostą funkcję, dzięki której baalowie zamiast po prostu machać łapami wypowiadają tekst o śniącym. Przypisałem do odpowiedniego ZS itp. Ale potem zauważyłem że np taki Angar też ma rutynę Teaching. Więc zrobiłem nowe rutyny
ZS_Angar_Teaching i ZS_Baal_Teaching i  wszystko śmiga pamiętałem o dodaniu w pliku Ta.d i o modyfikacji rutyny, ZS_Listen.
Moje pytanie jest inne. Jak przechodzi się koło takiego NPC, który coś tam bełkocze podczas tej rutyny to jeśli się stoi w miejscu wszystko idzie płynnie, ale jak się poruszymy to rutyna jest przerywana i "ładuje" się kolejne jej wykonanie w pętli.
FUNC void B_Baal_Teach(var int guardreaktion)
{

if (guardreaktion == 0)
{
AI_Output (self, self,"DIA_BaalTaran_Sleeper_05_01"); //Śniący będzie naszym wyzwolicielem. Pięć lat temu ujawnił się nam przez Y'Beriona, naszego wielkiego mistrza.
}
if (guardreaktion == 1)
{
AI_Output (self, self,"DIA_BaalTaran_Sleeper_05_02"); //Od tej chwili, wyrzekliśmy się trzech bogów, co i tobie radzę.
}
[ ... ]
Wyżej jest kawałek kodu, takich powtórzeń jest 7 i to właśnie one przeskakują podczas poruszania.
Dałoby radę zrobić tak żeby dialogi wykonywały się od początku do końca jak już ruszą, oczywiście o ile gracz nie przerwie jakąś swoja akcją, rozmową czy wyciągnięciem broni itp.
Jeszcze kawałek odpowiadającego ZSa:
func void ZS_Baal_Teaching_Loop ()
{
        PrintDebugNpc (PD_TA_LOOP, "ZS_Teaching_Loop");

B_GotoFP (self, "TEACHING");     
var int guardreaktion;
if(guardreaktion>6) {guardreaktion=0;};

B_Baal_Teach(guardreaktion);
guardreaktion+=1;
};
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry