Macro Ghid - macro-uri

Avertisment: Macrocomenzi pentru servere din Romania, de asemenea, scrise ca pentru britanici, doar numele abilități sunt puse pe rus.

Macrouri în WoW utilizate pentru a optimiza și de a simplifica interfața jucătorului. De la macro-uri simple, cum ar fi spunând în chat-ul, „mă tratează de urgență“, atunci când sănătatea dumneavoastră scade sub 20%, pentru a macro-uri mai complexe, cum ar fi schimbarea grătarele au un războinic sau turnat de vindecare vrăji în a doua sau a treia linie Emerzhensi monitor, standardul pentru majoritatea jucători Addon - CT_raid. Deci, începem cu macro general și apoi se trece la exemple concrete.

Notă: Din moment ce nici un patch-uri 1.xx magie vraja va necesita completarea în înregistrarea „(rangul X)“. Suficient pentru a scrie: / turnat Sfânta Lumină pentru vrăjitorie a cântat rangul maxim. Macrocomenzi de acest tip nu permit să arunce vrăji de rang inferior la țintă selectat, pentru a reduce rândurile trebuie să anexeze capăt (rangul X), în care X - cântă rangul dorit. EXEMPLU: / cast Sfânta Lumină (rangul 1);

vrăji Nenorocirea de unul singur, fără a pierde concentrarea asupra obiectivului:

/ Script CastSpellByName ( 'Lumina Sfântă', 1)

Nenorocirea vrăji pe tine dacă nu poți arunca o vraja asupra obiectivului selectat:
Acest macro va arunca o vraja „vraja“ pe sine numai în cazul în care obiectivul este ostil

/ Script dacă (nu UnitIsFriend ( "jucător", "țintă")), apoi CastSpellByName ( "Spell", 1); capăt

Nenorocirea farmece ținta unei anumite clase:
Utilizat mai ales pentru raid împătimiții pe anumite clase, modificări pot fi făcute în legătură cu PvP

/ Script class = UnitClass ( "target"); în cazul în care ((clasa == "Rogue") sau (clasa == "Warrior")), apoi

CastSpellByName ( "Binecuvântarea of ​​Might"); CastSpellByName altceva ( „Binecuvântarea Înțelepciunii“); capăt

vrăji Vrăjitoria în scopul diferitelor niveluri (buffs):
Este folosit foarte rar, dar eu încă mai dau un exemplu macro-uri pristovskogo pentru a lustrui pe rezistență, pentru a verifica nivelul de obiective:

/ Script Pre = "Putere Word: Fortitude (Rank" Sp = if (UnitLevel ( "țintă")

= Nil și UnitIsFriend ( "jucător", "țintă")), atunci

pentru i = 6,1, -1 do if (UnitLevel ( "țintă")> = Sp [i]) apoi CastSpellByName (Pre..i .. ")") întoarcere end end end

Nenorocirea vrăji cel mai apropiat țintă cu un număr de testare goluri% de sănătate:
Aici este un exemplu pe baza castă hilierskih vrăji pentru urmatorul gol, cu un control cu ​​privire la numărul de goluri de sănătate, macro tratează o țintă din apropiere prietenos cu sănătate sub 70%, verificate numai în următoarele 40 de goluri.

/ Script pentru i = 1.40 do TargetNearestFriend (); în cazul în care UnitHealth ( "țintă") / UnitHealthMax ( "țintă") <0.7 then if UnitIsPlayer("target") then CastSpellByName("Lesser Healing Wave") end end end; TargetLastEnemy();

Anunțarea vraja exprimate în prezent într-un partid-chat:

/ Distribuție Vindecarea Touch

/ Partidul Vindecarea% t în 3,5 secunde

vrăji Nenorocirea prin lot specific de jucători:
Întotdeauna tratează primul jucător parte unitatea flash USB, fără a bate focalizarea pe țintă selectată.

/ Distribuție Flash Heal


Vrăjitoria mai multe vrăji (buffs) pentru a testa prezența add-on obiective:
Mulaje diferite împătimiții pe țintă, numai în cazul în care obiectivele nu sunt astfel de vrăji (buffs), un exemplu de o versiune pentru druidul:

= Nil) do if (strfind (UnitBuff ( "țintă", i), "regenerare")

= Nil), atunci m = 1; termina; i = i + 1; end; c = CastSpellByName; daca (m == 1), atunci c ( "Mark of the Wild (Locul 10)"); altfel c ( "Thorns (Locul 10)"); end;

