Construction Set Skriptthread zum Construction Set

Hmm, für die Falle: Soll die durch drücken des Schalters ausgelöst werden oder einfach durch durchlaufen? Dann müsstes du eine TriggerBox verwenden.
Ein Script solltest du fidnen, wenn du mal in einigen Dungeons nach Fallen guckst und dir den Scriptnamen merkst.

Warum das mit einem Bild klappt, aber nicht mit zweien ist mir auch nicht ganz klar.
 
Das soll schon durch betätigen des Schalters ausgelöst werden, sonst hätte ich eine triggerbox genommen, wie bei der ander Falle ^^

Hat sich beides erledigt.

Fehler bei den Bilden: Ich hab ein bild einmal zu oft Kopiert. ^^

Fehler mit dem Schalter: Dank AjAeXx behoben
 
Zuletzt bearbeitet:
Ich hätte auch nochmal eine Frage:
Ihr kennt doch sicher die Quest "Geheimnisse der Ayleïden" (Im CS MS27!). Dabei muss man ja für Umbacano die Ayleid-Krone von Nenalata holen usw. und am Schluss gibt es ja zwei Enden. Entweder man gibt ihm die Nenalata-Krone und er wird zu einem bösen Ayleiden-König oder sowas oder man gibt ihm die Lindai-Krone und er wird geröstet.

Im CS sind das natürlich zwei verschiedene Stages. Nun die Frage: Wie frage ich per Script ab, welches der beiden Enden denn dem jeweiligen Spieler passiert ist? Geht das mit GetStageDone?

/EDIT
Oh noch was: Wie mache ich es, dass etwas nach dem Ablauf von zwei Wochen passiert? Also der Player hat zum Beispiel eine Quest beendet und nach einer ingame-Woche soll eine andere starten? Wie seltze ich das im Script um?
 
Zuletzt bearbeitet:
Das soll schon durch betätigen des Schalters ausgelöst werden, sonst hätte ich eine triggerbox genommen, wie bei der ander Falle ^^

Der Schalter bewegt sich nicht, weil du keinen Animationsbefehl in dem Script hast (Playgroup Forward 1). Zu dem anderen, kann es sein, dass du Schwingklingen benutzt hast, die selber über keinen Script verfügen, der sie aktiviert?

Außerdem könntest du mal das hier versuchen:
Code:
Scn ShadowSchingklingnescript

ref MySelf

Begin onActivate
Set MySelf to GetSelf

If isactionref Player == 1
1Blade.activate MySelf 1
2Blade.activate MySelf 1
3Blade.activate MySelf 1
endif
end
 
  • Like
Reaktionen: Shadow-King
Oh noch was: Wie mache ich es, dass etwas nach dem Ablauf von zwei Wochen passiert? Also der Player hat zum Beispiel eine Quest beendet und nach einer ingame-Woche soll eine andere starten? Wie seltze ich das im Script um?


Probiers mal so:

Du schreibst ein script, unter SCRIPT, nicht bei Result-script, in den beendeten Quest , was wie folgt ausieht:
Code:
Scn ...

short time
float once

Begin gamemod

If Gamedayspassed >= time
setstage dein-neuer-quest-Id (stage wo der quest anfängt)
endif
end

Dann schreibst du, ins result-script von dem Beendeten Quest.
Code:
Set alte-Quest-Id.time to Gamedayspassed +14
set alte-quest-id.once to 100

Hoffe das ist so richtig, ich gebe aber keine Garantie. :-D

mfg
Shadow-King
 
Zuletzt bearbeitet:
Hi Leute!
Wenn man in der Dunklen Bruderschaft(/auch Magiergilde???) Sachen bekommt, dann ist die Verzauberung vom Level des Players abhängig.
Damit man die DB auch mal als erste Gilde durchmachen kann, sollten sich die Gegenstände mit dem Levelanstieg umtauschen (also mit dem nächst besseren).
Gibts sowas schon?
Ich würde es so machen, könnt ihr mir sagen, ob das richtig ist?

Code:
scn xxScript001

Begin GameMode
	if player.GetLevel >= 25 && player.GetLevel <=49
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe2 1
		endif
	endif

	if player.GetLevel >= 50 && player.GetLevel <= 74
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe3 1
		endif
		if player.GetItemCount XXStufe2 >= 1
			player.removeItem XXStufe2 1
			player.addItem XXStufe3 1
		endif
	endif

	if player.GetLevel >=75 && player.GetLevel <=100
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe4 1
		endif
		if player.GetItemCount XXStufe2 >= 1
			player.removeItem XXStufe2 1
			player.addItem XXStufe4 1
		endif
		if player.GetItemCount XXStufe3 >= 1
			player.removeItem XXStufe3 1
			player.addItem XXStufe4 1
		endif
	endif
End
 
Könntet ihr mir vlt. Alle Questbelohnungen (nur Gegenstände) der DB und der MagierG aufzählen???

Ich habe jetzt:::
Klinge des Leids(verzaubert)
Schattenjagd
Leidensdorn

