Jump to content

Como criar macros no Lineage 2


Mickael'

Recommended Posts

Macros são funções que ativam uma série de ações, salvas anteriormente, que podem ser executadas simultaneamente pelo jogador de

Lineage 2.

 

JXd7YEf.jpg

 

Cada jogador possui uma lista que possibilita a criação de até 48 macros. Cada macro possui um nome específico com até 12 caracteres, um apelido com até 4 caracteres, uma descrição com até 32 caracteres e o ícone correspondente a macro também pode ser alterado.Para visualizar suas macros, pressione o atalho “ALT + R”. Aparecerá a imagem mostrada no início deste post.

 

Clique no botão “Add” para criar uma nova macro. Os campos a serem preenchidos com nome e apelido ou até mesmo a troca de ícone são bastante intuitivos, então não vamos falar sobre eles.

Um pouco mais abaixo, você encontrará 12 campos que podem ser preenchidos, um abaixo do outro. Nestes espaços é que você irá colocar as ações a serem executadas em sequência, de cima para baixo.

Mas quais são os comandos para se fazer uma macro? Veja abaixo:

/useskill nomedaskill = utiliza uma determinada skill;

/useskillforce nomedaskill = utiliza uma determinada skill como se você estivesse pressionando a tecla “CTRL”, ou seja, ideal para você fazer macros com combinações de skills de ataque;

/useskillstand nomedaskill = utiliza uma determinada skill como se você estivesse pressionando a tecla “Shift”;

Você também pode utilizar a macro para criar a ação a partir de um atalho. Para isso, arraste o atalho da sua barra até a linha de comando correspondente, que deverá ficar mais ou menos da seguinte forma:

/useshortcut 3 2 = utiliza o atalho, sendo o primeiro número corresponde a linha do atalho e o segundo número corresponde ao atalho;

/useshortcutforce 3 2 = utiliza o atalho como se você estivesse pressionando a tecla “CTRL”;

/useshortcutstand 3 2 = utiliza o atalho como se você estivesse pressionando a tecla “Shift”;

Macros também podem ser criadas para pegar target, utilizando as seguintes opções:

/target nomequalquer = pega o target do nome correspondente;

/target %self = pega o seu próprio target;

/target %pet = pega o target do seu pet;

/target %party3 = pega o target do membro da party que estiver na posição do número, neste caso, a posição 3;

Caso você queira deixar um tempo de espera entre um comando e outro, utilize o comando:

/delay 5 = tempo de espera entre um comando e outro, sendo que o número corresponde ao tempo de espera em segundos;

As macros facilitam muito nossa vida, no entanto existem algumas limitações:

  • Não é possível ativar uma macro dentro de outra macro;
  • Não é possível fazer macros infinitas (para craftar coisas sem parar, por exemplo);
  • As skills especiais dos pets ou summons não podem ser utilizadas em macros;
  • Quando uma macro é executada, outras macros que estiverem sendo executadas são interrompidas automaticamente;

Caso tenham alguma dúvida ou observação a fazer, deixe um comentário. Bom jogo a todos!

 

 

Créditos:PickBoy

Edited by Mickaelll
Link to comment
Share on other sites


  • 6 months later...

Eu ainda tenho uma pergunta. Sobre macro de trocar roupa. Eu ponho a roupa na barra e arrasto pro macro. So que z roupa troca com mt lentideza. Como q eu boto para ir rapido? Servidor eh freya. Eu vi h5 e alguns freya com esse systema...

Tempo é valioso e tempo é dinheiro. Não gaste o meu que eu não gasto o seu. 

  •  
