Monday, December 6, 2010

Ragnarok Battle Ground Bot

~~Battle Ground Bot~~

How to use? Just follow this simple steps.
1. Download the latest SVN version of openkore. 
If you don't have Bot yet, visit this linkRagnarok Online Bot

2. Download the Macro Plugin version 2.0.3 rev7153 on Macro Plugins Download
If you don't know how to install macro visit this link: Installing Macro Plugins

3. Download the macro here: Battleground_Macro or you can copy the macros.txt below.

4. Use it at your own risk.



In your macros.txt paste this:

# v1.0: Tierra Maps Only
       # Features: AI choice
       #       PK Behavior
       #       Random Map

       # 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

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

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

          do conf Battle_Map $RandomMapChoice
          goto ContBGRoom
         
           :ContBGRoom
           call CharPos
          }
        }

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

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

       automacro TalkNPC3 {
          location bat_room 132 131 135 125
          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 PKAtk {
          console /Player (.*) \((\d+)\) attacks You.*/i
     exclusive 1
          run-once 1
          call RespondPK
          }
     
       automacro PKSkill {
          console /Player (.*) \((\d+)\) uses (.*) on you.*/i
          exclusive 1
          run-once 1
          call RespondPK
          }

       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
       }

    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 ("132","133")
          $randomY1 = @random ("171","172","173","174")
          do move $randomX1 $randomY1
          goto endCharPos

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

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

          :Pos4
          $randomX4 = @random ("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 IdleAI
       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
          do a 0
          goto EndAI2

          :AI22
          do move 171 345
          do a 0
          goto EndAI2

          :EndAI2
          stop
          }

       macro IdleAI {

          $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
        }

       macro RespondPK {
     
       $PKPlayer = $.lastmatch2
       $PK = @eval($::config{Battle_PK})

          if ($PK == 0) goto PK1
          if ($PK == 1) goto PK2

          :PK1
          do e wah
          goto EndRespondPK

          :PK2
          do e gg
          do kill $PKPlayer
          goto EndRespondPK

             :EndRespondPK
             call TierraAI
             stop
             release PKAtk
             release PKSkill
             }

       macro EnterPub {
          do chat join 0
          pause 1
          stop
          }

       macro GetBadge {
          do talk 2
               stop
          }
In your config.txt paste this:

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

Battle_Map tierra1
Battle_AI 1
Battle_PK 0
Battle_Random 0

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

This will help you:
NPC locations:
tierra1 | flavius1 | tierra2 | flavius2

tierra3 | flavius3 | tierra4 | flavius4

Battle_AI
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_PK
0 = If someone attacks you or use a skill on you. will not respond and will continue what you're doin (Battle_AI),
1 = If someone attacks you or use a skill on you. will respond by attacking the player with the weapon equipped.

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


Note: The spam error is normal
 Source: http://forums.openkore.com/viewtopic.php?f=33&t=5432

No comments:

Post a Comment