World of Gothic Archiv > Editing
Neuer Teleportzauber misslungen
Seite 1 von 1  1 
06.01.2002, 21:53 #1
Harri
Beiträge: 214
Neuer Teleportzauber misslungen -- nun gelungen
Hi

Nach mehrstündiger Arbeit muß ich feststellen, dass sich mein Zauber nicht aktivieren läst.
Er (die Rune) läst sich ins Siel einfügen (insert) und ist auch im Inventar vorhanden. Will ich ihn dann aktivieren (anlegen) so stürzt das Game völlig ab.

Die von mir geänderten bzw. neuerstellten Scripts sind:

F:Gothic_workDATAscriptscontent_Internmagic_intern.d
F:Gothic_workDATAscriptscontentItemsArtifacts.d
F:Gothic_workDATAscriptscontentMAGICspells_process_mana.d
F:Gothic_workDATAscriptscontentMAGICB_AssessMagic.d
F:Gothic_workDATAscriptscontentMAGICspells_params.d
F:Gothic_workDATAscriptscontentMAGICspells_process_mana_released.d
F:Gothic_workDATAscriptscontentMAGICspell_teleport6.d
F:Gothic_workDATAscriptscontentStoryText.d

Ich will den Inhalt der Scripts nicht unbedingt auflisten, denn wenn da ein Fehler wäre würde eine Fehlermeldung beim parsen erscheinen. oder?
Sind da vielleicht noch andere Scripts zu bearbeiten, oder .... was weis ich??
Hat da schon einer Erfahrung und weis Rat?

Harri

(wenn´s hilft lege ich den Inhalt der Scripts offen. Kein Problem – nur ist eben ziemlich viel.)
06.01.2002, 22:13 #2
Malek
Beiträge: 6.225

Sorry, Skripting ist für mich nur ein Randgebiet.
Hast du den zSPy mitlaufen lassen? Gab es da irgendwo eine Fehlermeldung?
06.01.2002, 22:38 #3
Harri
Beiträge: 214

Den zSPy habe ich auf "all" gestellt - Keine Fehlermeldung.
dh. Wo steht den die Fehlermeldung?
in: GOTHICMOD.RPT
da steht jede Menge drin, nur kann ich damit nicht viel anfangen.

Noch zur Anmerkung: Ich habe mir das Scripten in diesem Fall vereinfacht. In dem ich von den anderen Teleportzaubern kopiert und angepasst habe.
Irgend was muß da noch fehlen.
07.01.2002, 08:05 #4
Malek
Beiträge: 6.225

Der zSpy druckt alle Prozesse aus. Ist ein Prozess fehlerhaft oder fraglich, wird er rot eingefärbt. Eine extra Fehlermeldung (in Form eines Fensters) wird nicht ausgegeben.
Man hat dann nur die Möglichkeit, die Prozesse zu verfolgen, und vor allem auch die Skriptdatei zu definieren, in der der Fehler lag.
(Wird mit im zSpy Fenster ausgegeben)
Da das Spiel abstürzt, müsste der Fehler ganz am Ende liegen.
Liegt jedoch eine unlogische Operation vor, bricht das Spiel schon beim Laden ab, da dort alle Skripte bereits verarbeitet werden. Daher ist es schon ziemlich ungewöhnlich, dass er erst abstürzt, wenn du den Spruch anwenden willst. Ein Fehler wird bestehen, das ist klar. Ich denke du hast einen Parameter falsch definiert oder einfach weggelassen. Wenn du ´kopiert hast, ist das sogar recht wahrscheinlich. Schau nochmal nach ob der zSpy etwas ausgibt, oder du musst warten bis sich einer der Skripter (Nightwulf, Palamides u.A.) meldet.

Gruss
Malek
07.01.2002, 20:27 #5
Palamides
Beiträge: 349

