-
Ritter
NPC-Script
Hi,
ich hab mal ne frage zu dem wiki-tutorial zum scripten. ich hab den npc erstellt und kann ihn per konsole einfügen.
jetzt möchte ich den aber schon von anfang an drin haben. also hab ich eine ZS_GuntherWait.d erzeugt. dann hab ich in die Ta.d folgendes eingefügt:
Code:
//**********************************************
//Mein Gunther:
//**********************************************
func void TA_GuntherWait ( var int start_h,
var int start_m,
var int stop_h,
var int stop_m,
VAR string waypoint)
{
TA_Min (self, start_h,start_m, stop_h, stop_m, ZS_GuntherWait, waypoint);
};
und in die startup.d das hier:
Code:
FUNC VOID STARTUP_Gunther ()
{
Wld_InsertNpc(None_999_Gunther,"gunther");
};
im tutorial stand zwar nur: Wld_InsertNpc(None_999_Gunther,"gunther");
aber dann gibts ne fehlermeldung beim parsen
übrigens benutz ich nich die alte welt, sondern meine eigene und der waypoint an dem gunther stehen soll, heisst "gunther"
so, jetzt funktioniert das ganze aber nich, hab alle scripte gereparsed und kann den npc auch per konsole ainfügen, aber er steht nicht von anfang an an seinem waypoint.
-
19.06.2004 02:50
#2
Re: NPC-Script
Original geschrieben von pogo
Code:
Wld_InsertNpc(None_999_Gunther,"gunther");
Hinter der NPC-Instanz muss der Bezeichner eines Waypoints stehen. Wenn Gunther wie im Tut im Alten Lager stehen soll wäre dies zB "OC1".
Diese Zeile schreibst du in die Startup.d in den Oldcamp-Abschnitt.
-
Waldläufer
Hallöchen!
pogo schrieb:
FUNC VOID STARTUP_Gunther ()
Wie heißt denn deine Welt? Doch nicht 'Gunther.zen', oder?
Edit:
@Neely:
Er hat doch nen WP oder FP angegeben!
pogo schrieb:
übrigens benutz ich nich die alte welt, sondern meine eigene und der waypoint an dem gunther stehen soll, heisst "gunther"
-
Ritter
Wie heißt denn deine Welt? Doch nicht 'Gunther.zen', oder?
nee, meine welt heisst mylevel.zen. mir war aber nich klar, das an der stelle dann der levelname stehen muss. ich werds gleich mal ausprobieren...
edit: vielen dank, aber das geht immer noch nicht
Last edited by el primato; 19.06.2004 at 03:44.
-
Ritter
Test deinen Npc mal mit dem Standart TA und nem schon existierenden Monster/Npc um zu sehen ob deine Startup überhaupt ausgeführt wird.
-
Ritter
was meinst du mit mit "standart" TA (TA ist mir schon klar...) und einem existierenden npc? in meiner eigenen welt existiert doch noch nix...
und der npc an sich funktioniert ja, weil ich ihn mit der konsole einfügen kann...
-
Ritter
Ich meine damit, dass du das ganze mal mit nem Monster testen sollts, um zu sehen ob die Startup überhaupt aufgerufen wird. Denn monster gehen immer.
-
Ritter
ich hab jetzt
Code:
FUNC VOID STARTUP_MYLEVEL ()
{
Wld_InsertNpc (None_999_Gunther, "gunther");
Wld_InsertNpc (Mst_Default_Bloodfly, "gunther");
};
in die startup.d eingefügt und da is leider nix aufgetaucht...
-
Ritter
Mal checkliste durchgehen.
Deine Zen heist MYLEVEL.ZEN
Der Waypoint heist gunther
Du hast die Scripte compiliert
Du hast in deiner ini für die Map unter vdfs nicht stehen
-
Abenteurer
für solche zwecke brauchst du einen Ferrpoint und keinen Waypoint. Jedes Monster braucht seinen eigenen Freepoint.
sonst fällt mir jetzt auch nichts mehr ein.
gothic 4 ever