(bis jetzt waren alle level 1 5 10 15 20 25 und 30)
 
Zuletzt bearbeitet von einem Moderator:
danke!
Ich habs jetzt auch schon. naja... mein script funktioniert, aber Obl stürzt jedes 2. Mal (oder auch öfter) ab.
Da man ja aus Fehlern lernen soll (oder?^^) wollte ich mal fragen, ob ihr wisst, warum.

Code:
scn xxScript001

Begin GameMode
	if player.GetLevel >= 5 && player.GetLevel <=9
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe2 1
		endif
	endif

	if player.GetLevel >= 10 && player.GetLevel <= 14
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe3 1
		endif
		if player.GetItemCount XXStufe2 >= 1
			player.removeItem XXStufe2 1
			player.addItem XXStufe3 1
		endif
	endif

	if player.GetLevel >=15 && player.GetLevel <=19
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe4 1
		endif
		if player.GetItemCount XXStufe2 >= 1
			player.removeItem XXStufe2 1
			player.addItem XXStufe4 1
		endif
		if player.GetItemCount XXStufe3 >= 1
			player.removeItem XXStufe3 1
			player.addItem XXStufe4 1
		endif
	endif

	if player.GetLevel >=20 && player.GetLevel <=24
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe5 1
		endif
		if player.GetItemCount XXStufe2 >= 1
			player.removeItem XXStufe2 1
			player.addItem XXStufe5 1
		endif
		if player.GetItemCount XXStufe3 >= 1
			player.removeItem XXStufe3 1
			player.addItem XXStufe5 1
		endif
		if player.GetItemCount XXStufe4 >= 1
			player.removeItem XXStufe4 1
			player.addItem XXStufe5 1
		endif
	endif

	if player.GetLevel >=25 && player.GetLevel <=29
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe6 1
		endif
		if player.GetItemCount XXStufe2 >= 1
			player.removeItem XXStufe2 1
			player.addItem XXStufe6 1
		endif
		if player.GetItemCount XXStufe3 >= 1
			player.removeItem XXStufe3 1
			player.addItem XXStufe6 1
		endif
		if player.GetItemCount XXStufe4 >= 1
			player.removeItem XXStufe4 1
			player.addItem XXStufe6 1
		endif
		if player.GetItemCount XXStufe5 >= 1
			player.removeItem XXStufe5 1
			player.addItem XXStufe6 1
		endif
	endif

	if player.GetLevel >=30
		if player.GetItemCount XXStufe1 >= 1
			player.removeItem XXStufe1 1
			player.addItem XXStufe7 1
		endif
		if player.GetItemCount XXStufe2 >= 1
			player.removeItem XXStufe2 1
			player.addItem XXStufe7 1
		endif
		if player.GetItemCount XXStufe3 >= 1
			player.removeItem XXStufe3 1
			player.addItem XXStufe7 1
		endif
		if player.GetItemCount XXStufe4 >= 1
			player.removeItem XXStufe4 1
			player.addItem XXStufe7 1
		endif
		if player.GetItemCount XXStufe5 >= 1
			player.removeItem XXStufe5 1
			player.addItem XXStufe7 1
		endif
		if player.GetItemCount XXStufe6 >= 1
			player.removeItem XXStufe6 1
			player.addItem XXStufe7 1
		endif
	endif
End

Danke!!!
 
Also Fehler hast Du schon mal keine.
Es könnte allerhöchstens sein, dass das Skript(+andere PIs) Oblivion überlasten und es dann halt abstürzt.
Hast Du es schon mal ohne andere PIs getestet? Dieses Skript dürfte Oblivion eigentlich nicht in die Knie zwingen.
 
Code:
[COLOR="Silver"]scn blubb

short choice
short random
short Percent

Begin OnActivate
MessageBox "Macht euren Einsatz", "1", "2", "3"
end

Begin GameMode
Set choice to GetButtonPressed
If choice == 0
   Set random to 1
   Player.RemoveItem Gold001, Menge
elseif choice == 1
   Set random to 1
   Player.RemoveItem Gold001, Menge
elseif choice == 2
   AddItem ........       ; Je nach Geldmengenmethode verändern.
   Player.RemoveItem Gold001, Menge
endif

If Random == 1
    Set Percent to GetRandomPercent
        If Percent <= 10 && choice == 1
           Set choice to -1
           Set random to 0
           Set Percent to 0
        elseif Percent >= 10 && choice == 1
           AddItem ......
           Set random to 0
           Set Percent to 0
           Set choice to -1
        endif
        If Percent <= 25 && Choice == 0
           Set choice to -1
           Set random to 0
           Set Percent to 0
        elseif Percent >= 26 && choice == 0
           AddItem ........                             ;[/COLOR] [COLOR="Red"][B]Hier musst du ein GoldItem hinzufügen, du wirst dich auf einen Wert festlegen müssen oder einen Wert unter 100 nehmen müssen, GetRandomPercent geht nicht höher. Allerdings könnte man den Wert von GetRandomPercent noch *2 nehmen. Such dir was auch... [/B][/COLOR]
           [COLOR="Silver"]Set choice to -1
           Set random to 0
           Set Percent to 0
         endif
