Construction Set Skriptthread zum Construction Set

muss die sache mit dem timer überhaupt sein? hier wurde doch schon erwähnt, daß die scriptausführung angehalten wird, solange das video läuft, also würde das script doch automatisch am ende des videos mit dem nächsten befehl weiter machen.
und wenn das video abgebrochen wird, ohne daß es komplett durchläuft? dann kommt das mit dem timer erst recht nicht mehr hin ;)

daß das konvertieren eines videos recht lange dauert, ist normal, da gibts nunmal ne ganze menge zu berechnen. wobei 1 stunde für ein 17 sekunden-schnipsel doch schon ziemlich arg ist, ich hätte eher so auf max. 5-10 minuten, je nach rechnergeschwindigkeit getippt.
 
Hallo.

Entschuldigung, wenn mich aus irgendeinem Grund in irgendeiner Form unbeliebt mache, weil ich das hier schreibe. Man sagte mir, ich solle mich mit menen Fragen an diesen Thread wenden.
Ich versuche einen Perfekten Heilzauber zu machen, der einen vollständig heilt und seinen Magickaverbrauch nach der Menge der geheilten HP richtet(Berechnung der Kosten wie bei normalen Heilzaubern). Wenn man nicht genügend Magicka dazu hat, heilt er soviel, wie man mit der derzeitigen Magicka mit einem normalen Heilzauber schaffen würde. Es funktioniert aber nicht und desshalb wollte ich fragen, ob Get(Base)ActorValue Health die (max.) Lebensenergie ist und ob man in Scripts mit Potenzen rechnen kann.
 
Also, für Prozente brauchst du soweit ich weiß OBSE, oder du schaust dir mal in Deadly, die Scripts an, obwohl das auch auf OBSE basiert.

Syntax:

[ActorID.]GetBaseActorValue StatName
[ActorID.]GetBaseAV StatName
Example:

GetBaseActorValue Health
Returns the base value of the specified stat. To see the current, modified value, use GetActorValue.
Das gibt den Health wert aus, allerdings ohne die Menge, die durch Ausrüstung oder Zauber hinzugefügt wird.

Syntax:

[ActorID.]GetActorValue StatName
[ActorID.]GetAV StatName
Example:

GetActorValue Strength
Returns the current, modified value of the specified stat. GetActorValue can use any stat available to the player or actor (NPCs and creatures).

Gibt den modifizierten Wert aus.

mfg

Edit: Nein, du machst dich nicht unbeliebt ;)
 
so jetzt sieht der script so aus:

scn aussicht

short once
float timer

Begin OnActivate Player
If once == 0
PlayBink "aussicht.bik"
Set timer to 18
Set once to 1
Activate
endif
end

Begin GameMode
If timer > 0 && once == 1
Set timer to timer - GetSecondsPassed

elseif timer <= 0 && once == 1
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
endif
end

jedoch startet das video nun wenn ich mich setze, aber die messagebox startet erst wenn ich wieder aufstehe und kommt unentlich mal!
 
elseif timer <= 0 && once == 1
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
endif
end

du musst in diesem block noch "set once to 10" einfügen

Code:
elseif timer <= 0 && once == 1
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
set once to 10
endif
end


was das andere problem betrifft...
Code:
scn aussicht

Begin OnActivate Player
If once == 0
PlayBink "aussicht.bik"
Activate
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
set once to 1
endif
end
probier mal ob das so geht
 
Danke für deine Antwort.
Allerdings hatte ich nicht Prozente, sondern Potenzen gerschrieben.
Ich meinte Rechnungen wie 2³ oder 7². ;)

direkt mit potenzen kannst du wohl nur mit obse rechnen, allerdings könntest du das ganze auch mit ein wenig aufwand über eine schleife realisieren (nur bei sehr hohen potenzen könnte das unpraktisch werden, aber sowas wie 5 hoch 7 sollte noch absolut kein problem sein).

als beispiel:

if schleife < potenz
set ergebnis to ergebnis * zahl
set schleife to schleife +1
endif

ich weiß allerdings nicht, wie praktikabel das ist, das script muss ja so lange/oft durchlaufen, bis das ergebnis fertig berechnet ist. das heißt, du müsstest das in einem eigenen script machen, oder den rest des scripts irgendwie solange pausieren.
 
muss das also so aussehen?
scn aussicht

Begin OnActivate Player
If once == 0
PlayBink "aussicht.bik"
Activate
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
set once to 1
endif
end

elseif timer <= 0 && once == 1
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
set once to 10
endif
end
 
so?..........?
scn aussicht

short once
float timer

