| 
		
	
	
	
		
	Posts: 64 
	Threads: 23 
	Joined: Aug 2012
	
 Reputation: 
0 
	
		
		
		10-23-2012, 04:29 AM 
(This post was last modified: 10-25-2012, 04:49 PM by aniro.)
		
	 
		Tenho que subir em um lugar, quero um macro q o char tente subir pelos parcels "andando pra frente" e se nao tiver parcel "se nao for possivel andar para frente, ou se ele ficar no mesmo lugar, usar exani hur up.
	 
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
 
	
	
	
		
	Posts: 2,912 
	Threads: 79 
	Joined: Jan 2012
	
 Reputation: 
0 
	
	
		 (10-23-2012, 04:29 AM)aniro Wrote:  Tenho que super em um lugar, quero um macro q o char tente subir pelos parcels "andando pra frente" e se nao tiver parcel "se nao for possivel andar para frente, ou se ele ficar no mesmo lugar usar exani hur up. 
Posta o macro que você já tentou criar e que não funcionou.
	 
	
	
	
		
	Posts: 64 
	Threads: 23 
	Joined: Aug 2012
	
 Reputation: 
0 
	
	
		 (10-23-2012, 06:29 PM)Dexter Wrote:   (10-23-2012, 04:29 AM)aniro Wrote:  Tenho que super em um lugar, quero um macro q o char tente subir pelos parcels "andando pra frente" e se nao tiver parcel "se nao for possivel andar para frente, ou se ele ficar no mesmo lugar usar exani hur up. Posta o macro que você já tentou criar e que não funcionou.
 
eu coloquei no Cavebot um Self.MoveN e no mesmo sqm um Self.say(exani hur up) mas com isso ele subia um andar e meio q se perdia pq o hur up tava programado pro andar de baixo.
	 
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
 
	
	
	
		
	Posts: 2,912 
	Threads: 79 
	Joined: Jan 2012
	
 Reputation: 
0 
	
	
		Não é mais fácil usar um macro de "exani hur up" direto? Talvez seja inviável esse macro que tu pretende criar.
	 
	
	
	
		
	Posts: 64 
	Threads: 23 
	Joined: Aug 2012
	
 Reputation: 
0 
	
		
		
		10-25-2012, 03:36 PM 
(This post was last modified: 10-25-2012, 05:01 PM by aniro.)
		
	 
		 (10-23-2012, 09:32 PM)Dexter Wrote:  Não é mais fácil usar um macro de "exani hur up" direto? Talvez seja inviável esse macro que tu pretende criar. 
Deixa eu te ajudar com o Raciocinio, ja que nao manjo da mecanica. 
 
1- coloca o char pra andar até o ponto que tem ( ou nao ) os parcels. (FIxed) 
2- manda ele self.moveN()  
3- manda ele conferir a posição Self.PositionIn( coordenadas de onde ficam os parcels) se retornar 1 - ou seja se ele continuar no mesmo sqm q já estava quando tentou andar para frente, Usar exani hur up se nao retornar 1 fim do macro.
 
Cara isso eh uma dia, só nao sei como colocar tudo junto. como montar o macro no caso.
 
Obrigado.
 
Ficaria assim? 
 
X:= X do local dos parcels 
Y:= Y do Local dos parcels 
Z:= Z do local dos parcels
 
