Eu peguei o script([topic='197681']esse[/topic]) feito pelo [member='Substituto'] e fiz as alterações:
- Fixei o erro de pular fileiras;
- Adicionei a opção de escolher em qual HotBar está o item a ser utilizado (Por padrão era o 9);
- Adicionei a opção que vi muitos pedirem sobre colher em vários andares;
O seu funcionamento básico continua o mesmo feito pelo seu autor original.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Como usar?
As regras de funcionamento permanecem as mesmas, porém o início mudou:
- Ao liga-lo, ele perguntará em qual HotBar está o item a ser utilizado na colheita (digite o número entre 1 e 9). O valor do HotBar passado deverá estar com algum item, não importando qual seja, só não pode estar vazio.
- Depois perguntará quando andares tem sua plantação. Caso tenha apenas um único andar, pode apenas dá enter, ou digitar 0 ou 1. Se tiver mais que um andar, digite quantos.
- Caso tenha mais de um andar, ele perguntará qual é o nome do /home da plantação, caso ao contrário inicia a colheita. O nome da home funciona assim: Ex. Sua plantação tem 5 andares, e você definiu os /home de cada um sendo /home plant1, /home plant2, etc. Então você vai digitar 'plant' (sem aspas). Atenção: Todos os andares devem estar com /home definido no local inicial da colheita seguindo o padrão já explicado.
- Ao terminar ele irá para o seu /home.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Change Log:
25/01/2014 :
- Com o aviso do [member='malucostf'], foi detectado erros ao mudar de andar ou dar qualquer /home em ambientes com LAG;
26/01/2012 :
- Foi corrigido o erro ao dar /home e script atualizado;
- Foi adicionado um pouco mais de delay para prevenir erros referente a LAG;
- Foi corrigido erros ao mudar de andar da plantação;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Futuros update:
- Adicionar a venda automática dos itens colhidos.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Script atual:
$${
if(running);
log("&4[Craftlandia] Finalizando o macro...");
keyup(FORWARD);
unset(running);
stop();
else;
log("&2[Craftlandia] Iniciando o macro... Passe as informações necessárias para seu funcionamento!");
set(running);
endif;
do;
prompt(#slot,$$?,"[Macro] Digite em qual slot do HotBar está o item a ser utilizado na colheita (1-9) :");
while((%#slot%<1)|(%#slot%>9));
do;
prompt(#storeys,$$?,"[Macro] Digite o numero de anderes que sua plantação tem :");
if(%#storeys%=0);#storeys = 1;endif;
while((%#storeys%<0));
if(%#storeys%>1);prompt(&name,$$?,"[Macro] Digite o nome do /home dos andares :");endif;
&dire=%DIRECTION%;
ifmatches(%&dire%,N);&dire=NORTH;endif;
ifmatches(%&dire%,S);&dire=SOUTH;endif;
ifmatches(%&dire%,E);&dire=EAST;endif;
ifmatches(%&dire%,W);&dire=WEST;endif;
#storey=1;
do;
slot(%#slot%);wait(100ms);
look(%&dire%);wait(100ms);
look(,90);wait(100ms);
key(ATTACK);wait(100ms);
look(,65);wait(100ms);
do;
if((%HITID%=88)|(%HITID%=115));
keydown(FORWARD);
key(ATTACK);wait(50ms);
else;
keyup(FORWARD);
BREAK;
endif;
loop;
look(+180,);wait(100ms);
look(,90);wait(100ms);
pick(372);wait(100ms);
do(3);key(USE);loop;wait(100ms);
look(,65);wait(100ms);
do;
pick(372);
if((%HITID%=88)|(%HITID%=115));
keydown(FORWARD);
key(USE);
wait(50ms);
else;
keyup(FORWARD);
BREAK;
endif;
loop;
key(USE);
wait(1);
for(#i,54,88);
getslotitem(%#i%,#id,#stack);
if(%#id%=372);
slotclick(%#i%,l,true);
wait(50ms);
endif;
next;
gui();
look(-90,);wait(100ms);
if((%HITID%=88)|(%HITID%=115));
wait(100ms);
#posx=%XPOS%;
#posz=%ZPOS%;
keydown(FORWARD);
do;
wait(10ms);
until((%XPOS%=%#posx%+1)|(%XPOS%=%#posx%-1)|(%ZPOS%=%#posz%+1)|(%ZPOS%=%#posz%-1));
keyup(FORWARD);
else;
wait(100ms);
if(%#storeys%>1);
wait(100ms);
if(%#storey%=%#storeys%);
key(CHAT);wait(1);
type(/home);wait(1);
press(RETURN);
wait(8);
unset(running);
stop();
else;
inc(#storey,1);
key(CHAT);wait(1);
type(/home %&name%%#storey%);wait(1);
press(RETURN);
wait(8);
endif;
else;
key(CHAT);wait(1);
type(/home);wait(1);
press(RETURN);
wait(8);
unset(running);
stop();
endif;
endif;
loop;
}$$
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Espero que gostem
Bug's, erros, dúvidas, sugestões, agradecimentos, etc... Deixem aqui mesmo que tentarei responder o mais breve.
Obs: É necessário que a parede a direita da plantação esteja completamente fechada, para que o script detecte o fim do andar, e mude para o próximo ou finalize a plantação.