ENTREGUE Bate-Volta [Meu sprint] ;)

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.
ZeengO disse:
Bom, como vcs já devem saber meu macro espalhou graças a um player que fez uma coisa errada mas tudo bem, então vou disponibiliza-lo pra vcs possam usar a vontade. Se o tópico for excluido me manda uma mp que eu repasso o macro novamente. Com certeza vcs já devem saber configurar então é só usar. Ele detecta a parede e quando bate nela vai na direção oposta dela e vice versa.


$${
if(x);unset(x);unsprint;log(&3 Desligado);STOP;
else;set(x);log(&3 Correndo!);
endif;

do;
ifmatches(%GUI%,None);
if(%#tr%>0);keyup(ForWard);endif;
dec(#tr,%#tr%);
if(KEY_W);sprint;else;unsprint;endif;

else;
&dir=%DIRECTION%;

ifmatches(%GUI%,Inventory|Chat|Chest|Furnace);
keydown(FORWARD);SPRINT;
ifmatches(%DIRECTION%,N);#a=-1;#b=0;&op=SOUTH;endif;ifmatches(%DIRECTION%,S);#a=+1;#b=0;&op=NORTH;endif;
ifmatches(%DIRECTION%,W);#a=0;#b=-1;&op=EAST;endif;ifmatches(%DIRECTION%,E);#a=0;#b=+1;&op=WEST;endif;
getidrel(%#b%,1,%#a%,#d,);getidrel(%#b%,0,%#a%,#c,);if((%#c%!=0)|(%#d%!=0));;&dir=%&op%;endif;look(%&dir%);

if(KEY_S);
ifmatches(%DIRECTION%,N);#a=-1;#b=0;&op=SOUTH;endif;ifmatches(%DIRECTION%,S);#a=+1;#b=0;&opNORTH;endif;
ifmatches(%DIRECTION%,W);#a=0;#b=-1;&op=EAST;endif;ifmatches(%DIRECTION%,E);#a=0;#b=+1;&op=WEST;endif;
getidrel(%#b%,1,%#a%,#d,);getidrel(%#b%,0,%#a%,#c,);if((%#c%!=0)|(%#d%!=0));&dir=%&op%;endif;look(%&dir%);keydown(back);else;keyup(back);endif;

if(KEY_A);
ifmatches(%DIRECTION%,N);#a=-1;#b=0;&op=SOUTH;endif;ifmatches(%DIRECTION%,S);#a=+1;#b=0;&opNORTH;endif;
ifmatches(%DIRECTION%,W);#a=0;#b=-1;&op=EAST;endif;ifmatches(%DIRECTION%,E);#a=0;#b=+1;&op=WEST;endif;
getidrel(%#b%,1,%#a%,#d,);getidrel(%#b%,0,%#a%,#c,);if((%#c%!=0)|(%#d%!=0));&dir=%&op%;endif;look(%&dir%);keydown(left);else;keyup(left);endif;


if(KEY_D);
ifmatches(%DIRECTION%,N);#a=-1;#b=0;&op=SOUTH;endif;ifmatches(%DIRECTION%,S);#a=+1;#b=0;&opNORTH;endif;
ifmatches(%DIRECTION%,W);#a=0;#b=-1;&op=EAST;endif;ifmatches(%DIRECTION%,E);#a=0;#b=+1;&op=WEST;endif;
getidrel(%#b%,1,%#a%,#d,);getidrel(%#b%,0,%#a%,#c,);if((%#c%!=0)|(%#d%!=0));&dir=%&op%;endif;look(%&dir%);keydown(right);else;keyup(right);endif;

if(KEY_SPACE);keydown(jump);else;keyup(jump);endif;
inc(#tr,1);
endif;

endif;
loop;
}$$
em, eu nao entendi direito tudo o que o macro faz, ele corre eternamente e qando ve parede ele vira?
me diz ai se for isso?

cara, tem um jeito muuuito mais simples de fazer isso :

if(%&hit%=block);

"se visão for bloco"

#yw=%YAW%;
#pt=%PITCH%;

isso deve ser setado antes de virar

looks(%YAW%,0);

isso faz olhar ao inverso do atual
mais ou menos assim:


$${
TOGGLE;
IF(flag);
DO;
SPRINT;
keydown(forward);

if(%&hit%=block);
#yw=%YAW%;
#pt=%PITCH%;
looks(%YAW%,0);
LOOP; ELSE; UNSPRINT;
stop; endif; }$$

ops nem testei
testa ae e coloca no meio do seu macro
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo