World of Gothic Archiv > NWN-Hilfe
Scripthilfe: Gespräch, Gold + Reise
Seite 1 von 1  1 
21.05.2004, 15:21 #1
Micha LNH HSV
Beiträge: 251
Scripthilfe: Gespräch, Gold + Reise
Wer kann mir bei folgendem Script helfen:

Der PC spricht einen NPC an und dieser bringt einen
gegen Gold an einen anderen Ort (Waypoint in einem anderen
Gebiet). Hat der PC genug Gold geht die Reise los, ansonsten
soll ein kurzer Text ausgegeben werden das zuwenig Gold
vorhanden ist.
Danke

Bis jetzt habe ich mir folgende zusammen gesammelt:
_____________________________________________________
void main()
{

// Dem Spieler Gold wegnehmen
TakeGoldFromCreature(50, GetPCSpeaker(), TRUE);

// Spieler reist
object oPC = GetLastUsedBy();

//Target waypoint destination
object oDrop = GetWaypointByTag("Jhelomkutsche");

//Jump the PC to the destination
AssignCommand (oPC,JumpToObject(oDrop));

}
_____________________________________________________


Aber nur das Goldabziehen funktioniert.
Die Reise funktioniert nicht und die Option bei
zuwenig Gold habe ich auch nicht gefunden.
24.05.2004, 17:47 #2
Kardor
Beiträge: 523

Hi Micha,

die Kollegen in diesem anderen Forum haben dir schon recht gut geholfen oder? ;)
...sorry, das es hier so lange gedauert hat, aber ich hatte gewisse Probleme online zu kommen die vergangene Woche und momentan schein ich hier ja der einzige Scriptonkel zu sein.

//edit

mal die gute und gut kommentierte Lösung von Stevit dazu, falls jemand sowas sucht:

Stevit schrieb am 23.05.2004 um 14:07 Uhr:

Bzw:

code\:

void main()
{
// Spieler
object oPC = GetPCSpeaker();

//Die Abfrage für das Gold
if(GetGold(oPC) >= 100)
{
// Dem Spieler Gold wegnehmen
TakeGoldFromCreature(100, oPC, TRUE);

//Target waypoint destination
object oDrop = GetWaypointByTag("Jhelomkutsche");

//Jump the PC to the destination
AssignCommand(oPC, JumpToObject(oDrop));
}
else
{
//Spricht wenn er zu wenig Gold dabei hat
AssignCommand(OBJECT_SELF, SpeakString("Kommt wieder, wenn ihr genug Geld dabei habt."));
}
}






OBJECT_SELF ist immer der Gegenstand/NSC mit dem der Spieler gerade im Gespräch ist. In diesem Fall dann wohl der Kutscher und wenn ich deinen Wunsch richtig gedeutet habe, sollte ja gerade dieser und nicht der SC reden.

Wenn du so viele Dinge mit dem Spieler anstellen willst macht es keinen Sinn immer und immer wieder GetPCSpeaker() aufzurufen. Dafür kann man ja Variabeln definieren.

Wenn du das Script woanders verwenden willst müsstest du alles anpassen, so änderst du eine Variabel. Oder wenn die Methoden etwas Rechenaufwendiger wären? Dann macht es schon einen enormen Unterschied ob du sie einmal oder 4-5 mal aufrufst.




___________________________

Pilze Band I - das NWN Modul ;)
Niemand hat die Absicht eine Mauer zu baun. Außer uns!
[/font]
25.05.2004, 21:43 #3
Micha LNH HSV
Beiträge: 251

quote:
Zitat von Kardor
Hi Micha,
die Kollegen in diesem anderen Forum haben dir schon recht gut geholfen oder? ;)[/i]


So ist es
Komme gut voran mit meinem Modul, kommen bestimmt noch genug
neue Fragen...
Seite 1 von 1  1