ENTREGUE FazendaCacto - Macro de plantar cacto

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.

AndersonMC

Neutro
VIP
Entrou
Jul 25, 2012
Mensagens
68
Cubos
0
O que a macro faz?
- Planta os cactos automaticamente;
- Verifica sem tem itens suficientes na hotbar, se não, pega no inventário;
- Facilita sua vida.

Como utilizar?
1 - Faça o primeiro andar de sua plantação normalmente, ou apenas deixe um bloco para demarcar o local onde deve executar a macro (a macro faz apenas uma torre por execução);
2 - Deixe 1 pá (de qualquer tipo de material, ou nem mesmo precisa de pá), terra, areia e cactos (não importa a ordem) no seu inventário;
3 - Olhe para o NORTE (é preciso para não ter erros no próximo passo);
4 - Olhe para baixo e deixe sua mira em alguma área da parte verde marcada na imagem abaixo, sempre EVITE deixar a mira na parte vermelha pois podem haver erros durante a execução da macro;
2mhzKRT.png


5 - Deixe itens reservas no inventário (não obrigatório, mas recomendado);
6 - Execute a macro.

Código (1.5.2):
$${&fcacto = "&6[FazendaCacto]&3";if(fc);unset(fc,faltaitem);log("%&fcacto% &4Desligado");keyup(sneak);keyup(forward);keyup(left);keyup(right);keyup(back);keyup(jump);stop();else;set(fc);#i = 0;#x = 0;#nx = 0;#id = 0;#stack = 0;#t3 = 0;#t12 = 0;#t81 = 0;log("%&fcacto% &2Ligado");prompt(#x,$$?,"Quantos andares?");do(%#x%);unset(faltaitem);wait(500ms);look(NORTH);pick(3);if((%ITEM%!=3)||(%STACKSIZE%<7));gui(inventory);for(#i,9,35);wait(100ms);getslotitem(%#i%,#id,#stack);if(%#id%=3);slotclick(%#i%,l,true);pick(3);if(%STACKSIZE%>=7);break;endif;endif;next;gui();endif;pick(12);if((%ITEM%!=12)||(%STACKSIZE%<5));gui(inventory);for(#i,9,35);wait(100ms);getslotitem(%#i%,#id,#stack);if(%#id%=12);slotclick(%#i%,l,true);pick(12);if(%STACKSIZE%>=5);break;endif;endif;next;gui();endif;pick(81);if((%ITEM%!=81)||(%STACKSIZE%<4));gui(inventory);for(#i,9,35);wait(100ms);getslotitem(%#i%,#id,#stack);if(%#id%=81);slotclick(%#i%,l,true);pick(81);if(%STACKSIZE%>=4);break;endif;endif;next;gui();endif;pick(3);if(%STACKSIZE%<7);set(faltaitem);endif;pick(12);if(%STACKSIZE%<5);set(faltaitem);endif;pick(81);if(%STACKSIZE%<4);set(faltaitem);endif;if(faltaitem);log("%&fcacto% &3Serviço encerrado por falta de materiais!");unset(fc,faltaitem);keyup(sneak);keyup(forward);keyup(left);keyup(right);keyup(back);keyup(jump);stop();endif;pick(3);look(,90);keydown(jump);wait(200ms);key(use);keyup(jump);pick(3);wait(100ms);look(90,80);keydown(back);keydown(sneak);pick(3);wait(1000ms);keyup(back);key(use);keyup(sneak);wait(100ms);look(270,80);keydown(back);keydown(sneak);pick(3);wait(1500ms);keyup(back);key(use);keyup(sneak);wait(100ms);look(180,80);keydown(sneak);keydown(right);wait(650ms);keyup(right);wait(100ms);keyup(sneak);wait(400ms);look(180,80);keydown(back);keydown(sneak);pick(3);wait(1000ms);keyup(back);key(use);keyup(sneak);wait(100ms);look(0,80);keydown(back);keydown(sneak);pick(3);wait(1500ms);keyup(back);key(use);keyup(sneak);wait(100ms);#posz=%ZPOS%;look(0,90);keydown(sneak);do;keydown(forward);until(%ZPOS%=(%#posz%-1));keyup(forward);wait(100ms);keyup(sneak);wait(500ms);look(0,90);keydown(jump);pick(12);wait(200ms);key(use);keyup(jump);wait(100ms);pick(12);look(0,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);pick(12);look(90,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);pick(12);look(180,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);pick(12);look(270,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);look(0,90);pick(3);wait(500ms);keydown(jump);wait(200ms);key(use);keyup(jump);pick(3);wait(500ms);keydown(jump);wait(200ms);key(use);keyup(jump);wait(400ms);look(0,84);keydown(sneak);keydown(back);wait(800ms);keyup(back);wait(200ms);keyup(sneak);look(0,84);pick(269,273,256,277,284);wait(800ms);do;key(attack);until(%HITID%=0);wait(400ms);wait(100ms);pick(81);wait(200ms);look(0,75);keydown(sneak);do;keydown(forward);key(use);until((%HITID%=12)||(%HITID%=81));keyup(forward);wait(200ms);keyup(sneak);key(use);wait(100ms);pick(81);keydown(sneak);keydown(back);wait(250ms);keyup(back);wait(200ms);look(90,75);do;keydown(forward);key(use);until((%HITID%=12)||(%HITID%=81));keyup(forward);wait(200ms);keyup(sneak);wait(400ms);key(use);wait(100ms);pick(81);keydown(sneak);keydown(back);wait(250ms);keyup(back);wait(200ms);look(180,75);do;keydown(forward);key(use);until((%HITID%=12)||(%HITID%=81));keyup(forward);wait(200ms);keyup(sneak);wait(400ms);key(use);wait(100ms);pick(81);keydown(sneak);keydown(back);wait(250ms);keyup(back);wait(200ms);look(270,75);do;keydown(forward);key(use);until((%HITID%=12)||(%HITID%=81));keyup(forward);wait(200ms);keyup(sneak);wait(400ms);key(use);INC(#nx);log("%&fcacto% &2[%#nx%/%#x%] &3Andares prontos");loop;if(%#nx%=%#x%);log("%&fcacto% &3Todos os andares foram concluidos!");endif;log("%&fcacto% &3Serviço encerrado!");unset(fc,faltaitem);keyup(sneak);keyup(forward);keyup(left);keyup(right);keyup(back);keyup(jump);stop();endif}$$

Código (1.7.4) - Créditos para [member='Ernanik']
$${&fcacto = "&6[FazendaCacto]&3";if(fc);unset(fc,faltaitem);log("%&fcacto% &4Desligado");keyup(sneak);keyup(forward);keyup(left);keyup(right);keyup(back);keyup(jump);stop();else;set(fc);#i = 0;#x = 0;#nx = 0;#id = 0;#stack = 0;#t3 = 0;#tsand = 0;#tcactus = 0;log("%&fcacto% &2Ligado");prompt(#x,$$?,"Quantos andares?");do(%#x%);unset(faltaitem);wait(500ms);look(NORTH);pick(dirt);if((%ITEM%!=3)||(%STACKSIZE%<7));gui(inventory);for(#i,9,35);wait(100ms);getslotitem(%#i%,#id,#stack);if(%#id%=3);slotclick(%#i%,l,true);pick(dirt);if(%STACKSIZE%>=7);break;endif;endif;next;gui();endif;pick(sand);if((%ITEM%!=sand)||(%STACKSIZE%<5));gui(inventory);for(#i,9,35);wait(100ms);getslotitem(%#i%,#id,#stack);if(%#id%=sand);slotclick(%#i%,l,true);pick(sand);if(%STACKSIZE%>=5);break;endif;endif;next;gui();endif;pick(cactus);if((%ITEM%!=cactus)||(%STACKSIZE%<4));gui(inventory);for(#i,9,35);wait(100ms);getslotitem(%#i%,#id,#stack);if(%#id%=cactus);slotclick(%#i%,l,true);pick(cactus);if(%STACKSIZE%>=4);break;endif;endif;next;gui();endif;pick(dirt);if(%STACKSIZE%<7);set(faltaitem);endif;pick(sand);if(%STACKSIZE%<5);set(faltaitem);endif;pick(cactus);if(%STACKSIZE%<4);set(faltaitem);endif;if(faltaitem);log("%&fcacto% &3Serviço encerrado por falta de materiais!");unset(fc,faltaitem);keyup(sneak);keyup(forward);keyup(left);keyup(right);keyup(back);keyup(jump);stop();endif;pick(dirt);look(,90);keydown(jump);wait(200ms);key(use);keyup(jump);pick(dirt);wait(100ms);look(90,80);keydown(back);keydown(sneak);pick(dirt);wait(1000ms);keyup(back);key(use);keyup(sneak);wait(100ms);look(270,80);keydown(back);keydown(sneak);pick(dirt);wait(1500ms);keyup(back);key(use);keyup(sneak);wait(100ms);look(180,80);keydown(sneak);keydown(right);wait(650ms);keyup(right);wait(100ms);keyup(sneak);wait(400ms);look(180,80);keydown(back);keydown(sneak);pick(dirt);wait(1000ms);keyup(back);key(use);keyup(sneak);wait(100ms);look(0,80);keydown(back);keydown(sneak);pick(dirt);wait(1500ms);keyup(back);key(use);keyup(sneak);wait(100ms);#posz=%ZPOS%;look(0,90);keydown(sneak);do;keydown(forward);until(%ZPOS%=(%#posz%-1));keyup(forward);wait(100ms);keyup(sneak);wait(500ms);look(0,90);keydown(jump);pick(sand);wait(200ms);key(use);keyup(jump);wait(100ms);pick(sand);look(0,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);pick(sand);look(90,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);pick(sand);look(180,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);pick(sand);look(270,68);do;keydown(sneak);keydown(forward);until(%HITID%=3);keyup(forward);wait(200ms);keyup(sneak);wait(600ms);key(use);wait(100ms);look(0,90);pick(dirt);wait(500ms);keydown(jump);wait(200ms);key(use);keyup(jump);pick(dirt);wait(500ms);keydown(jump);wait(200ms);key(use);keyup(jump);wait(400ms);look(0,84);keydown(sneak);keydown(back);wait(800ms);keyup(back);wait(200ms);keyup(sneak);look(0,84);pick(wooden_shovel,stone_shovel,iron_shovel,diamond_shovel,golden_shovel);wait(800ms);do;key(attack);until(%HITID%=air);wait(400ms);wait(100ms);pick(cactus);wait(200ms);look(0,75);keydown(sneak);do;keydown(forward);key(use);until((%HITID%=sand)||(%HITID%=cactus));keyup(forward);wait(200ms);keyup(sneak);key(use);wait(100ms);pick(cactus);keydown(sneak);keydown(back);wait(250ms);keyup(back);wait(200ms);look(90,75);do;keydown(forward);key(use);until((%HITID%=sand)||(%HITID%=cactus));keyup(forward);wait(200ms);keyup(sneak);wait(400ms);key(use);wait(100ms);pick(cactus);keydown(sneak);keydown(back);wait(250ms);keyup(back);wait(200ms);look(180,75);do;keydown(forward);key(use);until((%HITID%=sand)||(%HITID%=cactus));keyup(forward);wait(200ms);keyup(sneak);wait(400ms);key(use);wait(100ms);pick(cactus);keydown(sneak);keydown(back);wait(250ms);keyup(back);wait(200ms);look(270,75);do;keydown(forward);key(use);until((%HITID%=sand)||(%HITID%=cactus));keyup(forward);wait(200ms);keyup(sneak);wait(400ms);key(use);INC(#nx);log("%&fcacto% &2[%#nx%/%#x%] &3Andares prontos");loop;if(%#nx%=%#x%);log("%&fcacto% &3Todos os andares foram concluidos!");endif;log("%&fcacto% &3Serviço encerrado!");unset(fc,faltaitem);keyup(sneak);keyup(forward);keyup(left);keyup(right);keyup(back);keyup(jump);stop();endif}$$

Obsrvações:
- Sujeita a menos erros que a já existente devido a detecção de blocos paraexecutar as ações e vários testes feitos;
- Fique monitorando a execução pois podem haver BUGs, mas as chances de você morrer nos cactos é mínima.
- Testes feitos com média de 13 FPS, resultados: 100% do esperado.

Dúvidas, BUGs, etceteras...
Comente abaixo ou mande pm.

Desenvolvimento
Autor: AndersonMC
Alguns trechos de código retirado da macro Plant de Cacto automática v2.0 [NAO VIP] do Inglad;
Ajuda do Phodalao.

Por que fiz está macro?
Para mim quando estava colocando a terra ele andava de mais para o lado, ficando torto o resto da plantação, então fiz está macro visando detectar os blocos para tomar as ações, ficando mais preciso.
 
Funciona com qualquer pá, ou até mesmo sem, em segundo plano funciona se seu FPS não for muito baixo, mas pra evitar que dê algum erro durante a execução da macro é melhor deixar a janela do jogo aberta. Mas você pode testar ai, qualquer coisa comenta se funcionou =)
 
AndersonMC disse:
Funciona com qualquer pá, ou até mesmo sem, em segundo plano funciona se seu FPS não for muito baixo, mas pra evitar que dê algum erro durante a execução da macro é melhor deixar a janela do jogo aberta. Mas você pode testar ai, qualquer coisa comenta se funcionou =)
Funcionou direitinho,Up.
 
Vou Testar,Se Funcionar Eu Dou Um Like :p,Nao Funcionou,acho que e porque nao e pra 1.7 como eu pedi.
 
cara o macro é mt top, mas ele não dá para colocar a fazer andar e ir por exemplo assistir 1 filme ou algo do gênero :/, na hora de quebrar a terra em cima do cacto ele "buga" e não parte fica batendo como se n tivesse lá nenhuma terra, só parte se clicarmos de novo em cima do mine, alguém sabe como resolver isso? kk porque é meio chato encher plant 100x100 e ser obrigado a assistir ao macro a colocar os cactos ;-;
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo