Error Message: Unknown identifier 20832 37

O temacie

Autor inż. Avallach

Zaczęty 10.09.2011 roku

Wyświetleń 20832

Odpowiedzi 37

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator
Błąd Unknown identifier oznacza że parser napotkał identyfikator (nazwę instancji, zmiennej, klasy lub funkcji) która wcześniej nie została zadeklarowana. Przyczyny mogą być dwie - albo nie jest zadeklarowana w ogóle, albo jest, ale w plikach które w kolejności parsowania (określanej w gothic.src) są dopiero później. Aby poznać właściwą przyczynę, najlepiej za pomocą programu umożliwiającego wyszukiwanie ciągów tekstowych w plikach (np Total Commander) wyszukać we wszystkich skryptach czy istnieje deklaracja danego obiektu/funkcji/zmiennej. Jeśli w którymś się znajduje, trzeba przemyśleć jakie są zależności pomiędzy tymi plikami i ustawić je we właściwej kolejności (tak żeby pliki z których inny plik ma korzystać, zawsze były przed nim). Jeśli takiej deklaracji w ogóle nie ma, można albo ją dodać (w pliku który jest przed wszystkimi tymi w których dany identyfikator jest używany), albo wywalić wszystkie miejsca gdzie próbowało się go użyć.

Jeśli macie jakiekolwiek komunikaty błędów w których jest "Unknown identifier", nie zakładajcie nowych tematów - piszcie tutaj, dzięki temu nie będzie takiego bałaganu, a po przeczytaniu tego posta być może w ogóle nie będziecie musieli pisać.

TheSrokka

TheSrokka

Użytkownicy
posty15
  • Użytkownicy
Witam, może ten temat był. Nie zauważyłem.
W każdym razie po naprawianiu skryptów wyskakuje.
U:PAR: \WORK\DATA\SCRIPTS\CONTENT\STORY\DIALOGE\DIA_SLD_888_STACHU.D Unknown identifier: DIA_SLD_888_STACHU_CONDITION
O co chodzi ? :[  
Dziękuje za pomoc, żegnam  :lol:

[mod=Avallach]Napisałem uniwersalny temat żeby nie było na tym forum takiego burdelu (nawiasem mówiąc napisałeś w złym dziale, od razu przeniosłem). Przeczytaj pierwszy post.[/mod]
 
Dziś stawiają nas pod ścianą i zasłaniają nam oczy ,

wkładają siano w kieszeń byśmy nie mogli ich zaskoczyć .

Co rano każą nam wstać , umyć twarz przed lustrem potem nakleić na nią uśmiech. Każą robić dobrą minę do złej gry synek .

TheSrokka

TheSrokka

Użytkownicy
posty15
  • Użytkownicy
NIC  :pokerface:  
Nie zrozumiałem, stary ja jestem zielony. Napisz np plik npc i dia czy coś się różnią czy jakoś tak bo jak czytam twego posta łeb mnie boli  :lol2:
 
Dziś stawiają nas pod ścianą i zasłaniają nam oczy ,

wkładają siano w kieszeń byśmy nie mogli ich zaskoczyć .

Co rano każą nam wstać , umyć twarz przed lustrem potem nakleić na nią uśmiech. Każą robić dobrą minę do złej gry synek .

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Error Message: Unknown identifier
#3 2011-09-10, 12:04(Ostatnia zmiana: 2011-09-10, 12:06)
Próbujesz użyć "czegoś", co nazywa się "DIA_SLD_888_STACHU_CONDITION" (prawdopodobnie jest to funkcja). W języku programowania którego używa Gothic, zanim czegoś użyjesz, musisz NAJPIERW napisać co to jest. Ty albo nie napisałeś w ogóle, albo napisałeś dopiero potem. Tak jak wspomniałem, sprawdź czy masz (w tym przypadku w piku "DIA_SLD_888_STACHU.D") coś takiego jak
func int DIA_SLD_888_STACHU_CONDITION ()
{
Jak nie masz, to możesz dodać np coś takiego:func int DIA_SLD_888_STACHU_CONDITION ()
{
return true;
};
Najważniejsze żeby było to przed linijką gdzie masz wpisane inne "DIA_SLD_888_STACHU_CONDITION" i POZA jakimikolwiek nawiasami klamrowymi ({ i }) - sprawdź to bardzo uważnie, bo różne z nich ciągną się przed większość skryptów).
Generalnie funkcje kończące się na "_CONDITION" decydują kiedy dialog jest widoczny a kiedy nie. To co napisałem wyżej spowoduje że będzie widoczny zawsze (chyba że nie ustawisz permamenta i go "zużyjesz").

TheSrokka

TheSrokka

Użytkownicy
posty15
  • Użytkownicy
Hmm ?
//*********************************************************************
// Info EXIT
//*********************************************************************
INSTANCE DIA_SLD_888_Stachu_EXIT   (C_INFO)
{
npc     = SLD_888_Stachu;
nr          = 888;
condition   = DIA_SLD_888_Stachu_Condition;
information = DIA_SLD_888_Stachu_EXIT_Info;
permanent   = TRUE;
description = DIALOG_ENDE;
};

FUNC INT DIA_SLD_888_Stachu_EXIT_Condition()
{
return TRUE;
};

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

//*********************************************************************
// Info Siema
//*********************************************************************
INSTANCE DIA_SLD_888_Stachu_Siema   (C_INFO)
{
npc     = SLD_888_Stachu;
nr          = 4;
condition   = DIA_SLD_888_Stachu_Siema_Condition;
information = DIA_SLD_888_Stachu_Siema_Info;
permanent   = FALSE;
description = "Co to za miejsce ?";
};

FUNC INT DIA_SLD_888_Stachu_Siema_Condition()
{
return TRUE;
};

FUNC VOID DIA_SLD_888_Stachu_Siema_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Stachu_Siema_15_00"); //Co to za miejsce ? A i jestem ...
AI_Output (self ,other,"DIA_SLD_888_Stachu_Siema_01_01"); //Nie obchodzi mnie jak masz na imię, pytałeś o miejsce ?
AI_Output (self ,other,"DIA_SLD_888_Stachu_Siema_01_02"); //Hmm, to mój obóz, a ja jestem po prostu prostym rybakiem który łowi tu ryby
AI_Output (self ,other,"DIA_SLD_888_Stachu_Siema_01_03"); //Zrobisz coś dla mnie ? Przynieś mi ze 2 piwka. Pić mi się chce !
AI_Output (other,self ,"DIA_SLD_888_Stachu_Siema_15_04"); //Zgoda. Ale w zamian chce ...
        AI_Output (self ,other,"DIA_SLD_888_Stachu_Siema_01_05"); //Ja już dałem ci co miałem, kazałeś powiedzieć co to za miejsce, powiedziałem. Teraz po piwa !
AI_Output (other,self ,"DIA_SLD_888_Stachu_Siema_15_06"); //Najpierw powiedz mi coś ciekawego o okolicy ...


};

//*********************************************************************
// Info Zadanie
//*********************************************************************
INSTANCE DIA_SLD_888_Stachu_Zadanie  (C_INFO)
{
npc     = SLD_888_Stachu;
nr          = 4;
condition   = DIA_SLD_888_Stachu_Zadanie_Condition;
information = DIA_SLD_888_Stachu_Zadanie_Info;
permanent   = FALSE;
description = "Hmm, podobno ktoś tutaj zaginął, oraz zgubił hełm?";
};

FUNC INT DIA_SLD_888_Stachu_Zadanie_Condition()
{
if (npc_KnowsInfo (other, DIA_SLD_888_Siema))
{
return TRUE;
};
};

FUNC VOID DIA_SLD_888_Stachu_Zadanie_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Stachu_Zadanie_15_00"); //Podobno ktoś tutaj zaginął oraz zgubił hełm? Prawda ?
AI_Output (self ,other,"DIA_SLD_888_Stachu_Zadanie_01_01"); //Tak znaleziono ciało, ale nie hełm.
AI_Output (self ,other,"DIA_SLD_888_Stachu_Zadanie_01_02"); //Możnesz poszukać go po lesie. Jest to opłacalne patrząc na twój ekwipunek. Ciało było nie daleko, napewno znajdziesz!
AI_Output (self ,other,"DIA_SLD_888_Stachu_Zadanie_01_03"); //A z kąd o tym wiesz ?
AI_Output (other,self ,"DIA_SLD_888_Stachu_Zadanie_15_04"); //Zawineło mi się o uszy gdy byłem... w... nie pamiętam już.
        AI_Output (self ,other,"DIA_SLD_888_Stachu_Zadanie_01_05"); //Dobra. Teraz leć po piwa !
AI_Output (other,self ,"DIA_SLD_888_Stachu_Zadanie_15_06"); //Już biegne...

        LOG_CreateTopic (TOPIC_PIWKO, LOG_MISSION);
        LOG_SetTopicStatus (TOPIC_PIWKO, LOG_RUNNING);
        B_LogEntry (TOPIC_PIWKO,"Rybak przy wejściu na przełęcz potrzebuje 2 butelek piwa, musze przyznać nieźle się targuję.");
   
};

//*********************************************************************
// Koniec zadania
//*********************************************************************
INSTANCE DIA_SLD_888_Stachu_piwko  (C_INFO)
{
npc     = SLD_888_Stachu;
nr          = 4;
condition   = DIA_SLD_888_Stachu_piwko_Condition;
information = DIA_SLD_888_Stachu_piwko_Info;
permanent   = FALSE;
description = "Mam dla ciebie te 2 piwa";
};

FUNC INT DIA_SLD_888_Stachu_piwko_Condition()
{
if (npc_KnowsInfo (other, DIA_SLD_888_zadanie))
&& (npc_hasitems (other, itfo_beer) >= 1)
{
return TRUE;
};
};

FUNC VOID DIA_SLD_888_Stachu_piwko_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Stachu_piwko_15_00"); //Mam dla ciebie dwa piwa.
AI_Output (self ,other,"DIA_SLD_888_Stachu_piwko_01_01"); //Haha, w porządku.
AI_Output (self ,other,"DIA_SLD_888_Stachu_piwko_01_02"); //Ale ja dawno dobrego piwa nie piłem.
AI_Output (self ,other,"DIA_SLD_888_Stachu_piwko_01_03"); //Na co czekasz ? Spadaj !
AI_Output (other,self ,"DIA_SLD_888_Stachu_piwko_15_04"); //No już ide...
        AI_Output (self ,other,"DIA_SLD_888_Stachu_piwko_01_05"); //Czekaj! żartowałem, dostaniesz zapłatę.
AI_Output (other,self ,"DIA_SLD_888_Stachu_piwko_15_06"); //Dzięki !

       
        B_giveinvitems (other, self, itfo_beer, 2);
        Createinvitems (self, itmi_gold, 250);
        B_giveinvitems (self, other, itmi_gold, 50);
        B_LogEntry (TOPIC_PIWKO,"Dostał czego chciał. ale 250 sztuk złota 2 dwa piwa, opłaca się!");
        LOG_SetTopicStatus (TOPIC_PIWKO, LOG_SUCCESS);
};
GDZIE TU JEST BŁĄD ? Bo nie widze ?!

[mod=Wowoz]Znaczniki code![/mod]
 
Dziś stawiają nas pod ścianą i zasłaniają nam oczy ,

wkładają siano w kieszeń byśmy nie mogli ich zaskoczyć .

Co rano każą nam wstać , umyć twarz przed lustrem potem nakleić na nią uśmiech. Każą robić dobrą minę do złej gry synek .

Meldor12

Meldor12

Użytkownicy
posty27
  • Użytkownicy
Thesrokka
A masz wpis w log_constans ?
Ale!Jest jeszcze jeden błąd
masz za długie dialogi to czasem powoduje
problemy.
 

TheSrokka

TheSrokka

Użytkownicy
posty15
  • Użytkownicy
Tak, chodzi ci o wpis do dziennika matters czy jakoś tak, jak tak to oczywiście że mam.
Z dialogami okej, na forum długo wygląda, a jak skróciłem ten sam błąd
 
Dziś stawiają nas pod ścianą i zasłaniają nam oczy ,

wkładają siano w kieszeń byśmy nie mogli ich zaskoczyć .

Co rano każą nam wstać , umyć twarz przed lustrem potem nakleić na nią uśmiech. Każą robić dobrą minę do złej gry synek .

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Error Message: Unknown identifier
#7 2011-09-10, 12:40(Ostatnia zmiana: 2011-09-10, 12:42)
No i napisałem dobrze. Tutaj
condition = DIA_SLD_888_Stachu_Condition;Próbujesz użyć tego "DIA_SLD_888_Stachu_Condition" a nie napisałeś co to jest. W tym przypadku błąd jest troszkę inny niż zwykle - napisałeś właściwego conditiona, ale źle wpisałeś jego nazwę. Zamień
condition = DIA_SLD_888_Stachu_Condition;na
condition = DIA_SLD_888_Stachu_EXIT_Condition;
PS. Używaj tagów [ code ], a jeśli wklejany przez ciebie kod jest długi, najlepiej także [ spoiler ].

PS2. Nie masz może nic wspólnego z tym userem: http://themodders.org/index.php?/user/23-sroka8888/ ?

TheSrokka

TheSrokka

Użytkownicy
posty15
  • Użytkownicy
Okej pomogło ale teraz jest to samo tyle że pisze sld_888_stachu_siema Pss. Nie znam tego zioma  :ayfkm:
A dokładniej to co wcześniej tylko jest unkown identifier : DIA_SLD_888_SIEMA
i co  :facepalm:
 
Dziś stawiają nas pod ścianą i zasłaniają nam oczy ,

wkładają siano w kieszeń byśmy nie mogli ich zaskoczyć .

Co rano każą nam wstać , umyć twarz przed lustrem potem nakleić na nią uśmiech. Każą robić dobrą minę do złej gry synek .


TheSrokka

TheSrokka

Użytkownicy
posty15
  • Użytkownicy
Może dokładniej ? Co mam wykasować ? Mam 1/3 tekstu to DIA_SLD_888_SIEMA
 :naughty:
Bo nie za bardzo zrozumiałem  :idea:
 
Dziś stawiają nas pod ścianą i zasłaniają nam oczy ,

wkładają siano w kieszeń byśmy nie mogli ich zaskoczyć .

Co rano każą nam wstać , umyć twarz przed lustrem potem nakleić na nią uśmiech. Każą robić dobrą minę do złej gry synek .

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Error Message: Unknown identifier
#11 2011-09-10, 15:20(Ostatnia zmiana: 2011-09-10, 15:20)
Skoro oczekujesz że ktoś za ciebie rozwiąże problem to ma mnie nie licz ; p
Mogę ci tylko poradzić żebyś po pierwsze nigdy nie robił nic czego nie rozumiesz, najpierw pooglądaj gotowe dialogi i spróbuj zrozumieć który element za co odpowiada (przecież jest tylko kilka i do tego bardzo logicznych). Po drugie jeśli nie chcesz zrazić do siebie społeczności, staraj się robić pożytek z PORAD a nie oczekuj że ktoś da ci gotowe rozwiązanie.

TheSrokka

TheSrokka

Użytkownicy
posty15
  • Użytkownicy
Eeee ? A co robie ? Co byś zrozumiał jakby ci powiedzieli:
TO WEŹ TO USUŃ czy co tam napisałeś ? No raczej byś nie skumał
 
Dziś stawiają nas pod ścianą i zasłaniają nam oczy ,

wkładają siano w kieszeń byśmy nie mogli ich zaskoczyć .

Co rano każą nam wstać , umyć twarz przed lustrem potem nakleić na nią uśmiech. Każą robić dobrą minę do złej gry synek .

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator
Tak jak napisałem, próbujesz robić coś czego nie rozumiesz i oczekujesz że ktoś poda ci gotowe rozwiązanie. Jeśli nie wiesz jak rozpoznać które skrypty dotyczą danego npc, to najpierw pooglądaj gotowe skrypty postaci i dialogów i spróbuj zrozumieć ich strukturę.

Meldor12

Meldor12

Użytkownicy
posty27
  • Użytkownicy
Zauważyłem jeszcze kilka błędów ale nie powinny mieć one wpływu na parsowanie.Przyczyną błędy może być jeszcze jedna prosta żecz...Wkleiłęś wpisy log_constans do spolszczenia niemieckich skryptów :)
Dopisek:Jak nie umiez robić skryptu dialogu ręcznie to polecam ci easy dialog makera Temat o nim gdzie możesz go pobrać jest Tu
Dopisek 2:A i najważniejsze czy w ogóle zrobiłeś skrypt postaci?:)
 

HerrKlebstoff

HerrKlebstoff

Użytkownicy
posty165
Propsy48
Profesjabrak
  • Użytkownicy
Witajcie, panowie.
Nie znalazłem na forum rozwiązania, więc...Sytuacja jest następująca:
Stworzyłem dialog za pomocą Dialog Makera(oczywiście dodałem wcześniej NPCa, wszystko jest, tylko dialogu brakuje). Dialog wygląda następująco(nie jest dokończony, wiem):


//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_Najemnik_EXIT(C_INFO)
{
npc             = Non_2003_Najemnik;
nr              = 999;
condition = DIA_Najemnik_EXIT_Condition;
information = DIA_Najemnik_EXIT_Info;
permanent = TRUE;
description     = "KONIEC";
};

FUNC INT DIA_Najemnik_EXIT_Condition()
{
return TRUE;
};

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

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

INSTANCE DIA_Najemnik_HELLO1 (C_INFO)
{
   npc          = Non_2003_Najemnik;
   nr           = 1;
   condition    = DIA_Najemnik_HELLO1_Condition;
   information  = DIA_Najemnik_HELLO1_Info;
   permanent = FALSE;
   description = "Kim jesteś?";
};

FUNC INT DIA_Najemnik_HELLO1_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Najemnik_HELLO1_Info()
{
    AI_Output (other, self ,"DIA_Najemnik_HELLO1_15_01"); //Kim jesteś?
    AI_Output (self, other ,"DIA_Najemnik_HELLO1_03_02"); //Jestem najemnikiem. Specjalizuję się w walce na dystans.
    AI_Output (self, other ,"DIA_Najemnik_HELLO1_03_03"); //Za 1000 bryłek mogę Ci towarzyszyć w podróży. Zainteresowany?

    Info_ClearChoices (DIA_Najemnik_HELLO1);
    Info_AddChoice (DIA_Najemnik_HELLO1, "Czemu nie?", DIA_Najemnik_HELLO1_YES1);
    Info_AddChoice (DIA_Najemnik_HELLO1, "Raczej nie", DIA_Najemnik_HELLO1_NO1);
};

FUNC VOID DIA_Najemnik_HELLO1_YES1()
{
    if (Npc_HasItems (other, ItMiNugget) >=1000)
    {
        AI_Output (other, self ,"DIA_Najemnik_HELLO1_YES1_15_03"); //Dobrze, masz tu 1000 bryłek. Chodźmy!
        B_GiveInvItems (other, self, ItMiNugget, 1000);
        AI_Output (self, other ,"DIA_Najemnik_HELLO1_YES1_03_04"); //A więc ruszajmy.
        Npc_ExchangeRoutine (self, "FOLLOW");
};

FUNC VOID DIA_Najemnik_HELLO1_NO1()
{
    AI_Output (other, self ,"DIA_Najemnik_HELLO1_NO1_15_01"); //Nie, raczej odmówię...
    AI_Output (self, other ,"DIA_Najemnik_HELLO1_NO1_03_02"); //Jak chcesz.
    Info_ClearChoices (DIA_Najemnik_HELLO1);
};


Parsuje i wyświetla się ten błąd. Unkownundefiner: FUNC. Jest to ta linijka:

FUNC VOID DIA_Najemnik_HELLO1_NO1()
Jakoś ja tu nie widzę problemu... Głupiejący parser?
Pozdrawiam
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Error Message: Unknown identifier
#16 2011-12-13, 21:59(Ostatnia zmiana: 2011-12-13, 22:00)
FUNC VOID DIA_Najemnik_HELLO1_YES1()
{
    if (Npc_HasItems (other, ItMiNugget) >=1000)
    {
        AI_Output (other, self ,"DIA_Najemnik_HELLO1_YES1_15_03"); //Dobrze, masz tu 1000 bryłek. Chodźmy!
        B_GiveInvItems (other, self, ItMiNugget, 1000);
        AI_Output (self, other ,"DIA_Najemnik_HELLO1_YES1_03_04"); //A więc ruszajmy.
        Npc_ExchangeRoutine (self, "FOLLOW");
    }; //<------ tu brakuje nawiasu zamykającego
};

HerrKlebstoff

HerrKlebstoff

Użytkownicy
posty165
Propsy48
Profesjabrak
  • Użytkownicy
I jest kolejny...
Za pomocą DocMaker Bucika wygenerowałem 2 skrypty listów. Tym razem Unkown Indefinter: "TGA". Oto skrypty(treść ukryta, dla pewności. :-) )  

//---------------------------------------------------------------------------------------------------------------------------|
//-----------> Rozkazy
//---------------------------------------------------------------------------------------------------------------------------|

INSTANCE RaportySO (C_ITEM)
{
name = "Rozkazy";

mainflag = ITEM_KAT_DOCS;
flags = 0;

value = 10;

visual = "ItWr_Scroll_02.3ds";
material = MAT_LEATHER;

scemeName = "MAP";
description = name;

TEXT[2] = "xxx";
TEXT[3] = "xxx";
TEXT[5] = NAME_Value;
COUNT[5] = value;
on_state[0] = UseRaportySO;
};

FUNC VOID UseRaportySO()
{
var int nDocID;
nDocID = Doc_Create();

Doc_SetPages ( nDocID,  1);
Doc_SetPage ( nDocID,  0, "letters.TGA", 0);
Doc_SetMargins ( nDocID,  -1,  50, 50, 50, 50, 1);
Doc_SetFont ( nDocID,  -1, font_10_book.TGA);
Doc_PrintLine ( nDocID,  0, "");

Doc_PrintLines ( nDocID,  0, "xxx");
Doc_PrintLine ( nDocID,  0, "");
Doc_PrintLines ( nDocID,  0, "xxx");
Doc_PrintLine ( nDocID,  0, "");
Doc_PrintLines ( nDocID,  0, "xxx");
Doc_PrintLine ( nDocID,  0, "");

Doc_Show ( nDocID );
};

//---------------------------------------------------------------------------------------------------------------------------|




//---------------------------------------------------------------------------------------------------------------------------|
//-----------> Rozkazy
//---------------------------------------------------------------------------------------------------------------------------|

INSTANCE RaportNO (C_ITEM)
{
name = "Rozkazy";

mainflag = ITEM_KAT_DOCS;
flags = 0;

value = 10;

visual = "ItWr_Scroll_02.3ds";
material = MAT_LEATHER;

scemeName = "MAP";
description = name;

TEXT[2] = "xxx";
TEXT[3] = "xxx";
TEXT[5] = NAME_Value;
COUNT[5] = value;
on_state[0] = UseRaportNO;
};

FUNC VOID UseRaportNO()
{
var int nDocID;
nDocID = Doc_Create();

Doc_SetPages ( nDocID,  1);
Doc_SetPage ( nDocID,  0, "letters.TGA", 0);
Doc_SetMargins ( nDocID,  -1,  50, 50, 50, 50, 1);
Doc_SetFont ( nDocID,  -1, font_10_book.TGA);
Doc_PrintLine ( nDocID,  0, "");

Doc_PrintLines ( nDocID,  0, "yyy");
Doc_PrintLine ( nDocID,  0, "");
Doc_PrintLines ( nDocID,  0, "yyy");
Doc_PrintLine ( nDocID,  0, "");
Doc_PrintLines ( nDocID,  0, "yyy");
Doc_PrintLine ( nDocID,  0, "");

Doc_Show ( nDocID );
};
;

