Cztery pytania (Gothic 2 NK) 5569 17

O temacie

Autor nocnymocny

Zaczęty 15.02.2014 roku

Wyświetleń 5569

Odpowiedzi 17

nocnymocny

nocnymocny

Użytkownicy
posty65
Propsy6
Profesjabrak
  • Użytkownicy

nocnymocny

Cztery pytania (Gothic 2 NK)
2014-02-15, 17:17(Ostatnia zmiana: 2014-03-10, 16:33)
Witam serdecznie, mam następujące problemy:

1. Jak zmienić nastawienie NPC-a po przegranej przez niego walce, aby ten chciał z nami rozmawiać?

2. Co należy dopisać do skryptu zbroi, aby można było ją założyć dopiero po zdobyciu określonej liczby punktów siły?

3. Co należy dopisać do skryptu nowostworzonej zbroi, aby neutralne NPC-y chciały rozmawiać z bohaterem i nie kazały zmienić stroju?

4. Mam też problem z handlarzami w nowych Zenach, otóż nie mają oni produktów, którymi powinni handlować, choć dialogi i skrypty w B_GiveTradeInv są prawidłowe. Nie ma tego problemu z dodanymi handlarzami w Khorinis, Górniczej Dolinie, czy Jarkenderze.

Domyślam się, że nie są to jakieś "wielkie" problemy dla doświadczonych skrypterów. Dla mnie pomoc w ich rozwiązaniu sprawi, że w wolnych chwilach będę mógł pobawić się w edycję Gothica.

Pozdrawiam serdecznie!
 
https://www.youtube.com/watch?v=5HdbLar5Thg

CichoCiemnyGra

CichoCiemnyGra

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
Odpowiedz na 2 pytanie.
Musisz do zbroi dopisac:


   cond_atr[2]            =    ATR_STRENGTH; - sila
                                                                    ATR_DEXTERITY; - zrecznosc
                                                                    ATR_MANA; - mana :P
   cond_value[2]           =    50; // wymagana ilosc sily, zrecznosci lub many

Jesli chcesz aby bylo widoczne w ekwipunku ile potrzeba sily dopisz to:

   TEXT[0]            =    NAME_Str_needed;      COUNT[3]      =    cond_value[2];
                                                          NAME_Dex_needed - zrecznosc
                                                          NAME_Mana_needed - mana
 


Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
CichoCiemnyGra to co napisałeś nie działa na zbrojach. Jeśli chcesz gotowy skrypt, przejrzyj skrypty Mrocznych Tajemnic.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

CichoCiemnyGra

CichoCiemnyGra

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
Jak nie dziala jak ja to mam normalnie w zbroi  :facepalm:

Prosze, ss i skrypt zbroi (ta zbroja jest specialnie na pokaz):

http://iv.pl/images/36234760995341037508.jpg - ustawilem sobie 10 pkt. sily, a zbroja potrzebuje 100, wiec brakuje mi 90 pkt.

INSTANCE Mod_ITAR_PAL_H (C_Item)
{
   name                =   "Pancerz paladyna";

   mainflag             =   ITEM_KAT_ARMOR;
   flags                =   0;

   protection [PROT_EDGE]   =   150;
   protection [PROT_BLUNT] =    150;
   protection [PROT_POINT] =    150;
   protection [PROT_FIRE]    =    100;
   protection [PROT_MAGIC] =    50;

   value                =   VALUE_ITAR_PAL_H;

   wear                =   WEAR_TORSO;
   
   cond_atr[2]               =    ATR_STRENGTH;
   cond_value[2]           =    100; // zmienilem z 50 na 100

   visual                =   "ItAr_Pal_H.3ds";
   visual_change          =   "Armor_Pal_H.asc";
   visual_skin          =   0;
   material             =   MAT_METAL;

   description            =   name;
   TEXT[0]                  =   NAME_Str_needed;         COUNT[0]            =   cond_value[2];
   TEXT[1]               =   NAME_Prot_Edge;         COUNT[1]         =    protection   [PROT_EDGE];
   TEXT[2]               =   NAME_Prot_Point;      COUNT[2]         =    protection   [PROT_POINT];
   TEXT[3]             =   NAME_Prot_Fire;         COUNT[3]         =    protection   [PROT_FIRE];
   TEXT[4]               =   NAME_Prot_Magic;      COUNT[4]         =    protection   [PROT_MAGIC];
   TEXT[5]               =   NAME_Value;            COUNT[5]         =    value;
};


