World of Gothic Archiv > NWN-Hilfe
Kann mir einer helfen (Scriptaufwand)
Seite 1 von 2  1  2 
29.07.2002, 09:24 #1
Arkcroth
Beiträge: 68
Kann mir einer helfen (Scriptaufwand)
Also ich als Niete was das Scripten angeht hat hier 2 warscheinlich leichte Scripte die 2 Wachen von mir bekommen sollen.

Ich hab auch schon alles vorbereitet (Unique-Tags, Wegpunkte and so on... sollte was fehlen sagt es). Die Tags der Objekte trage ich in eckigen Klammern ein [TAG].

Fangen wir mit dem leichten an.
Wache1[GuardSit] soll sich auf einen Schemel[schemel] setzen und sich zum Bratenspiess[CampfirewithSpit_1] ausrichten (setzen kann er sich bei mir schon schaut aber immer in die falsche Richtung).
Wenn man die Wache anspricht soll er nur sagen "Ich bin beschäftigt" (nicht im Dialog sondern nur über seinem Kopf)
OPTIONAL: Wache1 benutzt den Bratenspiess (dreht das teil oder so)

Und jetzt kommt der schwierige Teil:
Wache2[GuardGotoPatrol] soll als erstes auf folgenden Wegpunkten laufen [bridgepatrol_waypoint1, bridgepatrol_waypoint2, bridgepatrol_waypoint3, bridgepatrol_waypoint4, bridgepatrol_waypoint5] danach zu Wache1[GuardSit] gehen, kurz den Bratenspiess[CampfirewithSpit_1] anschauen (so um die 2 Minuten) und dann wieder zum ersten Wegpunkt gehen [bridgepatrol_waypoint1] dort eine Minute warten und wieder ALLE Wegpunkte ablaufen.
Danach wieder zum ersten Wegpunkt[bridgepatrol_waypoint1] gehen 5 Minuten warten.
Danach geht diese Aktionskette wieder von vorne los.
OPTIONAL: Wache2 könnte statt nur auf den Bratenspiess zu schauen etwas dazu sagen... so wie "Hmmmmm... sieht lecker aus."


IST SOWAS MACHBAR? Und ist es so schwierig wie es sich anhört.

seeya
Ark

PS: Wenn ihr den Text nicht versteht seit ihr nicht dumm dann hab ich warscheinlich nur WIRR geschrieben. *g*
29.07.2002, 09:37 #2
Leman Russ
Beiträge: 47

Moin Arkcroth
At first: Ich bin auch noch en blutiger Anfänger ;-) aber ich würds so machen.

Also zu erstens kömmt das hier hinhauen:
SetFacing(xxx.x);
Hier steht das xx.x für die blickrichtung -->
(0.0=Ost, 90.0=Nord, 180.0=West, 270.0=Süd)
Probier einfach ein paar Gradzahlen aus und setz die am besten bei on heartbeat und bi onConversation ein. Sollte dann eigentlich funzen!

Mann könnte es auch mit SetFacingPoint machen, allerdings hab ich das auch noch nich hinbekommen, weil ich net weiss wie man den vector definiert.

Zu zweitens....naja da bin ich überfragt!
29.07.2002, 11:08 #3
GuradonHellsing
Beiträge: 232

das set facing geht nicht so ganz aber du kannst einfach die richtung des stuhles ausrichten in die guckt dann auch die sitzende person.
29.07.2002, 11:09 #4
Arkcroth
Beiträge: 68
leicht gesagt....
Ja das würd ich gerne.... aber wie gesagt es ist ein Schemel... der ist Rund... da sieht man weder vorn noch hinten :(
29.07.2002, 11:14 #5
Mr_Fragman
Beiträge: 37

@Arkcroth:

Bist du der Arkcroth für den ich dich halte? Der von Massive Developement?
29.07.2002, 11:18 #6
Arkcroth
Beiträge: 68
erwischt...
:D

Jep... aber das tut nichts zur Sache... ;)

Warum fragst du?

seeya
Ark
29.07.2002, 11:22 #7
Mr_Fragman
Beiträge: 37

hab nur grad den Nick gesehen und mich gefragt ob das du bist. Hab aber keinen speziellen Hintergedanken gehabt.

War mal Webmaster von www.TheWorldofAquaNox.com bzw. www.AquaNox-2.de, auch Massivesource genannt :D
29.07.2002, 11:25 #8
Arkcroth
Beiträge: 68

Nun ja... wie ich im AN-Forum ja schon oft erwähnte bin ich begeisterter RPG'ler ... :)

Und da war NWN nen Plichtkauf! *g*
UND das ich mich für das ToolSet interresiere ist bei meinem Job ja auch kein Wunder *g*

seeya
Ark
29.07.2002, 13:20 #9
Gawain15
Beiträge: 1.084

Hm irgendwie stoss ich da voll auf Probleme... also zum ersten:

