[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.

Inscreva-se agora!
Status
Não está aberto para novas respostas.

Oregonl

Craftlandiano
VIP
Entrou
Fev 3, 2013
Mensagens
2,526
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.

Users who are viewing this thread

Voltar
Topo