World of Gothic Archiv > NWN-Hilfe
Scriptingfrage
Seite 1 von 1  1 
17.07.2002, 20:05 #1
Sparschwein
Beiträge: 44
Scriptingfrage
Beim NWN Lexicon

Steht der Code der Einzelnen Befehle immer so da.

z.B.

void DestroyObject(
object oDestroy,
float fDelay = 0.0f
);

Wenn ich Jetzt z.B. einen Char habe der der Klaus heisst ..

Würde der Script dann so aussehen ?

void main()
{
DestroyObject(oKlaus,fDelay = 10.0f);
}

?
17.07.2002, 20:13 #2
Gawain15
Beiträge: 1.084

Nein der Code ist unvollständig! oKlaus heißt das Objekt oKlaus wird zerstört aber du definierst nirgendwo was das Objekt oKlaus ist. Wenn das Programm nicht weiß was es zerstören soll kann das Programm wohl schlecht ausgeführt werden oder?

definiere das Objekt z.B. so:

object oKlaus = GetObjectByTag("Klaus");
17.07.2002, 20:38 #3
jf
Beiträge: 26

außerdem verwendest du den vordefinierten parameter falsch.
wenn bei den funktionsdefinitionen irgendwo zb.
int nbla=10
steht, heißt das nur, dass falls kein wert für diesen parameter übergeben wird, das vordefinierte (in diesem fall 10) verwendet wird.

so wie du das geschrieben hast, geht das auch, dazu musst du aber vorher die variable fDelay deklarieren:
float fDelay;
mit dem momentanen code setzt du den wert dieser variablen auf 10 und übergibst den inhalt (also 10).

es langt aber wenn du einfach schreibst:

void main()
{
DestroyObject(GetObjectByTag("Klaus"),10.0f);
}

mfg jf
17.07.2002, 21:05 #4
Gawain15
Beiträge: 1.084

Ich würds aber vorher deklarieren, bei größeren Scripten verliere ich sonst immer die Übersicht :) , ist aber auch besser wenn du etwas öfter benutzt es so zu machen anstatt direkt in der Anweisung alles reinzuschreiben also z.B. so:

void main()
{
object oKlaus = GetObjectByTag("Klaus");
float Zahl = 10.0;
DestroyObject(oKlaus,Zahl);
}
Seite 1 von 1  1