Lass' erstmal die limbs-Geschichte außen vor und benutz' nur die Mod von JoshNZ.
Verschiebe dort die Player.RestoreActorValue-Zeile wie folgt:
Code:
Begin GameMode
If OncePer == 1
Set OncePer to 0
Player.RestoreActorValue Health ResultHP
Endif
End
Das wäre praktisch äquivalent zum ziher-script.
Am Anfang eines GameMode frames wirkt sich das automatisierte healing auf Health aus
und das wird dann von Player.RestoreActorValue überschrieben.
Das ist die Idee; testen musst du es selber...
MfG...
edit: hmm, das schien nicht zu funzen; hatte schon seinen Grund, weshalb ziher player.damageav
verwendete.
Hier das leicht geänderte Script von JoshNZ:
Code:
scn aaSleepHealth
Float FullHP
Float CurrentHP
Float Diff
Float HPPerHour
Float ResultHP
Float SleepTime
Int OncePer
Begin MenuMode
If GetPCSleepHours != 0
if OncePer==0
Set SleepTime to GetPCSleepHours
if SleepTime > 8
Set SleepTime to 8
endif
;ShowMessage AprilMartimerDead
set fullHP to player.GetBaseActorValue Health
set CurrentHP to player.GetActorValue Health
Set Diff to fullHP - CurrentHP
Set HPPerHour to (Diff / 8)
Set ResultHP to (fullHP - HPPerHour * SleepTime)
Set OncePer to 1
Endif
Endif
End
Begin GameMode
If OncePer==1
player.damageav health ResultHP
Set OncePer to 0
Endif
End
Nach einer Stunde pennen gibt's etwas HP, nach 4h entsprechend mehr.
Nach 8h oder mehr gibt's allerdings keine full HPs.
Wenn man nach 8h pennen nochmal 1h pennt, reduzieren sich die HPs,
weil die Formeln nicht akkumulieren, sondern Absolutwerte generieren.
Ja, das sollte korrigiert werden, wenn's realistisch sein soll.
Man muss dazu CurrentHP subtrahieren; weißt du auch, wo?;-)