Błędy przy parsowaniu 7156 19

O temacie

Autor greex

Zaczęty 2.05.2012 roku

Wyświetleń 7156

Odpowiedzi 19

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
Cześć. Stworzyłem dialog oraz przedmioty do niego. Oczywiście spodziewałem się błędów i owszem, dość szybko przy parsowaniu Starterem błąd wykryło, tylko że nie wiem w jakim on jest pliku... Log z zSpy:



00:52 Info:  3 B:       CSLib: finished loading library .... <zCCsLib.cpp,#64>
00:52 Info:  9 U:     (oCWorld) Construction .... <oWorld.cpp,#262>
00:52 Info:  3 D:     MSH: Loading Mesh: SKYDOME_LAYER1.MSH .... <zMesh.cpp,#3445>
00:52 Info:  3 D:     MSH: Loading Mesh: SKYDOME_COLORLAYER.MSH .... <zMesh.cpp,#3445>
00:52 Info:  3 D:     MSH: Loading Mesh: SKYDOME_LAYER2.MSH .... <zMesh.cpp,#3445>
00:52 Info:  3 D:     MSH: Loading Mesh: SKYDOME_LAYER3.MSH .... <zMesh.cpp,#3445>
00:52 Info:  4 N:     GAME: Loading file Content\Gothic.src or .dat .... <oGame.cpp,#739>
[color=#FF0000]00:52 Fatal:-1 U:    PAR: Expected ';' ( line 1494 ) .... <zParser.cpp,#599>[/color]
00:52 Info:  8 X:     Device supports mode -  (w*h*bpp) 640*480*16 .... <zRndD3D_Init.cpp,#180>
00:52 Info:  8 X:     Device supports mode -  (w*h*bpp) 640*480*32 .... <zRndD3D_Init.cpp,#180>
00:52 Info:  8 X:     Device supports mode -  (w*h*bpp) 720*480*16 .... <zRndD3D_Init.cpp,#180>
00:52 Info:  8 X:     Device supports mode -  (w*h*bpp) 720*576*16 .... <zRndD3D_Init.cpp,#180>
00:52 Info:  8 X:     Device supports mode -  (w*h*bpp) 800*600*16 .... <zRndD3D_Init.cpp,#180>

Dodam iż jestem prawie pewny, że nie edytowałem pliku, który ma aż tyle linijek.

Sugerując się tym tutorialem - http://themodders.org/index.php?/topic/80-naprawianie-bledow-w-skryptach/  wychodzi na to, że błąd znajduje się w Gothic.src lub .dat? Src u mnie ma ok. 400 linijek, za to .dat prawie 500 tysięcy, ale jak zeedytować skoro jest pełno krzaczków?
 

Alexik

Alexik

Użytkownicy
posty396
Propsy150
ProfesjaNierób
  • Użytkownicy
Pokaż skrypt dialogu i przedmiotów
 

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy

greex

Błędy przy parsowaniu
#2 2012-05-02, 15:48(Ostatnia zmiana: 2012-05-02, 15:50)
Pokaż skrypt dialogu i przedmiotów

Skrypt dialogu na pewno tego nie powoduje, bo nawet po jego usunięciu błąd dalej występuje.

Przedmioty rzeczywiście mogą to powodować, bo robiłem je na zasadzie kopiuj-wklej, a nie z tutoriala, ale myślałem, że skoro pokazuje linijkę 1494, to raczej nie to ;)

INSTANCE ItPl_Perm_Herb2(C_Item)
{
name = "Szczaw szlachetny";

mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI|ITEM_MISSION;

value = Value_Perm_Herb2;

visual = "ItPl_Perm_Herb.3ds";
material = MAT_LEATHER;
scemeName = "FOOD";
on_state[0] = Use_Perm_Herb2;

description = name;

TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Perm_Herb2;

TEXT[5] = NAME_Value;
COUNT[5] = Value_Perm_Herb2;
};
FUNC VOID Use_Perm_Herb2()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Perm_Herb2);
};

INSTANCE ItWr_Map_Szczaw (C_Item)
{
name = "Mapa występowania Szczawiu";

mainflag = ITEM_KAT_DOCS;
flags = ITEM_MISSION;

value = 50;

visual = "ItWr_Map_01.3DS";
material = MAT_LEATHER;

scemeName = "MAP";
on_state[0] = Use_Map_Szczaw;

description = name;
TEXT[0] = "";
TEXT[1] = "";
TEXT[5] = NAME_Value;
COUNT[5] = value;
};

