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.

Registrar agora!
  • PROMOÇÃO DE NATAL NO AR

    Novo servidor: CraftLandia Olimpo


Status
Não está aberto para novas respostas.

AndersonMC

Neutro
VIP
Entrou
Jul 25, 2012
Mensagens
68
Pontuação de reação
16
Idade
27
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.
 
Valeu amigo, fiz exatamente por isso, meu FPS é muito baixo ai fiz pensando nisso =D
 
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.
 
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 ;-;
 
faz um video com o f3 "ligado", mostrando o tal bug
 
Status
Não está aberto para novas respostas.

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

Voltar
Topo