object oWache1 = GetObjectByTag("[GuardSit]");
object oFeuer = GetObjectByTag("[CampfirewithSpit_1]");
vector vFeuer = GetPosition(oFeuer);
AssignCommand(oWache1, ActionDoCommand(SetFacingPoint(vFeuer)));

Damit kuckt der NPC in die Richtung des Feuers... ich glaube es geht auch während er sitzt habe ich aber noch nicht ausprobiert...

zum zweiten: mach ich nachher ich muß erst noch Orack helfen... der wartet schon eine Woche auf Antwort :)

PS: Ist hier etwa jemand berühmter als ich, der Meisterazubi?! Was ist denn Massive Developement?
29.07.2002, 13:28 #10
Mr_Fragman
Beiträge: 37

Massive Developement hat "Schleichfahrt" und "AquaNox" gemacht. Momentan arbeiten sie an "AquaNox: Revelation"
29.07.2002, 13:30 #11
Arkcroth
Beiträge: 68
danke
@Gawain: DANKE!!!!

@Mr_Fragman: Jep... wollt ich auch grad schreiben *g*


seeya
Ark
29.07.2002, 13:39 #12
Gawain15
Beiträge: 1.084

Achso, Schleichfahrt kenn ich noch, Aquanox wollte ich mir eigentlich auch kaufen aber mein Rechner war zu schlecht dafür... und dann kam NWN ;)
29.07.2002, 13:42 #13
Arkcroth
Beiträge: 68

also zum feuer dreht er sich leider nicht :( ... aber ich probier nochn bisschen rum *g* ... mal sehen ob ich das Script ganz zerhacken kann *g*

Und wo muss ich in der Wache im OnConversation-Script eintragen das er sich danach gleich wieder hinsetzt?

//edit:
Ich hab ihn jetzt soweit das er sich nach dem Gespräch wieder hinsetzt. Aber eigentlich will ich das er erst gar nicht aufsteht.
Kann ich das irgendwie machen?
29.07.2002, 14:18 #14
Gawain15
Beiträge: 1.084

Ark: Yo das hab ich mir schon gedacht ich war vorhin im US-Forum und dort gab es auch das Problem und da hat einer von Bioware (Die Entwickler des Spiels) gesagt wenn ein NPC auf nem Stuhl sitzt kann er sich nicht drehen. Dann gibt es 2 Möglichkeiten: 1) Du lässt den Stuhl weg und lässt den NPC die ganze Zeit stehen. 2) Du nimmst anstatt eines Schemels eine Bank oder einen Stuhl und drehst ihn so das er automatisch in die Richtung des Feuers zeigt.

Das mit dem sitzen bleiben geht auch nicht aber es gibt nen Work-around, einfach bei der ersten Zeile des OnConversation das "wiederhinsetzen-Skript" einfügen dann setzt er sich wieder hin sobald du ihn angeklickt hast...
29.07.2002, 14:24 #15
Arkcroth
Beiträge: 68

okay... danke... das hatte ich auch rausgefunden... kannst du mir noch sagen wie ich ein "wait" einbaue?

Dann siehts nicht so dumm aus wenn er sich nach dem Spruch (er hat ja nur eine Zeile über dem Kopf) wieder hinsetzt....
29.07.2002, 15:04 #16
Gawain15
Beiträge: 1.084

Ich denke du meinst das er halt ne Zeitlang abwartet bevor er die nächste Aktion ausführt, dann binde einfach folgende Zeile in das Skript ein. (An der gegebenen Stelle natürlich...)

ActionWait(3.0); //3.0 ist die Zeit in Sekunden
29.07.2002, 15:15 #17
Arkcroth
Beiträge: 68

danke hat sich erledigt... :)

Ich hab jetht einfach ne Bank genommen und das Conversation script so geändert das er sich auf der Bank nicht mehr mitdreht. Nurnoch mit seinem Kopf folgt.

Da brauchte ich dann auch kein "wieder-hinsetzen" *g*
29.07.2002, 15:23 #18
Arkcroth
Beiträge: 68
soweit sogut
So jetzt muss nurnoch die andere Wache das machen was ich will und dann bin ich (abgesehen von einem Dialog-Feinschliff) mit meinen ersten 4 Gebieten fertig + Quest die man erfüllen kann.

Hach herrlich!

Noch einmal nen fetten Dank an Gawain. (den sollte jemand mal zu einem "Forums-Best-Helper" ernennen *g*)

seeya
Ark
29.07.2002, 15:48 #19
Gawain15
Beiträge: 1.084

Also mal zu der zweiten Wache: Am besten bei OnHeartbeat ActionWait und ActionMoveToObject benutzen... das ist ein wenig kompliziert aber was anderes fällt mir gerade nicht ein... Also aus jedem Wegpunkt, der anderen Wache und dem Bratenspiess ein Objekt machen, eine Variable setzen. Danach machste ne If-Abfrage und fragst ob die Variable auf dem gesetzten Wert ist (damit die Wache immer wieder alles macht). Dann die Wache die Wegpunkte abgehen lassen dann auch mit ActionMoveToObject zu der Wache gehen lassen, mit SetFacingPoint den Bratenspiess ankucken lassen und mit SpeakString halt den Satz von sich geben lassen. Äh... ALLES KLAR?! klingt komplizierter als es ist... denke ich ;)