Zspy nie pokazuje nawet, która to linijka... Nic przy tych skryptach nie grzebałem. Znowu brak nawiasu?
Pozdrawiam
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Error Message: Unknown identifier
#18 2011-12-19, 18:35(Ostatnia zmiana: 2011-12-19, 18:35)
Doc_SetFont     ( nDocID,  -1, font_10_book.TGA);
Daj w cudzysłów font_10_book.TGA. Chociaż problem będzie chyba inny, a mianowicie trzeba wpisać nazwę fontu. Obejrzyj przykładowy list. Będzie szybciej.

marwik1417

marwik1417

Użytkownicy
posty6
  • Użytkownicy
Mam cos dziwnego:U:PAR:Redefined identifier : B_ASSESSMAGIC_FIREBOLT (line 8)
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel

Sawik
Moderator działu

Error Message: Unknown identifier
#20 2011-12-31, 19:26(Ostatnia zmiana: 2011-12-31, 19:27)
Mam cos dziwnego:U:PAR:Redefined identifier : B_ASSESSMAGIC_FIREBOLT (line 8)
Ot dziwne... B_ASSESSMAGIC_FIREBOLT zostało już gdzieś użyte wcześniej i teraz w linijce ósmej się powtarza, a nie może. Zmień to na np. B_ASSESSMAGIC_FIREBOLT2 i będzie ok.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Fenerin

Fenerin

Użytkownicy
posty24
  • Użytkownicy
Ja mam problem ze skryptem:
INSTANCE ItMw_Addon_wodnasmierc (C_Item)
{
name = "Wodna Śmierć";  

mainflag = ITEM_KAT_NF;
flags = ITEM_AXE|ITEM_MISSION;
material = MAT_METAL;
         
        wear                            =WEAR_EFFECT;
        effect                          = "SPELLFX_Geyser; LINIJKA 840

value = 10000;

damageTotal   = 135;
damagetype = 6;
range     =   90;

cond_atr[2]   = ATR_STRENGTH;

cond_value[2]   = 85;
visual = "ItMw_030_1h_PAL_sword_bastard_RAW_01.3DS";

description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = NAME_Dex_needed; COUNT[3] = cond_value[2];
TEXT[4] = NAME_OneHanded;
TEXT[5]= NAME_Value; COUNT[5] = value;

};
chcialem żeby miał przy uderzeniu efekt gejzera. i kiedy sprawdzam skrypty wyskakuje mi Unknown identifier ";" w linijce 840 ktośmi powie o co chodzi?
 


Fenerin

Fenerin

Użytkownicy
posty24
  • Użytkownicy
 

Fenerin

Fenerin

Użytkownicy
posty24
  • Użytkownicy
nie oto mi chodziło chciałem np że jak tym mieczem uderze w beziego to na bezim pojawi siędodatkowo efekt gejzeru czy mugłbyś napisać mi fragment skryptu żeby to miało taki efekt jak ja chcę?
 

GothicModer

GothicModer

Użytkownicy
Skrypter, grafik
posty105
Propsy23
ProfesjaSkrypter
  • Użytkownicy
  • Skrypter, grafik
Mam pytanie otóż, gdy parsuje skrypty podczas włączania gry to wyskakuje mi błąd "Expected ')' (line 64)", a w zSpy ostatnim otwieranym plikiem jest gothic.src, a dalej jakieś dwa pliki na zielono z dopiskiem na początku ignoring: already parsed, więc błąd jest w pliku gothic.src?
 
Szukam testerów do moda i ludzi chętnych do pomocy w nim. Szczegóły PW

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator
Piszesz w złym temacie. Ten błąd któryci wyskakuje nie ma związku z gothic.src, to błąd składniowy. Szukaj brakującego końca nawiasu w ostatnim ploku który jest parsowany (albo w tym z ostatnich który był modydikowany).

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
Hejka

