Dise kleine Funktion ermöglicht das ermitteln, der momentanen prozentualen Health ( Gesundheit )!
Natürlich kann man die Gesundheit einer Einheit mit
Logic.GetEntityHealth( _entityID)
abfragen, aber dann hat man den Health-Wert, zB. 140!
Aber Funktionen wie „SetHealth“ arbeiten mit Prozent, und wenn ihr also eine Einheit um 20% heilen möchtet, müsst ihr zuerst ausrechnen, wie viel Prozent das sind:
local health = Logic.GetEntityHealth( _entity) local maxHealth = Logic.GetEntityMaxHealth( _entity) SetHealth( _entity,( (health/maxHealth) * 100) + 20)
Wenn ihr allerdings eine kleine Komfort-Funktion, die das rechnen übernimmt, in eurem Skript habt:
------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Comfort function zum Abfragen der Health einer Entity by Chromix ------------------------------------------------------------------------------------------------------------------------------------------------------------ function GetHealth( _entity ) local entityID = GetEntityId( _entity ); if not Tools.IsEntityAlive( entityID ) then return 0; end local maxHealth = Logic.GetEntityMaxHealth( entityID ); local health = Logic.GetEntityHealth( entityID ); return ( health / maxHealth ) * 100; end
Dann sieht die gleiche Aktion wie oben so aus:
SetHealth( _entity, GetHealth( _entity) + 20)
GetHealth( _entity)
Gibt also die aktuelle Health einer Entity in Prozent zurück!
Ist doch praktischer, oder? Tenji