func void Use_Map_Szczaw()
{
if (Npc_IsPlayer(self))
{
B_SetPlayerMap(ItWr_Map_Szczaw);
};

var int Document;
Document = Doc_CreateMap ();
Doc_SetPages (Document, 1);
Doc_SetPage (Document, 0, "Map_szczaw.tga", TRUE);  // TRUE = scale to fullscreen
Doc_SetLevel (Document, "NewWorld\NewWorld.zen");
Doc_SetLevelCoords (Document, -28000, 50500, 95500, -42500);
Doc_Show (Document);
};
 

Alexik

Alexik

Użytkownicy
posty396
Propsy150
ProfesjaNierób
  • Użytkownicy
Cytuj
INSTANCE ItWr_Map_Szczaw (C_Item)
{      
        name                                    =       "Mapa występowania Szczawiu";
       
        mainflag                                =       ITEM_KAT_DOCS;
        flags                                   =       ITEM_MISSION;

        value                                   =       50;

        visual                                  =       "ItWr_Map_01.3DS";
        material                                =       MAT_LEATHER;

        scemeName                               =       "MAP";  
        on_state[0]                             =       Use_Map_Szczaw;

                description     = name;
        TEXT[0]         = "";
        TEXT[1]         = "";
        TEXT[5]         = NAME_Value;
        COUNT[5]        = value;
};

        func void Use_Map_Szczaw()
        {
                if (Npc_IsPlayer(self))
                {
                        B_SetPlayerMap(ItWr_Map_Szczaw);
                };

                var int Document;
                Document =      Doc_CreateMap           ();
                                        Doc_SetPages            (Document, 1);
                                        Doc_SetPage             (Document, 0, "Map_szczaw.tga", TRUE);  // TRUE = scale to fullscreen
                                        Doc_SetLevel            (Document, "NewWorld\NewWorld.zen");
                                        Doc_SetLevelCoords      (Document, -28000, 50500, 95500, -42500);
                                        Doc_Show                        (Document);
                          };
        };
Spróbuj tak
 

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
Już sobie poradziłem :P Otwierałem po kolei wszystko co popadło, aż dotarłem, usunąłem spację i jest ok. Teraz nastepny błąd, który nie wiem gdzie leży:

01:13 Info:  4 N:     GAME: Loading file Content\Gothic.src or .dat .... <oGame.cpp,#739>
01:14 Warn:  0 U:    PAR: Ignoring CONTENT\STORY\DIALOG_MOBSIS\B_PLAYERMAP.D ( File already parsed ) .... <zParser.cpp,#784>
01:14 Warn:  0 U:    PAR: Ignoring CONTENT\STORY\B_ASSIGNAMBIENTINFOS\B_ASSIGNDRAGONTALK_MAIN.D ( File already parsed ) .... <zParser.cpp,#784>
01:15 Fatal:-1 U:    PAR: Expected ';' ( line 85 ) .... <zParser.cpp,#599>

Żadnego z tych dwóch plików na 100% nie edytowałem. Jest jakiś sprawdzony sposób na zobaczenie w jakim pliku występuje error?
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.

Bogdan Zwei

Błędy przy parsowaniu
#5 2012-05-02, 17:59(Ostatnia zmiana: 2012-05-02, 18:02)
Problem jest w B_PlayerMap.d znajdujący się w _Work\data\Scripts\Content\Story\Dialog_Mobsis.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Alexik

Alexik

Użytkownicy
posty396
Propsy150
ProfesjaNierób
  • Użytkownicy
Problem jest w B_PlayerMap.d znajdujący się w work/data/scripts/content/story/dialog_mobsis
Dokładnie bynajmniej trzeba dam dać nowa mape
 

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
Nie edytowałem tego pliku. Problem tkwi prawdopodobnie w pliku dialogu, przed chwilą sprawdzałem i jak usunąłem linijkę to się zmieniła na 84.

Linijka z błędem to ostatnia linijka:

//========================================
//-----------------> HELLO2
//========================================

INSTANCE DIA_Urnal_HELLO2 (C_INFO)
{
   npc          = MIL_9001_Urnal;
   nr           = 2;
   condition    = DIA_Urnal_HELLO2_Condition;
   information  = DIA_Urnal_HELLO2_Info;
   permanent = TRUE;
   description = "Jak leci?";
};

