World of Gothic Archiv > Editing
Skript Trigger
Seite 1 von 1  1 
22.10.2003, 20:12 #1
Makador
Beiträge: 431
Skript Trigger
Ich habe nun schon den halben Tag mit Script Triggern rumprobiert, nur leider passiert nie etwas. Da der Spacer auch keine Fehler meldet, hab ich auch keine Ahnung, wo mein Fehler liegen könnte und daher frag ich mal hier nach:

oCTriggerScript:zCTrigger:zCVob:

vobName: Testtrigger
visual:
showVisual: TRUE
visualCamAlign: NONE
cdStatic: FALSE
cdDyn: TRUE
staticVob: FALSE
dyn_Shadow: DS_NONE

reactToOnTrigger:FALSE
reactToOnTouch:TRUE
reactToOnDamage:FALSE
respondToObject:FALSE
respondToPC:TRUE
respondToNPC:FALSE
startEnabled:TRUE
respondToVobName:
numCanBeActivated:-1
retriggerWaitSec:1
damageTreshold:0

fireDelaySec:0
sendUntrigger:FALSE

scriptFunc: TEST_TRIGGER_FUNKTION


Die Boundingbox hat 9999 x 9999 x 9999 Pixel, ist also groß genug, dass man auch reintreten kann.

Falls dort kein Fehler ist, wie müssen denn die Funktionen aussehen und wo müssen die gespeichert werden? Andere Skript Trigger verweisen auf FUNC INT Funktionen, aber die würden mir nicht weiterhelfen.

Hier meine Funktion:

FUNC VOID Test_Trigger_Funktion ()
{
//zum testen
PrintScreen ("test", -1,-1,"FONT_OLD_10_WHITE.TGA",1);
};

Schonmal danke im vorraus!

Grüße Makador.
22.10.2003, 22:40 #2
Harri
Beiträge: 214

Die Boundingbox ist nicht zufälligerweise so groß, das man sich schon bein Start drin befindet? Der triggert erst wenn man die Boundingbox berührt?
An sonsten wäre da noch

respondToNPC:FALSE

MEMBER: respondToNPC (zCTrigger)
BOOL
Trigger reagiert auf Nachrichten von Non Player Characters.

besser:

respondToNPC:TRUE

Hab ich jedenfalls so

also:


oCTriggerScript:zCTrigger:zCVob:

vobName: Testtrigger
visual:
showVisual: TRUE
visualCamAlign: NONE
cdStatic: FALSE
cdDyn: TRUE
staticVob: FALSE
dyn_Shadow: DS_NONE

reactToOnTrigger:TRUE
reactToOnTouch:TRUE
reactToOnDamage:TRUE
respondToObject:TRUE
respondToPC:TRUE
respondToNPC:TRUE
startEnabled:TRUE
respondToVobName:
numCanBeActivated:-1
retriggerWaitSec:1 //(soll wohl ne sec. warten?)
damageTreshold:0

fireDelaySec:0
sendUntrigger:TRUE

scriptFunc: TEST_TRIGGER_FUNKTION
23.10.2003, 09:28 #3
Makador
Beiträge: 431

quote:
retriggerWaitSec:1 //(soll wohl ne sec. warten?)


Jo das ist gewollt so. Ich brauch eine Bildschirmanzeige, die jede Sekunde aktualisiert wird und dazu wollte ich den Trigger missbrauchen.

Hmm man steht schon am Anfang drin... Problem ist, man soll es auch. D.h. der Trigger soll eigentlich die ganze Welt bedecken, damit die Anzeige immer aktualisiert wird (ich meine, ich hatte das aber auch schonmal geändert und es ging trotzdem nicht, ich teste es gleich nochmal).

quote:
besser:

respondToNPC:TRUE

Hab ich jedenfalls so


Eigentlich soll der Trigger nur auf den Hero reagieren, deswegen hab ich das mal so drinnengelassen. Naja schaden kann es nicht, ich werd auch das mal testen.

Btw geht es denn, dass der Startpunkt in der Welt nicht im Trigger liegt, ich aber später speichern und laden kann und der Trigger trotzdem aktiviert wird, oder ist das bei jedem Spielstart so, dass der Charakter außerhalb sein muss?
23.10.2003, 09:47 #4
HornOx
Beiträge: 1.458

quote:
Ich brauch eine Bildschirmanzeige, die jede Sekunde aktualisiert wird und dazu wollte ich den Trigger missbrauchen.
reactToOnTouch:TRUE triggert nur beim betreten der BBox, wenn der Held sich in der BBox aufhält passiert nichts.
Hatten wir das Thema nicht schon vor ein paar Tagen mal? Erstell einen Scripttrigger mit Rückkopplung und etwas Verzögerung und starte ihn in der passenden INIT-Funktion in startup.d. Da mußt du die BBox auch wieder vergrößern weil ausgeblendete Trigger nicht triggern. Alternativ gabs IIRC auch irgendwas mit einem ObjektTA, aber dazu ist dein Triggerintervall zu kurz.
23.10.2003, 09:54 #5
Makador
Beiträge: 431

quote:
Hatten wir das Thema nicht schon vor ein paar Tagen mal?


Und was stand bei diesem Thema?

quote:
Also mir käme als Idee noch ein riesiger Scripttrigger über das ganze Level, der die passende Funktion aufruft. Den könnte man auch so einstellen, dass er nach x-Sekunden neu feuert.



Genau dass, hab ich meiner Meinung nach gemacht.

Aber danke für die Lösung (falls ich die hinkriege, sagt mir bisher nicht allzu viel ^^).

/edit:
Gibt kein Beispiel irgendwo in Gothic I wo ich abgucken kann oder?
Seite 1 von 1  1