Основы:
Макросы в вов написаны на языке Lua(www.lua.org). Lua - маленький и быстрый, но достаточно мощный язык написанный на Си. Поэтому, зная хотя бы основы Си? вы без труда разберётесь в этом нехитром деле - написание макросов для вов.
Наберите в строке чата /macros - откроется список макросов, тычем кнопку new, потом придумываем имя, выбираем картинку, потом вводим код. Стоп, а что собственно вводить? Ну что ж, подумаем вообще, зачем нам всё это, правильно, для автоматизации наших действий, а какие они бывают можно почитать в этой теме. Первое что приходит в голову это говорить вашей группе кого атаковать:
Код: /p Atacking %t
(%t подставляет имя выделенного вами персонажа.)
Хорошо, теперь допустим мы маг, кто играл магом - знает какая это беда кастить полиморф в группе, когда члены группы, по несогласованности, начинают атаковать и частенько под руку попадается овечка.
Код:
/p Polymorphing! DONT atack %t!
/cast Polymorph (Rank X)
(X - это уровень вашего заклинания)
Идём дальше. Нужен скрипт, который лечил и предупреждал остальных хилеров, что вы уже лечите эту цель:
Код:
/script if ((UnitName("target") ~= nil) AND (UnitIsFriend("player", "target"))
then SendChatMessage("Healing (+n)!", "PARTY", "COMMON", UnitName("target") ); end
/cast SpellName (Rank X)
Думаю понятно, описание функции смотрите ниже.
Ещё один полезный макрос:
Код:
/script ToggleBag(0);
/script ToggleBag(1);
/script ToggleBag(2);
/script ToggleBag(3);
/script ToggleBag(4);
Открывает/закрывает все сумки полезно перебиндить на "b". (проще поставить аддон ИМХО)
Приведу основные функции:
Хотя это всё функции, некоторые из них являться только информационными, а некоторые, влияют непосредственно на игру, поэтому я разделил всё на методы и свойства, для удобства.
[Методы]
[действия]
AttackTarget();
Пример: AttackTarget();
Описание: Атакует выделенного персонажа.
CastSpellByName(spellname)
Пример: CastSpellByName("Demon Skin");
Описание: Кастует указанное заклинание
TargetUnit(targetcode);
Пример: TargetUnit("player");
Описание: Выделяет персонажа указанного в параметре "player", "party1".."party5", "npc", "target".
TargetUnitsPet(targetcode);
Пример: TargetUnitsPet("player");
Описание: Выделяет пэта указанного персонажа.
TargetLastEnemy();
Пример: TargetLastEnemy();
Описание: Выделяет последнего атакованного персонажа.
AssistUnit(target)
Пример: AssistUnit("target");
Описание: Помогает атаковать персонажу, указанному в параметре.
AssistByName(target)
Пример: AssistByName("Marco");
Описание: Помогает атаковать персонажу с именем указанным в параметре.
FollowUnit(target)
Пример: FollowUnit("target");
Описание: Следует за персонажем указанным в параметре.
FollowUnitByName(target)
Пример: FollowByName("Beeblebrox");
Описание: Следует за персонажем с именем указанным в параметре.
ToggleBag(bagnumber)
Пример: ToggleBag(0);
Описание: Открывает/закрывает сумку сумки расположены: 4-3-2-1-0. 0 это бэкпак.
[группа и взаимодействия]
InviteByName(target)
Пример: InviteByName(GetSlashCmdTarget(msg));
Описание: Приглашает в группу персонажа с именем указанным в параметре.
UninviteByName(target)
Пример: UninviteByName(GetSlashCmdTarget(msg));
Описание: Удаляет из группы персонажа с именем указанным в параметре.
InitiateTrade(target)
Пример: InitiateTrade("target");
Описание: Приглашает к торговле персонажа указанного в параметре.
InspectUnit(target)
Пример: InspectUnit("target");
Описание: Показывает информацию о персонаже.
BeginTrade();
Описание: Согласиться на торговлю.
CancelTrade();
Описание: Отказаться от торговли.
AcceptGroup()
Описание: Согласиться на приглашение в группу.
DeclineGroup()
Описание: Отказаться от группы
PromoteToPartyLeader(unit);
Описание: Делает лидером указанного игрока.
LeaveParty()
Описание: Покинуть группу.
AddFriend(name)
Описание: Добавить друга.
RemoveFriend(name)
Описание: Удалить друга
AddOrDelIgnore(name);
Описание: Добавляет/удаляет игрока из игнор-листа.
Duel(name)
Описание: Вызывает на дуэль игрока.
CancelDuel();
Описание: Отменяет дуэль.
SetLootMethod(methodstring, player)
Описание: Устанавливает способ лута: "freeforall","roundrobin","master".
LootSlot(slotidnumber, 0)
Пример: LootSlot(((LOOTFRAME_NUMBUTTONS - 1) * (LootFrame.page - 1)) + this:GetID(), 0);
Описание: Лутит указанный предмет
[Движения]
MoveForwardStart(starttime);
Описание: Игрок начинает бежать вперёд.
MoveForwardStop(time);
Описание: Игрок прекращает бежать вперёд.
MoveBackwardStart(starttime);
Описание: Игрок начинает бежать назад.
MoveBackwardStop(stoptime);
MoveBackwardStop(arg1);
Описание: Игрок прекращает бежать назад.
TurnLeftStart(starttime);
Описание: Игрок начинает бежать влево.
TurnLeftStop(arg1);
Описание: Игрок прекращает бежать влево.
TurnRightStart(starttime);
Описание: Игрок начинает бежать вправо.
TurnRightStop(stoptime);
Описание: Игрок прекращает бежать вправо.
StrafeLeftStart(StartTime);
Описание: Игрок начинает стрэйфить влево.
StrafeLeftStop(stoptime);
Описание: Игрок прекращает стрэйфить влево.
StrafeRightStart(starttime);
Описание: Игрок начинает стрэйфить вправо.
StrafeRightStop(stoptime);
Описание: Игрок прекращает стрэйфить вправо.
Jump();
Описание: Заставляет игрока прыгать.
SitOrStand()
Описание: Заставляет присесть/встать
[пэт]
PetAttack();
Описание: Заставляет вашего пэта атаковать.
PetAbandon();
Описание: Бросить вашего пэта.
PetRename(name)
Описание: Переименовать вашего пэта.
PetPassiveMode();
Описание: Переключает вашего пэта в пассивный режим.
PetDefensiveMode()
Описание: Переключает вашего пэта в защитный режим.
PetAggressiveMode()
Описание: Переключает вашего пэта в агрессивный режим.
PetWait()
Описание: Останавливает вашего пэта в пассивный режим.
PetFollow()
Описание: Заставляет вашего пэта следовать за вами.
Основные команды:
Чат:
/say сообщение – Отправляет сообщение людям находящимся вокруг вас. (/s)
/whisper имя сообщение – Отправляет приватное сообщение. (/w)
/yell сообщение – Отправляет общее сообщение. (/y)
/party сообщение – Отправляет сообщение вашей группе. (/p)
/raid сообщение – Отправляет сообщение вашей рэйд группе.
/guild сообщение – Отправляет сообщение вашей гильдии.
/reply сообщение – Отправляет сообщение последнему приславшему вам сообщение. (/r)
/ignore имя – Добавляет игрока в игнор-лист.
/unignore имя – Убирает игрока из игнор-листа.
/emote сообщение – Эквивалентно /me в mIRC’е. (/em)
/afk [сообщение] – Переключает в режим "away from keyboard" .
/dnd [сообщение] - Переключает в режим "do not disturb".
/join канал – Присоединяет/создаёт чат-каналу.
/leave канал – Отсоединяет от чат-канала.
Группа:
/invite [имя] – Приглашает выбранного игрока в группу, либо указанного в параметре. ( /inv)
/uninvite имя – Удаляет указанного персонажа из вашей группы.
/ffa – Устанавливает тип лута "free for all".
/master [имя] - Устанавливает тип лута Master Loot, указанный чар ставиться master looter
/roundrobin - Устанавливает тип лута "round robin".
/trade – Посылает запрос на торговля выбранному персонажу.
Взаимодействие:
/cast название(Rank X) – Кастует заклинание с указанным именем, уровня Х.
/assist [имя] – Помогает атаковать выбранной цели, либо персонажу [имя].
/inspect – Показывает информацию о выбранном персонаже(инвентарь, статс).
/target имя – Выделяет указанного персонажа.
/duel [имя] – Вызывает на дуэль выбранного чара, либо имя которого указанно в скобках.
/yield – Сдаться в дуэли
/pvp – Включает флаг ПВП на 5минут.
Разное:
/who – Показывает список игроков вокруг вас.
/played – Показывает время проведённое в игре.
/time – Показывает текущее игровое время.
/sit – Ваш персонаж присаживается, тем самым, ускоряя регенерацию здоровья.
/stand – Заставляет вашего персонажа встать.
/random [верхний предел] – Генерирует случайное число от 1 до указанного параметра.
/logout – Отсоединяет от игры.
/exit – Выходит из игры.