Construction Set Skriptthread zum Construction Set

Ich habe ein Problem mit dem Befehl "cast". Er erkennt anscheinend nicht den Zauber, den ich ihm gebe.
Also es kommt immer eine Fehlermeldung. Dabei ist es egal, wer zaubern soll. Bis jetzt sieht es so aus:

Code:
player.cast ZauberID
 
Zuletzt bearbeitet:
Du musst noch angeben wohin der Zauber gecastet werden muss.
zB:
PHP:
player.cast Ayleidpower Player

Das allgemeinere Schema wäre dann


PHP:
REF1.cast Zauber REF2
(wobei REF1 und REF2 auch gleich sein können)


;)
 
  • Like
Reaktionen: SchinkenMedia
Hallo zusammen, ich bin neu hier im Forum.

Ich habe vor einem gut einen Monat angefangen meinen eigenen Mod im Oblivion anzufertigen und ich bin, was scripting angeht, noch relativ neu.

Ich bräuchte einen Script, der wie folgt aussieht:

Wenn Schlüssel A aufgehoben wird, soll Gegner B an einem bestimmten Punkt erscheinen und Kasten C aufgeschlossen werden (er ist zuvor verschlossen).

Es wäre klasse wenn mir jemand helfen würde.

Noch eine Zusatzfrage: Wie kann man am besten das Scripten lernen und verstehen?

Freundliche Grüsse

blackHawk
 
Du stellst zuvor den Gegner an die gewünschte Stelle, disablest ihn und weist ihm und dem Kasten eine Referenz zu (Du musst auf sie im Render-Window doppelklicken und oben dann die Referenz eintragen und noch einen Haken bei "Persistent Reference" machen. Beim Gegner noch einen Haken bei "Initially Disabled" machen). Dann kommt dieser Skript auf den Schlüssel:

Code:
SCN Scriptname

Short i

Begin OnAdd Player

if(i == 0)
   <GegnerRef>.enable
   <KastenRef>.unlock
   set i to 1
endif

End
Du musst eben noch die Referenzen hier im Skript eintragen (ohne diese "<").

Das Skripten kann man sich z.B. durch Tutorials und Anschauen von Mods, also wie etwas dort gemacht wurde, aneignen.

MfG.
 
  • Like
Reaktionen: blackHawk
Danke vielmals, hat alles sehr gut funktioniert.

Eine Frage habe ich aber noch: Wie muss ich das umschreiben, wenn mehrere verschiedene Gegner erscheinen sollen?
 
Hallo zusammen,

dieses Skript hier lässt zu Spielbeginn eine Message erscheinen. Was muss ich ergänzen, damit gleichzeitig ein Questtarget angezeigt wird?
Das Skript ist als Questskript erstellt.

PHP:
scn QuestSkript

short DoOnce
begin GameMode
 If DoOnce == 0
  Set DoOnce to 1
  Messagebox "Mein Text."
 Endif
end

LG
Arielle
 
Das Skript an sich hat weniger damit zu tun, aber man kann es damit verbinden.

1.
Du kannst dein Skript also wie folgt umschreiben:
PHP:
scn QuestSkript

short DoOnce

begin GameMode
	If (DoOnce == 0)
		Set DoOnce to 1
		Messagebox "Mein Text."
		SetStage AriellesQuest 5
	Endif
end

Für AriellesQuest trägst du den entsprechende EditorID ein. Die Stage 5 nicht vergessen vorher zu erstellen. Ist dies getan, kannst du auf Quest Targets wechseln und ein neues Target anlegen. Rechtsklick -> New und dort suchst du dir dann dein Ziel aus, am einfachsten ist es du grad schon in der selben Zelle bist und die Referenz nur noch anklicken musst. Danach noch eine Bedingung hinzufügen unter Conditions das die Stage 5 deiner Quest erreicht werden muss, damit das Target angezeigt werden kann.

