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