Zrobiłem sobie nowy skrypt broni i dodałem ją na końcu.
Podczas parsowania wyskakuje mi kilka błędów z nią związanych ale o tym zaraz napisze w innym dziale.
następnie wyskakuje może z tysiąc błędów typu " Unknown identifier : VALUE_DOLCH, DAMAGE, CONDITION_DOLCH, DAMAGE_HANDAXT i inne.
Nie mam pojęcia co się stało. Nic niezmieniałem w pilku oprócz dodania skryptu mojej nowej broni. Nawet jak usuwam skrypt broni to pojawiają się te same błędy.
Najłatwiej było by gdybym znalazł czysty plik IT_MELEE_WEAPONS.D ale wolał bym to naprawić w ręczny sposób.
 

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
Mam pewien kłopot.
Dodałem swój świat w pliku startup.d, dopisałem w nim mojego nowego NPC-ta i wszystko zdaje sie działać. Następnie skopiowałem sobie pliki z pancerzami z Gothic 1 do folderu z Gothic 2 jak to było pokazane na znanym toutorialu i jeden z tych pancerzy przypisałem do NPCta.
Niestety niedziała. Podczas parsowania skryptów wyskakuje w każdej linijce błąd, tak jakby cały skrypt był źle napisany ale skrypt jest prawidłowy dlatego daruje sobie go tutaj wklejać.
Gdzie popełniam błąd ?
 

Karciosek

Karciosek

Użytkownicy
posty3
Profesjabrak
  • Użytkownicy
W Spacerze przy sprawdzaniu skryptów wyskakuje błąd. Uczę się dopiero na podstawie samouczka na youtube czipa17 i robię to co on lecz wyskakuje mi masa błędów. Kilka już naprawiłem, ale teraz nie wiem co robić, bo wydaje mi się że wszystko jest jak należy. Błąd wyskakuje przy sprawdzaniu dialogów: U:PAR: Unknown identifier: FUNC (line 70)          Nie wiem o co chodzi o to mój skrypt dialogowy w tym miejscu:
Chodzi o linijkę: FUNC VOID DIA_SLD_888_Wiechu_zadanie_Info();  u mnie linijka 70


FUNC INT DIA_SLD_888_Wiechu_zadanie_Condition()
{ if (Npc_KnowsInfo (other, DIA_SLD_888_Wiechu_Siema))
{
   return TRUE;
};

FUNC VOID DIA_SLD_888_Wiechu_zadanie_Info();
{
   AI_Output (other,self ,"DIA_SLD_888_Wiechu_zadanie_15_00"); //Jak to umierasz?
   AI_Output (self,other ,"DIA_SLD_888_Wiechu_zadanie_55_01"); //Umieram, bo od jakiś 10 minut nie piłem żadnego browara i nie mam wystarczająco dużo sił by dojść do tawerny, a w okolicy nie ma żadnego teszczaka czy stonki, gdzie mógłbym kupić jakiegoś browca.
AI_Output (self,other ,"DIA_SLD_888_Wiechu_zadanie_55_02"); //Jeżeli mógłbyś mi przynieść jakieś piwo byłbym ci dozgonnie wdzięczny.   


 Log_CreateTopic (TOPIC_piwko, LOG_MISSION);
 Log_SetTopicStatus (TOPIC_piwko, LOG_RUNNING);
 B_LogEntry (TOPIC_piwko, "Wiesław potrzebuje piwa.");
};
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Brakuje ci }; przed FUNC VOID.

Używaj np. Notepad++, abyś widział, czy nawiasy są dobrze rozstawione i pozamykane.

ING

ING

Użytkownicy
posty64
Propsy59
ProfesjaGrafik 3D
  • Użytkownicy

ING

Error Message: Unknown identifier
#31 2015-04-25, 01:45(Ostatnia zmiana: 2015-04-25, 02:04)
Podczas reparsowania skryptów spacerem, wyskakuje mi taki oto zgrabny error: http://scr.hu/3acp/yb77g dla każdej linijki po kilkanaście takich wyskakuje.
Dodam, że nie tykałem nawet plików skryptowych.
Mam spolszczone skrypty.
 

gothic1210
  • Gość
Musisz nam podać w jakim pliku pojawia siłę błąd i wkleić fragment z błędem. Zapoznaj z się z tym tematem: http://themodders.org/index.php?topic=80 No chyba, że już umiesz obsługiwać zSpy, wiec wiesz co robić. 
 

ING

ING

Użytkownicy
posty64
Propsy59
ProfesjaGrafik 3D
  • Użytkownicy
Poradziłem sobie, można zignorować mojego ostatniego posta.
 

Wywolkaniec

Wywolkaniec

Użytkownicy
posty5
ProfesjaSkrypter
  • Użytkownicy
Postanowiłem, że zrobię sobie możliwość gotowania w Gothicu 2 NK, no ale jak zwykle okazało się, że jestem na to zbyt głupi i przy włączaniu GothicStarter z opcją Skripte parsen wyskakuje taki fajny error -
U:PAR: CONTENT\STORY\DIALOG_MOBSIS\COOKABIT.D: Unknown indentifier : MOBSI_COOKABIT

