prowadzenie bohatera, zagadywanie przez NPC problem 3675 3

O temacie

Autor sevo

Zaczęty 27.05.2019 roku

Wyświetleń 3675

Odpowiedzi 3

sevo

sevo

Użytkownicy
posty4
  • Użytkownicy
Cześć wszystkim!
Od razu mówię, że to mój pierwszy post tutaj, więc przepraszam, jeżeli w jakikolwiek sposób łamię utrwalone zwyczaje publikowania postów/ inne

mam nietypowy problem.
W trakcie robienia skryptu, w którym postać prowadzi mnie, a następnie zagaduje mnie w trakcie drogi, postać
1) dochodzi do miejsca nowej rutyny (to działa)
2) milczy - to znaczy patrzy na mnie, nie zagaduje mnie.

Dziwi mnie to, ponieważ zastosowałem rozwiązanie przez analogię jak w skrypcie dialogu Jacka Aligatora.

Dodam, że Spacer wszystko parsuje, więc brak błędów "formalnych".

Wszystkie zmienne są zadeklarowane. Warunek (MIS_Dolina_Aidana == LOG_RUNNING) też jest spełniony dla jasności.

Poniżej pokazuję skrypt i  z góry dzięki za pomoc, bo totalnie nie mam już pomysłu...


instance DIA_Dolina_Aidana2 (C_INFO)
{
npc = SLD_100001_Aidan;
nr = 1;
condition = DIA_Dolina_Aidana2_Condition;
information = DIA_Dolina_Aidana2_Info;
permanent = TRUE;
description = "Co dalej?";
};

func int DIA_Dolina_Aidana2_Condition ()
{
if (MIS_Dolina_Aidana == LOG_RUNNING)
&& Npc_GetDistToWP(self,"NW_XARDAS_TOWER_WATERFALL_CAVE_OUT") <100

{
return TRUE;
};
};

func void DIA_Dolina_Aidana2_Info ()
{
AI_Output (self, other, "DIA_Dolina_Aidana2_09_00"); //Dalej droga prowadzi w dól
AI_Output (self, other, "DIA_Dolina_Aidana2_09_01"); //Ruszajmy.

Npc_ExchangeRoutine  (self, "JaskiniaDROGA3");
};
 

A.K.

A.K.

Użytkownicy
posty156
Propsy163
Profesjabrak
  • Użytkownicy
Tak na szybko patrząc - skrypt nie ma ustawionej wartości important na TRUE, więc NPC czeka, aż go zagadasz opcją dialogową description = "Co dalej?";. Z kolei wartość permanent ustawiłeś na TRUE, więc opcja będzie się powtarzać tak długo, jak będą spełnione warunki.
 

sevo

sevo

Użytkownicy
posty4
  • Użytkownicy
Słuszna uwaga.
Ale niestety po dodaniu tekstu bohatera "co dalej", nadal nie działa.
NPC znajduje się we właściwym Waypoincie, misja jest wystartowana, a npc ma mnie gdzieś :')

instance DIA_Dolina_Aidana2 (C_INFO)
{
npc = SLD_100001_Aidan;
nr = 1;
condition = DIA_Dolina_Aidana2_Condition;
information = DIA_Dolina_Aidana2_Info;
permanent = TRUE;
description = "Co dalej?";
};

func int DIA_Dolina_Aidana2_Condition ()
{
if (MIS_Dolina_Aidana == LOG_RUNNING)
&& Npc_GetDistToWP(self,"NW_XARDAS_TOWER_WATERFALL_CAVE_OUT") <100

{
return TRUE;
};
};

func void DIA_Dolina_Aidana2_Info ()
{
AI_Output (other, self, "DIA_Dolina_Aidana2_09_00"); //Co dalej?
AI_Output (self, other, "DIA_Dolina_Aidana2_09_01"); //Dalej droga prowadzi w dól
AI_Output (self, other, "DIA_Dolina_Aidana2_09_02"); //Ruszajmy.

Npc_ExchangeRoutine  (self, "JaskiniaDROGA3");
};
 

A.K.

A.K.

Użytkownicy
posty156
Propsy163
Profesjabrak
  • Użytkownicy
instance DIA_Dolina_Aidana2 (C_INFO)
{
npc = SLD_100001_Aidan;
nr = 1;
condition = DIA_Dolina_Aidana2_Condition;
information = DIA_Dolina_Aidana2_Info;


permanent = TRUE; // Określa, czy dialog będzie tylko raz (FALSE), czy ma być powtarzany (TRUE)
description = "Co dalej?"; //Nagłówek opcji dialogowej. zbędny przy automatycznym zagadywaniu

important = TRUE; //Tego Ci brakuje. Domyślnie lub FALSE - Ty zagadujesz, TRUE - NPC zagaduje
};
 


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