FUNC INT DIA_Urnal_HELLO2_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Urnal_HELLO1))
    {
    return TRUE;
    };
};


FUNC VOID DIA_Urnal_HELLO2_Info()
{
    if (Npc_KnowsInfo (other, DIA_Urnal_HELLO1))
   {
        AI_Output (other, self ,"DIA_Urnal_HELLO2_15_01"); //Jak leci?
        AI_Output (self, other ,"DIA_Urnal_HELLO2_03_02"); //Za chwilę zacznę chyba rzeźbić w murze.
        AI_Output (self, other ,"DIA_Urnal_HELLO2_03_03"); //Nic się nie dzieje. Czasami wyskoczy jakieś zwierze, ale zwykle boi się podejść do miasta.

};

O co chodzi? Przecież jest ; :P
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Plik wygląda tak:
////////////////////////////////////////////////////////////////////////////////
//
// Get/Set instance variable for the map hotkey
//

var int PlayerMapInstance;

func int B_GetPlayerMap()
{
return PlayerMapInstance;
};

func int B_SetPlayerMap(var int MapInstance)
{
PlayerMapInstance = MapInstance;
return PlayerMapInstance;
};

Mnie się nie pytajcie, co tam jest źle, bo w tym pliku NIC NIE MOŻECIE ZMIENIAĆ, inaczej wam mapy w Gothic nie będą działały.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
Plik wygląda tak:
////////////////////////////////////////////////////////////////////////////////
//
// Get/Set instance variable for the map hotkey
//

var int PlayerMapInstance;

func int B_GetPlayerMap()
{
return PlayerMapInstance;
};

func int B_SetPlayerMap(var int MapInstance)
{
PlayerMapInstance = MapInstance;
return PlayerMapInstance;
};

Mnie się nie pytajcie, co tam jest źle, bo w tym pliku NIC NIE MOŻECIE ZMIENIAĆ, inaczej wam mapy w Gothic nie będą działały.

Nic nie zmieniałem. Błąd na 100% dotyczy jednego z dialogów, bo zmieniłem ponownie linijkę w owym dialogu i ponownie linijka się zmieniła w błędzie. Niby brakuje średnika, ale przecież jest? Kod dałem 2 posty wyżej.
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
W tym dialogu brakuje jeszcze }; Nawiasów otwierających i zamykających musi być tyle samo.

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
Wielkie dzięki ;) Będę wiedział na przyszłość.

Kolejny błąd w którym nie wiem co może być źle - Unkown Identifier : Instance

Kod którego to dotyczy:

INSTANCE DIA_Greex_HELLO4 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 4;
   condition    = DIA_Greex_HELLO4_Condition;
   information  = DIA_Greex_HELLO4_Info;
   permanent = FALSE;
   Important    = TRUE;
};
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Coś wyżej masz źle. Pokaż więcej kodu.

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
//========================================
//-----------------> HELLO3
//========================================

INSTANCE DIA_Greex_HELLO3 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 3;
   condition    = DIA_Greex_HELLO3_Condition;
   information  = DIA_Greex_HELLO3_Info;
   permanent = TRUE;
   description = "Co słychać?";
};

