http://sourceforge.net/projects/openkore/files/Macro%20plugin/


1. After downloading the macro plugin, unzip it, and place it in your plugins folder
(ex: c:\openkore\plugins\macro.pl) and also the other files included in the zipped file (i.e. the Macro folder)

2. Create a text file named, macros.txt in yout c:\openkore\controls\ folder. Put your macros and automacros in here. The one you are copy/pasting from the forums.







v1.0:
- Tierra Maps Only (at the moment)

v1.1:
- Added Custom AFK Modification
- Removed Battle PK Behavior
- Hopefully fixed the "stucked in barricade" issue

Instructions:

leave your LockMap "blank"

leave also the Sitting Conditions blank to prevent your bot sitting in certain situations

kindly add this to your config.txt


##### Battle Grounds Config #####

Battle_Map tierra1
Battle_AI 1
Battle_Random 0

#################################


Battle_Map <--- Choose among tierra1,tierra2,tierra3,tierra4
(v1.0: Only Tierra Maps are currently available)

NPC locations:





Battle_AI <--- [boolean]
0 = Going AFK. Doing a random Pub with an excuse as a title ,
1 = Going to Attack. Tierra: Going to the enemy food and attack it.

Battle_Random <--- [boolean]
0 = will use the map specified in Battle_Map over and over again,
1 = will go to a random Map every round.


d2 ung sa
macros.txt

copy pababa
       #-----------------------------------------------------------------
       #----------- Battle Grounds Macro (v1.1) by noobotter ------------
       #-----------------------------------------------------------------
      
       # v1.1: Tierra Maps
       #
       # Features: AI choice
       #           Custom AFK *NEW*
       #           Random Map
       #           Battle PK *REMOVED*

       # Notes:
       # The error in SpawnPub automacro is normal.
       # This is to spam the chat room incase the room is full.

       # Save and setup your Bot in Aldebaran Town