PS: Naja ab Donnerstag kann ich nicht mehr so viel Support leisten weil ich dann meine Ausbildung anfange, aber wir haben auch einen Internetanschluß bei uns :) ... ist zwar ein Klischee aber: habt ihr Spieledesigner den ganzen Tag nichts zu tun?! ;)
29.07.2002, 15:56 #20
Arkcroth
Beiträge: 68

klingt WHOA!!! *g*

Mal schauen... die Theorie hatte ich so auch im Kopf... muss mal sehen ob ich das gescriptet bekomme...

und NEIN wir haben gut zutun... aber als Leveldesigner ist sowas wie "fortbildung" wichtig... deshalb "darf" ich auch während der Arbeitszeit nen bisschen mit dem NWN-ToolSet rumpfuschen...

Demnächst wird Chefe mal kommen und dann muss ich mal zeigen was an dem Teil so geil ist *g* ... und ausserdem bring ich mir so nen bisschen mehr scriptsprachen bei... für richtiges C++ hatte ich früher nie das "durchhaltevermögen" *g*

Naja... ich schau mal was ich machen kann... wenn die Wache erst einmal ihre Wegpunkte läuft und wenn ich sie anspreche (nur text über kopf) kurz stehen bleibt und dann ihren weg fort setzt langt mir das schon... vielleicht lass ich ihn aber auch jeden WP einzeln anlaufen mit ner kleinen Pause zwischen den WP's ... so sieht er auch aus wie auf Patrol *g*


naja... mal schauen...
noch was hartes *g*
Ich hab da nen bauer... und ich möchte das er mit seinem Handbeil (muss mal sehen ob der das benutzen kann ansonsten bekommt der den Feat) auf einem Holzklotz (da wo man drauf sägt) hackt. Also ne Animation abspielt... kann man sowas machen?

seeya
Ark
29.07.2002, 16:36 #21
Gawain15
Beiträge: 1.084

Ich hab mit den falschen Beruf ausgesucht ;)

Also das mit dem Text ist leicht falls er nicht mehr sagen soll als den einen Satz: Mach im Konversationseditor einfach nur eine Zeile die der NPC spricht ohne jegliche Antwortmöglichkeit des PC's dann sagt der NPC nur die eine Zeile in weisser Schrift überseinem Kopf.

Und wenn er nur die Wegpunkte laufen soll mach folgendes: Erstell ein Skript das so aussieht:

#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
WalkWayPoints();
}

Dann gehst du in den Konversationseditor und unter dem Tab "Aktuelle Datei" das Skript bei Normal und Abgebroche einfügen. Ich glaube der NPC geht dann wenn er z.B. die Wegpunkte A-B-C abgeht und zwischen B und C angesprochen wird erst wieder zurück zu B... sieht ein wenig komisch aus aber anders hab ich das noch net herausgefunden.

Zum Holzfäller: Mit ActionAttack vielleicht? Dann aber den Holzklotz benutzbar machen und die Checkbox bei "Handlung" aktivieren, damit er unzerstörbar ist. Mit Apply_effect kann man auch noch ein paar Effekte reinmachen wenn man will...
29.07.2002, 16:44 #22
Arkcroth
Beiträge: 68

Müssen die WP's dann besondere Tags haben so wie die WP_POST Teile?
29.07.2002, 16:49 #23
Gawain15
Beiträge: 1.084

Das hab ich noch nicht ausprobiert :) Aber ich denke die sollten alle zusammenhängend sein... am besten du erstellst die mit CreateSet dann sollte eigentlich nichts schief gehen.
29.07.2002, 16:54 #24
Arkcroth
Beiträge: 68

und wo trag ich das Set ein das er ablaufen soll?

besser gefragt ... wie ist der Syntax dafür im WalkWaypoints?
29.07.2002, 16:59 #25
Gawain15
Beiträge: 1.084

Geht einfach mit nen paar Mausklicks :)

Setze eine Reihe von Wegpunkten entlang der Route, die die Kreatur entlang gehen soll.

Wähle alle grade neu erstellten Wegpunkte aus, drück den rechten Mousebutton und wähle "Create Set" aus.

Das Wegpunkteset will nun einen Namen von dir haben, der aus "WP_" + dem NSC Tag bestehen muss. D.h. wenn dein NSC Tag "Wache" heißt, musst du das Wegpunkteset "WP_Wache" nennen. Achte auf die Groß-/Kleinschreibung der Tags.

/e: hab ich aus dem Kleine-Faq-endlich-sticky-Thread rauskopiert ;)
Seite 1 von 2  1  2