Construction Set Skriptthread zum Construction Set

Da fehlt aber ein Timer drin, kann das sein? ;)

So verschwinden sie nämlich direkt nachdem sie auf dem Boden aufgeschlagen sind. :-D Aber sonst funktioniert das.
 
Ich glaube, ich hab den fehler entdeckt^^

Code:
scn FadeOutSC

float alpha

Begin OnDeath
set alpha to 10
End

Begin Gamemode
if alpha > 0.1
set alpha to (alpha - GetSecondsPassed)
setactoralpha alpha
elseif (alpha <= 0.1) && (alpha => 0)
set alpha to 0
moveto [Marker in Dummyzelle]
endif
End

so dürfte es stimmen. Wobei ich immernoch nicht verstehe, was gegen disable spricht. Mit disable wird das Objekt meines Wissens komplett aus dem Spiel entfernt und dürfte daher auch keine negative Auswirkung mehr auf die performance haben... :huh:
 
Nein, es wird nicht komplett entfernt. Es wird im Prinzip bloß unsichtbar und hat keine Collisionbox mehr. Es wird aber trotzdem immer noch mitberechnet. :roll:
Kannst du ausprobieren, indem du an eine sehr hardwarehungrige Stelle gehst und per Konsole alles disablest, was da rumsteht. Du wirst sehen, dass das an den FPS keinen großen Unterschied macht.

Ich teste jetzt das Skript.
 
Das ist auch vollkommen logisch, aber speichere das Spiel mal ab, starte neu und Lade. Du wirst feststellen, dass die Objekte jetzt auch keinen IEnfluss mehr auf die Performance haben, da jetzt auch die Texturen nicht mehr im Speicher stecken ;)
 
Das bringt mir im Endkampf meiner Mod aber recht wenig. Es sei denn ich baue eine Messagebox rein, die dem Spieler befielt, das Spiel neuzustarten. Oder gibts dafür n Skriptbefehl? :-D
 
Es gibt nur einen Konsolenbefehl (PCB), aber in diesem Sinne hats du natürlich Recht und wenn es nicht immer das gleiche Monster/NPC ist (wie vor den Abwasserkanälen bevor der Kaiser stirbt und Glenroy bzw. Baurus mit den Assasinen beschäftigt sind) schlägt das wirklich ziemlich auf die Performance. :lol:
 
Das Problem dabei ist ja ,das die Actors persistent sind und in den Arbeitsspeicher geladen werden.Durch disablen werden sie nicht wieder rausgelöscht, wie das dann beim nächsten laden ist weiß ich nicht.

Aber im Fall der Arena hier spielt das ja keine Rolle.

Also und was an dem Script falsch war weiß ich jetzt auch^^Ich war ein Narr zu glauben es ginge mit einer Variable :lol:

So muss es sein, da ja sonst jeden Run der Wert gezehntlet wird und beim nächsten mal mit dem gezehntelten Wert weitermacht.

Code:
scn FadeOutSC

float alpha
flaot timer

Begin OnDeath
set timer to 10
set alpha to 10
End

Begin Gamemode

if alpha > 0.1
set timer to (timer - GetSecondsPassed) 
set alpha to (timer/10)
SAA alpha
elseif <= 0.1 && alpha > 0
set alpha to 0
moveto [leereZelle]
endif

End

@ Arcanum Antor : Das war nicht der Fehler. Der alpha Wert braucht ja einen Wert zwischen 0 und 1

:)

Gruß sinHHHans
 
Zuletzt bearbeitet:
Ah okay!
Ich werde das dann morgen mal testen ... ;)

Aber mal was anderes. Mit welcher Condition leitet man im Dialogmenü von einem Quest zum nächsten über?
Ich habe eine Quest erstellt und abgeschlossen und möchte, dass mir dann ein anderer NPC einen weiteren Quest gibt. (ja ich meine Quest, nicht Topic!)
Nur leider funktioniert das nicht ... weder mit "GetStage" noch mit "GetStageDone" oder gar "GetQuestRunning==0".
Ich sehe nur nicht, warum das nicht funktionieren will?! :huh:
GetStage hat questintern immer wunderbar funktioniert und alle anderen Einstellungen habe ich jetzt schon X mal kontrolliert ...
 
Diese Dialoge machen mir auch immer zu schaffen, ich kenn mich auch nicht sehr damit aus. Aber hast du mal " Run on target " angehäkelt ?

Das kann vielleicht funktionieren
 
Ah okay!
Ich werde das dann morgen mal testen ... ;)

Aber mal was anderes. Mit welcher Condition leitet man im Dialogmenü von einem Quest zum nächsten über?
Ich habe eine Quest erstellt und abgeschlossen und möchte, dass mir dann ein anderer NPC einen weiteren Quest gibt. (ja ich meine Quest, nicht Topic!)
Nur leider funktioniert das nicht ... weder mit "GetStage" noch mit "GetStageDone" oder gar "GetQuestRunning==0".
Ich sehe nur nicht, warum das nicht funktionieren will?! :huh:
GetStage hat questintern immer wunderbar funktioniert und alle anderen Einstellungen habe ich jetzt schon X mal kontrolliert ...

du must des bei der topic, bei der du die quest bekommen sollst, als scriptbefehl einfügen
das script würde dann
Code:
setstage namederquest 123456789
must dan nurnoch die richtigen werte einsetzen
das ganze muste dan ins scriptfenster bei der tpic einfügen
und vorher die neue quest erstellen

mfg.overnord
 
ich hab n problem mit ner messagebox
ich möchte nen teleportzauber über ne messageboxmachen

so ähnlich sieht mein script aus
Code:
scn teleportzauber

short button

begin scripteffectstart
messagebox "wohin wollt ihr reisen", "auswahl1", "auswahl2", "auswahl3", "auswahl4"
end

begin gamemode
set button to getbuttonpressed
if button == 0
player.moveto a
elseif button == 1
player.moveto b
elseif button == 2
player.moveto c
elseif button == 3
player.moveto d
endif
end
warum funktioniert das script nicht
 
Zuletzt bearbeitet:
@Overnord:

1.)
Das mit SetStage ist mir schon klar, das funktioniert ja auch soweit. Ich bekomme im Spiel, wenn ich meinen Quest A abgeschlossen habe, auch die Meldung "Quest A abgeschlossen blabla ...".
Das Problem ist nur, dass mich der NPC dann nicht auf Quest B anspricht, was er eigentlich tun sollte. Da habe ich anscheinend irgendein Problem mit den Conditions.

2.)
Jetzt zu deinem Skript! Wo hakt es da denn? Kommt überhaupt die Messagebox oder funktioniert bloß der Teleport nicht? Und brauchst du wirklich begin scripteffectstart? Das gilt imho nur für Magic Effect Scripts. (vielleicht doch eher OnActivate?)
Außerdem muss "begin gamemode" heißen (Leerzeichen!)
 
ich vermute mal, dass die messagebox nciht kommt. das war irgendwo schon mal zur diskussion, dass messageboxen in scripted spells nciht funktionieren.
über umwegen solltes aber trotzdem gehen. mach einfach einen unsichtbaren activator und gib ihm das messagebox-script.
mach dann einfach in den spell:

activatorref.moveto player
activatorref.activate player
 
Hallo Leute ;)

Ich bräuchte kurz bei einer Suche einen Tipp:

Wo ist die (?) Triggerzone welche überall an den Grenzen von Cyrodill aufgestellt ist, sodass wenn man gegen sie läuft die Nachricht kommt "DU KANNST HIER NICHT ENTLANG" und quasi als Kollisionsbox fungiert.

Ist es überhaupt eine Triggerzone? (ich finde an den Grenzen nämlich irgendwie nix) wenn nicht, wie erstelle ich solch eine Triggerzone?

Danke im Vorraus!
 
@Acacyn:
Nein, es ist keine Collisionbox sondern eine Region!
Geh auf World--> Regions --> Tamriel --> CyrodillBorderRegion
Da kannst du dann die Größe der Region verändern, indem du ihre Grenze anders setzt. Ist aber ziemlich mühselig. ;)
 
Aha! Dankes Xaephrim ;)

Und eine Triggerzone als Kollisionsbox (unsichtbare) kann man nicht verwenden oder? Oder sind im CS bereits unsichtbare Kollisionsboxen?
 
THX Alexi! :) Jetzt kommt für heute noch die aller letzte Frage:

Wie scripte Ich das NUR die Waffen des Spielers in einer Kiste landen, wo man sie sich später wiederholen kann? :huh::D