[[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