Construction Set Skriptthread zum Construction Set

Probier's mal hiermit:

Code:
scn LeatherSetEffectScript

ref Posessor

Begin OnEquip
 set Posessor to [URL=http://cs.elderscrolls.com/constwiki/index.php/GetContainer]GetContainer[/URL]
 if ( Player.GetEquipped LeatherBoots ) && ( Player.GetEquipped LeatherCuirass ) && ( Player.GetEquipped LeatherGauntlets ) && ( Player.GetEquipped LeatherGreaves ); && ( GetBaseObject == LeatherHelmet )
  Posessor.AddSpell StandardDetectLife4Expert
 elseif ( Player.GetEquipped LeatherBoots ) && ( Player.GetEquipped LeatherCuirass ) && ( Player.GetEquipped LeatherGauntlets ) && ( Player.GetEquipped LeatherHelmet ); && ( GetBaseObject == LeatherGreaves )
  Posessor.AddSpell StandardDetectLife4Expert
 elseif ( Player.GetEquipped LeatherBoots ) && ( Player.GetEquipped LeatherCuirass ) && ( Player.GetEquipped LeatherGreaves ) && ( Player.GetEquipped LeatherHelmet ); && ( GetBaseObject == LeatherGauntlets )
  Posessor.AddSpell StandardDetectLife4Expert
 elseif ( Player.GetEquipped LeatherBoots ) && ( Player.GetEquipped LeatherGauntlets ) && ( Player.GetEquipped LeatherGreaves ) && ( Player.GetEquipped LeatherHelmet ); && ( GetBaseObject == LeatherCuirass
  Posessor.AddSpell StandardDetectLife4Expert
 elseif ( Player.GetEquipped LeatherCuirass ) && ( Player.GetEquipped LeatherGauntlets ) && ( Player.GetEquipped LeatherGreaves ) && ( Player.GetEquipped LeatherHelmet ); && ( GetBaseObject == LeatherBoots )
  Posessor.AddSpell StandardDetectLife4Expert
 endif
End

Begin OnUnequip
 set Posessor to GetContainer
 if Posessor.[URL=http://cs.elderscrolls.com/constwiki/index.php/IsSpellTarget]IsSpellTarget[/URL]
  Posessor.RemoveSpell StandardDetectLife4Expert
 endif
End
Skript muss auf alle betroffenen Rüstungsteile.


Falls du OBSE verwendest würde ich den auskommentierten Befehl auch noch dazunehmen.
Ich würde dir außerdem empfehlen einen Nicht-Vanilla-Spruch zu verwenden, das verhinder unnötige Inkompatibilitäten. Dazu einfach die ID des Spruchs verändern und die Frage mit ja/yes beantworten und schwupps hast du eine Kopie des Originalspruchs.


Edit:
[...]
Wenn ich nichts ausgelassen habe, sollte das so stimmen.

MfG Gildur
Du hast vergessen, die Eigenschaft wieder zu entfernen, falls der Spieler eines/mehrere Teile ablegt. ;)
 
  • Like
Reaktionen: Markurion
Hi Leute,

ich suche einen Befehl, wie man einem NPC sagen kann, dass er über PathFinding zu einem Marker geht- wie heißt der?

MfG Jauffre
 
Hi Jauffre,

Dafür braucht man keinen Script und ich bezweifle auch, dass es dafür einen gibt. Du musst einfach nur die Pathgrids so "legen", dass die eben bis zu dem Marker hin reichen. Falls es jedoch trotzdem nicht fukntioniert, kannst du ja etwas ausprobieren, was ich selber noch nie gemacht habe:
Du markierst den Pathgrid, der in der Nähe bzw. fast an der Position des Markers liegt. Dann drückst du R und es öfnet sich ein Fenster. Dort kannst du auf "Select Reference in Render Window" anklicken und dann wählst du den Marker aus.
Jedoch denke ich, dass das nicht nötig ist. Ein paar gut gesetzte und verbundene Pathgrids sollten dem eigentlich schon zur genüge tun ;)

MfG Gildur
 
  • Like
Reaktionen: robinH und Jauffre
hi, ich suche ein teleport script:
Durch eine Schriftrolle wird man zu einem Marker teleportiert, die wo ich ausprobiert hab, ham nich gefunzt:roll:
 
Teleport-Skript, ich empfehle auf jeden Fall(!) GSI zu verwenden.

Beim öffnen der Schriftrolle teleport zu einem Marker?
bei jedem NPC oder nur beim Spieler?
Code:
scn Teleportschriftrolle

ref Target

Begin OnActivate
 set Target to GetActionRef
 if ( GSITeleport == 1 )
  Target.moveto [ID deines Markers]
 elseif ( GSITeleport == 2 )
  if ( Target.GetInSameCell [ID deines Markers] )
   Target.moveto [ID deines Markers]
  endif
 endif
 Activate
End

Begin OnEquip
 set Target to GetContainer
 if ( GSITeleport == 1 )
  Target.moveto [ID deines Markers]
 elseif ( GSITeleport == 2 )
  if ( Target.GetInSameCell [ID deines Markers] )
   Target.moveto [ID deines Markers]
  endif
 endif
End
 
Zuletzt bearbeitet:
geht das auch ohne GSI? Ich mach ne TC:-D
ganz simpel, Spieler nimmt Rolle, und dann Zaubern, schwups auf dem Marker
 
Ich habe (mal wieder) ein Problem, das Script kalppt nicht:
Es tritt zwar keine Fehlermeldung auf, aber im Spiel ist keine Musik zu hören.

Code:
scn DarksweihnachtenMusicscript

short active

Begin Gamemode
If (player.getinworldspace Darksweihnachtenworldspace == 1) && (active == 0)
Streammusic random
set active to 1
elseif (player.getinworldspace Darksweihnachtenworldspace) && (active == 1)
Streammusic "Weihnacht"
set active to 2
elseif (active != 0) && (player.getinworldspace  Darksweihnachtenworldspace == 0)
Streammusic random
set active to 0
endif

Es ist übriegens wie man vielleicht schon eraten kann, für den Adventskalender.
 
Probier es am besten mal mit streammusic "Weihnacht.mp3", wenn es im Oblivion Verzeichnis direkt liegt, ansonsten müsstest du auch den Pfad ab "\data\" angeben (also zB: streammusic "\data\music\Weihnacht.mp3")
 
geht das auch ohne GSI? Ich mach ne TC:-D
ganz simpel, Spieler nimmt Rolle, und dann Zaubern, schwups auf dem Marker

Dann lässt du einfach die Zeile mit GSITeleport weg:

Code:
scn Teleportschriftrolle

ref Target

Begin OnActivate
 set Target to GetActionRef
 Target.moveto [ID deines Markers]
 Activate
End

Begin OnEquip
 set Target to GetContainer
 Target.moveto [ID deines Markers]
End
 
  • Like
Reaktionen: bauer
Probier es am besten mal mit streammusic "Weihnacht.mp3", wenn es im Oblivion Verzeichnis direkt liegt, ansonsten müsstest du auch den Pfad ab "\data\" angeben (also zB: streammusic "\data\music\Weihnacht.mp3")

Der Ordner heißt "Weihnacht", darin befindet sich das Musikstück "Jingle_Bells".
Soll ich das Musikstück nun umbenennen in "Jingle_Bells.mp3",
oder nur im Script so schreiben, also "data\Music\Weihnacht\Jingle_bells.mp3"?
 
Ich habe eine Frage: Ich habe jetzt die Bank selcst fertig, aber wie kann ich den Angestellten per PathFinding in den Keller schicken, wenn eine Tür im Weg ist, sperrt er selbst auf, wenn er den Schlüssel hat?
 
Dann lässt du einfach die Zeile mit GSITeleport weg:

Code:
scn Teleportschriftrolle

ref Target

Begin OnActivate
 set Target to GetActionRef
 Target.moveto [ID deines Markers]
 Activate
End

Begin OnEquip
 set Target to GetContainer
 Target.moveto [ID deines Markers]
End


Was genau muss in den ID rein? Ich hab den Namen eingeben und dann die Zahl, ungefähr so: MarkerTeleport 00000012B8
 
Wenn du auf den Marker doppelklickst kommt ja das erste Fenster. Und ganz oben steht ja ReferenceEditor ID. Du gibst dann einfach z.B. xyz als ReferenceEditorId ein.
Code:
 scn Teleportschriftrolle

ref Target

Begin OnActivate
 set Target to GetActionRef
 Target.moveto [B]xyz[/B]
 Activate
End

Begin OnEquip
 set Target to GetContainer
 Target.moveto [B]xyz[/B]
End
 
  • Like
Reaktionen: bauer
danke, habs auf eine teleport Rolle getan, passiert aber nix, besser gesagt, ich kann die nur lesen (nichts).
muss ich einen neuen Zauber machen?
 
Wenn du es auf eine Rolle getan hast, müsste es so klappen. Nein, es MUSS klappen. Überprüf noch mal, ob der Script wirklcih drauf liegt, die Referenz stimmt und dass ein Häckchen bei "Persistence Reference" ist (eigentlich hätte er dann eine Fehlermeldung ausspucken müssen). Aber der Script selber ist einwandfrei.
 
  • Like
Reaktionen: robinH