Construction Set Skriptthread zum Construction Set

Ich denk mal dafür nimmst du einfach die Position des Gegenstands und erzeugst mit "PlaceAtMe" einen neuen an der gleichen Position...
Ungefähr so:
Code:
scn name

short doonce

Begin GameMode
 if doonce == 0
  <Gegenstand1-Ref>.placeAtMe DunStool 1
  <Gegenstand1-Ref>.disable
  set doonce to 1
 endif
end
 
  • Like
Reaktionen: bjoernret
ich möchte einen script der dafür sorgt dass,wenn ich ein besitmtmes amulett ausrüste,ein bestimmter zauber(in diesem fall eine eigenschaft)hinzugefügt wird

ich weiß dass es ein if.....==1 vorkommt,aber mri fehlt der mittelteil ,es ist irgendwas mit equip und danach kommt das "addspell ...."
 
du machst es einfach so
Code:
scn script
short doonce

begin onAdd
if player.getspellcount hierkommtdeinzauberhin == 0 && doonce == 0
set doonce to 1
player.addspell hierkommtdeinzauebrhin
endif
end
 
  • Like
Reaktionen: Silvers
Ich denk mal dafür nimmst du einfach die Position des Gegenstands und erzeugst mit "PlaceAtMe" einen neuen an der gleichen Position...
Ungefähr so:
Code:
scn name

short doonce

Begin GameMode
 if doonce == 0
  <Gegenstand1-Ref>.placeAtMe DunStool 1
  <Gegenstand1-Ref>.disable
  set doonce to 1
 endif
end

Danke, aber führt der placeAtMe-Befehl nicht zu irgendwelchen Problemen (save-Aufblähung, oder so)? Und wie verwende ich jetzt den Befehl GetFirstRef/NextRef? Ich muss ja die verschiedenen Refs der Gegenstände rausbekommen.
 
Da ja alle Objekte im Spiel ersetzt werden sollen, wird dieser Befehl ziemlich häufig angewandt.

Hat jemand noch eine andere Idee, wie ich bestimmte Gegenstände, auch die, welche von Mods eingefügt wurden, ersetzten kann?
 
ich möchte einen script der dafür sorgt dass,wenn ich ein besitmtmes amulett ausrüste,ein bestimmter zauber(in diesem fall eine eigenschaft)hinzugefügt wird

ich weiß dass es ein if.....==1 vorkommt,aber mri fehlt der mittelteil ,es ist irgendwas mit equip und danach kommt das "addspell ...."

du machst es einfach so
Code:
scn script
short doonce

begin onAdd
if player.getspellcount hierkommtdeinzauberhin == 0 && doonce == 0
set doonce to 1
player.addspell hierkommtdeinzauebrhin
endif
end

So nicht!
Da der Zaubereffekt beim Ausrüsten hinzugefügt werden soll, muss man dementsprechend einen "onEquip"-Block benutzen. Also so:
Code:
scn name

short init

Begin onEquip player
 if init == 0
  player.addSpell <Zauber-ID>
  set init to 1
 endif
end

Begin onUnequip player
 if init == 1
  player.removeSpell <Zauber-ID>
  set init to 0
 endif
end

Den "Begin onUnequip"-Block kannst du natürlich auch weglassen. Allerdings würde ich dir raten, den Zauber-Effekt auf das Amulett zu legen. Dann braucht man kein Extra-Skript dafür.
 
Da ja alle Objekte im Spiel ersetzt werden sollen, wird dieser Befehl ziemlich häufig angewandt.

Hat jemand noch eine andere Idee, wie ich bestimmte Gegenstände, auch die, welche von Mods eingefügt wurden, ersetzten kann?

Du könntest die Neuen Objekte in einer leeren Zelle plazieren und dann wenn benötigt dort hin teleportieren. Das Problem ist halt nur, die Anzahl dieser Gegenstände ist extrem begrenzt.

PlaceAtme ist aus gegeben Gründen problematisch, da es halt den Save aufbläht. Desweiteren kannst du auch noch ein Problem haben, wenn du das ganze als Zauber machst und das Ziel keine Activator ist. Dann triggered das ganze nämlich gar nicht...
 
