BBot - The best bot of the world
Macro Merge - Printable Version

+- BBot - The best bot of the world (https://forums.bmega.net)
+-- Forum: Support (https://forums.bmega.net/forum-6.html)
+--- Forum: Support & Help (https://forums.bmega.net/forum-8.html)
+--- Thread: Macro Merge (/thread-18436.html)



Macro Merge - You know who - 08-29-2015

Hello I managed to make a exori min macro that checks for every direction arround the player but I have no idea how to merge macros, like

Code:
blabla()[merge1]
blabla()
{merge1}

Can anyone merge all this macros into one only or explain me how to do it please?

Exori Min North:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)<Self.Y()
Creature.X(!ID!)==Self.X()
Self.TurnN()
Self.Say(Exori Min)

Exori Min South:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)>Self.Y()
Creature.X(!ID!)==Self.X()
Self.TurnN()
Self.Say(Exori Min)

Exori Min East:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)==Self.Y()
Creature.X(!ID!)>Self.X()
Self.TurnE()
Self.Say(Exori Min)

Exori Min West:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)==Self.Y()
Creature.X(!ID!)<Self.X()
Self.TurnW()
Self.Say(Exori Min)

Exori Min South West:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)>Self.Y()
Creature.X(!ID!)<Self.X()
Self.TurnW()
Self.Say(Exori Min)

Exori Min North West:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)<Self.Y()
Creature.X(!ID!)<Self.X()
Self.TurnW()
Self.Say(Exori Min)

Exori Min North East:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)<Self.Y()
Creature.X(!ID!)>Self.X()
Self.TurnE()
Self.Say(Exori Min)

Exori Min South East:
Code:
Self.Attacking()==1
ID:=Creature.Target()
Creature.Y(!ID!)>Self.Y()
Creature.X(!ID!)>Self.X()
Self.TurnE()
Self.Say(Exori Min)



RE: Macro Merge - erleo - 08-29-2015

I've tried and it's too long, and fail..
We must get to shorten it, example one macro by diagonal and another in a straight line. You know?

And marge is used when the result is "false", go to {EXAMPLE}


RE: Macro Merge - You know who - 08-29-2015

(08-29-2015, 05:01 PM)erleo Wrote: I've tried and it's too long, and fail..
We must get to shorten it, example one macro by diagonal and another in a straight line. You know?

And marge is used when the result is "false", go to {EXAMPLE}

So u mean like this?

Code:
Self.Attacking()==1[NORTH]
ID:=Creature.Target()
Creature.Y(!ID!)<Self.Y()
Creature.X(!ID!)==Self.X()
Self.TurnN()
Self.Say(Exori Min)
{NORTH}
Self.Attacking()==1[SOUTH]
ID:=Creature.Target()
Creature.Y(!ID!)<Self.Y()
Creature.X(!ID!)==Self.X()
Self.TurnN()
Self.Say(Exori Min)
{SOUTH}

Can you make me an example if I'm wrong?


RE: Macro Merge - erleo - 08-29-2015

Like this:
[macro]800 {Exori Min - South & North} ID:=Creature.Target() Creatures.PlayersOnScreen()==1 Self.Attacking()==1 Creature.X(!ID!)==Self.X() Creature.Y(!ID!)<Self.Y() [Jump] Self.TurnN() Self.Say(Exori Min) {Jump} Creatures.PlayersOnScreen()==1 Self.Attacking()==1 Creature.X(!ID!)==Self.X() Creature.Y(!ID!)>Self.Y() Self.TurnS() Self.Say(Exori Min) [/macro]

Code:
ID:=Creature.Target()
Creatures.PlayersOnScreen()==1
Self.Attacking()==1
Creature.X(!ID!)==Self.X()
Creature.Y(!ID!)<Self.Y() [Jump]
Self.TurnN()
Self.Say(Exori Min)
{Jump}
Creatures.PlayersOnScreen()==1
Self.Attacking()==1
Creature.X(!ID!)==Self.X()
Creature.Y(!ID!)>Self.Y()
Self.TurnS()
Self.Say(Exori Min)



RE: Macro Merge - You know who - 08-30-2015

(08-29-2015, 08:09 PM)erleo Wrote: Like this:
[macro]800 {Exori Min - South & North} ID:=Creature.Target() Creatures.PlayersOnScreen()==1 Self.Attacking()==1 Creature.X(!ID!)==Self.X() Creature.Y(!ID!)<Self.Y() [Jump] Self.TurnN() Self.Say(Exori Min) {Jump} Creatures.PlayersOnScreen()==1 Self.Attacking()==1 Creature.X(!ID!)==Self.X() Creature.Y(!ID!)>Self.Y() Self.TurnS() Self.Say(Exori Min) [/macro]

Code:
ID:=Creature.Target()
Creatures.PlayersOnScreen()==1
Self.Attacking()==1
Creature.X(!ID!)==Self.X()
Creature.Y(!ID!)<Self.Y() [Jump]
Self.TurnN()
Self.Say(Exori Min)
{Jump}
Creatures.PlayersOnScreen()==1
Self.Attacking()==1
Creature.X(!ID!)==Self.X()
Creature.Y(!ID!)>Self.Y()
Self.TurnS()
Self.Say(Exori Min)

Thanks, btw do I need to use
Code:
Exit()
when using those jump things?


RE: Macro Merge - erleo - 08-30-2015

Its not necessary 90% of the macros finish with Exit()
And when use the jumps? mmm idk explain, testing and instinctive
Code:
Status.InPZ()==0
Self.Mana%()<=90 [jump]
Self.Equip.Ring(3052)
Exit()
{jump}
Status.InPZ()==1
Self.Mana%()>=100
Self.UnEquip.Ring(3089)
Exit()

Example if less of 90% jump to {jump}, idk to explain hahaha