Tu macie skrypt gotowania:
// ****************************************************
// GOTOWANIE
// --------------
// Funkcja służąca produkcji jedzenia przy kotle.
// Wymagany przedmiot to łyżka z kodem - ItMi_Scoop
// *****************************************************
FUNC VOID COOKABIT_S1 ()
{
var C_NPC her; her = Hlp_GetNpc(PC_Hero);

if  (Hlp_GetInstanceID(self)==Hlp_GetInstanceID(her))
{
self.aivar[AIV_INVINCIBLE]=TRUE;
PLAYER_MOBSI_PRODUCTION = MOBSI_CookABit;
Ai_ProcessInfos (her);
};
};

//*******************************************************
// Zakończenie gotowania
//*******************************************************
INSTANCE PC_CookABit_End (C_Info)
{
npc = PC_Hero;
nr = 999;
condition = PC_CookABit_End_Condition;
information = PC_CookABit_End_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC INT PC_CookABit_End_Condition ()
{
if (PLAYER_MOBSI_PRODUCTION == CookABit)
&& (SOUPSTART == FALSE)
{
return TRUE;
};
};

FUNC VOID PC_CookABit_End_Info()
{
CreateInvItems (self, ItMi_Scoop,1);
B_ENDPRODUCTIONDIALOG ();
};

//*******************************************************
// Produkcja zup
//*******************************************************
var int SOUPSTART;
//----------------------
INSTANCE PC_Soup_Start (C_Info)
{
npc = PC_Hero;
nr = 10;
condition = PC_Soup_Start_Condition;
information = PC_Soup_Start_Info;
permanent = TRUE;
description = "Przygotuj zupę...";
};

FUNC INT PC_Soup_Start_Condition ()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_CookABit)
&& (SOUPSTART == FALSE)
{
return TRUE;
};
};

FUNC VOID PC_Soup_Start_Info()
{
SOUPSTART = TRUE;
};
//*******************************************************
INSTANCE PC_Soup_Stop (C_Info)
{
npc = PC_Hero;
nr = 99;
condition = PC_Soup_Stop_Condition;
information = PC_Soup_Stop_Info;
permanent = TRUE;
description = DIALOG_BACK;
};

FUNC INT PC_Soup_Stop_Condition ()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_CookABit)
&& (SOUPSTART == TRUE)
{
return TRUE;
};
};

FUNC VOID PC_Soup_Stop_Info()
{
SOUPSTART = FALSE;
};
//*******************************************************
INSTANCE PC_Soup_Fish (C_Info)
{
npc = PC_Hero;
nr = 5;
condition = PC_Soup_Lou_Condition;
information = PC_Soup_Lou_Info;
permanent = TRUE;
description = "Zupa rybna";
};

FUNC INT PC_Soup_Fish_Condition ()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_CookABit)
&& (SoupStart == TRUE)
{
return TRUE;
};
};

FUNC VOID PC_Soup_Fish_Info()
{
if (Npc_HasItems (self, ItPl_Blueplant) >= 1)
&& (Npc_HasItems (self, ItFo_Fish) >= 2)
{
Npc_RemoveInvItems (self, ItPl_Blueplant,1);
Npc_RemoveInvItems (self, ItFo_Fish,2);

Print (PRINT_CookingSoupSuccess);
CreateInvItems (self, ItFo_FishSoup,1);
}
else
{
Print (PRINT_ProdItemsMissing);
CreateInvItems (self, ItMi_Scoop,1);
};
B_ENDPRODUCTIONDIALOG ();
};
 

TheKetrab

TheKetrab

Użytkownicy
posty334
Propsy217
ProfesjaProducent
  • Użytkownicy
unknown identifier - nieznany identyfikator
nigdzie nie powiedziałeś Gothicowi co oznacza 'MOBSI_CookABit'.
o to, dlaczego Twój fajny error wyskakuje.

odpowiedź na pytanie: 'jak naprawić?' znajdziesz w pliku:
Content/AI/AI_intern/AI_Constants.d

jeśli robisz kalkę ze SleepABit to przekalkuj również tamten plik :)
 

Wywolkaniec

Wywolkaniec

Użytkownicy
posty5
ProfesjaSkrypter
  • Użytkownicy
Dzięki bardzo! Sprawdzałem wszystkie pliki w których mogłyby być te "MOBSI_", ale pominąłem AI_Intern, gdyż z jakiegoś powodu uznałem, że tam tego nie będzie. No cóż, mam nauczkę na przyszłość by sprawdzać wszystko.

Jeszcze raz dzięki za pomoc.
 

TheKetrab

TheKetrab

Użytkownicy
posty334
Propsy217
ProfesjaProducent
  • Użytkownicy
Sprawdzałem wszystkie pliki w których mogłyby być te "MOBSI_", ale pominąłem AI_Intern [...]

Na przyszłość też rada -> nie sprawdzaj ręcznie. Niech komputer szuka we wszystkich plikach za Ciebie. Np. Notepad++ ma opcję 'szukaj w plikach'. Wtedy niczego nie przeoczysz :)
 


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