Wie wäre es mit einer Verzauberung auf dem Ring? Dafür musst du zum einen ein Skript auf den Ring legen:
Code:
scn name
Begin onEquip player
player.addSpell <Eigenschaft-ID>
end
Begin onUnequip player
player.removeSpell <Eigenschaft-ID>
end
Dann erstellst du noch eine neue
:huh:Eigenschaft:huh: mit einem neuen Skript-Effekt, dessen Skript ungefähr so aussieht (OBSE ist auch hier vonnöten):
Code:
scn name
short m
short x
long health
long magicka
long fatigue
long storedHealth
long storedMagicka
long storedFatigue
long playerHealth
long playerMagicka
long playerFatigue
long playerBaseHealth
long playerBaseMagicka
long playerBaseFatigue
long newHealth
long newMagicka
long newFatigue
float secondsPassed
Begin ScriptEffectUpdate
if onKeyDown 50
set m to 1
set x to 0
return
endif
if onKeyDown 45
set x to 1
set m to 0
return
endif
if m
if isKeyPressed3 50
set secondsPassed to scriptEffectElapsedSeconds
set health to (20 * secondsPassed)
set magicka to (20 * secondsPassed)
set fatigue to (20 * secondsPassed)
set playerHealth to getAV health
set playerMagicka to getAV magicka
set playerFatigue to getAV fatigue
if playerHealth <= health
set health to (playerHealth - 1)
endif
if playerMagicka <= magicka
set magicka to (playerMagicka - 1)
endif
if playerFatigue <= fatigue
set fatigue to (playerFatigue - 1)
endif
set storedHealth to (storedHealth + health)
set storedMagicka to (storedMagicka + magicka)
set storedFatigue to (storedFatigue + fatigue)
set newHealth to (playerHealth - health)
set newMagicka to (playerMagicka - magicka)
set newFatigue to (playerFatigue - fatigue)
setAV health newHealth
setAV magicka newMagicka
setAV fatigue newFatigue
return
else
set m to 0
return
endif
endif
if x
if isKeyPressed3 45
set secondsPassed to scriptEffectElapsedSeconds
set health to (20 * secondsPassed)
set magicka to (20 * secondsPassed)
set fatigue to (20 * secondsPassed)
set playerHealth to getAV health
set playerMagicka to getAV magicka
set playerFatigue to getAV fatigue
set playerBaseHealth to getBaseAV health
set playerBaseMagicka to getBaseAV magicka
set playerBaseFatigue to getBaseAV fatigue
if (playerBaseHealth - playerHealth) < 0
set health to 0
elseif (playerBaseHealth - playerHealth) < health
set health to (playerBaseHealth - playerHealth)
endif
if (playerBaseMagicka - playerMagicka) < 0
set magicka to 0
elseif (playerBaseMagicka - playerMagicka) < magicka
set magicka to (playerBaseMagicka - playerMagicka)
endif
if (playerBaseFatigue - playerFatigue) < 0
set fatigue to 0
elseif (playerBaseFatigue - playerFatigue) < fatigue
set fatigue to (playerBaseFatigue - playerFatigue)
endif
if storedHealth < health
set health to storedHealth
endif
if storedMagicka < magicka
set magicka to storedMagicka
endif
if storedFatigue < fatigue
set fatigue to storedFatigue
endif
set storedHealth to (storedHealth - health)
set storedMagicka to (storedMagicka - magicka)
set storedFatigue to (storedFatigue - fatigue)
set newHealth to (playerHealth + health)
set newMagicka to (playerMagicka + magicka)
set newFatigue to (playerFatigue + fatigue)
setAV health newHealth
setAV magicka newMagicka
setAV fatigue newFatigue
return
else
set x to 0
return
endif
endif
end
Ich hab das Skript jetzt nicht getestet und gebe somit auch keine Garantie auf die Funktionalität.