Also zuerst mal müssen die Variablen afaik vor das begin gamemode.
2. muss da noch eine if-Abfrage rein, denn momentan wird dein Skript in jedem frame ausgeführt, womit pro frame 1 Dietrich der Truhe hinzugefügt wird. Außerdem: was nützen dir die Variablen, wenn du sie weder veränderst, noch irgentwo abfragst?
3. würde ich das ganze als Questskript (einer unsichtbaren Quest) machen, da es bei deiner Lösung (Skript auf Truhe) nur arbeiten würde, wenn der Spieler in der Nähe der Truhe ist. Nachteil ist halt, dass dann die ganze Zeit im Hintergrund ein Skript läuft, was evtl. die Performance belastet.
Probier mal dieses Skript:
Da jetzt in deiner Truhe soviele "Mein Item"s liegen würden wie Tage vergangen sind würde ich deiner Truhe noch folgendes Skript hinzufügen:
Zusätzlich musst du noch jeder if-Abfrage im obigen Skript noch folgendes anhängen (Code kopieren; Achtung: Leerzeichen am Anfang):
&& ( MeineTruheScript.discovered == 1 )
scn MeineTruhenAuffüllScript
short olddayVAR
short dayVAR
short done
begin gamemode
if ( done == 0 ) && ( MeineTruheScript.discovered == 1 )
set olddayVAR to getdayspassed
set dayVAR to getdayspassed
;ich bin mir jetzt aber nicht sicher, ob es diese Funktion gibt und das CS-Wiki ist momentan leider down
set done to 1
if ( done == 1 ) %% ( dayVAR == olddayVAR ) && ( MeineTruheScript.discovered == 1 )
;kann man das so abfragen?
set dayVAR to getdayspassed
set done to 2
if ( done == 2 ) && ( dayVAR > olddayVAR ) && ( MeineTruheScript.discovered == 1 )
;kann man das so abfragen?
meineTruhe.additem MeinItem 1
set done to 1
set olddayVAR to getdayspassed
endif
end
Da ich jetzt aber selbst nicht so der große Skripter bin gebe ich keine Garantie darauf, das alles funktioniert (Wie in den Kommentaren gesagt: ich bin mir nicht sicher, dass es alle Befehle gibt, die ich verwende, noch, dass alle if-Abfragen funktionieren). Mach eine Sicherheitskopie deiner *.esp und dann einfach aufprobieren. Mehr als schiefgehen kann's eigentlich nicht. Obwohl, bei Oblivion weiß man eigentlich nie...
...
Wow , die Welt des Scriptings ist ja wahnsinnig kompliziert!
Leider erkennte das CS den befehl discovered nicht an.
EDIT : Vielleicht könnte man einen andere Befehl machen , zb ob der Spieler einen bestimmten Hebel umgelegt hat oder ob der die Truhe schonmal aktiviert hat?