macro CustomIdleAI {

   # Modify the following to personalize your custom AFK AI.

   $useCustomIdleAI = No
   $customX = x
   $customY = y
   $customPub = @random ("Custom1","Custom2","Custom3","Custom4","Custom5")

##################################################################################

   if ($useCustomIdleAI == Yes) goto CustomTrigger
   if ($useCustomIdleAI == No) goto DefaultTrigger

   :CustomTrigger
   do move $customX $customY
   do chat create "$customPub"
   stop

   :DefaultTrigger
   call DefaultIdleAI
   stop
   }

        automacro Maroll {
           location aldebaran
           exclusive 1
           run-once 1
           call {
              do move 151 110
              do talknpc 146 109 c c r0 n
         release Maroll
           }
        }

        automacro GoHome {
           location not aldebaran
           location not bat_room
           location not bat_a01
           location not bat_a02
      location not bat_b01
      location not bat_b02
           exclusive 1
           run-once 1
           call {
          do move aldebaran
          release GoHome
           }
        }

        automacro BGroomEntry {
           location bat_room
           exclusive 1
      priority 1
           run-once 0
           call {
      
          $randomMap = @eval($::config{Battle_Random})

          if ($randomMap == 0) goto ContBGRoom
          if ($randomMap == 1) goto RandomMapTierra
          if ($randomMap == F) goto RandomMapFlavius

          :RandomMapTierra
          $RandomMapChoice = @random ("tierra1","tierra2","tierra3","tierra4")

          do conf Battle_Map $RandomMapChoice
          goto ContBGRoom
         
     :RandomMapFlavius
          $RandomMapChoice = @random ("flavius1","flavius2","flavius3","flavius4")

          do conf Battle_Map $RandomMapChoice
          goto ContBGRoom

           :ContBGRoom
           call CharPos
          }
        }

       automacro TalkNPC1 {
          location bat_room 124 175 135 168
          exclusive 1
          run-once 0
          call TalkBGnpc
          }

       automacro TalkNPC2 {
          location bat_room 140 175 151 167
          exclusive 1
          run-once 0
          call TalkBGnpc
          }

       automacro TalkNPC3 {
          location bat_room 124 131 135 124
          exclusive 1
          run-once 0
          call TalkBGnpc
          }

       automacro TalkNPC4 {
          location bat_room 148 132 151 125
          exclusive 1
          run-once 0
          call TalkBGnpc
          }

          automacro SpawnPubT1 {
             location bat_room 57 223
             exclusive 1
             run-once 0
             call EnterPub
          }

          automacro SpawnPubT2 {
             location bat_room 114 223
             exclusive 1
             run-once 0
             call EnterPub
          }

          automacro SpawnPubT3 {
             location bat_room 57 207
             exclusive 1
             run-once 0
             call EnterPub
          }

          automacro SpawnPubT4 {
             location bat_room 114 207
             exclusive 1
             run-once 0
             call EnterPub
          }

          automacro SpawnPubF1 {
             location bat_room 85 223
             exclusive 1
             run-once 0
             call EnterPub
          }

          automacro SpawnPubF2 {
             location bat_room 141 224
             exclusive 1
             run-once 0
             call EnterPub
          }

          automacro SpawnPubF3 {
             location bat_room 85 207
             exclusive 1
             run-once 0
             call EnterPub
          }

          automacro SpawnPubF4 {
             location bat_room 141 207
             exclusive 1
             run-once 0
             call EnterPub
          }

       automacro tierraEntry1 {
           location bat_a01
           exclusive 1
           run-once 0
      priority 1
           call TierraAI
           }

       automacro tierraEntry2 {
           location bat_a02
           exclusive 1
           run-once 0
      priority 1
           call TierraAI
           }

       automacro tierraAtkStone1 {
           location bat_a01 170 349 175 343
           exclusive 1
           run-once 0
           call {
      do a 0
      stop
      }
           }

       automacro tierraAtkStone2 {
           location bat_a01 161 55 166 44
           exclusive 1
           run-once 0
           call {
      do a 0
      stop
      }
           }

       automacro tierraAtkStone3 {
           location bat_a02 170 349 175 343
           exclusive 1
           run-once 0
           call {
      do a 0
      stop
      }
           }

       automacro tierraAtkStone4 {
           location bat_a02 161 55 166 44
           exclusive 1
           run-once 0
           call {
      do a 0
      stop
      }
           }

       automacro TierraExit1 {
          location bat_a01 50 374
          exclusive 1
          run-once 0
          call GetBadge
       }
      
       automacro TierraExit2 {
          location bat_a01 43 17
          exclusive 1
          run-once 0
          call GetBadge
       }

       automacro TierraExit3 {
          location bat_a02 50 374
          exclusive 1
          run-once 0
          call GetBadge
       }

       automacro TierraExit4 {
          location bat_a02 43 17
          exclusive 1
          run-once 0
          call GetBadge
       }
#noobotter@yahoo.com
    macro CharPos {

       $Map = @eval($::config{Battle_Map})

       if ($Map == tierra1) goto Pos1
       if ($Map == tierra2) goto Pos2
       if ($Map == tierra3) goto Pos3
       if ($Map == tierra4) goto Pos4
       if ($Map == flavius1) goto Pos1
       if ($Map == flavius2) goto Pos2
       if ($Map == flavius3) goto Pos3
       if ($Map == flavius4) goto Pos4

          :Pos1
          $randomX1 = @random ("124","125","132","133")
          $randomY1 = @random ("171","172","173","174")
          do move $randomX1 $randomY1
          goto endCharPos

          :Pos2
          $randomX2 = @random ("140","141","148","149")
          $randomY2 = @random ("171","172","173","174")
          do move $randomX2 $randomY2
          goto endCharPos

          :Pos3
          $randomX3 = @random ("124","125","132","133")
          $randomY3 = @random ("125","126","127","128")
          do move $randomX3 $randomY3
          goto endCharPos

          :Pos4
          $randomX4 = @random ("140","141","148","149")
          $randomY4 = @random ("125","126","127","128")
          do move $randomX4 $randomY4
          goto endCharPos

          :endCharPos
          stop
       }

    macro TalkBGnpc {

       $Map = @eval($::config{Battle_Map})

       if ($Map == tierra1) goto NPC1
       if ($Map == tierra2) goto NPC2
       if ($Map == tierra3) goto NPC3
       if ($Map == tierra4) goto NPC4
       if ($Map == flavius1) goto NPC5
       if ($Map == flavius2) goto NPC6
       if ($Map == flavius3) goto NPC7
       if ($Map == flavius4) goto NPC8

          :NPC1
          do talknpc 124 178 c r0 n
          stop

          :NPC2
          do talknpc 140 178 c r0 n
          stop

          :NPC3
          do talknpc 125 121 c r0 n
          stop

          :NPC4
          do talknpc 140 121 c r0 n
          stop

          :NPC5
          do talknpc 133 178 c r0 n
          stop

          :NPC6
          do talknpc 148 178 c r0 n
          stop

          :NPC7
          do talknpc 133 121 c r0 n
          stop

          :NPC8
          do talknpc 148 121 c r0 n
          stop
       }

    macro TierraAI   {

       $AI = @eval($::config{Battle_AI})
      
       if ($AI == 0) goto AI1
       if ($AI == 1) goto AI2

       :AI1
       call CustomIdleAI
       stop

       :AI2
       $Map = @eval($::config{Battle_Map})
      
          if ($Map == tierra1) goto AI11
          if ($Map == tierra2) goto AI11
          if ($Map == tierra3) goto AI22
          if ($Map == tierra4) goto AI22

          :AI11
          do move 162 49
          goto EndAI2

          :AI22
          do move 171 345
          goto EndAI2

          :EndAI2
          stop
          }

       macro DefaultIdleAI {

          $Map = @eval($::config{Battle_Map})
      
          if ($Map == tierra1) goto Pub1
          if ($Map == tierra2) goto Pub1
          if ($Map == tierra3) goto Pub2
          if ($Map == tierra4) goto Pub2

   :Pub1
   $PubX1 = @random ("351","352","353","354","355")
   $PubY1 = @random ("350","351")
        do move $PubX1 $PubY1
   goto EndPub

   :Pub2
   $PubX2 = @random ("352","353","354","355","356")
   $PubY2 = @random ("47","48")
        do move $PubX2 $PubY2
   goto EndPub

   :EndPub
        $randomPub = @random ("Be Right Back","Away From Keyboard","Eating","Taking a

Bath","Sleeping")
        do chat create "$randomPub"
        stop
        }
#noobotter@yahoo.com
       macro EnterPub {
          do chat join 0
          pause 1
          stop
          }

       macro GetBadge {
          do talk 2
               stop
          }


Modify the following inside macros.txt to personalize your custom AFK AI:

$useCustomIdleAI = No
Use Custom Idle AI? Yes or No *case sensitive*
$customX = x
$customY = y
Desired Location(x,y) where your bot will hide inside the map and will AFK.
$customPub = @random ("Custom1","Custom2","Custom3","Custom4","Custom5")
Desired custom "excuses" why you're AFK.
example: $customPub = @random ("goin out movie","phone call brb","brb","brb sleepwalking","/gg")


 --------------------------------------
 end copy here







How to start:

1. Save your bot in Aldebaran and leave it there.
2. Run the bot. (Make sure that the "battle grounds config" have values)

Notes:

- Works on Openkore 2.0.5.1 and above, and Macro version 2.0.2
(thanks to yellow_cab for the template inspiration :D)

* Currently figuring out the most suitable Attack AI for Flavius

* as of now, it works well for me and for some of my friends but if you have any questions, suggestions or improvements, please don't hesitate to post here.

Few Reminders :
-Use at your own risk. You know what happened in Hugel Monster Race when it's already infested with bots. :twisted:
-The error in SpawnPub is normal. but if you have any idea on how to avoid it, please post here.

Enjoy botting!

0 comments

Ads