Zuletzt bearbeitet:
  • Like
Reaktionen: bjoernret
Ok, dann werde ich wohl nur die Search & Replace-Funktion vom CS nutzen und Mods nicht mit einbeziehen. :(

Danke an alle, die versucht haben, mir zu helfen. :)
 
Hallo liebe Comunity,

für meine Ravens Assassinen Ausrüstung bräuchte ich ein spezielles Script:

Ich habe Ein Katana, ein Off-Hand Katana (Schild) und ich habe einen Köcher (Sind eigentlich Schwerter^^)

So, folgendes soll das Script bewirken:

Wenn der Player Das Schwert wegsteckt, soll automatisch das Schild auch sich entrüsten (Nicht mehr ausgerüstet sein) und der Köcher (Die Schwert Models) ausgerüstet werden.

Wenn der Spieler nun die Angriffstaste drückt, und er das Schwert ziehen möchte, soll der Köcher am Rücken abgerüstet werden, und das Off-Hand Katana und das normale Katana ausgerüstet werden...

Hoffe ihr habt das verwirrende geschreibsel verstanden...

Einfach ein Autoscript für eine etwas andere Art der Waffenfürung^^

Hier mal ein Screen von den Köcherschwertern^^

Screenshot

So ich hoffe ich hab nichts vergessen. :)

Wäre echt super wenn das hinhauen würde, weil ich feile schon länger an soetwas und habe selber fast keine Ahnung vom scripten^^

Die Namen der Dinge sind noch entscheident:

Schwert: aaaRavenGodai
Off-Hand Katana (Schild): aaaRavenGodaioff
Köcher (Katana Mesches): aaaRavenarrows

mfg
Raven

PS: Wenn noch etwas fehlt an Informationen, dann bitte PN an mich^^
 
Zuletzt bearbeitet:
Du meinst, dass die Schwerter, wenn man sie nicht gezogen hat, halt auf dem Rücken sind?

Also, mir fällt da jetzt keine Lösung ohne OBSE ein.
Falls das kein Problem für dich ist, kannst du es mal mit diesem Script als Questscript probieren:

Code:
scn ...

begin GameMode
  if (player.GetWeaponOut == 0) && (player.GetEquip aaaRavenGodai == 1)
      player.UnequipItem aaaRavenGodai
      player.UnequipItem aaaRavenGodaioff
      player.EquipItem aaaRavenarrows
  endif

  if (player.GetEquip aaaRavenarrows == 1) && (IsKeyPressed 70 == 1)
      player.UneqipItem aaaRavenarrows
      player.EquipItem aaaRavenGodai
      player.EquipItem aaaRavenGodaioff
  endif
end

Die 70 bei IsKeyPressed fragt ab, ob die Taste F gedrückt wird. Sollte jemand eine andere Taste für Waffe ziehen haben, klappt das natürlich nicht.
 
  • Like
Reaktionen: Raven 666
Danke, auf welches Objekt soll ich das Script legen? Oder ist das egal?

mfg
Raven

PS: Aber danke^^

PPS: Ok hab Questscript überlesen :shame:
 
Um rauszufinden welcher Knopf für das Waffenziehen zuständig ist, kannst du einfach GetControl benutzen.

Als Beispiel:
Code:
Set ReadyWeaponKey to GetControl 8
Code:
If IsKeyPressed2 ReadyWeaponKey

Edit: Lol 2 Posts sind in der zwischenzeit erschienen -.-
 
Wieso machst du das nicht einfach mit einem "onEquip"-Skript, das du auf die Waffe legst:
Code:
scn name

Begin onEquip player
 player.EquipItem aaaRavenGodaioff 1
 player.UnequipItem aaaRavenarrows 1
end

Begin onUnequip player
 player.UnequipItem aaaRavenGodaioff 1
 player.EquipItem aaaRavenarrows 1
end
 
  • Like
Reaktionen: Raven 666
Das hilft dir aus einem Grund nicht weiter:
Das bewirkt genau das gleiche, wie meine Lösung^^ Das passiert nur, wenn man die Waffe manuell an- oder abrüstet, aber nicht automatisch, wenn man das Schwert einsteckt.