Begin OnActivate Player
If once == 0
PlayBink "aussicht.bik"
Set timer to 18
Set once to 1
Activate
endif
end

Begin GameMode
If timer > 0 && once == 1
Set timer to timer - GetSecondsPassed

elseif timer <= 0 && once == 1
MessageBox ""Von hier oben kannst du ganz Tamriel sehen"
Set once to 10
endif
end
 
jo genau das war das script welches ajaexx vorgeschlagen hat.

aber da du ja meintest, dass die messagebox erst nachm aufstehen kommt war mein vorschlag halt folgender
Code:
scn aussicht

short once

Begin OnActivate Player
If once == 0
PlayBink "aussicht.bik"
Activate
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
set once to 1
endif
end

aber du kannst jetzt ja erstmal schaun obs nun geht und dann meine variante ausprobieren (wenn di überhaupt geht^^)
 
direkt mit potenzen kannst du wohl nur mit obse rechnen, allerdings könntest du das ganze auch mit ein wenig aufwand über eine schleife realisieren (nur bei sehr hohen potenzen könnte das unpraktisch werden, aber sowas wie 5 hoch 7 sollte noch absolut kein problem sein).

Also das Problem ist, dass der Magieverbrauch für normale Heilzauber mit der Anzahl der geheilten Punkte hoch 1,3 berechnet wird. Außerdem muss es, wenn man nicht genügend Magicka hat, ja umgekehrt berechnet werden, also die 1,3te Wurzel der Zahl, und dafür habe ich schon eine relativ aufwändige Rechnung geschrieben, in der immer wieder ^1.3 vorkommt.
Ich kenne mich mit OBSE nicht aus. Ginge das damit und was müsste ich dann machen, um das mit OBSE berechnen zu lassen?
 
1. Sorry hab mich verlesen und konnte das ganze nicht mehr korrigieren, weil meine Tastatur ein Bad in Kaffee vorzug....

2. Mach doch einfach eine direkte Umwandlung von Magie zu Leben also 1:1 das würde dir den ganzen Script erleichtern, und den benutzern nacher, die kalkulierung der Menge Leben die sie erhalten.
 
Ich will ja gerade einen Heilzauber, der genau so viel kostet wie man braucht.
Wenn er nicht die richtige Menge kostet bringt es ja nichts...
 
Ich kenne mich mit OBSE nicht aus. Ginge das damit und was müsste ich dann machen, um das mit OBSE berechnen zu lassen?
du müsstest dein cs mit obse-unterstützung starten (eine verknüpfung zur obse_loader.exe erstellen, und am ende dann noch " -editor" anhängen), dann kannst du unter anderem auch diese mathematischen funktionen benutzen (der anwender ders plugins braucht dann aber natürlich auch obse).
 
Zuletzt bearbeitet:
du müsstest dein cs mit obse-unterstützung starten (eine verknüpfung zur obse_loader.exe erstellen, und am ende dann noch " -editor" anhängen), dann kannst du unter anderem auch diese mathematischen funktionen benutzen (der anwender ders plugins braucht dann aber natürlich auch obse).

Entschuldigung, das mit der Verknüpfung hab ich jetzt nicht ganz verstanden. Kannst du mir das nochmal ausfürlicher erklähren?
Entschuldigung für die Unannehmlichkeiten, ich hoffe, dass ich dich/euch nicht nochmal belästigen muss.
 
Entschuldigung, das mit der Verknüpfung hab ich jetzt nicht ganz verstanden. Kannst du mir das nochmal ausfürlicher erklähren?
Entschuldigung für die Unannehmlichkeiten, ich hoffe, dass ich dich/euch nicht nochmal belästigen muss.
wenn du OBSE korrekt installiert/entpackt hast, hast du ja in deinem oblivion-verzeichnis neben der oblivion.exe auch eine datei namens obse_loader.exe. um oblivion dann mit der OBSE-unterstützung zu starten, musst du ja statt der oblivion.exe die obse_loader.exe starten.

oblivion normal: . . . . . . . . . . . . . . . . . . . . . . . . . . . oblivion mit obse:
damit du auch im cs die obse-unterstützung erhältst, musst du das ebenfalls über den obse_launcher starten:
construction set normal: . . . . . . . . . . . . . . . . . . . . . construction set mit obse:
falls dein ordnername leerzeichen enthält, wird das ganze in anführungszeichen sein, die musst du beibehalten, so daß das ziel dann etwa so aussieht:

"C:\Programme\Bethesda Softworks\Oblivion\obse_loader.exe" -editor
 
Du musst den Script:

1. Mit dem OBSE Editor schreiben ( Cs mit OBSE starten )
2. Oblivion auch mit OBSE starten nichts weiter.