World of Gothic Archiv > NWN-Hilfe
An einer Zugkette runterklettern ??
Seite 1 von 1  1 
13.09.2002, 12:33 #1
Vuje
Beiträge: 14
An einer Zugkette runterklettern ??
Moinsen mal wieder.
Ich habe eine Gruft erschaffen, in der der Korridor nun abrupt an einer Grube endet. Eigentlich wäre es hier vorbei, wenn nicht eine Zugkette am Rand hängen würde.
Folgendes möchte ich erreichen. Wenn sich jemand der Zugkette bedient, so soll ein Gespräch geöffnet werden. Als Beispiel: blabla..tief runter...möchtest Du versuchen, runterzuklettern?
Als antwort natürlich ja oder nein. Nun soll gecheckt werden, od der PC genug Geschicklichkeit und Stärke hat, sich da Verletzungsfrei runterzuhangeln. Wenn der check nicht bestanden wird kommt ne meldung...nach dem Motto: Versuchs nochmal später, wenn Du stärker/Geschickter bist. Ansonsten, soll der PC in einer neuen Gegend auftauchen. Unten soll er natürlich die möglichkeit haben, an der Zugkette wieder hochzuklettern.

Alles Verständlich?
ps.: Im 2. Akt im Spiel gibt es doch diesen Brunnen, durch den man durchtauchen kann. So sollte es auch hier mit dem Klettern aussehen.

Vielen vielen Dank.

vuje
13.09.2002, 13:15 #2
Rhaegar
Beiträge: 296

Okay.Einfach im Dialogeditor folgende Option als Dialogzeile schreiben:

"Vielleicht koenntet ihr die Kette hinabsteigen. Wollt ihr es versuchen?"
-> Ja.
-> Nein.

Bei Ja, dann folgende Zeilen adden:
"Ihr packt die Kette und beginnt euch sicher und geschickt abzuseilen."
-> ok....

"Ihr versucht euch an der Kette abzuseilen rutscht aber beinahe ab und koennt euch gerade noch wieder auf den sicheren Mauervorsprung retten ((versucht es noch einmal, wenn ihr staerker und geschickter seid!))"
-> Ok...

Beide Optionen muessen auf derselben hoehe des Dialogbaumes liegen.
Bei der ersten kommt ins "Erfolgte Aktionen"-Feld das hier:
code\:

void main()
{object oPC=GetPCSpeaker();
object oWP=GetWaypointByTag("Tag des Wegpunktes");
AssignCommand(oPC,ActionJumpToObject(oWP));}



Und ins "Text erscheint wenn..."-Feld das hier:
code\:

int StartingConditional()
{object oPC=GetPCSpeaker();
int nNeededDex=14;//hier den gewuenschten Wert einsetzen...
int nNeededStr=13;//dito
int nDex=GetAbilityScore(oPC,ABILITY_DEXTERITY);
int nStr=GetAbilityScore(oPC,ABILITY_STRENGTH);
int bAble=((nDex>=nNeededDex)&&(nStr>=nNeededStr));

int iResult;

iResult = (bAble);
return iResult;
}



Das sollte eigentlich das machen was du wolltest :).


___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
13.09.2002, 13:49 #3
Raenius
Beiträge: 253

Wärs nicht besser das ganze mit einem d20 zu machen und dann den Dex bzw Str Modifikator hinzuzuzählen ?

int SG = 25 //oder nen andere SG
int roll = d20(1);
int bonus1 = GetAbilityModifier(oPC,ABILITY_DEXTERITY);
int bonus2 = GetAbilityModifier(oPC,ABILITY_STRENGTH);
if (roll + bonus1 +bonus2 >=SG)
{
hier coden
}
else
{
hier coden
}

bin mir nicht sicher, ob das ganze so stimmt, da ich keine Ahnung von NWN Scripting oder so hab'.
13.09.2002, 14:47 #4
Vuje
Beiträge: 14

Habe es gemacht, aber leider kann ich, wenn ich die kette "anspreche" nicht in den gehofften dialog gelangen. Was muss denn bei der Zugkette in den Eigenschaften verstellt werden, damit ich den dialog starten kann?
14.09.2002, 10:52 #5
Rhaegar
Beiträge: 296

@Raenius: Yupp, ist so besser.

@Vuje:
Kette benutzbar machen und das hier ins OnUse:

code\:

void main()
{
object oObjectToDialog = GetClickingObject();
string sResRef="Vorlagenresref des Gespraechs";
BeginConversation(sResRef, oObjectToDialog);
}




___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
Seite 1 von 1  1