{MoveN/Up} Self.MoveN() Self.PositionIn(!X!, !Y!, !Z!, !X!, !Y!, !Z!)<>1 Self.Say(Exani hur "up)
 
Ou
 
ai eu colocaria o Self.MoveN no cavebot e logo depois chamando o macro MoveN/Up
 
{MoveN/Up} Self.PositionIn(!X!, !Y!, !Z!, !X!, !Y!, !Z!)<>1 Self.Say(Exani hur "up)
 
(nunca fiz macro composto entao nao faço idéia se ta correto, e estou no trabalho, nao tenho como testar.)
 
Obrigado
	 
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
 
	
	
	
		
	Posts: 2,912 
	Threads: 79 
	Joined: Jan 2012
	
 Reputation: 
0 
	
	
		No comando Self.PositionIn() você deve colocar os valores das coordenadas. Ex:
 Self.PositionIn(31234, 32456, 7, 31234, 32456, 7)
 
 Posta uma imagem do local com os parcels, pois fica mais fácil eu lhe explicar meu raciocínio.
 
	
	
	
		
	Posts: 64 
	Threads: 23 
	Joined: Aug 2012
	
 Reputation: 
0 
	
	
		 (10-25-2012, 09:20 PM)Dexter Wrote:  No comando Self.PositionIn() você deve colocar os valores das coordenadas. Ex:
 Self.PositionIn(31234, 32456, 7, 31234, 32456, 7)
 
 Posta uma imagem do local com os parcels, pois fica mais fácil eu lhe explicar meu raciocínio.
 
X 
32809 
Y 
32020 
Z 
7 
Self.MoveN() 
Macro.Wait(1000) 
Self.PositionIn(!X!, !Y!, !Z!, !X!, !Y!, !Z!)<>1 
OnSelf.PositionIn<1 
Self.TurnN() 
Macro.Wait(1000) 
Self.Say(Exani hur "up) 
OnSelf.PositionIn>1 
Exit()
 
tentei usar esse deu quase certo mas ele da mais um exani hur up quando sobe pelos parcels
	 
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
 
	
	
	
		
	Posts: 2,912 
	Threads: 79 
	Joined: Jan 2012
	
 Reputation: 
0 
	
	
		Cara, de onde tu tirou esse comando "OnSelf.PositionIn"?
 Se tu não quer postar a imagem aqui no fórum, me manda por MP.
 
	
	
	
		
	Posts: 64 
	Threads: 23 
	Joined: Aug 2012
	
 Reputation: 
0 
	
		
		
		10-26-2012, 12:34 AM 
(This post was last modified: 10-26-2012, 01:16 AM by aniro.)
		
	 
		 (10-25-2012, 11:10 PM)Dexter Wrote:  Cara, de onde tu tirou esse comando "OnSelf.PositionIn"?
 Se tu não quer postar a imagem aqui no fórum, me manda por MP.
 
como assim cara? que imagem?
 
A minha intenção com o macro ali foi fazer assim, ele pega o numero do sqm q ele ta (que tao os parcels embaixo dele ou nao) ai ele tenta ir pra frente, ai o macro se pergunta "estou no mesmo sqm?"(o dos parcel) se sim da hur up, se nao continua a hunt!
 
Problema que esta acontecendo? se tem os parcels ele sobe, e se nao tem ele da o hur up "tudo perfeito entao?" errado! dpois que ele por parcel ele da hur up "ja no andar de cima" e isso pode me atrapalhar bastante ;/.
 
Me ajude por favor!
	 
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
 
	
	
	
		
	Posts: 2,912 
	Threads: 79 
	Joined: Jan 2012
	
 Reputation: 
0 
	
	
	
		
	Posts: 64 
	Threads: 23 
	Joined: Aug 2012
	
 Reputation: 
0 
	
		
		
		10-26-2012, 01:24 AM 
(This post was last modified: 10-26-2012, 03:14 AM by Dexter.)
		
	 
		 (10-26-2012, 01:07 AM)Dexter Wrote:  A imagem que te pedi nesse post:http://forums.bmega.net/showthread.php?t...8#pid26998
 
edit 
removi a imagem    
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
 
	
	
	
		
	Posts: 2,912 
	Threads: 79 
	Joined: Jan 2012
	
 Reputation: 
0 
	
	
		![[Image: 15fkdjc.png]](http://i46.tinypic.com/15fkdjc.png)  
O quadrado azul é onde você deve colocar um fixed point e um macro com o seguinte comando:
 Code: 0 {moveW} Self.MoveW()
Apos isso ele terá que checar se embaixo dele tem um parcel ou não. Caso sim, apenas dá mais um passo para "W", e caso não, usa exani hur up.
 
Para isso tente o macro abaixo:
 Code: 1000 {exaniOrmoveW} X:=Self.X() Y:=Self.Y() Z:=Self.Z() ID_PARCEL:=1111 Map.HasID(!ID_PARCEL!, !X!, !Y!, !Z!)==1 [eHurUp] Self.MoveW() Exit() {eHurUp} Self.TurnW() Self.Say(exani hur up) Exit()
Troque o "1111" pelo ID do parcel.
 
Irá ficar mais ou menos assim:
 Code: Point (X Y Z)Point (X Y Z)
 Point (X Y Z)
 Fixed (X Y Z)
 Macro (X Y Z:moveW)
 Delay (X Y Z:1)
 Macro (X Y Z:exaniOrmoveW)
 Point (X Y Z)
 Point (X Y Z)
Poste se funcinou.    
	
	
	
		
	Posts: 64 
	Threads: 23 
	Joined: Aug 2012
	
 Reputation: 
0 
	
	
		O Spiff26 me passou o seguinte macro, nao testei ainda mas acho q funcionará muito bem.
 Adiciona um fixed onde você subiria no parcel, depois chama esse macro
 Code:
 0 {up} Self.MoveW() Macro.Wait(2) X:=PositionX Y:=PositionY Z:=PositionZ X2:=X VarSub(X2, 1) Self.PositionIn(!X!, !Y!, !Z!, !X2!, !Y!, !Z!)==1 [exani hur] Exit() {exani hur} Self.TurnW() Macro.Wait(1) Self.Say(exani hur "up) Exit()
 
 Onde você deve trocar
 PositionX pela posição X dele do sqm em que ele chega em cima
 PositionY pela posição Y dele do sqm em que ele chega em cima
 PositionZ pela posição Z dele do sqm em que ele chega em cima
 
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
 
	
	
	
		
	Posts: 2,912 
	Threads: 79 
	Joined: Jan 2012
	
 Reputation: 
0 
	
	
		Use o macro que melhor lhe atender.    |