Macro pentru a găsi o carte vraja camere în competențe:
Uneori, utilizarea de script-uri CastSpellByName cauze care macro depășește lungimea admisibilă de 255 de caractere, cum ar fi un macro: / script CastSpellByName ( „Lumina Sfântă“, 1) are o mulțime de personaje, care este la fel de ușor de utilizat un macro: / script CastSpellByNumber (); Dar de unde știi ce număr dintr-un anumit vraja în cartea ta? Ajutorul vine un număr de macro foarte utile și comune verificarea ortografiei, dă cântat cu numărul corespunzător pe numele de ecran:

/ Script SpellNumber = 26; SpellName, SpellRank = GetSpellName (SpellNumber, "vraja");

M = Format ( "ortografiei:.% S% s", SpellNumber, SpellName, SpellRank); DEFAULT_CHAT_FRAME: AddMessage (M);

/ Script UseContainerItem (sac, slot);
Bag - este numărul de saci, de la 0 la 4, unde 0 - punga inițială.
Slot - Acest număr fantă în punga 1 - 20.

Macro-ul se va utiliza în mod automat obiectul într-un sac dat la o locație predeterminată, utilă atunci când se utilizează alchemy sau pur și simplu la schimbarea mărunțișuri.


utilizarea rapidă a bandajelor pe el însuși:

/ Țintă [Nume jucător]

Foarte util pentru dueluri 1v1 macro. Aici este un alt exemplu de macro pentru bandaje, mai complexe, cu un control al prezenței de bandaje în inventar, concentrându-se pe obiectivul anterior sau reseta focalizarea, în cazul în care obiectivul - sunteți:

/ Script if (nu GetContainerItemLink (x, x)) apoi OpenBag ([același număr sac ca mai înainte]); altfel

apoi ClearTarget () final final


Deși utilizarea obiectului-bar:
Aici este un exemplu de utilizare BINT situată într-un slot de unul dintre cele șase bare fierbinți, bandaje macro utilizează obiectivul prietenos selectat, sau pentru a se în cazul în care obiectivul este ostil:

/ Script UseAction (ActionID, 0, 1);

/ Script dacă (SpellIsTargeting ()) apoi SpellTargetUnit ( "jucător"); capăt
ActionID - este numărul de slot de unul dintre cele șase bare fierbinți, este selectat în mod corespunzător din tabel:

bar fierbinte: Slot Număr
1: 1 2 3 4 5 6 7 8 9 10 11 12
2: 13 14 15 16 17 18 19 20 21 22 23 24
3: 25 26 27 28 29 30 31 32 33 34 35 36
4: 37 38 39 40 41 42 43 44 45 46 47 48
5: 49 50 51 52 53 54 55 56 57 58 59 60
6: 61 62 63 64 65 66 67 68 69 70 71 72

O versiune mai avansată a aceluiași macro utilizează bandaje pe sine, în orice caz, chiar și în cazul în care obiectivul este prietenos și se află în raza de acțiune, este foarte util în PvE:

/ Scriptp = "jucător" t = "țintă", în cazul în care (nu UnitCanAttack (t, p)) apoi ot = unitName (t); TargetUnit (p);

altfel ot = zero; final; UseAction (ActionID) if (SpellIsTargeting ()) apoi SpellTargetUnit (p);

end if (ot) apoi TargetByName (ot); end

Utilizarea de pietre de rectificat pentru arme:
macro simplă va reduce timpul

/ Script PickupInventoryItem (16);

Schimbarea ultima linie de 16 până la 17 macro-uri obține pentru măcinarea mâini dreapta și stânga.

/ Script CURRENT_ACTIONBAR_PAGE = X;

/ Script ChangeActionBarPage ();
În cazul în care X - numărul de noi dorit un bar la cald, 1 - 6.


Exemplul macro-uri gata și complicate, afișarea mesajelor despre schimbarea macro:

/ Script CURRENT_ACTIONBAR_PAGE = 1;

/ Script ChangeActionBarPage (); == Frame Macro == Comutarea

/ Script if (nu MacroFrame: IsVisible ()) apoi ShowUIPanel (MacroFrame);

altfel HideUIPanel (MacroFrame); se încheie;

/ Script currentRes = GetCurrentResolution (); if (currentRes == 3)

apoi SetScreenResolution (15); SetCVar ( "gxWindow", 0); SetMultisampleFormat (16);

altfel SetCVar ( "gxWindow", 1); SetScreenResolution (3); SetMultisampleFormat (1); se încheie;

Valorile numerice sunt alese pentru comutarea rezoluției 1600x1200 completă anti-aliasing în rezoluția 1024x768 1x anti-aliasing


Dezactivarea numele jucătorului / NPC-uri:
Un macro util pentru descărcarea de pe ecran și fanii capturi de ecran


Pentru numele jucătorilor:

/ Script if (GetCVar ( "UnitNamePlayer") == "1"), apoi SetCVar ( "UnitNamePlayer", 0) altfel SetCVar ( "UnitNamePlayer", 1) end

