Макросы в вов написаны на языке Lua. 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()
Описание: Заставляет присесть/встать
[гильдия]
AcceptGuild()
Описание: Принимает приглашение в гильдию.
DeclineGuild()
Описание: Отказывается от приглашение в гильдию.
GuildInviteByName(player);
Описание: Приглашение в гильдию для игрока, имя которого указанно в параметре.
GuildUninviteByName(player)
Описание: Выгоняет из гильдии игрока, имя которого указанно в параметре.
GuildPromoteByName(player)
Описание: Увеличивает статус игрока, имя которого указанно в параметре.
GuildDemoteByName(player)
Описание: Уменьшает статус игрока, имя которого указанно в параметре.
GuildSetLeaderByName(player)
Описание: Делает лидером игрока, имя которого указанно в параметре.
GuildSetMOTD(message)
Описание: Устанавливает приветственное сообщение.
GuildLeave()
Описание: Покинуть гильдию.
[пэт]
PetAttack();
Описание: Заставляет вашего пэта атаковать.
PetAbandon();
Описание: Бросить вашего пэта.
PetRename(name)
Описание: Переименовать вашего пэта.
PetPassiveMode();
Описание: Переключает вашего пэта в пассивный режим.
PetDefensiveMode()
Описание: Переключает вашего пэта в защитный режим.
PetAggressiveMode()
Описание: Переключает вашего пэта в агрессивный режим.
PetWait()
Описание: Останавливает вашего пэта в пассивный режим.
PetFollow()
Описание: Заставляет вашего пэта следовать за вами.
[разное]
SendChatMessage(msg, mode, language, channel);
Пример: SendChatMessage(msg, "WHISPER", this.language, lastTell);
Описание: Отправляет сообщение mode:"SAY", "YELL", "PARTY", "AFK", "DND", language: "COMMON", "DRACONIC", "ORCISH" ...
RandomRoll(low,high);
Пример: RandomRoll("1","100");
Описание: Выдаёт случайное число, удобно при розыгрыше сундуков.
PlaySound(filename);
Пример: PlaySound("BAGMENUBUTTONPRES");
Описание: Проигрывает звуковой файл.
Screenshot();
Описание: Делает скриншот.
ForceLogout()
Описание: Усиленный дисконнект.
Logout()
Описание: Дисконнект.
Quit()
Описание: Выход из игры
[ADDED=_Lexx_]1103930566[/ADDED]
[Свойства]
UnitName(string)
Пример: target = UnitName("target");
Описание: Возвращает имя игрока
GetFriendInfo(friendid)
Пример: name, level, class, area, connected = GetFriendInfo(friendIndex);
Описание: Возвращает информацию о друге.
UnitXP(target)
Пример: local currXP = UnitXP("player");
Описание: Возвращает опыт игрока
UnitXPMax(target)
Пример: local nextXP = UnitXPMax("player");
Описание: Показывает максимальный опыт игрока.
GetUnitMoney(target)
Пример: if ( UnitMoney("player") >= moneyCost ) then
Описание: Показывает количество денег игрока.
UnitExists(unitname)
Пример: if ( UnitExists(unit) and UnitIsPlayer(unit) ) then
Описание: Возвращает true если персонаж существует.
UnitIsPlayer(unitname)
Пример: if ( UnitExists(unit) and UnitIsPlayer(unit) ) then
Описание: Возвращает true если персонаж является игроком.
PetCanBeAbandoned()
Описание: Возвращает true если пэт может быть брошен.
UnitIsUnit(unitnamea, unitnameB)
Пример: UnitIsUnit("target", "pet")
Описание: Возвращает true если unitnamea является unitnameB
UnitReaction("target", "player")
Пример: UnitReaction("target", "player")
Описание: Возвращает тип поведения: neutral hostile, friendly.
GuildInfo()
Описание: Показывает инфо о гильдии
[b]GetPartyMember(index[or id])
Пример: GetPartyMember(3)
Описание: Возвращает имя члена партии.
UnitIsPartyLeader(unitname)
Пример: UnitIsPartyLeader("target")
Описание: Возвращает true если персонаж лидер группы.
GetLootMethod()
Пример: lootMethod, lootMaster = GetLootMethod();
Описание: Возвращает тип и мастера(если есть) лута
UnitInParty(unitname)
Пример: UnitInParty("target")
Описание: Возвращает true если персонаж входит в группу.
GetPlayerMapPosition(playerid);
Пример: playerX, playerY = GetPlayerMapPosition("player");
Описание: Возвращает ваши координаты.
GetCorpseMapPosition();
Пример: corpseX, corpseY = GetCorpseMapPosition();
Описание: Возвращает координаты вашего тела.
Взято с http://cheatclub.ru/