AI_Teleport, Jak działa? Jak użyć? 5209 18

O temacie

Autor Pragasek

Zaczęty 13.03.2010 roku

Wyświetleń 5209

Odpowiedzi 18

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Witam. Chciałbym się dowiedzieć jak w Gothicu 1 można poprawnie używać funkcji AI_Teleport. Chciałbym użyć tej funkcji y przenieść pewnego npc po zakończeniu odpowiedniego dialogu.

Oczywiście próbowałem już jej użyć ale niestety nie działa.
A oto przykład jaki użyłem AI_Teleport

AI_Teleport (SLD_2001_Sentenza, "FP_ROAM_OW_SNAPPER_OW_ORC");

Niestety nie działa. Mógłby mi ktoś wytłumaczyć co jest źle i jak to naprawić?
Do Gothica 1!!!

Pozdro

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Nic się nie dzieje? Wywala błąd? Dobrze wpisałeś NPCa i nazwę waypointu?

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
zwróć uwagę, że ta funkcja chyba przyjmuje wartość typu C_NPC, a nie instance oraz nie zmienia rutyny postaci, więc pewnie zacznie od razu wracać na miejsce, jeśli sam tego nie zrobisz.
 


Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
@Adanos

Nie nic się nie dzieje, nie wywala błędu, i dobrze wpisałem imie npc i waypointa ^^

@Zysk

Co więc sugerujesz by zrobić?

@Avallach

Nie działa.


maciejG

maciejG

Użytkownicy
posty450
Propsy1
  • Użytkownicy
To nie działa przypadkiem tylko wtedy, gdy odejdzie się na parędziesiąt metrów od NPC?
 
Spoiler

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
@Avallach
Dalej nie działa ^^

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

AI_Teleport, Jak działa? Jak użyć?
#8 2010-03-13, 19:04(Ostatnia zmiana: 2010-03-13, 19:05)
Rozmawiasz z tym NPCem sld_2001_sentenza, czy rozmawiasz z innym? Jeśli nie rozmawiasz z sld_2001_sentenza, to czy jest wstawiony w startup.d?

Cytuj
To nie działa przypadkiem tylko wtedy, gdy odejdzie się na parędziesiąt metrów od NPC?
Nie.

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Rozmawiam z innym Npc. Po zakończeniu rozmowy obok nas ma się pojawić Sentenza. Dlatego używam AI_Teleport lecz nie działa. Czy to wymaga wstawienia w Startup.d?

Acha i jeżeli to wymaga wstawienia do startupa to w jaki sposób mam dodać kolejny wld insert skoro już robiłem to wcześniej?

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
^^  
Jeśli nie ma danego NPCa w świecie, to nie możesz go teleportować, tylko musisz go wstawić. Zatem zamiast ai_teleport użyj w dialogu wld_insertnpc.

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Ale NPC JEST już w świecie wcześniej. Ponieważ na początku gry Sentenza daje nam questy.

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
No to teleportuj i zmień mu rutynę.

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Czyli w dialogu w którym jest AI_Teleport dodać jeszcze Exchange Routine dla Sentenzy?

I jeszcze jedno co mam dać by Sentenza od razu po teleporcie rzucił się na NPc z którym chwilkę wcześniej gadałem? I go zabił ^^

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

AI_Teleport, Jak działa? Jak użyć?
#14 2010-03-13, 19:18(Ostatnia zmiana: 2010-03-13, 19:19)
Tak. Najpierw ai_teleport, a potem B_exchangeroutine.

BTW
Sparsowałeś skrypty? ^^


Cytuj
I jeszcze jedno co mam dać by Sentenza od razu po teleporcie rzucił się na NPc z którym chwilkę wcześniej gadałem? I go zabił 10.gif
Użyj funkcji b_attack(sld_2001_sentenza,self,AR_KILL,0);

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Jasne robię to za każdym razem ^^
I tak jak UP co dodać by Sentenza odrazu rzucił się na NPC z  którym chwilke wcześniej gadałem i go zabił?

@Ok dzięki zobaczę czy to się uda.

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Shit!
Pokazuje mi błąd gdy naprawiam skrypty!
Błąd z tym:

B_Attack(SLD_2001_Sentenza,self,AR_KILL,0);

Pozdrawiam!

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

AI_Teleport, Jak działa? Jak użyć?
#17 2010-03-13, 19:36(Ostatnia zmiana: 2010-03-13, 19:38)
A wiesz przynajmniej jaki błąd wyskoczył?

Fakt, pomyliłem się trochę. Podana funkcja nie jest zdefiniowana w G1, tylko w G2. Spróbuj coś takiego: var C_NPC Sentenza;
Sentenza = Hlp_GetNpc (SLD_2001_Sentenza);
Npc_SetTarget (self,Sentenza);
AI_StartState (self,ZS_ATTACK,1,"");

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
A czy to jest funkcja dotycząca ataku Npc z którym rozmawiałem? Bo jest coś takiego! Kosa prowadzi nas na ziemie orków, i nagle odbija mu i chce nas zabić. Po zakończonym dialogu pokazuje się Sentenza (W tym przypadku nasz przyjaciel) I to Sentenza rzuca się na Kose i go zabija. Czy ta funkcja tak stwierdza? Po prostu chcę by było na odwrót, że to Sentenza biegnie do Kosy by go pobić i na dodatek potem zabić!


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