W skrypcie miecza nawet jest takie cos, wystarczy kopiowac i wkleic do zbroi.
Jesli chcecie mozecie nawet ustawic krag magii do zbroi, np. w szacie maga ognia.
mag_cricle      =   1
Teraz aby zalozyc zbroje potrzeba 1 krag magii.
Jesli dopiszecie do tej zbroi bedzie potrzeba 100 pkt. sily oraz 1 kregu magii.


Avallach - Kiedy to testowales ?
Splash - Skrypty mrocznych tajemnic, moda z G1, a nie G2. G1 nie modowalem, nie wiem jakie tam sa skrypty, ale tu chodzi o G2, jak w tytule.
 

nocnymocny

nocnymocny

Użytkownicy
posty65
Propsy6
Profesjabrak
  • Użytkownicy
Sposób CichoCiemnyGra sprawdziłem i działa. Dziękuję za pomoc.  :lol:

Mam koleje pytanie:
5. Co zrobić, by postać mogła rozpocząć kolejną rozmowę dopiero po zabiciu określonej liczby storzeń danego gatunku, np. po zabiu 20 wilków?

 
https://www.youtube.com/watch?v=5HdbLar5Thg

CichoCiemnyGra

CichoCiemnyGra

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
Sprawdz misje u maga ognia Isgaroth'a. Tam cos bylo z czarnym wilkiem, jak go zabiles i nie brales nawet trofeum, to szedles do Isgaroth'a i miales wykonana misje.
 

nocnymocny

nocnymocny

Użytkownicy
posty65
Propsy6
Profesjabrak
  • Użytkownicy
U Isgaroth'a w skrypcie ten wilk związany jest z zadaniem w ten sposób, że kolejny dialog pojawi się po zabiciu tego jednego konkretnego wilka:
        if (MIS_IsgarothWolf == LOG_RUNNING)
        && Npc_IsDead (Wolfi)

W podany wyżej sposób mógłbym zrobić, tylko że trzeba byłoby w skrypcie dialogu wpisać
       Wld_InsertNpc   (Wolf,"");
- i tak ze 20 razy, a w warunku kolejnej opcji dialogowej
         (Npc_IsDead (Wolf))
- 20 razy itd.. A ja chciałbym zapisać to w jednym warunku. Wydaje się mi, że trzeba zrobić to za pomocą zmiennych (jeszcze tego nie próbowałem):
        if (Npc_IsDead(Wolf))
        && (ZMIENNA >= 20)
 
 
https://www.youtube.com/watch?v=5HdbLar5Thg

CichoCiemnyGra

CichoCiemnyGra

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
Nie wiem czy to zadziala, ale warto sprobowac:
if (Npc_IsDead(Wolf >= 20))

Mozesz rowniez zobaczyc questy u piratow z jarkendaru. Trzeba tam bylo zabic okreslona liczbe brzytwiakow, i po kazdym zabiciu chociaz 1, pokazywalo Ci ile jeszcze brakuje.
 

nocnymocny

nocnymocny

Użytkownicy
posty65
Propsy6
Profesjabrak
  • Użytkownicy
Powyższy sposób jednak nie działa, próbowałem go już wcześniej. W skrypcie Grega nie ma wstawionych brzytwiaków w taki sposób:   Wld_InsertNpc  (Razor,"");  jest za to: if (C_AllCanyonRazorDead() == FALSE), tylko nie wiem, w którym pliku znajdują się informacje określające ten warunek.
 