endif
end[/COLOR]

Es geht doch auch GetRandomPercent+GetRandomPercent+GetRandomPercent, oder?
(wäen ja dann maximal 300)
 
Zuletzt bearbeitet von einem Moderator:
Es geht doch auch GetRandomPercent+GetRandomPercent+GetRandomPercent, oder?
(wäen ja dann maximal 300)

wäre natürlich möglich, allerdings wäre dann die wahrscheinlichkeit auf sehr kleine oder sehr große werte geringer, als wenn man GetRandomPercent*3 nehmen würde. 3x hintereinander einen sehr kleinen oder sehr großen wert zu bekommen, ist wohl wesentlich unwahrscheinlicher, als nur 1x ;)
(jedenfalls, wenn einigermaßen vernünftige zufallswerte ausgegeben werden)
 
Hi Leute,
mit welchem Scribt bekomm ich folgendes hin:
Ein Tor öffnet sich, mein Schiff fährt durch auf einen bestimmten Platz und eine Laufplanke erscheint?
Erhoffe schnelle Antwort =)

LG BENON
 
Ich weis zwar nicht wie das mit dem Schiffe fahren geht, aber ich schätze dafür brauchst du OBSE,
der rest müsste dann so gehen.

Du brauchst mehrer Scripts:

1. Du setzt eine Triggerbox vor das Tor, so das es genug zeit hat sich zu öffnen, und schreibst folgendes Script.

Code:
Scn Türöffnertrigger

Begin onTrigger (ref-id-des-schiffes)
Set MySelf to GetSelf

[Ref-Id-des-Tores.unlock]                       ;Wenn das Tor verschlossen ist 
Ref-id-des-Tores.activate MySelf 1
[Ref-Id-des-Tores.lock (lock-lvl)]             ;Wenn es wieder abgeschlossen werden soll

end

Nun setzten wir eine Weitere Triggerbox an die Stelle wo das Schiff anhält (oder kurz davor, wenn die auch wieder disabelt werden soll.),
und die Planke dahin wo sie hin soll (der Planke natürlich eine Ref-Id geben, und einen Haken bein "initaly disable" machen.)
Und schreiben Script Nr.

2.
Code:
Scn Pankentriggerscript

[COLOR="Red"]short doonce [/COLOR] ;wenn du die Planke entfernen möchtest wenn das schiff wieder ablegt. Ansonsten, kannst du alles [COLOR="Red"]Rotes[/COLOR] weglassen.

Begin onTrigger (ref-id-des-schiffes)
[COLOR="Red"]If doonce == 0[/COLOR]
ref-id-der-Planke.enable
[COLOR="Red"]set doonce to 1
endif

If doonce == 1
ref-id-der-Planke.disable
set doonce to 0
endif[/COLOR]
end

Hoffe ich konnte dir Helfen, ich übernehme aber keine Garantie ob das auch so klappt, da du ja noch das mit dem Fahrenden Schiff einbauen musst. :lol:

mfg
Shadow-King
 
Also, die Bewegung des Schiffes, wie soll die Ablaufen? Fährt es gerade? Oder fährt soll es richtig Kurven und so fahren? Soll jemand "am Steuer stehen"?
Bei den letzteren beiden Punkten würde es schwierig. Sollte das Schiff nur gerade fahren, könnte man es soch einrichten, dass sich die einzelnen Teile einfach auf der x- oder y-Achse bewegen. Wenn es Kurven fahren muss/soll, wäre das nicht mehr so "einfach" möglich, weil das Schiff als solches sich nicht dreht.
 
Ich habe mal gehört das jemand so ein Script geschrieben hatt, wo man schiiffe fahren kann, und das er das zu verfügung gestellt hat, ich weis aber nicht mehr wo.
 
Hallo, entschuldigung, dass ich hier einfach so reinschneie. Ich habe mal zwei Fragen:

1. Gibt es einen Befehl, mit dem man prüfen kann, ob ein Schauspieler tot ist(der, den man mit dem Zauber trifft)?

2. Welche Befehle gibt es, um die Aktuelle Lebensenergie/Magicka zu verändern? (Ich habe es mit SetActorValue versucht, aber der Befehl tut nicht, was er sollte. Ich habe dieses Problem schon früher hier reingestellt, es konnte damals jedoch leider nicht geklährt werden. Dess halb wollte ich jetzt mal fragen, ob es alternative Befehle gibt.)

Ich bitte um Verzeihung, dass ich hier nur Fragen aufwerfen und nicht beantworten kann, da ich noch sehr unerfahren mit dem TesCS bin.

Mit freundlichen Grüßen der Kampfmagier
 
Du brauchst dich nicht zu entschuldigen, dafür ist der Thread doch da.

Meinst du mit abfragen ob er Tod, sowas wie: Wenn der tod ist soll das und das passieren?
Wenn ja ist das dein befehl:
Code:
If (Ref-Id-des-Npc).GetDeath == 1