World of Gothic Archiv > Editing
Script Fehler Meldung
Seite 1 von 1  1 
27.09.2003, 16:48 #1
Innoskrieger
Beiträge: 90
Script Fehler Meldung
*buhuuu*

ich bin grad dabei das script tuto nachzubauen jetzt kommt beim starten von g1
bevor das menu kommt immer die fehlermeldung : U:PAR: Func does not return
an int (line3)

so 2 dinge : erstens alle funktionen sind
als void deklariert wieso zum teufel
will er dann einen integer wert????
zweitens: gibts ne genauere möglichkeit
herauszufinden in welcher datei der fehler
auftritt ich hab nähmlih kein plan wo der fehler überhaupt liegen kann...

plllleeeaasseee help me

ps: der heler tritt bei mir nach dem " Der Bursche bekommt eine aufgabe" teil


mfg
27.09.2003, 16:57 #2
HornOx
Beiträge: 1.458

quote:
Der zSpy ist ein Debugging-Tool, in dem beim Programmstart und während der Laufzeit von GOTHIC, Meldungen ausgegeben werden. Wir empfehlen dringend, den zSpy immer zu benutzen, wenn an MODs gearbeitet wird!
Poste mal den fehlerhaften Scriptteil.
27.09.2003, 16:57 #3
Makador
Beiträge: 431

Hm hattest du den NPC vorher schonmal per Insert eingefügt? (also bevor du ihm die Aufgabe usw. gegeben hast?).

Wenn nicht, dann lösch erstmal den neuen Teil und teste dass, weil dann kannst du schonmal ein paar Dateien ausgrenzen. Hm Zeile 3... wenn der NPC vorher schon ging, kannst du die None_999_Gunther.d somit auch ausschließen, da alles was du neueingefügt hast ja dahinter ist.

Dann bleiben ja nur noch ta.d und startup.d übrig und da müsste die Fehlersuche doch eigentlich recht schnell gehen.

Ansonsten poste doch am besten den Code.
27.09.2003, 16:59 #4
Innoskrieger
Beiträge: 90

ja genau ich hatte ihn schonmal per insert
eingefügt mehrmals sogar...
27.09.2003, 17:01 #5
Makador
Beiträge: 431

Na dann bleibt doch nicht mehr viel über zum probieren, Zeile 3 kann wie gesagt nur in der startup.d oder ta.d sein, außer du hast den neuen Code in der None_999_Gunther.d oben eingefügt und das wäre ja etwas unlogisch ;)
27.09.2003, 17:11 #6
Innoskrieger
Beiträge: 90

aber ich hab in zeile 3 gar nix editiert
!!! in gar keiner datei die in frage kommen
könnte ausserdem will er ja nen int wert
und das is unlogisch wenn die funcs als
void deklariert sind....
27.09.2003, 17:15 #7
Makador
Beiträge: 431

Hm dann weiß ich nicht, bisher waren die Zeilenangaben der Fehlermeldungen bei mir immer ziemlich genau.

Bleibt dir wohl nur übrig den gesamten Code nochmal durchzugehen... wobei du auch auf die ganzen Fehler im Tutorial achten musst, da fehlten öfters mal Anführungsstriche oder ähnliches.
27.09.2003, 17:21 #8
HornOx
Beiträge: 1.458

In welcher Datei steckt den laut zSpy der Fehler? Poste doch wirklich mal die ersten paar Zeilen der Datei...
27.09.2003, 17:26 #9
Makador
Beiträge: 431

zSpy gibt einem an in welcher Datei der Fehler steckt? Das ist gut :P

Kurz Offtopic Frage (will nicht extra Thread für aufmachen):

Ich hab gerade mal die World.Zen geladen und ein paar Vobs gelöscht und wollte die nun eigentlich einfach nur speichern... aber ich habs nun schon 3x versucht und naja... er wird nicht fertig. PC läuft wie ohne Belastung, aber saven tut er auch nix, da die Datei im Ordner wo ich sie hinspeichern will immer 1 Kb groß bleibt.

Oder muss ich da echt 30 min oder so warten obwohl er "anscheinend" nix tut?
27.09.2003, 17:26 #10
Innoskrieger
Beiträge: 90

hab jetzt ein bissl rumgepfuscht und hab
neue fehlermeldungen ^^ ich mach das jetzt
nochmal und wenns wieder net klappen sollte
poste ich den code rein

danke für die hilfe
27.09.2003, 21:01 #11
Innoskrieger
Beiträge: 90

so habs jetzt nochmal in ruhe gescriptet
es funzt jetzt hab mich wohl irgendwo ver-
schreiben

thanx 4 helping

endlich bin ich vom grünschnabel zum
beginner aufgestiegen das nenn ich kariere

kann mal einer mein beteiligungsniveau
hochcheaten ? :D
28.09.2003, 09:49 #12
Innoskrieger
Beiträge: 90

