Приветствую Вас, Гость | RSS
Вторник, 26.11.2024, 13:39
Основы макросов

МАКРОСЫ
Руководство по созданию макросов

Основы Макросов
Что это все означает? Что это за макросы?
Простыми словами, макрос это серия команд, которая присвоена какой-либо кнопки на твоей панеле инструментов. Хватит шевелить извилинами, потому что то, что я сказал очень даже не плохо.
Так, теперь давай немного расширим твои познания. Макросы используются обычно в двух случаях:
• Необходимо выполнить множество команд как можно быстрее, даже быстрее чем твое нажатие на клавишу.
• Необходимо выполнить множество команд, которые часто повторяются.

Можешь ли ты себе представить пару ситуаций, когда макрос будет полезным? Возможно у тебя уже появилось пару идей. Если же нет, тогда вот парочка примеров:
• Мгновенно нацелится на ту цель, на которую твой танк нацелился.
• Мгновенно отправить в атаку своего питомца, как только ты начал атаковать.
• Сказать что-либо, в тот же момент, в который ты сделал каст.
• Сменить одним нажатием клавиши оружие.

Ограничения Макросов

Ну что заинтригован? Отлично! Однако существуют некоторые ограничения. Во-первых, каждый аккаунт может иметь 18 макросов. Поэтому 18 макросов деляться на всех твоих персонажей на всех рилмах. Так что раскинь хорошенько мозгами, если у тебя много чаров. Во-вторых, каждый макрос может состоять из 255 символов. Это означает, что твой макрос не может стрельнуть из лука, дать приказ питомцу атаковать, использовать все твои способности в атаке, подежать к трупу, забрать лут, снять шкуру, затем накормить твоего питомца и самого себя, и после этого атаковать ближайшего моба, ну и т.д. И последние ограничение - макросы не ждут задержку. Макрос выполняет все команды мгновенно. Так что если ты хочешь сначала пополнить здоровье, а после этого пополнить ману, у тебя ждет неудача, т.к. у них одинаковая задержка. В остальном же ты свободен в действии.

Является ли это читерством?
Позволь мне уверить тебя, что не зависимо от того, играешь ли ты за Орду или за Альянс, не зависимо от расы, класса и профессии, макросы могут значительно увеличить твой скилл в игре. В сообщесте идет небольшая дискуссия пока на тему являются ли макросы честным превосходством. Одно я знаю наверника, использование макросов не является читерством. Каждый игрок может сделать макрос, т.к. у них есть доступ к одинаковым командам, не имеет значения даже твой уровень (level). Превосходство дается тем, кто потравив время и усилия на их создание, может теперь использовать макросы.

Твой первый маркрос
Закончив с вводной частью, перейдем к твоему первому макросу. Этот макрос не позволит тебе одним кликом завалить Ониксию, но облегчит тебе жизнь в Аукционном Доме, или, не даст скучать во время долгого путешествия на другой континент. Вообще-то, этот макрос является социальным, т.к. выполняет серию эмоций и заставляет твоего чара высказать пару фраз.

Итак начнем с того, что найди сначал кнопку Главного Меню(Main Menu) и нажми на Macros. Появится окно создания макросов, которое, в принципе, должно быть пустым, если ты не делал до этого пару экспериментов. Выглядит оно следующим образом:
Основы макросов
Т.к. мы добавляем новый макрос, то нажми на кнопку New (выделена на рисунке). После нажатия появится следующее окно:Основы макросов

Тут ты можешь назвать свой макрос и выбрать ему иконку, которая будет размещена на панеле инструментов. Как видишь, я назвал свой макрос "Dance" и выбрал иконку с лысой головой(вторая строка и второй столбец). Также эта иконка поможет не спутать еще с чем-либо еще. После того как ты назвал свой макрос и выбрал иконку, жми Okay, которая станет доступной. Пошли дальше.

