[[http://www.siedler-games.de|{{:sg-link.jpg|}}]]
====== GetHealth ======
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)
===== Der Code: =====
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