Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Preciso de um Macro
#1
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 /\_______________________________________________________
#2
(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.
#3
(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 /\_______________________________________________________
#4
Não é mais fácil usar um macro de "exani hur up" direto? Talvez seja inviável esse macro que tu pretende criar.
#5
(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 /\_______________________________________________________
#6
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.
#7
(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 /\_______________________________________________________
#8
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.
#9
(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 /\_______________________________________________________
#10
A imagem que te pedi nesse post:
http://forums.bmega.net/showthread.php?t...8#pid26998
#11
(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 Smile
_________________________________________________ Did I Helped? Rep me UP click /\_______________________________________________________
#12
[Image: 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. Smile
#13
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 /\_______________________________________________________
#14
Use o macro que melhor lhe atender. Smile


Forum Jump:


Users browsing this thread: 1 Guest(s)