so die sonne scheint nicht und die
vögel zwitschern auch nicht es ist also
mal wieder zeit für ne neue fehlermeldung

beim verlassen von gothic kommt folgendes
fenster:

D:OBJ:Memoryleaks found !

was heisst das auf deutsch ?
28.09.2003, 10:34 #13
Makador
Beiträge: 431

Das hab ich jedes mal beim Spacer ^^

Aber auch kA was es heißt, weiß nur dass es wohl nix ausmacht.

/btw:
Innoskrieger vielleicht könnten wir uns ja was über ICQ austauschen, du lernst ja auch gerade alles und von daher wäre das vielleicht von nutzen (müsste man nicht immer hier fragen usw.).

Meine ICQ Nummer: 81216609
30.09.2003, 19:46 #14
Innoskrieger
Beiträge: 90

hi es ist mal wieder an der zeit für
ein neues script prob

dieser script ist "nachgemacht" von DIA_215_Torwache

// **************************************************
// EXIT
// **************************************************

INSTANCE DIA_Kj_667_KjWache_Exit (C_INFO)
{
npc = Kj_667_KjWache;
nr = 999;
condition = DIA_Kj_667_KjWache_Exit_Condition;
information = DIA_Kj_667_KjWache_Exit_Info;
permanent = 1;
description = DIALOG_ENDE;
};

FUNC INT DIA_Kj_667_KjWache_Exit_Condition()
{
return 1;
};

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

// **************************************************
// Erstes Mal aufkreuzen
// **************************************************

INSTANCE DIA_Kj_667_KjWache_First (C_INFO)
{
npc = Kj_667_KjWache;
nr = 2;
condition = DIA_Kj_667_KjWache_First_Condition;
information = DIA_Kj_667_KjWache_First_Info;
permanent = 0;
important = 1;
};

FUNC INT DIA_Kj_667_KjWache_First_Condition()
{
return 1;
};

FUNC VOID DIA_Kj_667_KjWache_First_Info()
{
AI_Output (self, other,"DIA_Kj_667_KjWache_First_06_00"); //Stop ! Was willst du hier ?
AI_Output (other, self,"DIA_Kj_667_KjWache_First_15_01"); //Ich will zu eurem Anführer.
AI_Output (self, other,"DIA_Kj_667_KjWache_First_06_02"); //Was willst du von ihm ?

Info_ClearChoices (DIA_Kj_667_KjWache_First );
Info_AddChoice (DIA_Kj_667_KjWache_First,"Ich bin gekommen um ihn zu töten !" ,DIA_Kj_667_KjWache_First_Trouble);
Info_AddChoice (DIA_Kj_667_KjWache_First,"Ich habe eine wichtige Botschaft für ihn." ,DIA_Kj_667_KjWache_First_JustLooking);

};

func void DIA_Kj_667_KjWache_First_Trouble()
{
AI_Output (other, self,"DIA_Kj_667_KjWache_First_Trouble_15_02"); //Ich bin gekommen um ihn zu töten !
AI_Output (self, other,"DIA_Kj_667_KjWache_First_Trouble_06_03"); //Jungchen, das war ein Fehler !
Info_ClearChoices (DIA_Kj_667_KjWache_First );

AI_StopProcessInfos ( self );
Npc_SetTarget(self, other);
AI_StartState(self, ZS_Attack, 1, "");
};

func void DIA_Kj_667_KjWache_First_JustLooking()
{
AI_Output (other, self,"DIA_Kj_667_KjWache_First_JustLooking_15_03"); //Ich bin von einem eurer Leute mit einer wichtigen Botschaft zu Euch geschickt worden
AI_Output (self, other,"DIA_Kj_667_KjWache_First_JustLooking_06_04"); //Zeig her !

Info_ClearChoices (DIA_Kj_667_KjWache_First );
Info_AddChoice (DIA_Kj_667_KjWache_First,"Vergiß es ich gebe sie nur eurem Anführer." ,DIA_Kj_667_KjWache_First_NoPay);
Info_AddChoice (DIA_Kj_667_KjWache_First,"Hier ist sie." ,DIA_Kj_667_KjWache_First_Pay);
};


func void DIA_Kj_667_KjWache_First_NoPay()
{
AI_Output (other, self,"DIA_Kj_667_KjWache_First_NoPay_15_04"); //Vergiß es ich gebe sie nur eurem Anführer.
AI_Output (self, other,"DIA_Kj_667_KjWache_First_NoPay_06_05"); //Hmmm na gut, du kannst durch aber wenn du Ärger machst, töte ich dich !!
Info_ClearChoices (DIA_Kj_667_KjWache_First );
};