so wie's aussieht hast du einen neuen zauber erstellt, oder?
das problem damit ist halt, dass du u.a. die ganzen visual- und particle-effects vergessen hast
ich würde sagen, versuche keinen neuen spell zu machen, sondern einen vorhandenen teleportspruch zu überschreiben, ihn aber z.b. mit einem ring zu kombinieren, d.h. wenn man einen best. ring angelegt hat führt teleportzauber xxx nicht zu ort xxx sondern zu ort yyy
palamides
07.01.2002, 20:47 #6
Harri
Beiträge: 214

>er zSpy druckt alle Prozesse aus. Ist ein Prozess fehlerhaft oder fraglich, wird er rot eingefärbt

Druckt, was heißt das? Auf den Monitor oder in eine Datei?
So viel Einstellungsmöglichkeiten gib es ja nicht
- v start in a Window
- Application: Gothic
- zSpy-Messages: all

richtig?

Das Game stürzt nicht bei der Anwendung des Spruches ab, sondern schon wenn man ihn im Inventar anlagen will.

Abstürze können auch ganz „komische“ Ursachen haben. So hatte ich z.B. ein Problem beim Levelwechsel. Beim Laden des Bildes (*.tga) komprimiert Gothic eine neue Textur. Existiert der Path (.._COMPILED) dafür nicht so stürzt das Game ab.
(da hab ich Stunden gesucht bis ich da hinter kam)




>das problem damit ist halt, dass du u.a. die ganzen visual- und particle-effects vergessen hast

es musste ja irgend was sein. Mal sehen ob ich heraus finde wo sie stehen. Was z.B. Für Teleportrune1 gilt in bezug auf Effekte müsste ja in dem Fall für alle Teleportsprüche gelten eigentlich müsste ich dies „nur“ ergänzen.
An sonnten ist dies mit dem Ring eine gute Alternative

Danke.

Harri

PS: Gibt es Probleme mit dem Server? Ich komme hier manchmal ganz schlecht rein.
07.01.2002, 23:17 #7
Harri
Beiträge: 214

JA!.. Ich hab’s fast geschafft.
Spruch läst sich anlegen und auch ausführen.
Nur mit den Bedingungen hapert es ein wenig vor allem erscheint es mir unlogisch, weil:
Die Bedingung soll auf einen WP ligen.

spell_teleport6.d

//-------- Spell Commands --------
// SPL_DONTINVEST = 0; // Es können keine weiteren Manapunkte investiert werden. Erst durch CTRL loslassen geht der Spell ab
// SPL_RECEIVEINVEST = 1; // Wirkung durchgeführt, es können weitere Invest kommen, zB.bei Heal nach jedem Pöppel
// SPL_SENDCAST = 2; // Starte den Zauber-Effekt (wie CTRL loslassen), automatischer Abbruch
// SPL_SENDSTOP = 3; // Beende Zauber ohne Effekt
// SPL_NEXTLEVEL = 4; // setze den Spruch auf den nächsten Level

func int Spell_Logic_Teleport6(var int manaInvested)
{
PrintDebugNpc (PD_MAGIC, "Spell_Logic_Teleport6");

// ---funzt nur in Mitte Teppich---
if (Npc_GetDistToWP(self, " LOCATION_19_03_Room6")>600)
{
return SPL_SENDCAST;
};

if (manaInvested>= SPL_SENDCAST_TELEPORT)

{
AI_Teleport (self, "LOCATION_19_03_Grotte");
AI_PlayAni (self, "T_HEASHOOT_2_STAND" );

return SPL_SENDCAST;
};

return SPL_NEXTLEVEL;
};


Funktioniert aber nicht richtig. Wechsel ich " LOCATION_19_03_Room6" mit „OC1“ z.B. dann tut sich mehr obwohl beide WP in der ZEN existieren????
(natürlich befindet sich hero auch auf WP)

Ich muß es mal mit einem Vob Probieren.
08.01.2002, 13:31 #8
Palamides
Beiträge: 349