-
Ritter
@alian
Npcs(monster und Menschen) können sowohl auf waypoints als auch auf freepoints spawnen. Lediglich für die rchtige Funktion der Zustände(bei Menschen nicht bei allen) ist es wichtig, dass es entsprechen benannte Freepoints gibt. Allerdings wird durch das fehlen dieser Freepoints kein Npc in seiner Existens bedroht.
-
19.06.2004 22:34
#12
Original geschrieben von pogo
ich hab jetzt
Code:
FUNC VOID STARTUP_MYLEVEL ()
{
Wld_InsertNpc (None_999_Gunther, "gunther");
Wld_InsertNpc (Mst_Default_Bloodfly, "gunther");
};
in die startup.d eingefügt und da is leider nix aufgetaucht...
Mst_Default_Bloodfly ist ein Monster-Prototyp ohne Visuals. Demnach kann da theoretisch auch nix auftauchen (bzw taucht was auf, ist aber unsichtbar). Versuch es einfach mal nur mit 'Bloodfly'.
-
Ritter
Mst_Default_Bloodfly ist ein Monster-Prototyp ohne Visuals. Demnach kann da theoretisch auch nix auftauchen (bzw taucht was auf, ist aber unsichtbar). Versuch es einfach mal nur mit 'Bloodfly'.
geht auch nicht
Mal checkliste durchgehen.
Deine Zen heist MYLEVEL.ZEN
Der Waypoint heist gunther
Du hast die Scripte compiliert
Du hast in deiner ini für die Map unter vdfs nicht stehen
alles richtig...
ergänzung:
-ich habe eine datei gunther.d in:
_work\DATA\scripts\content\Story\NPC
die ja offensichtlich auch funktioniert (mit insert)
-ich habe folgenden eintrag in der startup.d:
Code:
FUNC VOID STARTUP_MYLEVEL ()
{
Wld_InsertNpc (None_999_Gunther, "gunther");
};
-ich habe einen wp "gunther" in meiner mylevel.zen
-ich habe folgenden eintrag in der Ta.d:
Code:
func void TA_GuntherWait ( var int start_h,
var int start_m,
var int stop_h,
var int stop_m,
VAR string waypoint)
{
TA_Min (self, start_h,start_m, stop_h, stop_m, ZS_GuntherWait, waypoint);
};
-ich habe eine ZS_GuntherWait.d in _work\DATA\scripts\content\Story\ZS
und ich hab keinen npc im spiel...
-
Krieger
Hast du die Datei ZS_GuntherWait.d in die Gothic.src eingetragen? Ansonsten findet er sie nicht und dann dürfte er den NPC auch nicht anzeigen ...
-
Ritter
hatte sie nicht eingetragen. aber wenn ich
Code:
STORY\ZS\ZS_GUNTHERWAIT.D
eintrage, dann kommt beim starten (scripte reparsed) die meldung:
B:VFILE:Err:-4: Can't find free file handle for file _WORK\DATA\SCRIPTS\CONTENT\_INTERN\INTERN.SRC
was hat die datei denn jetzt damit zu tun?
-
 Promovierter Administrator
Hast du vielleicht bereits diese Zeile
in deiner Gothic.src? Dann brauchst du die ZS_GUNTHERWAIT.D nicht extra einzutragen.
Ansonsten ist die Datei vielleicht an einer ungünstigen Stelle eingetragen. Einfach mal eine andere Position ausprobierem.
Edit:
Hier übrigens ein Weg, wie du sicherstellen kannst, dass deine Startup-Funktion wirklich aufgerufen wird. Einfach
als erste Zeile der Funktion eintragen. Ruft Gothic dann die Startup-Funktion auf, so wird das Spiel sofort nach der Initialisierung beendet. Ansonsten halt nicht..
Last edited by Fizzban; 21.06.2004 at 02:42.
-
Waldläufer
deine startup datei muss MyLevel.Startup.d heißen ... und du musst sie in die gothic.src schreiben soweit ich weis
-
 Promovierter Administrator
Original geschrieben von [LoA]Wotan
deine startup datei muss MyLevel.Startup.d heißen ... und du musst sie in die gothic.src schreiben soweit ich weis
Also das ist weder in den Original-Gothic- noch den Diccuric-Scripten so. Da täuscht du dich wohl.
-
Ritter
deine startup datei muss MyLevel.Startup.d heißen ... und du musst sie in die gothic.src schreiben soweit ich weis
Was du weist ist falsch :P
Du musst keine neue Datei erstelle, aber wenn man eine erstellt ja dann muss man sie eintragen.
man wieder zu lahm
-
Ritter
nee, geht nicht. das gibt einen syntax error in line 1: exitgame....
tja...
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
|