func void DIA_Kj_667_KjWache_First_Pay()
{
if (Npc_HasItems(other,ItMi_Amulet_Psi_01, self)>=1)
{
AI_Output (other, self,"DIA_Kj_667_KjWache_First_Pay_15_05"); //Hier ist er...
B_GiveInvItems(self, ItMi_Amulet_Psi_01, other); // das ist z. 90
AI_Output (self, other,"DIA_Kj_667_KjWache_First_Pay_06_06"); //Tatsächlich das is das Siegel meines Anführers du darfst rein
B_GiveInvItems(self, ItMi_Amulet_Psi_01, other);

};
else
{
AI_Output (other, self,"DIA_Kj_667_KjWache_First_Pay_NoOre_15_06"); //Du wolltest mich bescheissen ? Das hättest du nicht tun sollen !
Npc_SetTarget(self, other);
AI_StartState(self, ZS_Attack, 1, "");

};


Info_ClearChoices (DIA_Kj_667_KjWache_First );
AI_StopProcessInfos ( self );
};

// **************************************************
// PERM
// **************************************************

INSTANCE DIA_Kj_667_KjWache_PERM (C_INFO)
{
npc = Kj_667_KjWache;
nr = 1;
condition = DIA_Kj_667_KjWache_PERM_Condition;
information = DIA_Kj_667_KjWache_PERM_Info;
permanent = 1;
description = "Irgendwas Neues passiert?";
};

FUNC INT DIA_Kj_667_KjWache_PERM_Condition()
{
return 1;
};

FUNC VOID DIA_Kj_667_KjWache_PERM_Info()
{
AI_Output (other, self,"DIA_Kj_667_KjWache_PERM_15_07"); //Irgendwas Neues passiert?
AI_Output (self, other,"DIA_Kj_667_KjWache_PERM_06_07"); //Nein. Alles wie immer.
};


ab z. 90 bekomm ich immer massig fehlermeldungen a la expectet blablabla ich hab echt kein plan wo ich nen syntxfehler haben kann please help me

aso wundert euch net über das zum ou net passenden item ich hab das nur zu test zwecken geändert ich hab halt ein item genommen das 100% richtig gescriptet ist
falls ich da irgendwas falsch gemacht hätte aber der schritt hat auch nix geholfen


weitere probleme :
ich versuche grad ein "lager" aus mehreren personen zu scripten was muss ich machen damit alle gegen mich sind wenn ich einen schlage ?



und noch eins :
bei einer torwache wie der der scripte da oben es darstellen soll, ich bekomms net hin dass er mich tötet wenn ich nach dem
gespräch (bei dem er dann sagt ich solle verschwinden --- so wie es die burgwachen bei thorus machen ) an ihm einfach vorbeilauf
er reagiert dann gar nich..

das is jetzt ein bissl unklar formuliert
ich hoff es is trotzdem verständlich :D
30.09.2003, 20:37 #15
Gothy
Beiträge: 52

Zu deinem Skript:

Es könnte daran liegen

quote:

if (Npc_HasItems(other,ItMi_Amulet_Psi_01, self)>=1)
{
AI_Output (other, self,"DIA_Kj_667_KjWache_First_Pay_15_05"); //Hier ist er...
B_GiveInvItems(self, ItMi_Amulet_Psi_01, other); // das ist z. 90
AI_Output (self, other,"DIA_Kj_667_KjWache_First_Pay_06_06"); //Tatsächlich das is das Siegel meines Anführers du darfst rein
B_GiveInvItems(self, ItMi_Amulet_Psi_01, other);

};
else
{
AI_Output (other, self,"DIA_Kj_667_KjWache_First_Pay_NoOre_15_06"); //Du wolltest mich bescheissen ? Das hättest du nicht tun sollen !
Npc_SetTarget(self, other);
AI_StartState(self, ZS_Attack, 1, "");

};




Bei if - else Bedingungen denk ich darfst du nach der if-Klammer kein ";" setzen.... (hab ich im Zitat fett gemacht) machsmal weg und teste es dann so
30.09.2003, 20:40 #16
Makador
Beiträge: 431

Hm das war vorher ohne, ich meinte zu ihm er sollte es setzen, aber der Fehler blieb mit oder ohne vollkommen gleich.
01.10.2003, 10:39 #17
Seikusa
Beiträge: 15

das speichern der world.zen hat bei mir 25min gedauert ohne das er groß gearbeitet hat. genau ist wie beim laden von gothic auch.
also speicher, schieb dir ne pizza in den ofen, ess die pizza und dann müsste er fertig sein.
01.10.2003, 16:58 #18
bollerwagen
Beiträge: 49

Ist nur ne Vermutung aber ich glaub die die Reihenfolge der Parameter ist falsch. NPC-Item-NPC funktioniert glaub ich nur bei Npc_GiveItem so. Bei B_GiveInvItems wäre das dann NPC-NPC-Item. Also entweder andere Funktion nehmen oder die Reihenfolge ändern.
Ansonsten weiß ich im Moment leider auch nicht weiter.
Seite 1 von 1  1