code\:
if (Npc_GetDistToWP(self, " LOCATION_19_03_Room6")>600)
{
return SPL_SENDCAST;
};


1. gib einmal das leerzeichen im string weg, aber auch sonst ist denk ich ein logikfehler denn 2. spl_sendcast wird ausgeführt wenn du mehr als 600 von diesem wp entfernt bist, und nicht weniger, eine möglichkeit wäre return SPL_SENDCAST in return SPL_DONTINVEST auszutauschen oder:
code\:

func int Spell_Logic_Teleport6(var int manaInvested)
{
PrintDebugNpc (PD_MAGIC, "Spell_Logic_Teleport6");

// ---funzt nur in Mitte Teppich---
if (Npc_GetDistToWP(self, "LOCATION_19_03_Room6")<600)
{

if (manaInvested>= SPL_SENDCAST_TELEPORT)

{
AI_Teleport (self, "LOCATION_19_03_Grotte");
AI_PlayAni (self, "T_HEASHOOT_2_STAND" );

return SPL_SENDCAST;
};
};

return SPL_NEXTLEVEL;
};


oder so:
code\:

func int Spell_Logic_Teleport6(var int manaInvested)
{
PrintDebugNpc (PD_MAGIC, "Spell_Logic_Teleport6");

// ---funzt nur in Mitte Teppich---
if (Npc_GetDistToWP(self, "LOCATION_19_03_Room6")<600)
{

if (manaInvested>= SPL_SENDCAST_TELEPORT)

{
AI_Teleport (self, "LOCATION_19_03_Grotte");
AI_PlayAni (self, "T_HEASHOOT_2_STAND" );

return SPL_SENDCAST;
};
}
else
{
return SPL_DONTINVEST;
};

return SPL_NEXTLEVEL;
};



ich hab das nicht ausprobiert, aber eine dieser versionen müsste gehen
er spielt beim teleportieren nur das overlay ab, sonst nichts, oder hast du noch mehr geändert?
08.01.2002, 19:13 #9
Harri
Beiträge: 214

> 1. gib einmal das leerzeichen im string weg,

Ich „liebe“ solche Fehler.

> aber auch sonst ist denk ich ein logikfehler

nein, sonst war fast alles ok.

SPL_SENDCAST; sollte sein, damit er nicht nur mit den Schultern zuckt wenn er an der Falschen Stelle steht (Effekthascherei).

>600 ist richtig. Ich habe die Logik aus ‚pell_teleport4.d’ dort ist auch eine WP-Bedingung.

Als Test habe ich die WP’s durch "OC1" und "OC2" ersetzt. -> es funktionierte ? eigenartig.

Wieder die richtigen WP’s -> funzt nicht??
(in der Console mit z.B goto Waypoint LOCATION_19_03_ROOM6 -> er springt ??)

Den Spacer geöffnet World.zen geladen, WP’s noch mal angehoben und fallen gelassen, gespeichert, (ha – dauert bei mir „nur“ noch 7min)

Und nun funktioniert alles. Sehr merkwürdig, oder?

Ein Stress, so’n bissel Zauber. Dabei ist es doch nur ein Abklatsch der anderen Teleportzauber.

Harri
09.01.2002, 05:06 #10
roXtar
Beiträge: 341

quote:
Druckt, was heißt das? Auf den Monitor oder in eine Datei?
So viel Einstellungsmöglichkeiten gib es ja nicht
- v start in a Window
- Application: Gothic
- zSpy-Messages: all




im gothic-starter gibst du nur an, wie oder ob der zspy die meldungen filtert.
du musst die zSpy.exe vorher per hand starten.

gruss
roXtar
09.01.2002, 15:25 #11
Harri
Beiträge: 214

Die zSpy.exe „per Hand“ starten, Hmm. Das muß einem erst mal gesagt werden, oder steht das irgend wo. Ich hatte angenommen der wird automatisch gestartet, wenn die dementsprechenden Optionen gewählt sind.

Danke
Seite 1 von 1  1