/ Script if (GetCVar ( "UnitNameNPC") == "1"), apoi SetCVar ( "UnitNameNPC", 0) altfel SetCVar ( "UnitNameNPC", 1) end

Schimbarea automata a chat:
Macro pentru a schimba automat între chat-uri / s, dacă vă aflați în afara partidului, / p dacă sunteți într-un grup de 5 persoane, / raid dacă sunteți într-un raid, macro stabilește doar chat-ul, dar nu scrie mesaje:

/ Script if (GetNumRaidMembers ()> 0), apoi PR = "Raid"; elseif (GetNumPartyMembers ()> 0)

apoi PR = "parte"; altceva PR = "Say"; se încheie;

Pentru ca s-ar scrie în mod automat ceea ce sau o expresie în chat-ul selectat, adăugați linia:

/ Script SendChatMessage ( "Tu Gijdalah noob și nu înțeleg nimic.", PR);

Macrocomenzi pentru a ajuta la rezervor:
Cel mai simplu macro pentru a ataca ținte care ataca rezervor preselectat:

Acest macro este prea simplu și nu poate acoperi toate funcțiile de care este nevoie de multe ori în luptă rapidă care curge, încearcă să facă o versiune mai complexă a macro, divizat cu o porțiune de selectare automată a unui rezervor adecvat, și o parte din concentrarea asupra obiectivelor rezervorului selectat:

---- Pentru a selecta rezervorul ----

/ Script LeaderPlayerName = unitName ( "țintă") sau unitName ( "party1") sau "";

/ Script DEFAULT_CHAT_FRAME: AddMessage ( "######## Set principal de a ajuta la:". LeaderPlayerName);

---- Pentru a ataca rezervorul țintă ----

/ Script AssistByName (LeaderPlayerName sau unitname ( "party1") sau unitname ( "jucător"));

/ Script DEFAULT_CHAT_FRAME: AddMessage ( "######## Asistarea" LeaderPlayerName "cu țintă" (unitname ( "țintă") sau "NO TARGET") ...);

Când se utilizează primul macro din memoria de interfață este stocată porecla selectat jucător care ar putea face clic pe țintă de-al doilea macro ales stocate anterior un rezervor, indiferent în cazul în care nu este necesar să se utilizeze primul macro de fiecare dată o singură dată pentru instalarea rezervorului inițială.

Dar aceste două macro-uri, acestea vor ocupa două sloturi pe interfața dvs., deși acestea sunt foarte confortabile. Noi încercăm să combine într-un singur macro, fără a pierde funcționalitatea. Macro-ul ar arata astfel:

/ Script p = PASI sau "" u = unitName; t = "țintă" c = IsControlKeyDown () în cazul în care (c) atunci p = u (t) sau u ( "party1") sau "" altfel AssistByName (p) de capăt; DEFAULT_CHAT_FRAME: addMessage ( "########" .. (c și ( "Set asistă:" ..p) sau ( "Asistarea" ..p .. "cu" .. (u (t) sau "NO TARGET")))) PASI = p

Același macro într-o formă ușor de citit, așa cum sa arătat mai sus, nu citesc din cauza optimizare pentru o lungime de 255 de caractere:

Deci, cum se utilizează această macrocomandă:

Pentru a instala rezervoarele necesare, țineți Ctrl, faceți clic pe pictograma de utilizare macro.

Utilizarea normală faceți clic pe pictograma de macro va selecta ținta necesară.

Dacă țineți apăsată tasta Shift faceți clic pe pictograma folosi macro, atunci caracterul va începe să arunce o vraja selectată (polimorfă) pe țintă curent al rezervorului selectat anterior.


Macrocomenzi pentru a distruge totemuri:
Cea mai simplă opțiune:

/ Distributie Moonfire (Rank 1)

O versiune mai sofisticate:

pentru i = 1,10,1 do TargetNearestEnemy ()

în cazul în care (nu UnitCanAttack ( "jucător", t)), atunci

în cazul în care ((s (u (t), "Totem") sau s (u (t), "Ward")) și nu s (UnitCreatureType (t), "Human")), atunci

/ Script dacă IsAltKeyDown () apoi L1 = "instanță Start"; T1 = getTime ();

M = Format ( "Timer Set [% s]", L1); altfel N = getTime (); D = N-T1;

M = Format ( "Time Elapsed - [% s]:% 02dh:% 02dm:% 02ds au", L1, D / 3600, mod ((D / 60), 60), mod (D, 60)); capăt

Numărarea macro timpul scurs de la instalarea calendarului inițial, care va stabili semnificat, țineți apăsată tasta Alt-clic pe pictograma de utilizare macro. Atunci când se utilizează un macro dat fiind timpul necesar la cel mai apropiat al doilea.