https://www.youtube.com/watch?v=5HdbLar5Thg

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
@CichoCiemnyGra
To nie zadziała, taka składnia w ogóle nie istnieje.
Co zabawne mogłoby to się się skompilować, bo Wolf zostanie zinterpretowane jako liczba, więc da się ją użyć z operatorem >=, który normalnie dałby w wyniku boola, ale w Daedalusie da też inta, którego parser może spróbować domyślnie przekonwertować na instancję (to się zdarza, ale w tej sytuacji chyba nie). W każdym razie wynik tego ostatniego na bank byłby czymś bezsensownym.

Takie coś poprawnie robi się dodając licznik w zs_dead lub nadając każdemu osobnikowi unikatowe instance.

@nocnymocny
Notepad++ i "Szukaj w plikach" twoim przyjacielem.

nocnymocny

nocnymocny

Użytkownicy
posty65
Propsy6
Profesjabrak
  • Użytkownicy
Avallach, człowiek uczy się cały czas i ja nauczyłem się czegoś nowego, dzięki.  :ok: W skrypcie B_CountCanyonRazor znajdują się brzytwiaki, które pojawiają się w grze i które trzeba zabić. Ale i tak warunek rozmowy odnosi się konkretnie do tych brzytwiaków. A mnie chodzi, żeby były zliczane wszystkie zabite storzenia danego gatunku, niezależnie, czy są w Khorinis, Kolonii Karnej, czy Jarkenarze.
A może ktoś pomoże, albo podpowie rozwiązania na inne pytania?
 
https://www.youtube.com/watch?v=5HdbLar5Thg

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Aaa, czyli chcesz zrobić po prostu licznik zabitych stworzeń xD Wiem, że chodzi ci o G2NK, ale z tego co pamiętam to w Mrocznych Tajemnicach była książka, która naliczała zabite stworzenia. Możesz podejrzeć.
Choć zgaduję, że cała tajemnica tkwi w tym, że licznik jest uzależniony od jednej zmiennej, a wraz ze śmiercią każdego stworzenia tego typu licznik się zwiększa o 1 i wyświetla w książce.
 
Lieb Vaterland magst ruhig sein

nocnymocny

nocnymocny

Użytkownicy
posty65
Propsy6
Profesjabrak
  • Użytkownicy
Pamiętam właśnie, że była taka książka, ale nie mam zainstalowanego Gothica I, ani skryptów z Mrocznych Tajemnic.  :facepalm: Wiem, ża na pewno chodzi tu tę zmienną...
 
https://www.youtube.com/watch?v=5HdbLar5Thg

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Podejrzałem i całość wygląda następująco:
W treści książki rzeczywiście wyświetlają się zmienne, tutaj posłużę się wilkiem
      var string msg1;     msg1  = "Zabitych Wilków: ";                     msg1 = ConcatStrings(msg1,    IntToString(wilk));
W treści dokumentu:
      Doc_PrintLine    ( nDocID,  0, msg1                    );
A w B_FUNCTIONS.d została zdefiniowana funkcja:
func void WolfKiller ()
{
    if (self.aivar[AIV_MM_REAL_ID]==ID_WOLF)
    {

        wilk = wilk + 1;

        If (wilk == 30)
        {
            PrintScreen        ("Specjalizujesz się w zabijaniu Wilków." , -1,5,"font_old_20_white.tga",2);
            Snd_Play        ("LevelUp");
        };
    };
};
//dodałem tabulatory dla przejrzystości XD
Najpewniej będzie działać pod G2NK, powinieneś dodać ją do pliku ZS_Dead.d.
 
Lieb Vaterland magst ruhig sein


Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Wiem, ale nocnymocny nadal nie znał odpowiedzi, więc powtórzyłem...
 
Lieb Vaterland magst ruhig sein

nocnymocny

nocnymocny

Użytkownicy
posty65
Propsy6
Profesjabrak
  • Użytkownicy
Zrobiłem tak, jak napisał  JasiuYTPL, dodałem do STORY_GLOBALS.d var int wilk;, ale w mojej książce nie zlicza mi zabitych wilków, tylko wyświetla się ciągle cyfra 0 (nawet po zabiciu kilku zwierzaków).
 
https://www.youtube.com/watch?v=5HdbLar5Thg


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