Теперь нужно набрать команды, которые твой макрос должен выполнять. Вот что я напечатал:
/dance
/train
/say Come on everybody...and ride it. Come on everybody...do the Choo Choo!
/train



Я нажал [Enter] в конце каждой строки. Так все выглядит наглядно. Внизу окна ты можешь заметить счетчик, который считает количество символов. Запомни не больше 255 символов! После того как ты все это сделал, тебе не нужно сохранять макрос или делать с ним что-то еще - он уже готов к использованию.
Все что тебе нужно сделать это перетянуть иконку из окна макросов на твою панель инструментов. Теперь уж точно все! Нажимай Exit и добро пожаловать в игру.

Проверка
После твоего возвращения в игру, нажмни на иконку макроса и ты должен начать танцевать, говорить, ну и получить удовольствие от нового творения.

Как это работает спросишь ты? К счастью, все прошло хорошо. Если нет, тогда возвращайся назад и проверь синтаксис, т.е. убедись что нет ошибок. Орфография - это основа макросов. Проверь пару раз текст, и я уверен, что у тебя все заработает. Теперь можешь побегать перед игроками и показать, какой ты у нас скоростной. Если никто не отреагировал на тебя словами "lol" или "rofl"....то поищи чаров с чувством юмора!

Дальше?
Следующим шагом для тебя будет практика с макросами. Ты ничего не сломаешь, если неправильно что-то напишешь, просто удали и начни сначала. Ну а я перейду к следующему шагу....ладно, пошел я писать вторую часть.

Еще один пошаговый пример создания макроса
• Наберите /macro или нажмите на кнопку разговора и выберите пункт Макрос. Появится окно, содержащее список макросов. В начале, макросов у Вас не будет.
• Нажмите кнопку "new" внизу этого окна. Появится другое окно, в котором Вы можете ввести название для нового Макроса и выбрать иконку.
• Введите название Макроса. Выберите его таким образом, чтобы было понятно, что он делает. Например, введите название "assist" (помочь).
• Выберите иконку. Например, меч.
• Нажмите "Okay" – теперь перед Вами появится окно Макросов с выбранной иконкой (меч) и введенным названием ("assist").
• Нажмите левой кнопкой мыши (ЛКМ) на иконке макроса, чтобы выделить ее. Появится кнопка, с помощью которой можно сменить название макроса или его иконку.
• В то время как иконка вашего макроса подсвечена, переместите курсор в область ввода "enter macro commands" (введите команды макроса). Именно там Вы можете вводить то, что Макрос должен делать, когда Вы нажимаете на его иконку. Вам необходимо добавлять "/" перед командой, если она этого требует. В общем, команды необходимо вводить так же, как и при обычном их использовании.
• Введите "/assist Nebu"
• Теперь, поместите курсор над иконкой меча (assist), потом нажмите на ней ЛКМ и зажмите ее (ЛКМ).
• Переместите иконку на свободное место в панели быстрого доступа (action bar).
• Чтобы использовать Ваш новый макрос, нажмите соответствующую цифровую кнопку или нажмите правой кнопкой мыши (ПКМ) на иконке макроса в панели быстрого доступа.
• Теперь, у Вас есть Макрос, с помощью которого Вы можете помогать другому игроку (Nebu) в нападении на монстров. Когда Nebu вступает с кем-нибудь в бой, нажмите кнопку данного Макроса и вашей новой целью станет субъект, с которым дерется Nebu.

Завершение Редактирования Макросов
После того, как вы закончите редактировать или создавать Макросы, нажмите крестик, расположенный в правом верхнем углу окна Макросов, чтобы закрыть его.

Редактирование Существующих Макросов
Введите /macro а затем нажмите на иконке макроса, который Вы хотите редактировать. Теперь Вы можете редактировать выбранный Макрос в области ввода "Enter Macro Commands". Когда Вы закончите, нажмите крестик, расположенный в правом верхнем углу окна Макросов, чтобы закрыть его.