Atac petom:
Simplu atacuri de companie macro asupra unor ținte selectate

O versiune mai avansată:


Atac vraja pentru animale de companie de construcții (de exemplu, Dash):

/ Script PetAttack (); CastPetAction (4);


pentru comenzile pentru animale de companie:
Lista tuturor echipelor Peta

/ Script CastPetAction (X);
Pentru ultimul rând, X - vrăji numărul de animale de companie în animalele de companie, ia panoul de control.

Doar enumera câteva exemple de macro-uri originale pentru fiecare clasă.

Naturii Rapiditatea + Vindecarea Touch - nu cooldown la nivel mondial:

/ Cast Rapiditatea Naturii

/ Cast Healing Touch (Locul 10)

/ Script dacă (SpellIsTargeting ()) apoi SpellTargetUnit ( "jucător"); capăt

Selectarea celui mai apropiat obiectiv, în cazul în care scopul coarnelor - Shot Scatter Shot:

/ Script TargetNearestEnemy (); în cazul în care (UnitClass ( "țintă") == "rogue"), apoi CastSpellByName ( "Scatter Shot"); CastSpellByName ( „Hunter

Raptor grevă + clip Wing:

/ Cast Raptor Strike


Piscina Macro cu referire simultană la scopul brandului:

/ Hunters Distribuție Mark (Rank #);

/ Cast Shot Concussive ();


Alimentarea automată pentru animale de companie:

Macro pentru a apela toate tipurile de cristale de mana, ceea ce necesită mai multe ori:

/ Script c locale = function (a) f locală, d a = "Mana" ..o pentru i = 0,4 face pentru k = 1, GetContainerNumSlots (i) fac

d = GetContainerItemLink (i, k) sau "" dacă strfind (d, a) atunci f = 1 final final final dacă nu f apoi CastSpellByName ( "" ..o Conjure) final final

c "Ruby" c "citrin" c "Jade"


Nenorocirea vrăji cu martisoare / Poma, după cum știm ToeP nu se înghesuie să ZHCH după patch-uri 1.10, dar macro încă foarte util, dau un exemplu ZHCH + rang POM + 11 frostbolt:

/ Script UseAction (37); SpellStopCasting (); CastSpell (82, "vrăji"); SpellStopCasting (); CastSpell (158, "vrăji"


postarea Macro Whisper, de încetare partid jucători de atac, monstru pe care doriți polimorfe:

/ Script locale n, p, t = unitname, "partid", "țintă" pentru i = 2,5 fac dacă n (p..i) atunci dacă

UnitIsUnit (p..i..t, t) apoi SendChatMessage ( „Eu sunt pe cale să oile țintă, modificați

ținte. "" „, nil, n (p..i)) final final WHISPER end

obiective Auto-buff prietenos folosind Manu - Binecuvântare Wisdom, și altele, inclusiv le - ar putea Binecuvântare:

/ Putere Script = UnitPowerType ( "target"); în cazul în care (putere == 0), apoi CastSpellByName ( "Binecuvântarea Înțelepciunii") CastSpellByName altceva ( "Binecuvântarea of ​​Might") de capăt; if (SpellIsTargeting ()) apoi CastSpellByName ( "Binecuvântarea of ​​Might"); TargetUnit ( "jucător"); se încheie;

Macro pentru cornul care utilizează Strike Sinister ca atacul principal, macro folosește riposte, dacă este posibil:

/ Script if (UnitMana ( "Player")> = 999), apoi CastSpellByName ( "Sinister Strike"); end, în cazul în care (IsUsableAction (18) și UnitMana ( "Player")> = 10), apoi CastSpellByName ( "ripostă"); se încheie;

/ Script dacă UnitMana ( "Player")> = 40 atunci CastSpellByName ( "Sinister Strike"); se încheie;

Natura Rapiditatea + vindecare

/ Script local = IsAltKeyDown (); c local, d = GetSpellCooldown (157,0); if (c == 0) apoi CastSpell (157,0) else if (a) atunci TargetUnit ( "player")

end; if (d == 0,001) apoi CastSpell (146,0) altceva CastSpell (152,0) final; dacă (a) atunci TargetLastTarget () end; end

Macroul are următoarele:
dacă Natura Rapiditatea nu kuldavne, se aruncă.
dacă aveți activă Natura Rapiditatea, mulaje Vindecarea Wave 9 rang pe obiectivul selectat
în toate celelalte cazuri, exprimate Lesser val de vindecare Locul 6 pe țintă selectat.


totemuri anuntul macro într-un partid-chat:

/ Party agilitate Totem 88, 30 yards, stai aproape

/ Cast Grace Air