2.
Du könntest aber auch den ganzen oberen Prozess abkürzen indem du sofort das Quest Target erstellst, wie schon beschrieben. Dann sollte es von Anfang der Quest angezeigt werden, aber entsprechende Bedingungen nicht vergessen, damit das Target nicht immer angezeigt wird sofern nicht gewollt. ;)

MfG Master of Worlds
 
Hm....ich muss mein Anliegen anders formulieren.

Du hast mir gerade die Vorhergehensweise beschrieben, wie man eine Quest erstellt mit Targets. Das ist mir schon geläufig, wie das funktioniert, aber genau das brauche ich nicht.

Es soll keine Quest daraus entstehen. Ich brauche auch keine Stages, denn es wird keine Missionen, keine Aufgaben geben. Einfach nur diese Message plus Target, damit der Player weiß, wohin er gehen soll. Das Target habe ich natürlich schon längst erstellt. Nur kann ich ihm keine Bedingung geben, da es ja keine Stage gibt. Es soll ähnlich ablaufen wie z.B. die Message in Shivering Isles, dass eine Tür in der Bucht von Niben aufgetaucht ist. Das Questskript habe ich mir auch schon angeschaut, ist aber ellenlang und zu komplex um es für mich abzuändern.
Ich dachte, es gäbe einen einfachen Skriptbefehl wie z. B. "show Target Ref" oder "enable Target Ref", das ich in mein Skript einfügen kann. Ich dachte, es wäre der einfachere Weg.
 
Eine Quest existiert ja auch zu der Tür in der Bucht von Niben, meines Wissens nach wirst du ohne eine Quest nicht darum kommen. Ohne Quest, kein Target was dir mit einem Marker angezeigt wird.
Du musst die Stages ja nicht mit Textnachrichten füllen, du kannst Stages auch einfach so herumspringen lassen.

Daher weiß ich grad nicht wo da ein Problem sein soll. :?

MfG Master of Worlds
 
  • Like
Reaktionen: Arielle 1000
Achso, du meinst die Stagefenster einfach unbeschriftet lassen? Das geht natürlich auch. Ich brauch ja im Prinzip nur eine Stage 5 und das war's. Wenn ich direkt auch schon den Haken bei Complete Quest setze, bleibt die auch nicht ewig offen. Guter Tip, Mow, genauso mache ich das jetzt.
Vielen Dank für die Hilfe!

LG
Arielle
 
Ist es irgendwie möglich, in einer Messagebox nen Zeilenumbruch zu machen? Dass ein ausgegebener Text, der aus mehreren zeilen besteht, übersichtlicher wird?

Bsp:
Wert 1: 10
Wert 2: 15
Wert 3: 5

statt "Wert 1: 10 Wert 2: 15 Wert 3: 5"
 
Danke, damit hast mich auf die Richtige Spur geschoben. Das was ich brauchte, nennt sich MessageBoxEX.
Da der Mod, für den ich das brauch, auf OBSE zwingend braucht, ist das genau richtig.
 
Hallo ich bräuchte mal Hilfe bei disem Skript. Dieses Skript soll bewirken das ich wenn ich eine Waffe ziehe diese durch eine andere ersetzt wird.

PHP:
begin gamemode

if (Player.GetEquipped Sword == 1 && Player.IsWeaponOut == 1)
player.additem AASword2 1
player.equipitem Sword2 1
endif
if (Player.GetEquipped Sword2 == 1 && Player.IsWeaponOut == 0)
player.equipitem AASword
player.removeitem AASword2 1
endif
end

Das Skript liegt auf den AASchwert.

MFG
Sammael666
 
hey, ich hab da mal ne frage:
Gibt es einen Befehl, der in etwa so aussieht bzw das bewirkt: enable parent
Das ganze soll eben, wenn der script abläuft (es geht um fackelhalter) das mit dem halter(activator) verbundene parent (Fackel) enabelt, bzw disabelt.

Und bitte ned schmpfen wenn die Idee das ganze über parents zu regeln garned hinhauen kann^^ hab da irgendwie so nen verdacht dass des so nix wird...:D
lg Dacri