Советы по Использованию Макросов
Используйте любые существующие команды
Вот некоторые другие советы по использованию макросов:
-повторение текста, который вы не хотите вводить снова
-повторение сообщений для аукционов
-создание забавных сообщений
-выполнение последовательности команд, например:
/leave 1 /leave 2 (покинуть каналы 1 и 2)
/join wowtraders (присоединится к каналу wowtraders)
/g Hello everyone! (поприветствовать всех на канале Вашей гильдии)

Дополнительная информация
• Вы можете использовать "%t" в Ваших Макросах, что бы автоматически вставить выбранного монстра, существа, игрока в Ваш Макрос. Например, Макрос "/say hi %t" выведет "Hi Nebu", если Вы в данный момент выбрали игрока Nebu.
/cast позволяет исполнять заклинания по имени. Наберите "/cast (название заклинания)" - Пример "/cast Fireball (Rank 1)". Чтобы использовать эту команду в макросах, Вы можете набрать ее "ручками", или нажать на заклинании с зажатым шифтом (Shift) в книге заклинаний, чтобы автоматически добавить соответствующую команду в макрос.
Вы можете напечатать "" , будет прокручиваться список команд, начинающихся на "а".

Примеры макросов
Макрос на лечение пета
/script M=0;T='player';function F(a)h=UnitHealth(a);d=UnitHealthMax(a)-h;if d>M and h>0 then M=d;T=a;end end F(T);for i=1,4 do p='party'..i;if p then F(p);TargetUnitsPet(p);p='target';if p then F(p);end end end TargetUnit(T);CastSpell(66,'spell')

Смена 2 рукого оружия на 1рукое и щит
/script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem(4,2);PickupContainerItem(4,1);PickupInventoryItem(16);else PickupContainerItem(4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17);end

Автоматическое применение на себе какого либо предмета из рюкзака (например повязки)
/target YourNameHere
/script UseContainerItem(Bag#, Item#);
/script TargetLastEnemy();



Функции макросов
00:57
Основные функции

Хотя это всё функции, некоторые из них являться только информационными, а некоторые, влияют непосредственно на игру, поэтому я разделил всё на методы и свойства, для удобства
.
----------------------------------------------[Методы]
--[действия]--
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()
Описание: Выход из игры

----------------------------------------------[Свойства]
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()
Описание: Показывает инфо о гильдии

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();
Описание: Возвращает координаты вашего тела.

//-------------------------------------[chanel]
LeaveChannelByName(channelname)
LeaveChannelByName("Trade");
Leaves the channel with the specified name.

ListChannelByName(channelname)
ListChannelByName("trad")
Lists all of the channels that match the specified regular expression.

ListChannels()
ListChannels();
Lists all of the channel.

SetChannelPassword(username, password)
SetChannelPassword("Xiphoris","cantkeepassecret")l
Changes the password of the current channel if that is a legal action.

ChannelModerator(channel,player)
ChannelModerator("uimods","Kelthan");
Sets the specified player as the channel moderator.

ChannelUnmoderator(channel, player)
ChannelUnmoderator("uimods", "xiphoric");
Takes the specified user away from the moderator status.

ChannelMute(channel, player)
ChannelMute("uimods","zileas");
Turns off the specified player's ability to speak in a channel.

ChannelUnmute(channel,player)
ChannelUnmute("uimods", "marco");
Unmutes the specified user from the channel.

ChannelInvite(channel,player)
ChannelInvite("cutestelves","glorfindel");
Invites the specified user to the chatroom.

ChannelKick(channel,player)
ChannelKick("bigllamas", "Strong_Bad_Is_Geh");
Kicks the specified user from the channel.

ChannelBan(channel,player)
ChannelBan("uimods", "alexyoshi")
Bans a player from the specified channel.

ChannelUnban(channel, player)
ChannelUnban("uimods", "kat");
Unbans a player from a channel.

ChannelToggleAnnouncements(channel);
ChannelToggleAnnouncements(channel);
Sets the channel to display announcements.

Copyright MyCorp © 2024 |