Инвентарь и Предметы
Использовать предмет:/script UseContainerItem(bag, slot);
Bag – это номер сумки, от 0 до 4, где 0 – начальная сумка.
Slot – это номер слота в сумке от 1 до 20.
Макрос автоматически использует предмет в заданной сумке на заданном месте, полезен при использовании алхимии или просто при переодевании тринкетов.
Быстрое использование Бинтов на самого себя:
/target [Player Name]/script UseContainerItem(#, #);
/script TargetLastEnemy();
Очень полезный макрос для дуэлей 1v1. Вот еще один пример макроса для бинтов, более сложный, с проверкой на наличие бинтов в инвентаре, фокусировки на предыдущей цели или сбросе фокуса, если цель – вы сами:
/script if (not GetContainerItemLink(x,x)) then OpenBag([same bag number as before]); elseTargetUnit(”player”);UseContainerItem(3,15);TargetUnit(”playertarget”);if (UnitIsPlayer(”target”))then ClearTarget() end end
Использование предмета из Хот-бара:
Приведу пример использования Бинтов лежащих в одном из слоте одного из шести хот-баров, макрос использует бинты на выбранную дружественную цели, или на самого себя если цель враждебна:
/script UseAction(ActionID, 0, 1);
/script if( SpellIsTargeting() ) then SpellTargetUnit("player"); end
ActionID – это номер слота одного из шести хот-баров, он выбирается соответственно из таблицы:
Хот-бар: Номер слота
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
Более продвинутый вариант того же макроса, использует бинты на самого себя в любом случае, даже если цель дружественна и находится в радиусе действия, очень полезен в ПвЕ:
/scriptp="player";t="target";if(not UnitCanAttack(t, p))then ot=UnitName(t);TargetUnit(p);else ot=nil;end;UseAction(ActionID);if(SpellIsTargeting())then SpellTargetUnit(p);end if(ot) then TargetByName(ot);end
Использование точильных камней на оружие:
Простой макрос сократит вам время
/script UseContainerItem (#,#);
/script PickupInventoryItem (16);
Меняя в последней строке 16 на 17 получим макросы для заточки правой и левой рук.
Интерфейс
Переключение Хот-баров:/script CURRENT_ACTIONBAR_PAGE = X;
/script ChangeActionBarPage();
Где X – номер нужного нам хот-бара, от 1 до 6.
Пример готового и усложненного макроса, выводом на экран сообщения о смене макроса:
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage(); == Macro Frame Toggling ==/script if ( not MacroFrame:IsVisible() ) then ShowUIPanel(MacroFrame); else HideUIPanel(MacroFrame); end;
Изменение видео опций
Иногда хочется изменить видео опции игры, что бы комфортнее себя чувствовать в густо населенных игроками зонах, таких как Банк или Аукцион, так же при большой нагрузке в ПвЕ зонах, примером может служить первая фаза Разоргора (1 босс БВЛ ):
Для хорошего качества видео:/z SetFarclip(777)/z SetWorldDetail(2)/z SetBaseMip(1)
Для среднего качества видео:
/z SetFarclip(477)/z SetWorldDetail(1)/z SetBaseMip(1)
Для плохого качества видео:
/z SetFarclip(177)/z SetWorldDetail(0)/z SetBaseMip(0)
Переключение игры из Full-screen в Window режим:
Полезен для съемки видео или просто для удобной настройки посторонних программ:
/script currentRes = GetCurrentResolution(); if (currentRes == 3)then SetScreenResolution(15); SetCVar("gxWindow", 0); SetMultisampleFormat(16);else SetCVar("gxWindow", 1); SetScreenResolution(3); SetMultisampleFormat(1); end;
Числовые значения подобраны для переключения из разрешения 1600×1200 full anti-aliasing в разрешение 1024×768 1x anti-aliasing
Отключение имен игроков / npc:
Полезный макрос, для снятия нагрузки с экрана и любителям скриншотов
Для имен игроков:
/script if ( GetCVar("UnitNamePlayer") == "1" ) then SetCVar("UnitNamePlayer",0) else SetCVar("UnitNamePlayer",1) end
Для имен npc:
/script if ( GetCVar("UnitNameNPC") == "1" ) then SetCVar("UnitNameNPC",0) else SetCVar("UnitNameNPC",1) end
Окно чата
Автоматическая смена чата:Макрос для автоматической смены между чатам /s если вы вне партии, /p если вы в партии на 5 человек, /raid если вы находитесь в рейде, макрос только устанавливает чат, но не пишет сообщения:
/script if (GetNumRaidMembers() > 0) then PR = "Raid"; elseif (GetNumPartyMembers() > 0) then PR = "Party"; else PR = "Say"; end;
Для того что бы автоматически написать какую либо фразу в выбранный чат, добавьте строку:
/script SendChatMessage("Ты Gijdalah нуб и ничего не понимаешь!!!",PR);
далее