(Hilfe) Makro das Gesundheit berechnet

Trel

Rare-Mob
Registriert
14.09.2006
Beiträge
418
Reaktionspunkte
3
Kommentare
3
Buffs erhalten
3
Hallo,

Ich hab ne frage, ich hätte gerne für meinen Tank Krieger ein Makro das den Heilern sagt wieviel Leben durch Last Stand hinzukommt.

meine erste idee im Makro war

/say Last Stand an + ??? HP
/wirken Last Stand
/in 20 /s Last Stand weg - ??? HP

So jetzt weis ich leider nicht wie ich die 30% aus der Fähigkeit an die Stelle einfügen kann wo die ??? sind.

Ich denke das man es mit dem /script befehl machen muss, sich erst die gesundheit vom eigenem Char geben lassen und dann mit den Math funktionen
die 30% Ausrechnet.

Leider hab ich von den Lua sachen null ahnung, und finde net wirklich was im Netz dazu.

Habt ihr evtl. eine Idee wies gehen könnt?

gruß Trel
 
Code:
/SendChatMessage("Last Stand an + "..(UnitHealthMax("player")*0.3).."HP")
/cast Last Stand
/in 20 /SendChatMessage("Last Stand weg - "..(UnitHealthMax("player")*0.3).."HP")

keinerlei garantie ob das funktioniert, vorallem bei der letzten zeile, habs jetzt nur mal frei aus dem kopf heraus^^
 
Beim /in Befehl musste ich mich auch belehren lassen, das diese nur eine ACE Funktion ist.
 
also /in weis ich das es Ace ist, und geht auch bei mir, hab die lua dabei.

das makro so wies oben ist geht nich, aber ich schau ma ob ichs dadurch hinbekomm, ist genau der schritt der mir fehlt
 
Habs zum Laufen bekommmen

Code:
#showtooltipp Letztes Gefecht
/script SendChatMessage("LAST STAND + "..(UnitHealthMax("player")*0.3).." HP");
/wirken Letztes Gefecht
/in 19.5 /script SendChatMessage("LAST STAND - "..(UnitHealthMax("player")-UnitHealthMax("player")/1.3).." HP");

Jetzt ist nur das nervige das ich 7 nachkommastellen hab bei der zweiten Rechnung, kann man das irgendwie umgehen?

Edit:
Umweg gefunden
Code:
/run mh=UnitHealthMax("player")*0.3; SendChatMessage("LAST STAND + "..(mh).." HP");
/wirken Letztes Gefecht
/in 19.5 /run SendChatMessage("AUSGELAUFEN - "..(mh).." HP");


Trotzdem denk ich das das es große Nachkommastellen geben kann, kann man die Zahl irgendwie ohne nachkomma Ausgeben?

math.abs(value) funktioniert nich
 
Zuletzt bearbeitet von einem Moderator:
ceil(UnitHealthMax("player")*0.3);

könntest du mal ausprobieren.

abs() macht auch nicht die Nachkommastellen weg. :-)
Aus -20 wird 20.
 
Zuletzt bearbeitet von einem Moderator:
mit ceil(UnitHealthMax("player")*0.3); funktionierts, danke
 
Sieht spannend aus, poste doch nunmal das finale Makro bitte =)
 
Gerne doch

Code:
/run mh=ceil(UnitHealthMax("player")*0.3);
SendChatMessage("LAST STAND + "..(mh).." HP");
/wirken Letztes Gefecht
/in 19.5 /run SendChatMessage("AUSGELAUFEN - "..(mh).." HP");
 
Vorsicht: De-Clients verstehen sowohl Deutsch als auch Englisch in Makros, En-Clients NUR Englisch! ^^
 
Zurück