[MACRO] Troca armadura antes de quebrar!

Bem-vindo!

Ao se registrar conosco, você poderá discutir, compartilhar e enviar mensagens privadas com outros membros da nossa comunidade.

Registrar agora!


Status
Não está aberto para novas respostas.
Entrou
Fev 3, 2013
Mensagens
2,526
Pontuação de reação
946
Idade
25
Localização
''Onde a morte se torna vida''
Cubos
0
Olá nubs :p

Hoje trago uma macro que vai trocando cada parte do seu set quando ele fica no vermelho. Você pode colocar seus sets em qualquer lugar do inventário que a macro vai procurar e equipá-lo. A função é parecida com a dos Autoarmor que já existem, mas a diferença é que ela troca o set antes de quebrar!

O que a macro faz até o momento ?

* Sistema liga e desliga;
* Funciona apenas com Armadura de Diamante;
* Localiza sets novos em qualquer slot;
* Caso você não tenha alguma parte com durabilidade boa no inventário a macro entende, avisa e desliga.
*Caso queira alterar a durabilidade para guardar as armaduras basta iniciar a macro apertando Control.

Instalação
Primeira vez instalando macros ? Aprenda a instalar aqui

Código da macro:
Código:
$${

IF(first);
ELSE
SET(#durabilidade == 50);
LOG("");
LOG("&a&oA durabilidade padrão para guardar o SET é de &450&a.");
LOG("");
LOG("&a&oCaso queira alterar a durabilidade basta iniciar a MACRO apertando &4CONTROL&a.");  
LOG("");
SET(first);
ENDIF;

IF(KEY_LCONTROL);
    PROMPT(#durabilidade,$$?,"Quer guardar o set com qual durabilidade?");
        ifmatches("%#durabilidade%","^(\d+)$");
        LOG("&0&l[&9&lMACRO&0&l] &9O SET será guardado com &4%#durabilidade%&9.");
        ELSE
        SET(#durabilidade,50);
        LOG("&0&l[&9&lMACRO&0&l] &9Resposta &cinválida&9, durabilidade padrão setada como &450&9.");
        ENDIF;
ENDIF;

IF(trocaarmadura);
    LOG("&0&l[&9&lMACRO&0&l] &9Troca Armadura &4&lDESLIGADO&9.");  
    UNSET(trocaarmadura);
    STOP;
ELSE
    LOG("&0&l[&9&lMACRO&0&l] &9Troca Armadura &2&lLIGADO&9.");
    SET(trocaarmadura);
ENDIF;

#cap = 363;
#pei = 528;
#cal = 495;
#bot = 429;
UNSET(#idx);


DO;

IF((%HELMID%!=0)&&(%HELMDURABILITY%<=%#durabilidade%));
SET(swaparmor);
SET(#slot,5);
SET(#part,310);
SET(verificacao);
ELSEIF((%CHESTPLATEID%!=0)&&(%CHESTPLATEDURABILITY%<=%#durabilidade%));
SET(swaparmor);
SET(verificacao);
SET(#slot,6);
SET(#part,311);
ELSEIF((%LEGGINGSID%!=0)&&(%LEGGINGSDURABILITY%<=%#durabilidade%));
SET(swaparmor);
SET(verificacao);
SET(#slot,7);
SET(#part,312);
ELSEIF((%BOOTSID%!=0)&&(%BOOTSDURABILITY%<=%#durabilidade%));
SET(swaparmor);
SET(verificacao);
SET(#slot,8);
SET(#part,313);

ENDIF;

IF(%HELMID%=0);
SET(autoarmor);
SET(verificacao);
SET(&parte,Capacete);
SET(#idx,"310");
DEC(#cap,%#durabilidade%);
SET(#durabilidadetrocar,%#cap%);
ELSEIF(%CHESTPLATEID%=0);
SET(autoarmor);
SET(verificacao);
SET(&parte,Peitoral);
SET(#idx,"311");
DEC(#pei,%#durabilidade%);
SET(#durabilidadetrocar,%#pei%);
ELSEIF(%LEGGINGSID%=0);
SET(autoarmor);
SET(verificacao);
SET(&parte,Calça);
SET(#idx,"312");
DEC(#cal,%#durabilidade%);
SET(#durabilidadetrocar,%#cal%);
ELSEIF(%BOOTSID%=0);
SET(autoarmor);
SET(verificacao);
SET(&parte,Bota);
SET(#idx,"313");
DEC(#bot,%#durabilidade%);
SET(#durabilidadetrocar,%#bot%);

ENDIF;

IF(swaparmor);
GUI(INVENTORY);
IF(KEY_W);
KEYDOWN(FORWARD);
ELSEIF(KEY_S);
KEYDOWN(BACK);
ELSEIF(KEY_A);
KEYDOWN(LEFT);
ELSEIF(KEY_D);
KEYDOWN(RIGHT);
ELSEIF(SHIFT);
KEYDOWN(SNEAK);
ELSEIF(KEY_SPACE);
KEYDOWN(JUMP);
ELSEIF(RMOUSE);
KEY(USE);
ENDIF;

SLOTCLICK(%#slot%,L,TRUE);
GUI;
UNSET(swaparmor);
ENDIF;

IF(verificacao);

unsafe(1000);
    gui(inventory);
    for(#for,9,44);
       GETSLOTITEM(%#for%,#ifr,#stack,#data);
            IF((%#ifr%=%#idx%)&&(%#data%<%#durabilidadetrocar%));
            SET(#trocar,"%#for%");
            SET(noarmor)
            ENDIF;
    next;
    gui();
    IF(noarmor);
        UNSET(noarmor);
    ELSE
        LOG("&7&l>>&9Você está sem &4&l%&parte%, &9encerrando macro.");
        LOG("&0&l[&9&lMACRO&0&l] &9Troca Armadura &4&lDESLIGADO&9.");  
        UNSET(trocaarmadura);
        STOP;
    ENDIF;
endunsafe;

UNSET(verificacao);
ENDIF;

IF(autoarmor);
GUI(INVENTORY);
IF(KEY_W);
KEYDOWN(FORWARD);
ELSEIF(KEY_S);
KEYDOWN(BACK);
ELSEIF(KEY_A);
KEYDOWN(LEFT);
ELSEIF(KEY_D);
KEYDOWN(RIGHT);
ELSEIF(SHIFT);
KEYDOWN(SNEAK);
ELSEIF(KEY_SPACE);
KEYDOWN(JUMP);
ELSEIF(RMOUSE);
KEY(USE);
ENDIF;

LOG("&7&l>>&9%&parte% &7substituído&9!");
SLOTCLICK(%#trocar%,L,TRUE);
GUI;
ENDIF;

#cap = 363;
#pei = 528;
#cal = 495;
#bot = 429;
UNSET(#idx);
UNSET(autoarmor);

LOOP;

}$$

Caso encontre algum bug basta me manda uma MP aqui no fórum.
:p

 
Última edição:
Olá nubs :p

Hoje trago uma macro que vai trocando cada parte do seu set quando ele fica no vermelho. Você pode colocar seus sets em qualquer lugar do inventário que a macro vai procurar e equipá-lo. A função é parecida com a dos Autoarmor que já existem, mas a diferença é que ela troca o set antes de quebrar!

O que a macro faz até o momento ?

* Sistema liga e desliga;
* Funciona apenas com Armadura de Diamante;
* Entende a durabilidade de cada parte do set, e troca caso chegue a menos 100 de durabilidade;
* Localiza sets novos em qualquer slot;
* Caso você não tenha alguma parte com durabilidade boa no inventário a macro entende, avisa e desliga.

Instalação
Primeira vez instalando macros ? Aprenda a instalar aqui

Código da macro:
Código:
$${
if(swiftarmor);
    STOP(swiftdefender);
    unset(swiftarmor);
    log(&0&l[&3&lMACRO&0&l] &c&lSwap Armor &4&lDESLIGADO);
    stop;


else; 
    EXEC(swiftdefender.txt,swiftdefender);
    set(swiftarmor);
    log(&0&l[&3&lMACRO&0&l] &c&lSwap Armor &2&lLIGADO);


UNSET(#slot1);
UNSET(#slot2);
UNSET(#slot3);
UNSET(#slotp);
UNSET(#slotpe);
UNSET(#slotpei);
UNSET(#slotc);
UNSET(#slotca);
UNSET(#slotcal);
UNSET(#slotb);
UNSET(#slotbo);
UNSET(#slotbot);


SET(#cmc,9);
SET(#cmc2,9);
SET(#cmc3,9);
SET(#cmc4,9);

//CAPACETE

do;
if(%HELMDURABILITY%>100);

ELSE;

GUI(INVENTORY);
UNSAFE;

        getslot(310,#slot1,%#cmc%);
            slotclick(%#slot1%);
            SLOTCLICK(5);
            SLOTCLICK(%#slot1%);
            SET(#slot2,"%#slot1%");
            INC(#slot2,1);

if(%HELMDURABILITY%<100);
         getslot(310,#slot3,%#slot2%);
            slotclick(%#slot3%);
            SLOTCLICK(5);
            SLOTCLICK(%#slot3%);
            SET(#cmc,"%#slot3%");

          
ENDIF;

IF(%HELMID%=0);
        SLOTCLICK(5);
        GUI;
    unset(swiftarmor);
    log(&0&l[&3&lMACRO&0&l] &fTodos seus &9&lCAPACETES&f estão com baixa &4&lDURABILIDADE);
    log(&0&l[&3&lMACRO&0&l] &c&lSwap Armor &4&lDESLIGADO);
    STOP(swiftdefender);
    stop;
ENDIF;

GUI;
ENDunsafe;
endif;
//loop;

//PEITO

if(%CHESTPLATEDURABILITY%>100);

ELSE;

GUI(INVENTORY);
UNSAFE;

        getslot(311,#slotp,%#cmc2%);
            slotclick(%#slotp%);
            SLOTCLICK(6);
            SLOTCLICK(%#slotp%);
            SET(#slotpe,"%#slotp%");
            INC(#slotpe,1);

if(%CHESTPLATEDURABILITY%<100);
         getslot(311,#slotpei,%#slotpe%);
            slotclick(%#slotpei%);
            SLOTCLICK(6);
            SLOTCLICK(%#slotpei%);
            SET(#cmc2,"%#slotpei%");
          

ENDIF;

IF(%CHESTPLATEID%=0);
        SLOTCLICK(6);
        GUI;
    unset(swiftarmor);
    log(&0&l[&3&lMACRO&0&l] &fTodos seus &9&lPEITORAIS&f estão com baixa &4&lDURABILIDADE);
    log(&0&l[&3&lMACRO&0&l] &c&lSwap Armor &4&lDESLIGADO);
    STOP(swiftdefender);
    stop;
ENDIF;

GUI;
ENDunsafe;
endif;
//loop;

//CALÇA


if(%LEGGINGSDURABILITY%>100);

ELSE;

GUI(INVENTORY);
UNSAFE;

        getslot(312,#slotc,%#cmc3%);
            slotclick(%#slotc%);
            SLOTCLICK(7);
            SLOTCLICK(%#slotc%);
            SET(#slotca,"%#slotc%");
            INC(#slotca,1);

if(%LEGGINGSDURABILITY%<100);
         getslot(312,#slotcal,%#slotca%);
            slotclick(%#slotcal%);
            SLOTCLICK(7);
            SLOTCLICK(%#slotcal%);
            SET(#cmc3,"%#slotcal%");
          

ENDIF;

IF(%LEGGINGSID%=0);
        SLOTCLICK(7);
        GUI;
    unset(swiftarmor);
    log(&0&l[&3&lMACRO&0&l] &fTodas suas &9&lCALÇAS&f estão com baixa &4&lDURABILIDADE);
    log(&0&l[&3&lMACRO&0&l] &c&lSwap Armor &4&lDESLIGADO);
    STOP(swiftdefender);
    stop;
ENDIF;

GUI;
ENDunsafe;
endif;
//loop;

//BOTA


if(%BOOTSDURABILITY%>100);

ELSE;

GUI(INVENTORY);
UNSAFE;

        getslot(313,#slotb,%#cmc4%);
            slotclick(%#slotb%);
            SLOTCLICK(8);
            SLOTCLICK(%#slotb%);
            SET(#slotbo,"%#slotb%");
            INC(#slotbo,1);

if(%BOOTSDURABILITY%<100);
         getslot(313,#slotbot,%#slotbo%);
            slotclick(%#slotbot%);
            SLOTCLICK(8);
            SLOTCLICK(%#slotbot%);
            SET(#cmc4,"%#slotbot%");
          

ENDIF;

IF(%BOOTSID%=0);
        SLOTCLICK(8);
        GUI;
    unset(swiftarmor);
    log(&0&l[&3&lMACRO&0&l] &fTodas suas &9&lBOTAS&f estão com baixa &4&lDURABILIDADE);
    log(&0&l[&3&lMACRO&0&l] &c&lSwap Armor &4&lDESLIGADO);
    STOP(swiftdefender);
    stop;
ENDIF;

GUI;
ENDunsafe;
endif;
loop;

}$$

Caso encontre algum bug basta me manda uma MP aqui no fórum.
:p

Funciona na 1.8?
 
*Código da macro praticamente refeito, agora funciona de forma mais eficiente além de muitos bugs corrigidos, agradeço a quem me deu um feedback por MP.

Novidade: Agora você pode editar e escolher a durabilidade que quiser para guardar as armaduras, basta iniciar a macro apertando Control.
 
Status
Não está aberto para novas respostas.

Usuários que estão visualizando este tópico

Voltar
Topo