FUNC INT DIA_Greex_HELLO3_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Greex_HELLO3_Info()
{
    if (Npc_KnowsInfo (other, DIA_Greex_HELLO1_Info))
    {  
    AI_Output (other, self ,"DIA_Greex_HELLO3_15_01"); //Co słychać?
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_02"); //Źle, na terenach wokół miasta coraz bardziej niebezpiecznie. Pełno potworów i bandytów.
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_03"); //W dodatku dałbym sobie głowę uciąć, że ostatnio widziałem orka!
   
};

//========================================
//-----------------> HELLO4
//========================================

INSTANCE DIA_Greex_HELLO4 (C_INFO) // <---------------------------------------LINIJKA 148 której dotyczy błąd
{
   npc          = VLK_9005_Greex;
   nr           = 4;
   condition    = DIA_Greex_HELLO4_Condition;
   information  = DIA_Greex_HELLO4_Info;
   permanent = FALSE;
   Important    = TRUE;
};

FUNC INT DIA_Greex_HELLO4_Condition()
{
    if (Kapitel >= 3)

    {
    return TRUE;
    };
};


FUNC VOID DIA_Greex_HELLO4_Info()
{
    if (Kapitel >= 3)
    {
        AI_Output (self, other ,"DIA_Greex_HELLO4_03_01"); //Mam dla ciebie zadanie, wchodzisz w to?

    Info_ClearChoices (DIA_Greex_HELLO4);
    Info_AddChoice (DIA_Greex_HELLO4, "Wchodzę w to.", DIA_Greex_YES);
    Info_AddChoice (DIA_Greex_HELLO4, "Znajdź sobie kogoś innego.", DIA_Greex_NO);
};
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Błędy przy parsowaniu
#14 2012-05-02, 19:13(Ostatnia zmiana: 2012-05-02, 19:14)
No, bo przecież nie zamknąłeś klamry }; w tym

FUNC VOID DIA_Greex_HELLO3_Info()
{
    if (Npc_KnowsInfo (other, DIA_Greex_HELLO1_Info))
    {  
    AI_Output (other, self ,"DIA_Greex_HELLO3_15_01"); //Co słychać?
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_02"); //Źle, na terenach wokół miasta coraz bardziej niebezpiecznie. Pełno potworów i bandytów.
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_03"); //W dodatku dałbym sobie głowę uciąć, że ostatnio widziałem orka!
   
};

Powinno być tak:
FUNC VOID DIA_Greex_HELLO3_Info()
{
    if (Npc_KnowsInfo (other, DIA_Greex_HELLO1_Info))
    {  
    AI_Output (other, self ,"DIA_Greex_HELLO3_15_01"); //Co słychać?
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_02"); //Źle, na terenach wokół miasta coraz bardziej niebezpiecznie. Pełno potworów i bandytów.
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_03"); //W dodatku dałbym sobie głowę uciąć, że ostatnio widziałem orka!
    };  
};

Niżej też nie zamknąłeś.

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
Dzięki, rzeczywiście,sprawdzałem pod tym kątem, ale tylko te zaczynające się tuż przy rozpoczęciu linijki. Pododawałem zamknięcia :P Na tym jednak nie koniec - przepraszam, że ten temat się tak wydłuża, ale to mój pierwszy dialog w którym jest trochę "ponad" podstawowych funkcji, bo występuje handel, quest, kradzież i 2 inne dialogi.

00:39 Fatal:-1 U:    PAR: CONTENT\STORY\DIALOGE\DIA_VLK_9005_GREEX.D: Wrong type : DIA_GREEX_HELLO1_INFO .... <zParser.cpp,#599>


INSTANCE DIA_Greex_HELLO1 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 1;
   condition    = DIA_Greex_HELLO1_Condition;
   information  = DIA_Greex_HELLO1_Info;
   permanent = FALSE;
   description = "Kim jesteś?";
};

FUNC INT DIA_Greex_HELLO1_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Greex_HELLO1_Info()
{
    AI_Output (other, self ,"DIA_Greex_HELLO1_15_01"); //Kim jesteś?
    AI_Output (self, other ,"DIA_Greex_HELLO1_03_02"); //Nazywam się Greex. Zajmuję się zbieraniem oraz sprzedażą roślin.
    AI_Output (self, other ,"DIA_Greex_HELLO1_03_03"); //To stoisko odziedziczyłem po moich rodzicach.
    Log_CreateTopic (Topic_CityTrader,LOG_NOTE);
    B_LogEntry (Topic_CityTrader,"Greex sprzedaje zioła niedaleko bramy do górnego miasta.");
 
};
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Pokaż cały skrypt, bo błąd jest pewnie, gdzie indziej.

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
//========================================
//-----------------> EXIT
//========================================

INSTANCE DIA_Greex_EXIT(C_INFO)
{
npc             = VLK_9005_Greex;
nr              = 999;
condition = DIA_Greex_EXIT_Condition;
information = DIA_Greex_EXIT_Info;
permanent = TRUE;
description     = "KONIEC";
};

FUNC INT DIA_Greex_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Greex_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> KRADZIEŻ
//========================================

INSTANCE DIA_Greex_PICKPOCKET(C_INFO)
{
npc          = VLK_9005_Greex;
nr           = 900;
condition    = DIA_Greex_PICKPOCKET_Condition;
information  = DIA_Greex_PICKPOCKET_Info;
permanent    = TRUE;
description  = Pickpocket_80;
};

FUNC INT DIA_Greex_PICKPOCKET_Condition()
{
C_Beklauen (80, 205);
};

FUNC VOID DIA_Greex_PICKPOCKET_Info()
{
Info_ClearChoices (DIA_Greex_PICKPOCKET);
Info_AddChoice (DIA_Greex_PICKPOCKET, DIALOG_BACK ,DIA_Greex_PICKPOCKET_BACK);
Info_AddChoice (DIA_Greex_PICKPOCKET, DIALOG_PICKPOCKET ,DIA_Greex_PICKPOCKET_DoIt);
};

FUNC VOID DIA_Greex_PICKPOCKET_DoIt()
{
B_Beklauen ();
Info_ClearChoices (DIA_Greex_PICKPOCKET);
};

FUNC VOID DIA_Greex_PICKPOCKET_BACK()
{
Info_ClearChoices (DIA_Greex_PICKPOCKET);
};

//========================================
//-----------------> HELLO1
//========================================

INSTANCE DIA_Greex_HELLO1 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 1;
   condition    = DIA_Greex_HELLO1_Condition;
   information  = DIA_Greex_HELLO1_Info;
   permanent = FALSE;
   description = "Kim jesteś?";
};

