Wpisy do dziennika - Gothic II 5241 6

O temacie

Autor Karasko

Zaczęty 13.04.2019 roku

Wyświetleń 5241

Odpowiedzi 6

Karasko

Karasko

Użytkownicy
posty4
Profesjabrak
  • Użytkownicy

Karasko

Wpisy do dziennika - Gothic II
2019-04-13, 21:52(Ostatnia zmiana: 2019-04-13, 21:59)
Krótko i na temat. Chcę dodać wpis do dziennika po zabiciu np. Ścierwojada, a jeszcze inny wpis po wydobyciu z niego mięcha. Jak to można zrobić?

Próbowałem szukać podobnych sytuacji w skryptach, ale niestety nie znalazłem interesujących mnie rzeczy. Niby coś wydedukowałem z kodu i poradników, ale zatrzymałem się jedynie na prostym if...

Bardzo proszę o pomoc  :D
if (Npc_IsDead(Scavenger))
{
B_LogEntry       (TOPIC_JakisWpis, "Ścierwojad jest martwy");
};
 

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Ale tobie zapewne chodzi o jakiegoś konkretnego ścierwojada, np. ścierwojad z danego miejsca. Jak dałeś warunek, że jeśli martwy jest "Scavenger' to pod uwagę weźmie jakiegokolwiek ścierwojada, a myślę, że nie o to ci chodzi. Powinieneś stworzyć nowy skrypt potwora pod Ścierwojada do misji, w sensie wszystko to samo, ale instance inne. To mięso ma byc jakieś konkretne czy zwykłe surowe mięso? Tu podobnie, jeśli będzie tylko jako surowe mięso, to będziesz mógł je wziąć z kogokolwiek, jeśli chcesz, żeby to było mięso tylko z tego, to musisz stworzyć nowy skrypt itemu mięsa na podstawie oryginalnego, ale taki, który będzie tylko i wyłącznie przypisany do tego Ścierwojada (jak wcześniej napisane, również nowego).

Przynajmniej z perspektywy prostych kombinacji nie opierając się na ewentualnych pakietach skryptowych tak można to rozwiązać.

Karasko

Karasko

Użytkownicy
posty4
Profesjabrak
  • Użytkownicy
Dokładnie o to mi chodzi, mam oddzielnie zrobionego scavengera i jakies oddzielnie zrobione mięso, tylko mój problem nie polega na tym. Nie wiem jak zrobić wpis poza dialogiem. Wiem, że można zrobić wpis po rozmowie z jakimś NPC. Jedynie chcę wiedzieć jak obsłużyć zdarzenie typu zabicie potwora, uzyskanie przedmiotu itp. i właśnie wtedy dodać wpis. Podkreślam jeszcze raz, że nie chodzi mi o wpis po zakończeniu jakiejś rozmowy.
 

Cruc

Cruc

Użytkownicy
posty667
Propsy236
Profesjabrak
  • Użytkownicy
Do zabicia potwora powinno Ci wystarczyć ZS_Dead.
Z itemem może być ciężej. Tick_tockiem pewnie by dało radę, ale nie byłoby to optymalne rozwiązanie, żeby sprawdzać jakieś warunek co sekundę przez całą grę, dla jednego itemu. (choć oczywiście taki tick_tock można by włączyć dopiero po zabiciu potwora i wyłączyć po wzięciu mięsa co by poprawiłoby lekko jakość takiego rozwiązania).
Najlepiej pewnie byłoby użyć pakietów skryptowych.
 
while (!success) try{...}

Najlepszy modder od gothic multiplayer - polecam pytać go o wszystko!

Karasko

Karasko

Użytkownicy
posty4
Profesjabrak
  • Użytkownicy
No dobrze, tylko że mam dość zasadnicze pytanie. Gdzie mam napisać ten kod, w jakim pliku?  :F Czyżby w którymś z plików Log_Constants?
 

Cruc

Cruc

Użytkownicy
posty667
Propsy236
Profesjabrak
  • Użytkownicy
No w ZS_Dead xd
 
while (!success) try{...}

Najlepszy modder od gothic multiplayer - polecam pytać go o wszystko!

Karasko

Karasko

Użytkownicy
posty4
Profesjabrak
  • Użytkownicy
No w ZS_Dead xd

Wybacz, niedopatrzenie. Dziękuję ci bardzo za pomoc. Jako początkujący zatrzymałem się tylko na folderze Story i nawet nie przyszło mi na myśl, że skrypty mogą się znajdować gdzieś indziej...

if (Npc_IsDead(NowyScierwojad)) {
   B_LogEntry (TOPIC_NoweZadanie, "Jakiś Ścierwojad został zabity");
};

Problem rozwiązany.
 


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