If then in mAcro

05/18/2005 22:32 gecko67#1
Hallo,
ich versuche ein Heilmakro zu schreiben, das entscheidet welcher Rang genommen werden muss. irgendwie funzt das aber net. Kann mir einer helfen. das habe ich im moment.

/target NAME
/script local s,t="Healing Touch(Rank 3)",UnitHealthMax(NAME)-UnitHealth(NAME) if (t>=800) then s="Healing Touch(Rank 6)" elseif (t>=400) then s="Healing Touch(Rank 4)" end CastSpellByName(s);

Habe addon damit ich bis zu 1000 Zeichen verwenden kann.
05/18/2005 22:44 over#2
du willst, dass es den rang vom skill dem level vom ziel anpasst?

wenn ja, teste mal das hier.. habs grad in einem forum gefunden. sollte gehen, wenn ich da nichts verwechselt hab.

/script pr="Healing Touch(Rang " if (UnitLevel("target") ~= nil and UnitIsFriend("player","target"))then for i=60,X,-X do if (UnitLevel("target") >= (i-10) and UnitLevel("player") >= i) then CastSpellByName(pr..(i/6)..")") break end end end

für X solltest du den wert einsetzen, in welchen level schritten von 60 runter gezählt werden soll.
05/19/2005 08:40 gecko67#3
Nein sorry, ich versuche die Differenz zwischen HealthMax und Health auszurechnen und danach den Rang zu bestimmen.

Aber wenn da steht "player" und "target", muss ich da meinen namen hineinschreiben oder sind das Variablen?

danke
05/19/2005 18:32 rocstar#4
"player" und "target" sollten variablen sein
05/19/2005 20:44 over#5
schonmal damit probiert?

/script local t=UnitHealthMax("target")-UnitHealth("target");
/script if (t>=400) then CastSpellByName ("Healing Touch(Rank 4)")
elseif (t>=800) then CastSpellByName ("Healing Touch(Rank 6)");
end;

müsstest natürlich die (liste) komplett machen und das ganze etwas ändern, da ich sicher etwas falsch gemacht hab, aber vielleicht klappt es ja.

falls du die deutsche version verwendest musst du sowieso die spellnamen ändern sowie Rank in Rang ändern.