Construction Set Script ausführen, nachdem man bestimmte Rüstungsteile anzieht

P-Froggy

Vertrauter
Hi,

Wie bekommt man es hin, dass ein Befehl eines Skriptes ausgeführt wird, nachdem man z.B. 5 Stahrüstungsteile anhat?

Danke im Vorraus
 
An deiner Stelle würde ich die Frage einfach im Script-Thread posten.
Irgendetwas mit count nehme ich mal wird gebraucht, allerdings weiß ich nicht, ob man den Teilen dafür ne Ref-ID zuweisen muss oder ob das auch ohne geht. Sollen es beliebige Teile sein oder bestimmte?
 
An deiner Stelle würde ich die Frage einfach im Script-Thread posten.
Irgendetwas mit count nehme ich mal wird gebraucht, allerdings weiß ich nicht, ob man den Teilen dafür ne Ref-ID zuweisen muss oder ob das auch ohne geht. Sollen es beliebige Teile sein oder bestimmte?

Es sollen z.B. der Stahlrüstungs-Helm und -Schild sein.
Also bestimmte.

Im Skriptthread habe ich das schon ein paar mal versucht, jedoch wurde ich dort nicht beachtet.
 
Code:
scn MeinScript

short DoOnce

Begin Gamemode
 if ( DoOnce == 0 )
  if ( ( [RefID].GetEquipped [Stahlgegenstand1] + [RefID].GetEquipped [Stahlgegenstand2] + [RefID].GetEquipped [Stahlgegenstand3] + [RefID].GetEquipped [Stahlgegenstand4] + [RefID].GetEquipped [Stahlgegenstand5] + [RefID].GetEquipped [Stahlgegenstand6] + [RefID].GetEquipped [Stahlgegenstand7] ) >= 5 )        ;Die Itemreihe kann natürlich beliebig (bis Zeilengrenze) erweitert werden).
   ;hier kommt dein Befehl hin
   set DoOnce to 1
  endif
 endif
End
 
  • Like
Reaktionen: P-Froggy
Mein Skript sieht so aus: (Sorry, ich konnte den Text mit den Zeilenumbrüchen nicht so hinkriegen wie im CS)

scn MeinScript
short DoOnce

Begin Gamemode
if ( DoOnce == 0 )
if ( ( player.GetEquipped [TownguardAnShield] + player.GetEquipped [TownguardCuirassAn] ) >=2 )

; + player.GetEquipped [Stahlgegenstand3] + player.GetEquipped [Stahlgegenstand4] + player.GetEquipped [Stahlgegenstand5] + player.GetEquipped [Stahlgegenstand6] + player.GetEquipped [Stahlgegenstand7] ) >= 5 )

forceweather rain 1

set DoOnce to 1

endif
endif
End

Jetzt kommt aber immer die Meldung:

Missing Parameter ObjectID

Das ganze ist ein Quest-Skript
 
Du musst die eckigen KLammern entfernen. Also die um die den Schild und den Cuirass.
 
So, bis jetzt funktioniert es. Ich habe das jetzt doch mit den + gemacht.
Wie beendet man das, wenn man mindestens ein Teil auszieht.

Es soll bis jetzt so sein:

Wenn man alle Rüstungsteile anhat, dann kommt man in die "AnvilGuards" Faction. Sollte man jedoch alle angezogen und mindestens eines Ausgezogen haben, soll man wieder aus der Faction rauskommen.
 
Wie das Skript oben, nur nimmst Du diesmal kleiner(<) als eine bestimmte Zahl, bei deinem Beispiel wäre das kleiner 5.
Als Beispiel:
Code:
if ( ( player.GetEquipped [TownguardAnShield] + player.GetEquipped [TownguardCuirassAn] ) < 2 )
   forceweather rain 1
   set DoOnce to 1
endif
 
Ich würde das allerdings nur machen, wenn DoOnce 1 ist, wenn der Effekt also schon hinzugefügt wurde:

Code:
scn MeinScript

short DoOnce

Begin Gamemode
 if ( DoOnce )
  if ( ( [RefID].GetEquipped [Stahlgegenstand1] + [RefID].GetEquipped [Stahlgegenstand2] + [RefID].GetEquipped [Stahlgegenstand3] + [RefID].GetEquipped [Stahlgegenstand4] + [RefID].GetEquipped [Stahlgegenstand5] + [RefID].GetEquipped [Stahlgegenstand6] + [RefID].GetEquipped [Stahlgegenstand7] ) < 5 )        ;Die Itemreihe kann natürlich beliebig (bis Zeilengrenze) erweitert werden).
   ;hier kommt dein Befehl hin, der den Effekt entfernt.
   set DoOnce to 0
 else
  if ( ( [RefID].GetEquipped [Stahlgegenstand1] + [RefID].GetEquipped [Stahlgegenstand2] + [RefID].GetEquipped [Stahlgegenstand3] + [RefID].GetEquipped [Stahlgegenstand4] + [RefID].GetEquipped [Stahlgegenstand5] + [RefID].GetEquipped [Stahlgegenstand6] + [RefID].GetEquipped [Stahlgegenstand7] ) >= 5 )        ;Die Itemreihe kann natürlich beliebig (bis Zeilengrenze) erweitert werden).
   ;hier kommt dein Befehl hin, der den Effekt hinzufügt.
   set DoOnce to 1
  endif
 endif
End
 
Zuletzt bearbeitet:
  • Like
Reaktionen: P-Froggy
Danke für eure Hilfe (ihr habt auch viele Danke's bekommen 😉 )

Die Mod nun draußen und funktioniert soweit.