Datamon Hard Bot Using BEM

Hi again, this time I want to share my datamon normal bot.
well it will quite difficult to use, because it need several setting.
Later I will explain how to configure it.

A. How it will work
1. auto move in and out datamon normal
2. Can do with party or solo (no party bug)
3. Can Start outside datamon normal, or inside (if start inside, don't move after loading done)
4. Can Check whether Etemon already death or not 
5. You can chat. (Only while attacking etemon, other than that may cause the bot not work)

B. Requirement
1. it work only for 1366x768 resolution.

2. Normal skin for tamer bar
Tamer panel must be blue, health red and DS are blue-green (Tosca)

3. Datamon Maze Map Skin 
I'm not the one who made this skin, but I forgot the source link, I'll add credit later.
Attachment:
File comment: Datamonskin
 Pack01.rar [3.39 MiB] 
Downloaded 103 times 


4. In Game - Interface Setting
- Keyboard on
- Tamer Mode
- Simplification On
- turn off your aura effect
Attachment:
interface.jpg
interface.jpg [ 83.72 KiB | Viewed 419 times ] 


5. In Game - Grafik Setting
-turn off Extended Shader
-to turn off Extended Shader, you need to restart your GDMO client. Yes Exit, and open again. Not just log out.
Attachment:
grafik.jpg
grafik.jpg [ 85.46 KiB | Viewed 419 times ] 


6. Use Trigger
-use trigger to play and stop the bot. 
-Using this setting, press F10 to play, and press F12 to stop
Attachment:
trigger.jpg
trigger.jpg [ 106.19 KiB | Viewed 419 times ] 


C. Code
For Code explain, in page 2, link > viewtopic.php?f=304&t=23331&p=152643#p152643
you can download and import to your BEM using file below
Attachment:
 raid;piramidperfect.bem [109.28 KiB] 
Downloaded 54 times 

or create and paste script code below
Code:
 begin
     begin loop()
          // initial variable
          Variable.Set("p", "0")
          Variable.Set("p1", "0")
          Variable.Set("p2", "0")
          Variable.Set("p3", "0")
          Variable.Set("e", "0")
          // Outside Activity Start Here
          if  Color.At coordinate is (RGB)("8", "226", "13", "1340", "33")
               begin
                    Function.Execute("checkparty")
                    Function.Execute("findizzyin")
                    if  Color.At coordinate is (RGB)("246", "245", "240", "865", "136")
                         begin
                              Mouse.Click at coordinate("572", "121", "Left")
                              Humanly.Pause("500", "500")
                              Mouse.Click at coordinate("638", "235", "Left")
                              Humanly.Pause("3000", "3000")
                         end
               end
          // outside end
          // inside start
          if  Color.At coordinate is (RGB)("248", "248", "249", "1344", "15")
               begin
                    Function.Execute("Heal")
                    Function.Execute("move")
                    Function.Execute("findete")
                    Function.Execute("moveout")
                    Function.Execute("findizzyout")
               end
          // end main function
          Macro.Restart("yes")
     end
 end

function("findizzyin")
     begin loop()
          begin loop()
               Keyboard.Press key("w")
               Mouse.Click at color (RGB)("255", "100", "70", "1", "Left")
               if  Color.At coordinate is (RGB)("216", "175", "155", "755", "64")
                    begin
                         Macro.Break from loop("no")
                    end
          end
          Mouse.Click("Left")
          Humanly.Pause("1000", "1000")
          if  Color.At coordinate is (RGB)("246", "245", "240", "861", "163")
               begin
                    Macro.Break from loop("no")
               end
     end
function

function("findizzyout")
     begin
          begin loop()
               Mouse.Click at color (RGB)("255", "100", "70", "1", "Left")
               if  Color.At coordinate is (RGB)("216", "175", "155", "755", "64")
                    begin
                         Macro.Break from loop("no")
                    end
          end
          Mouse.Click("Left")
          Humanly.Pause("1500", "1500")
          if  Color.At coordinate is (RGB)("246", "245", "240", "867", "211")
               begin
                    Mouse.Click at coordinate("537", "145", "Left")
                    Humanly.Pause("3000", "3000")
               end
     end
function

function("checkparty")
     begin loop()
          Function.Execute("Heal")
          Variable.Set("p", "0")
          if  Color.At coordinate is not (RGB)("130", "64", "61", "76", "212")
               begin
                    Variable.Set("p1", "1")
               end
          if  Color.At coordinate is not (RGB)("112", "60", "59", "72", "281")
               begin
                    Variable.Set("p2", "1")
               end
          if  Color.At coordinate is not (RGB)("119", "64", "63", "74", "353")
               begin
                    Variable.Set("p3", "1")
               end
          Variable.Add (Math)("p", "{p1}")
          Variable.Add (Math)("p", "{p2}")
          Variable.Add (Math)("p", "{p3}")
          if  Variable.Is equal to("p", "3")
               begin
                    Humanly.Pause("100", "200")
                    Macro.Break from loop("no")
               end
     end
function

function("move")
     begin
          Keyboard.Hold keys("s")
          begin loop()
               if  Color.Near coordinate is (RGB)("0", "0", "0", "1275", "119", "2")
                    begin
                         Keyboard.Release keys("s")
                         Macro.Break from loop("no")
                    end
          end
          Keyboard.Hold keys("d")
          begin loop()
               if  Color.Near coordinate is (RGB)("0", "0", "0", "1253", "118", "2")
                    begin
                         Keyboard.Release keys("d")
                         Macro.Break from loop("no")
                    end
          end
          Keyboard.Hold keys("s")
          begin loop()
               if  Color.Near coordinate is (RGB)("252", "1", "1", "1276", "108", "2")
                    begin
                         Keyboard.Release keys("s")
                         Macro.Break from loop("no")
                    end
          end
          Keyboard.Hold keys("a")
          begin loop()
               if  Color.Near coordinate is (RGB)("252", "1", "1", "1199", "93", "2")
                    begin
                         Keyboard.Release keys("a")
                         Macro.Break from loop("no")
                    end
          end
          Keyboard.Hold keys("s")
          begin loop()
               if  Color.Near coordinate is (RGB)("252", "1", "1", "1211", "150", "1")
                    begin
                         Keyboard.Release keys("s")
                         Macro.Break from loop("no")
                    end
          end
     end
function

function("moveout")
     begin
          Keyboard.Hold keys("d")
          Humanly.Pause("100", "100")
          Keyboard.Hold keys("s")
          begin loop()
               if  Color.Near coordinate is (RGB)("15", "8", "9", "1246", "121", "5")
                    begin
                         Keyboard.Release keys("d")
                         Keyboard.Release keys("s")
                         Macro.Break from loop("no")
                    end
          end
     end
function

function("findete")
     begin loop()
          Keyboard.Hold keys("{<tab>}")
          Humanly.Pause("100", "100")
          Keyboard.Release keys("{<tab>}")
          Variable.Add (Math)("e", "1")
          if  Variable.Is greater than (Math)("e", "10")
               Begin
                    Macro.Break from loop("yes")
               end
          Function.Execute("attack")
          if  Color.At coordinate is (RGB)("40", "110", "203", "610", "271")
               Begin
                    Keyboard.Hold keys("{<esc>}")
                    Humanly.Pause("100", "130")
                    Keyboard.Release keys("{<esc>}")
                    Macro.Break from loop("yes")
               end
          Humanly.Pause("350", "500")
     end
function

function("attack")
     if  Color.At coordinate is (RGB)("239", "118", "50", "769", "59")
          begin loop()
               Keyboard.Hold keys("1")
               Humanly.Pause("100", "100")
               Keyboard.Release keys("1")
               Keyboard.Hold keys("3")
               Humanly.Pause("100", "100")
               Keyboard.Release keys("3")
               Keyboard.Hold keys("{<f2>}")
               Humanly.Pause("100", "100")
               Keyboard.Release keys("{<f2>}")
               // Keyboard.Hold keys("{<f1>}")
               // Humanly.Pause("100", "100")
               // Keyboard.Release keys("{<f1>}")
               Function.Execute("Heal")
               // Same co ordinates of the previous check
               if  Color.At coordinate is (RGB)("40", "110", "203", "610", "271")
                    begin
                         Macro.Break from loop("no")
                    end
               if  Color.At coordinate is (RGB)("30", "44", "81", "362", "754")
                    begin loop()
                         if  Color.At coordinate is not (RGB)("30", "44", "81", "362", "754")
                              begin
                                   Macro.Break from loop("no")
                              end
                    end
          end
     // RGB of the digi you want to attack
     if  Color.At coordinate is (RGB)("152", "86", "49", "769", "59")
          begin loop()
               Keyboard.Hold keys("1")
               Humanly.Pause("100", "100")
               Keyboard.Release keys("1")
               Keyboard.Hold keys("3")
               Humanly.Pause("100", "100")
               Keyboard.Release keys("3")
               Keyboard.Hold keys("{<f2>}")
               Humanly.Pause("100", "100")
               Keyboard.Release keys("{<f2>}")
               // Keyboard.Hold keys("{<f1>}")
               // Humanly.Pause("100", "100")
               // Keyboard.Release keys("{<f1>}")
               Function.Execute("Heal")
               // Same co ordinates of the previous check
               if  Color.At coordinate is (RGB)("40", "110", "203", "610", "271")
                    begin
                         Macro.Break from loop("no")
                    end
               if  Color.At coordinate is (RGB)("30", "44", "81", "362", "754")
                    begin loop()
                         if  Color.At coordinate is not (RGB)("30", "44", "81", "362", "754")
                              begin
                                   Macro.Break from loop("no")
                              end
                    end
          end
function

function("pick")
     begin
          Humanly.Pause("500", "500")
          Keyboard.Hold keys("4")
          Humanly.Pause("130", "150")
          Keyboard.Release keys("4")
          Humanly.Pause("500", "500")
     end
function

function("Heal")
     // emergency heal - CC
     if  Color.At coordinate is not (RGB)("132", "29", "18", "156", "124")
          begin
               Keyboard.Hold keys("{<f4>}")
               Function.Execute("Human Pause")
               Keyboard.Release keys("{<f4>}")
               Keyboard.Hold keys("{<f1>}")
               Function.Execute("Human Pause")
               Keyboard.Release keys("{<f1>}")
          end
     // Emergency Tamer DS
     if  Color.At coordinate is not (RGB)("15", "241", "255", "109", "68")
          begin
               Keyboard.Hold keys("{<f4>}")
               Function.Execute("Human Pause")
               Keyboard.Release keys("{<f4>}")
          end
     // Tamer DS
     if  Color.At coordinate is not (RGB)("15", "241", "255", "117", "68")
          begin
               Keyboard.Hold keys("{<f7>}")
               Function.Execute("Human Pause")
               Keyboard.Release keys("{<f7>}")
          end
     // Food
     if  Color.At coordinate is not (RGB)("132", "29", "18", "188", "124")
          begin
               Keyboard.Hold keys("{<f8>}")
               Function.Execute("Human Pause")
               Keyboard.Release keys("{<f8>}")
          end
     // Digi DS
     if  Color.At coordinate is not (RGB)("15", "241", "255", "130", "142")
          begin
               Keyboard.Hold keys("{<f5>}")
               Function.Execute("Human Pause")
               Keyboard.Release keys("{<f5>}")
          end
function

function("Human Pause")
     begin
          Humanly.Pause("130", "150")
     end
function


For Move and Attack Button (use default setting)
Up - W
Down - S
Left - A
Right - D
Attack - 1
Stop - 3

For Healing, it use 
F4 - CC (Digi Health below 50%)
F5 - CC (Digi DS)
F7 - Energy (Tamer DS)
F8 - Bread (Digi Health below 75%)

For Code explain, in page 2, link > viewtopic.php?f=304&t=23331&p=152643#p152643

D. Bug
This is not perfect, still bug can occur. This is bug may occur :
1. Stuck at the door (Can't find Izzy)
2. Stuck at the door inside
3. Can't stop when find izzy (inside)

Tell me how it work on you, hope you can use it too.

You're Welcome :D