Construction Set Script für Waffe

Condorcanqui

Neuankömmling
Hallo,

wisst ihr wie ich ein Script für eine Waffe erstellen kann, dass sie nur von guten Charakteren mit relativ hohem Level aufgehoben werden können?
Bin leider ein Versager im Script Erstellen 😀
 
Sicher ist das möglich.
Du kannst per Script abfragen, wie hoch Infamie etc sind bzw einstellen, dass ab einem bestimmten Wert das Schwert nicht genommen werden kann.
Befehle dafür wären z.B.:
GetPCInfamy
GetPCFame
GetLevel

Fertigkeiten kannst du natürlich auch abfragen.
GetActorValue

Bei "Stats List" findest du alle Fertigkeiten aufgelistet.

Wenn du mit den Befehlen eine If-Abfrage erstellst, ist das kein Problem.
 
  • Like
Reaktionen: Condorcanqui
Ja, aber ich schreibe es für dich gerne auch mal auf:
Wenn du die Oblivion.esm geladen hast, dann klickst du auf den Reiter "Gameplay"->"Edit Script".
Dort klickst du auf "Neues Skript erstellen" (oder so ähnlich) und dann schreibst du es.
Du müsstest aber noch oben rechts einstellen für was das Skript sein soll (Objekt, Zauber, etc.).
Dann klickst du auf Save und ordnest das Skript dem Gegenstand (oder what ever) zu.
Fertig.^^

Bis kurz vor gestern, Derd

Edit: Ach ja: Willkommen m Forum!!^^
 
  • Like
Reaktionen: Condorcanqui
Also, um dir nen Rohbau zu liefern, müsstest du mal die Dinge nennen, die Vorraussetzung sind. Ich schreibs mal beispielhaft mit Infamie, Ruhm und Level des Spielers.


Code:
Scriptname [DenkDirWasAus]

begin OnActivate player
if ( GetPCInfamy >= 1 ) || ( GetPCFame <= 40 ) || ( player.GetLevel <= 20 )
messagebox "Ihr seid nicht würdig genug, um diese Waffe zu tragen!"
else
activate
endif
end

So würde das ganze bedeutetn, dass wenn Infamie größer gleich 1 oder Ruhm kleiner gleich 40 oder das Level kleiner gleich 20 ist, der Spieler das Schwert nicht nehmen kann (es kommt halt die messagebox).
 
  • Like
Reaktionen: Condorcanqui
Scriptname [...]

begin OnActivate player
if ( GetPCInfamy >= 1 ) || ( player.GetLevel < 15 )
messagebox "Ihr seid nicht würdig genug, um diese Waffe zu tragen!"
else
activate
endif
end

Also müsste es dann so aussehen, wenn der Charakter min. Level 15 haben und von Infamie frei sein soll, oder?



:good: VIELEN DANK! Das hab ich gesucht
 
Scriptname [...]

begin OnActivate player
if ( GetPCInfamy >= 1 ) || ( player.GetLevel < 15 )
messagebox "Ihr seid nicht würdig genug, um diese Waffe zu tragen!"
else
activate
endif
end

Also müsste es dann so aussehen, wenn der Charakter min. Level 15 haben und von Infamie frei sein soll, oder?



:good: VIELEN DANK! Das hab ich gesucht


Nein nicht ganz, wenn er mindestens Level 15 haben muss, muss es so aussehen:

Code:
if ( GetPCInfamy >= 1 ) || ( player.GetLevel [COLOR="Red"]>=[/COLOR] 15 )
 
Nein nicht ganz, wenn er mindestens Level 15 haben muss, muss es so aussehen:

Code:
if ( GetPCInfamy >= 1 ) || ( player.GetLevel [COLOR="Red"]>=[/COLOR] 15 )

Stimmt schon so wie er's geschrieben hat. Die Abfrage zielt auf die Fälle ab, wo das Schwert nicht aktiviert werden kann, also ist < hier die richtige Wahl.


Wenn man das Activate direkt nach das If packen will und nicht nach das else müsste das btw. so aussehen:
Code:
if ( GetPCInfamy [COLOR="Red"]== 0[/COLOR] ) || ( player.GetLevel >= 15 )
 Activate
else
 MessageBox "N00b!"
endif
 
  • Like
Reaktionen: Condorcanqui