World of Gothic Archiv > NWN-Hilfe
komplexes Problem: Video in der Spielengine
Seite 1 von 1  1 
09.08.2002, 15:22 #1
LORD
Beiträge: 5
komplexes Problem: Video in der Spielengine
Ich hab das schon mal beschrieben, weiss aber nicht wo. Somit möchte ich mein Problem nochmal schildern:


Ich habe vor, dass ein paar NSCs vor den Augen des SCs bestimmte Handlungen ausführen. Dieser soll aber nicht eingreifen können.
Also im Prinzip genau, wie die Zwischenvideos in z.B. Baldur's Gate!
Der einfacherheitshalber sagen wir einfach mal die Handlung die der NSC ausführen soll ein ein simples gehen zu einem bestimmten Waypoint.
Der NSC bekommt den String "Rick"
Den Waypoint nennen wir einfach mal "wp_Rick"

Ich hab folgendes Probiert: es gibt einen grossen Auslöser. Das erste Script wurde in das OnEnter dieses Auslösers gepackt!
In diesem Script stehen folgende Zeilen (ist aus dem Kopf geschrieben, Rechtschreibfehler möglich):

code\:

void()
{
SetLocalInt(GetModule,"Rickistda",0);
while (GetLocalInt(GetModule,"Rickistda") == 0)
{
AssaignCommand(GetEnteredObject(),ClearAllActions());
AssaignCommand(GetObjectByTag("Rick"),ActionMoveToObject(GetWaypointByTag("wp_Rick")));
}
}



Sobald Rick einen weiteren Auslöser, der um den Waypoint platziert ist, betritt, soll die locale Variable "Rickistda" auf 1 gesetzt werden. (Das Script ist SOOOO umfangreich, dass ich es wohl nicht posten brache ;) )

Der Kompliler zeigt bei beiden Scripten keine Fehler an

Was nun passiert könnte man sich schon denken: So bald man den Auslöser betritt, bei dem das 1. Script ausgelöst werden soll, schmiert Neverwinter Nights ab :D


Hat jemand ne Idee, wie man dieses Problem lösen könnte, oder meint ihr, dass so etwas unmöglich ist?

Freue mich über jede Antwort!
09.08.2002, 18:47 #2
GuradonHellsing
Beiträge: 232

mh ich weis das mein eitrag wahrscheinlich keine große hilfe ist aber aus erfahrung weis ich das nwn probleme mit while schleifen zu scheinen hat. ich würde es mal mit onheartbeat probieren anstelle der while schleife.
10.08.2002, 10:23 #3
LORD
Beiträge: 5

Hammer!
Ich hab's hinbekommen!

Etwas anders, als ich es anfangs wollte, aber mit dem gleichen Effekt!
Sobald der Spieler den Auslöser betritt beginnt der Effekt "paralyze" an zu wirken! Schwierig dabei ist nur, dass man den Zustand in Sekunden angeben muss... außerdem steht oben in der Ecke das Gelähmt-Zeichen... aber ich glaube, dass dürfte niemanden stören!

Ich hab aber noch 2 Fragen: weiss jemand, ob es ein Script gibt, in dem der Paralysed-Zustand gescripted ist? Ich hab eines für "confused" gefunden (nw_g0confused) aber eben keines für Paralysed.

Weis jemand, wie man selbst effect typen definieren kann und wie die aussehen müssen?

und noch was ganz wichtiges: gibt es ein Script mit dem man die Kamera auf ein bestimmtes Ziel ausrichten kann? Ansonsten bekommt der Spieler ja evt. gar nichts, von der Handlung mit.
10.08.2002, 10:47 #4
therealjoker
Beiträge: 48

Hmm, ich weiß nicht, ob das bei der NWN-Scriptsprache funktioniert aber du könntest die Funktion EffectParalyze() überladen und neudefinieren.
11.08.2002, 12:38 #5
Fantasyelf
Beiträge: 36

Wegen der Videosequenz:

Du mußt vor den Aktionen ein "AssignCommand(oSC, ActionDoCommand(SetCommandable(FALSE)))" einfügen und am Ende ein "AssignCommand(oSC, ActionDoCommand(SetCommandable(TRUE)))". In dem Code dazwischen kannst Du mit "AssignCommand(oSC, ...)" alle möglichen Aktionen ausführen lassen, nur wenn man oben links die Commandos wegklickt, stört man den Ablauf der Zwischensequenz.
Seite 1 von 1  1