PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lebens- und manakristall



thefuture2
28.06.2006, 14:48
hi,

genau sowas würde ich gerne machen, mit stärke geht es in einem pi bereits, hier das script:


short GotKristall

Begin OnAdd Player

if GotKristall == 0
player.ModActorValue encumbrance -2000
set GotKristall to 1
endif

End


Begin OnDrop Player

if GotKristall == 1
player.ModActorValue encumbrance 2000
set GotKristall to 0
endif

end

wie muss ich es umschreiben damit es für magicka und lebenspunkte funtkioniert?

schneida
28.06.2006, 15:24
ich glaub wenn du statt encumbrance health schreibst würde es für die Lebenspunkte funktionieren!

edit: Falsch, das funts net!

thefuture2
28.06.2006, 16:32
ich glaub wenn du statt encumbrance health schreibst würde es für die Lebenspunkte funktionieren!

wo kann man die befehle wie encumbrance herausfinden die es noch gibt?

schneida
29.06.2006, 09:07
naja ich glaub das sind einfach Variablen im CS. Also irgendwo gibts da sowas wie Global Variablen. Dort müsste sowas stehen.

edit: hab mich getäuscht, dort findet man es nicht, aber villeicht hilft dass

http://cs.elderscrolls.com/constwiki/index.php/Stats_List

thefuture2
29.06.2006, 19:51
habe es getestet indem ich health eintrug, im cs speichert er es korrekt ab. sobald ich jedoch im game den krystall aufnehmen lande ich auch dem desktop. :( ohne fehlermeldung. :(

Felan
29.06.2006, 20:13
hast du noch immer -2000 in der 6. Zeile stehen? Ich glaube nicht dass das funktionieren würde. Meiner Meinung nach sollte da wenigstens ein positiver wert rein. (Kann natürlich auch sein dass ich das Script nicht verstanden habe)

Gorkon
29.06.2006, 23:25
Bei Belastung paßt das wohl. Wenn der Stein aber 2000 Health abzieht, würde das sehr interessant werden. ^.^

thefuture2
30.06.2006, 14:36
Bei Belastung paßt das wohl. Wenn der Stein aber 2000 Health abzieht, würde das sehr interessant werden. ^.^

ich hab das script so gelassen. ich dachte das script besagt: wenn man den krystall nimmt 2000 punkte hinzu und umgekehrt wenn man ihn ablegt. deswegen dachte ich muss das mit health auch gehen.

sonst könnte man ja unendlich health dadurch produzieren, stien nehmen, ablegen nehmen usw. oder irre ich mich?

Felan
30.06.2006, 15:27
Das Script besagt:

Wenn man den Stein anlegt nimmt es 2000 Belastung weg und wenn man ihn wieder ablegt fügt es 2000 Belastung hinzu.

Also musst du die -2000 durch einen beliebigen positiven Wert ersetzen und die 2000 durch den gleichen Wert im negativen Bereich

thefuture2
02.07.2006, 21:13
Das Script besagt:

Wenn man den Stein anlegt nimmt es 2000 Belastung weg und wenn man ihn wieder ablegt fügt es 2000 Belastung hinzu.

Also musst du die -2000 durch einen beliebigen positiven Wert ersetzen und die 2000 durch den gleichen Wert im negativen Bereich

danke dir. muss ich mal testen. ;)

geht, aber noch nich perfekt:

es sieht dann so aus: 2088/88 dadurch wird die energie nicht regeneriert beim rasten. nur durch tränke und zauber. :(
und man sieht seinen gesamtwert nemmer. gibt es ne möglichkeit das es so ist: 2088/2088?

Felan
02.07.2006, 23:09
So könnte es gehen denke ich :)


short GotKristall

Begin OnAdd Player

if GotKristall == 0
player.ModActorValue health 2000
player.GetBaseActorValue health
set GotKristall to 1
endif

End


Begin OnDrop Player

if GotKristall == 1
player.ModActorValue health -2000
player.GetBaseActorValue health
set GotKristall to 0
endif

end


//edit:

Das sollte man so aber nur benutzen wenn man volle Lebensenergie hat. Angenommen man nimmt den Stein wieder ab und hat in diesem Moment noch 2001 Lebenspunkte, dann hat man nach dem Abnehmen nurnoch einen maximalen Lebenspunkt.

Vielleicht wäre es besser wenn man "GetBaseActorValue Health" vor die Zeilen mit dem "player.ModActorValue health " schreibt. Dann wird man zwar beim anlegen und abnehmen immer voll geheilt, es besteht aber dann nichtmehr die Möglichkeit dass man einige seiner Maximalen Lebenspunkte verliert.

thefuture2
03.07.2006, 20:49
So könnte es gehen denke ich :)


short GotKristall

Begin OnAdd Player

if GotKristall == 0
player.ModActorValue health 2000
player.GetBaseActorValue health
set GotKristall to 1
endif

End


Begin OnDrop Player

if GotKristall == 1
player.ModActorValue health -2000
player.GetBaseActorValue health
set GotKristall to 0
endif

end


//edit:

Das sollte man so aber nur benutzen wenn man volle Lebensenergie hat. Angenommen man nimmt den Stein wieder ab und hat in diesem Moment noch 2001 Lebenspunkte, dann hat man nach dem Abnehmen nurnoch einen maximalen Lebenspunkt.

Vielleicht wäre es besser wenn man "GetBaseActorValue Health" vor die Zeilen mit dem "player.ModActorValue health " schreibt. Dann wird man zwar beim anlegen und abnehmen immer voll geheilt, es besteht aber dann nichtmehr die Möglichkeit dass man einige seiner Maximalen Lebenspunkte verliert.

leider ändert sich nix an der anzeige mit 2088/88. :(
hab dein erstes script getestet. ;)

Felan
03.07.2006, 21:26
Es funktioniert nicht? Bei mir hats noch funktioniert. Zumindest der Teil ohne die Verbesserung. Ich werds nochmal testen

//edit: Stimmt, es funktioniert nicht. Aber wie komme ich auf "GetBaseActorValue Health"? Ich glaube nicht dass ich das schreiben wollte :D

Trotzdem kann ich mir nicht vorstellen dass das der Fehler ist :confused:

//edit2: Ich glaube ich hab mein schönes Script wieder kaputtgemacht. Keine Ahnung was ich daran geändert hab dass es nichtmehr funktioniert. :(
Auf jeden Fall geht keine der Versionen die hier stehen

//edit3: So langsam glaube ich dass das so überhaupt nicht geht. Ich hab wirklich gedacht dass es bei mir funktioniert hätte, aber das könnte auch an Übermüdung gelegen haben.

Alternativlösung:
Wie wärs wenn du einfach unter Magic/Spell ne neue Eigenschaft erstellst, die "Lebensenergie festigen" um z.B. 2000 Punkte macht. Die könnte man dann mit "player.addspell (SpellID)" auslösen. Weiß aber nicht obs so funktioniert.