Link to comment
Share on other sites

  • 5 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Join now

    Be part of the largest and oldest communities about Lineage2 in Latin America.





  • Patrocinadores

  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Interessante esse projeto, parabéns @BAN - L2JDev
    • Boa noite alguém pode me manda os arquivos da coroa hero preta??
    • @Kelvin, mesmo efetuando o download do plugin acima, ou trazendo ele junto com a importação do kit, não trouxe os cabeçalhos e rodapés. O que poderia ser?
    • ta dando esse erro ao tentar donatar, alguem sabe como resolver? Edit: o Pagseguro e Paypal estão da mesma forma  O sistema de doação não esta funcionando.  
    • Hola, lo tienen para acis 382, esa version me anda para probar
    • BAN NÃO TOU CONSGUINDO TER ACESSO... TOU SEM O PATCH PODERIA DISPONIBILIZAR ?
    • Hola, ¿tienes un comando de voz para este código?      package net.sf.l2j.gameserver.taskmanager;   import java.util.logging.Logger; import net.sf.l2j.Config; import net.sf.l2j.commons.util.ArraysUtil; import net.sf.l2j.gameserver.enums.ZoneId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.model.holder.IntIntHolder; import net.sf.l2j.gameserver.skills.L2Skill; import net.sf.l2j.gameserver.skills.effects.EffectTemplate; public class AutoPotionTask implements Runnable  {     protected static final Logger _log = Logger.getLogger(AutoPotionTask.class.getName());     private int itemId;     private Player player;     private static final int[] HP_POTION_SKILL_IDS = new int[]{2031, 2032, 2037};     public AutoPotionTask(int itemId, Player player)      {         this.itemId = itemId;         this.player = player;     }     @Override     public void run()      {         if (player.isInOlympiadMode())          {             player.sendMessage("You cannot that in olympiad mode.");             player.stopAutoPotion(itemId);             return;         }                  if (player.isInJail() || player.isInsideZone(ZoneId.JAIL))          {             player.sendMessage("You cannot that in Jail mode.");             return;         }         if (Config.AUTO_POTIONS_LIMITS.containsKey(itemId))          {             String type = ((String[])Config.AUTO_POTIONS_LIMITS.get(itemId))[0];             int val = Integer.parseInt(((String[])Config.AUTO_POTIONS_LIMITS.get(itemId))[1]);             switch (type)              {                 case "CP":                 {                     if (!(player.getStatus().getCp() / (double)player.getStatus().getMaxCp() * 100.0 > (double)val)) break;                     return;                 }                 case "HP":                  {                     if (!(player.getStatus().getHp() / (double)player.getStatus().getMaxHp() * 100.0 > (double)val)) break;                     return;                 }                 case "MP":                  {                     if (!(player.getStatus().getMp() / (double)player.getStatus().getMaxMp() * 100.0 > (double)val)) break;                     return;                 }             }         }         if (!player.destroyItemByItemId("auto potion use", itemId, 1, null, true))          {             player.stopAutoPotion(itemId);             player.sendMessage("Incorrect item count.");             return;         }         if (player.getInventory().getItemByItemId(itemId) == null)          {             player.stopAutoPotion(itemId);             return;         }         IntIntHolder[] skills = player.getInventory().getItemByItemId(itemId).getEtcItem().getSkills();         if (skills == null)          {             _log.info("{} doesn't have any registered skill for handler." + player.getInventory().getItemByItemId(itemId).getName());             return;         }         for (IntIntHolder skillInfo : skills)          {             EffectTemplate template;             L2Skill itemSkill;             if (skillInfo == null || (itemSkill = skillInfo.getSkill()) == null) continue;             if (!itemSkill.checkCondition((Creature)player, (Creature)player, false))              {                 return;             }             if (player.isSkillDisabled(itemSkill))             {                 return;             }             if (itemSkill.isPotion() || itemSkill.isSimultaneousCast())              {                 player.getAI().tryToCast((Creature)player, itemSkill, false, false, itemId);             }              else              {                 player.getAI().tryToCast((Creature)player, itemSkill, false, false, itemId);             }             int skillId = skillInfo.getId();             if (!ArraysUtil.contains((int[])HP_POTION_SKILL_IDS, (int)skillId) || skillId < player.getShortBuffTaskSkillId() || (template = (EffectTemplate)itemSkill.getEffectTemplates().get(0)) == null) continue;             player.shortBuffStatusUpdate(skillId, skillInfo.getValue(), template.getCounter() * template.getPeriod());         }     }     public int getItemId()      {         return itemId;     } }  
    • @Ivan Pires como está as entregas automáticas desse painel?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.