FUNC INT DIA_Greex_HELLO1_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Greex_HELLO1_Info()
{
    AI_Output (other, self ,"DIA_Greex_HELLO1_15_01"); //Kim jesteś?
    AI_Output (self, other ,"DIA_Greex_HELLO1_03_02"); //Nazywam się Greex. Zajmuję się zbieraniem oraz sprzedażą roślin.
    AI_Output (self, other ,"DIA_Greex_HELLO1_03_03"); //To stoisko odziedziczyłem po moich rodzicach.
    Log_CreateTopic (Topic_CityTrader,LOG_NOTE);
    B_LogEntry (Topic_CityTrader,"Greex sprzedaje zioła niedaleko bramy do górnego miasta.");
 
};

//========================================
//-----------------> HELLO2
//========================================

INSTANCE DIA_Greex_HELLO2 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 2;
   condition    = DIA_Greex_HELLO2_Condition;
   information  = DIA_Greex_HELLO2_Info;
   permanent = TRUE;
   trade        = TRUE;
   description = "Pokaż mi swoje towary.";
};

FUNC INT DIA_Greex_HELLO2_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Greex_HELLO2_Info()
{
};

//========================================
//-----------------> HELLO3
//========================================

INSTANCE DIA_Greex_HELLO3 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 3;
   condition    = DIA_Greex_HELLO3_Condition;
   information  = DIA_Greex_HELLO3_Info;
   permanent = TRUE;
   description = "Co słychać?";
};

FUNC INT DIA_Greex_HELLO3_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Greex_HELLO3_Info()
{
    if (Npc_KnowsInfo (other, DIA_Greex_HELLO1_Info))
    {  
    AI_Output (other, self ,"DIA_Greex_HELLO3_15_01"); //Co słychać?
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_02"); //Źle, na terenach wokół miasta coraz bardziej niebezpiecznie. Pełno potworów i bandytów.
    AI_Output (self, other ,"DIA_Greex_HELLO3_03_03"); //W dodatku dałbym sobie głowę uciąć, że ostatnio widziałem orka!
   
    };
};

//========================================
//-----------------> HELLO4
//========================================

INSTANCE DIA_Greex_HELLO4 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 4;
   condition    = DIA_Greex_HELLO4_Condition;
   information  = DIA_Greex_HELLO4_Info;
   permanent = FALSE;
   Important    = TRUE;
};

FUNC INT DIA_Greex_HELLO4_Condition()
{
    if (Kapitel >= 3)

    {
    return TRUE;
    };
};


FUNC VOID DIA_Greex_HELLO4_Info()
{
    if (Kapitel >= 3)
    {
        AI_Output (self, other ,"DIA_Greex_HELLO4_03_01"); //Mam dla ciebie zadanie, wchodzisz w to?

    Info_ClearChoices (DIA_Greex_HELLO4);
    Info_AddChoice (DIA_Greex_HELLO4, "Wchodzę w to.", DIA_Greex_YES);
    Info_AddChoice (DIA_Greex_HELLO4, "Znajdź sobie kogoś innego.", DIA_Greex_NO);

};
};

