Hallo Leute, ich habe ein Mega-Problem! Ich möchte ein Rätsel erstellen, besser gesagt, acht Rätsel. Man kann das Rätsel, das man haben möchte, über einen Zauber auswählen, die Rätsel selbst sind auf einer Quest aufgebaut. Es ist nur eine neue Quest, mit einem Script, die dann mit StartQuest.[ID] und Stopquest.[ID] gestartet und beendet wird.
Mein Problem ist dann, das bei der zweiten Frage Chorrol auf einmal richtig ist, und man 50 Gold erhält, und bei den anderen beiden Antworten einem 25 Goldstücke entfernt werden, und man wieder zur ersten Frage kommt
Hier mal das Script:
Code:
scn Raetsel01Script
short Frage01
short Frage02
short Frage03
short Frage04
short FrageGeschafft
Begin GameMode
set Frage01 to GetButtonPressed
set Frage02 to GetButtonPressed
set Frage03 to GetButtonPressed
set Frage04 to GetButtonPressed
set FrageGeschafft to 0
if FrageGeschafft == 0
MessageBox"Was ist eine Schlammkrabbe?","Eine Kreatur","Ein NPC","Gibt es nicht"
if Frage01 == 0
set FrageGeschafft to 1
player.additem Gold001 50
endif
if Frage01 == 1
set FrageGeschafft to 0
player.removeitem Gold001 25
endif
if Frage01 == 2
set FrageGeschafft to 0
player.removeitem Gold001 50
endif
endif
if FrageGeschafft == 1
MessageBox"Wo liegt die Rosendornhalle?","In Chorrol","In Skingrad","In Leyawiin"
if Frage02 == 0
set FrageGeschafft to 0
player.removeitem Gold001 100
endif
if Frage02 == 1
set FrageGeschafft to 2
player.additem Gold001 50
endif
if Frage02 == 2
set FrageGeschafft to 0
player.removeitem Gold001 100
endif
endif
if FrageGeschafft == 2
MessageBox"Wie viele Arme hat Mehrunes Dagon?","Zwei","Vier","Sechs"
if Frage03 == 0
set FrageGeschafft to 1
player.removeitem Gold001 200
endif
if Frage03 == 1
set FrageGeschafft to 3
player.additem Gold001 100
endif
if Frage03 == 2
set FrageGeschafft to 1
player.removeitem Gold001 200
endif
endif
if FrageGeschafft == 3
MessageBox"Was für eine Kreatur ist Schattenstute?","Ein Monster","Ein Daedra","Ein Pferd"
if Frage04 == 0
set FrageGeschafft to 2
player.removeitem Gold001 400
endif
if Frage04 == 1
set FrageGeschafft to 2
player.removeitem Gold001 400
endif
if Frage04 == 2
set FrageGeschafft to 4
player.additem Gold001 200
endif
endif
End
Hoffe auf schnelle Hilfe.
MfG Jauffre
@ Majesto: Dein Script lautet:
Code:
scn Ringänderung(was auch immer^^)
short doonce
short Abfrage
Begin OnActivate
set Abfrage to GetItemCount [ID des Rings]
if Abfrage => 1 && doonce == 0
Message"xxx"
player.removeitem [ID des Rings] 1
set Abfrage to 2
player.additem[ID des neuen Rings(darauf komme ich gleich)] 1
set doonce to 1
endif
End
So, jetzt erstellst du ein Duplikat deines Ringes, also einfach den vorhandenen Ring öffnen, die ID öffnen und auf Ok, dann auf Ja/Yes klicken. Den zweiten Ring öffnen, und dann die Enchantment drauflegen. An Scripting Profis: Wenn's falsch ist, bitte ausbessern.
Nochmal MfG^^ Jauffre
@ Blip-Blop: Es ist alles möglich, bleib noch die nächsten zwanzig Minuten on, dann kann ich's dir schreiben
Zu Frage 1:
a.) Je nachdem wie lange du möchtest, du änderst einfach die Zahl nach
"if timer >". Z.B.: Es soll 25 Sekunden brennen, dann lautet die Zeile: "if timer > 25"...
b.) Da könntest du einfach eine Flamme nehmen, und die mit Timer enablen/disablen.
-->
Code:
scn FlammeHerzaubernUndVerschwindenLassen(^^)
float timer
short Entfernung
Begin GameMode
set Entfernung to GetDistance Player
if Entfernung <= 10
[ID der Flamme].enable
endif
set timer to timer + getseconpassed
if timer > 10
[ID der Flamme].disable
endif
End
Bei der Flamme müsstest du im Render Window schon am Amfang anhakeln, das sie disabled ist.
c.) Ja, man kann nur ein Skript auf ein Objekt legen.
Zu Frage 2:
Da kann ich dir leider nicht sofort helfen, aber es ist möglich. Einer unserer Skript-Profis wird dir da sicher helfen können
Und schon wieder MfG^^ Jauffre