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
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.
|