World of Gothic Archiv
> NWN-Hilfe Bräuchte Syntaxhilfe; { BITTE !!!!}; |
|
17.07.2002, 15:01 | #1 | ||
Messiah0710 Beiträge: 11 |
Bräuchte Syntaxhilfe; { BITTE !!!!};
Hallo ! Ich habe mir in den Kopf gesetzt einen NPC zu einem Wegpunkt laufen zu lassen, das Ganze nach einem Gespräch, dann soll er an dem Wegpunkt etwas sagen, wegrennen und dann beim wegrennen schreien ! bin Ich nur zu doof sowas umzusetzten oder GEHT DAS NICHT ?? Ich habe ein Script erstellt, das allerdings alles tut ausser funktionieren : wenn ich den npc anspreche rennt er vor MIR weg und schreit "Oh ein riesiges Monster...." vielleicht ist mein Char auch einfach nur zu hässlich *G* BITTE helft mir ! |
||
17.07.2002, 17:26 | #2 | ||
Gawain15 Beiträge: 1.084 |
Es geht... setz das ganze Script bi erfolgte Aktionen ein dann arbeitet er die Scripte schritt für schritt ab. (Also gehen --> reden --> zum nächsten gehen --> Weglaufen --> Reden alles in dem Script) |
||
17.07.2002, 18:36 | #3 | ||
Messiah0710 Beiträge: 11 |
Also ich hätte ja nicht gedacht, das die Art, mit der man das Script startet irgendwelche folgen auf den Ablauf hat ... :( hier ist das Script ... ( Topic : Syntaxfehler trifft vielleicht doch *G*) void main() { { SpeakString("Auf in den Kampf"); } { object oDeinWegpunkt = GetObjectByTag("NW_WEG"); ActionMoveToObject(oDeinWegpunkt, TRUE); } { SpeakString("Nein... VERDAMMT!"); } { object oTarget = GetLastPerceived(); if (GetLastPerceptionSeen() == TRUE) { if (GetIsPC(oTarget)) { ClearAllActions(); ActionMoveAwayFromObject(oTarget,TRUE); { int iRandom; iRandom = Random(5); if (iRandom == 0) SpeakString("Nein.... das kann nicht sein"); //Beispielatz durch euren Satz ersetzen. if (iRandom == 1) SpeakString("wir sind verloren"); if (iRandom == 2) SpeakString("AAAAaaaaaaahhhh !!!"); if (iRandom == 3) SpeakString("Ein riesiges Monster !"); if (iRandom == 4) SpeakString("Hilfe !.... so Helft mir doch BITTEEEE !"); } } } } } Ich habe mir das aus teilen zusammengeschnitten und jeden Befehl für sich genommen ... aber es funktioniert ja leider nicht ... kannstes ja mal ausprobieren **GGGG** :D |
||
17.07.2002, 18:53 | #4 | ||
Gawain15 Beiträge: 1.084 |
Ich kann den Editor nicht starten aber ich versuchs mal trotzdem: void main() { SpeakString("Auf in den Kampf"); object oDeinWegpunkt = GetObjectByTag("NW_WEG"); ActionMoveToObject(oDeinWegpunkt, TRUE); SpeakString("Nein... VERDAMMT!"); object oTarget = GetLastPerceived(); if ((GetLastPerceptionSeen() == TRUE) && (GetIsPC(oTarget))) { ClearAllActions(); ActionMoveAwayFromObject(oTarget,TRUE); int iRandom; iRandom = Random(5); if (iRandom == 0) SpeakString("Nein.... das kann nicht sein"); //Beispielatz durch euren Satz ersetzen. if (iRandom == 1) SpeakString("wir sind verloren"); if (iRandom == 2) SpeakString("AAAAaaaaaaahhhh !!!"); if (iRandom == 3) SpeakString("Ein riesiges Monster !"); if (iRandom == 4) SpeakString("Hilfe !.... so Helft mir doch BITTEEEE !"); } } Und wenn das nicht geht setz halt bei jedem Befehl AssignCommand davor. |
||
17.07.2002, 19:29 | #5 | ||
Messiah0710 Beiträge: 11 |
Das tut leider immer noch nicht ... nochmal zum script : Das Script wird gestertet, wenn ein bestimmter Dialog Abgeschlossen ist. Ich habe es unter allen optionen ausprobiert (text erscheint, wenn ...usw) jetzt scheint er den if-satz 2 mal durchzulaufen, da er 1. schreit der kerl "auf in den kampf in der messagehistory, dann schreit er "oh ! ein riesenmonster" und rennt irgendwohin. vorher ist er ja wenigstens noch zum wegpunkt gelaufen *G* |
||
|