FUNC VOID DIA_Greex_YES()
{
    AI_Output (other, self ,"DIA_Greex_YES_15_01"); //Wchodzę w to!
    AI_Output (self, other ,"DIA_Greex_YES_03_02"); //Świetnie. A więc słuchaj:
    AI_Output (self, other ,"DIA_Greex_YES_03_03"); //Ostatnio wertując pewną książkę natknąłem się na pewną wzmiankę.
    AI_Output (self, other ,"DIA_Greex_YES_03_04"); //Dotyczy ona rzadkiej odmiany Szczawiu Królewskiego - Szczawiu Szlachetnego.
    AI_Output (self, other ,"DIA_Greex_YES_03_05"); //Według tej wzmianki Szczaw rośnie w lasach niedaleko latarni morskiej.
    AI_Output (self, other ,"DIA_Greex_YES_03_06"); //Podejrzewam, że głęboko w lasach.
    AI_Output (self, other ,"DIA_Greex_YES_03_07"); //Gdy zdobędziesz Szczaw przynieś mi go - dostaniesz za niego 500 sztuk złota.
    MIS_SzczawSzlachetny = LOG_RUNNING;

    Log_CreateTopic            (TOPIC_SzczawSzlachetny, LOG_MISSION);
    Log_SetTopicStatus       (TOPIC_SzczawSzlachetny, LOG_RUNNING);
    B_LogEntry                     (TOPIC_SzczawSzlachetny,"Zielarz Greex dał mi mapę z zaznaczoną lokalizacją Szczawiu Szlachetnego. Mam znaleźć roślinę i przynieść mu ją.");
};

FUNC VOID DIA_Greex_NO()
{
        AI_Output (other, self ,"DIA_Greex_NO_00"); //Znajdź sobie kogoś innego.
        AI_Output (self, orger ,"DIA_Greex_NO_01"); //Cóż, jak chcesz.
        AI_StopProcessInfos (self);
};

//========================================
//-----------------> HELLO10
//========================================

INSTANCE DIA_Greex_HELLO10 (C_INFO)
{
   npc          = VLK_9005_Greex;
   nr           = 10;
   condition    = DIA_Greex_HELLO10_Condition;
   information  = DIA_Greex_HELLO10_Info;
   permanent = FALSE;
   description = "Mam Szczaw!";
};

FUNC INT DIA_Greex_HELLO10_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Greex_HELLO10_Info()
{
    if (Npc_HasItems (other, ItPl_Perm_Herb2) >=1)
    {
        AI_Output (other, self ,"DIA_Greex_HELLO10_15_08"); //Mam Szczaw!
        AI_Output (self, other ,"DIA_Greex_HELLO10_03_09"); //Znakomicie! Nareście będę mógł zabłysnąć przed Constantino.
        AI_Output (self, other ,"DIA_Greex_HELLO10_03_10"); //Oto twoja nagroda.
        CreateInvItems (self, ItMi_Gold, 500);
        B_GiveInvItems (self, other, ItMi_Gold, 500);
        B_GiveInvItems (other, self, ItPI_Perm_Herb2, 1);

        B_LogEntry                     (TOPIC_SzczawSzlachetny,"Znalazłem Szczaw i zanisołem go do zielarza.");
        Log_SetTopicStatus       (TOPIC_SzczawSzlachetny, LOG_SUCCESS);
        MIS_SzczawSzlachetny = LOG_SUCCESS;

        B_GivePlayerXP (500);
};
};
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Tu:
if (Npc_KnowsInfo (other, DIA_Greex_HELLO1_Info))
Powinno być:
if (Npc_KnowsInfo (other, DIA_Greex_HELLO1))
Dajesz po prostu nazwę obiektu DIA_Greex_HELLO1, nie nazwę funkcji.

greex

greex

Użytkownicy
posty96
Propsy14
  • Użytkownicy
Wielki dzięki :D  Oprócz tego były jeszcze dwa błędy:

- Zamiast other napisałem orger
- Zamiast ItPl napisałem ItMI

Ale naprawiłem i wszystko wreście się sparsowało ;) Daję popsa ( bo rozumiem to coś w stylu "pomógł ) i proszę o nie zamykanie tematu, bo pewnie będę miał jeszcze parę problemów z którymi sam nie będę sobie umiał poradzić.
 


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