ขอบคุณความรู้ดีๆจาก WWW.OPENKORE.COM WWW.THAIKORE.COM WWW.OPKWIN.COM WWW.MOD2PLAY.COM และเวบอื่นๆที่ไม่ได้กล่าวถึงไว้ ณ.ทีนี้ด้วยนะคะ (ขอบคุณเป็นภาษาอังกฤษไว้ด้านบนนานแล้ว แต่เผื่ออาจมองกันไม่เห็นนะคะ เลยขอบคุณอีกรอบ)
เชิญชวนทำบุญแทนการเซทบอทให้โหลดฟรีคะ

ไม่บังคับนะคะ


แต่ใครเอาบอทไปใช้เองไม่ว่ากัน แต่ใครเอาบอทไปใช้ในทางธุรกิจ ไม่บริจาคขอให้จู้ดๆ อิอิ

ขอร้องจากใจ กรุณาอย่านำบอทไปขายเด็ดขาด ไม่ว่ากรณีใดๆทั้งสิ้น

12/02/2553

Auto Macro Taekwon/Star Gladiator

Soul Linkers ใช้ไม่ได้นะคะ  <-- Soul Linkers มานไม่ได้เตะ

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Configuring Characters: Taekwon
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
เตะรัว
Config.txt

useSelf_item Berserk Potion, Awakening Potion, Concentration Potion {
   whenStatusInactive Concentration Potion
   timeout 10
   inLockOnly 1

}

useSelf_skill Seven Wind {
   lvl 1
   sp > 50
   onAction attack
   whenStatusInactive Seismic Weapon
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 10
   disabled 1
}


useSelf_skill Seven Wind {
   lvl 2
   sp > 50
   onAction attack
   whenStatusInactive Lightning Loader
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 10
   disabled 1
}

useSelf_skill Seven Wind {
   lvl 3
   sp > 50
   onAction attack
   whenStatusInactive Frost Weapon
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 10
   disabled 1
}


useSelf_skill Seven Wind {
   lvl 4
   sp > 50
   onAction attack
   whenStatusInactive Flame Weapon
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 10
   disabled 1
}

useSelf_skill Seven Wind {
   lvl 5
   sp > 50
   onAction attack
   whenStatusInactive Ghost Weapon
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 10
   disabled 1
}

useSelf_skill Seven Wind {
   lvl 6
   sp > 50
   onAction attack
   whenStatusInactive Dark Weapon
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 10
   disabled 0
}

useSelf_skill Seven Wind {
   lvl 7
   sp > 50
   onAction attack
   whenStatusInactive Aspersio
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 10
   disabled 1
}

useSelf_skill Ready Turn {
   lvl 1
   sp > 1
   whenStatusInactive Ready Turn
   disabled 0
}

useSelf_skill Ready Down {
   lvl 1
   sp > 1
   whenStatusInactive Ready Down
   disabled 0
}

useSelf_skill Ready Storm {
   lvl 1
   sp > 1
   whenStatusInactive Ready Storm
   disabled 1
}

useSelf_skill Ready Counter {
   lvl 1
   sp > 1
   whenStatusInactive Ready Counter
   disabled 0
}

Code:
 
Macro.txt

The Macros will see the console messages "You use <Kick> on yourself" and execute the following skills accordingly.

automacro kick_Turn {
 
   console /You use Ready Turn on yourself/
   call {
      do ss 417
   }
}

automacro kick_Down {
 
   console /You use Ready Down on yourself/
   call {
      do ss 415
   }
}

automacro kick_Storm {
   console /You use Ready Storm on yourself/
   call {
      do ss 413
   }
}

automacro kick_Counter {
 
   console /You use Ready Counter on yourself/
   call {
      do ss 419
   }
}
 
-------------------------------------

#Lv. 1: Seismic Weapon      (Earth)
#Lv. 2: Lightning Loader   (Wind)
#Lv. 3: Frost Weapon      (Water)
#Lv. 4: Flame Weapon      (Fire)
#Lv. 5: Ghost Weapon      (Ghost)
#Lv. 6: Dark Weapon      (Shadow)
#Lv. 7: Aspersio      (Holy)
useSelf_skill Seven Wind {
   lvl 7
   sp > 50
   onAction attack
   whenStatusInactive Aspersio
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
}

useSelf_skill Ready Counter {
   lvl 1
   whenStatusInactive Ready Counter
}

attackComboSlot Counter {
   lvl 7
   sp > 2
   dist 1.5
   afterSkill Ready Counter
   waitBeforeUse 0.1
}

useSelf_skill Ready Storm {
   lvl 1
   whenStatusInactive Ready Storm
}

attackComboSlot Storm Kick {
   lvl 7
   sp > 2
   dist 1.5
   afterSkill Ready Storm
   waitBeforeUse 0.1
   notWhileSitting 1
   notInTown 1
}

useSelf_skill Run {
   lvl 7
   sp > 40
   whenStatusInactive Spurt
   notInTown 1
   notWhileSitting 1
   timeout 5
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
}

attackComboSlot Run {
   lvl 7
   afterSkill Run
   waitBeforeUse 0.6
   isSelfSkill 1
   inLockOnly 1
}

-----------------------------------------

Just update your table pack (or remove "TK_JUMPKICK 2" from skillsarea.txt). It'll still spam that message a few times, but the kick will work.

Use something higher than 0.3s for your delay, not even a hockey goalie is that fast. :lol: Use one second. Here's my exact config, but with a longer delay:
useSelf_skill Ready Storm {
   lvl 1
   whenStatusInactive Ready Storm
}

attackComboSlot Storm Kick {
   lvl 7
   sp > 2
   dist 1.5
   afterSkill Ready Storm
   isSelfSkill 0
   waitBeforeUse 1
   notWhileSitting 1
   notInTown 1
}
Configuring Star Gladiator :

*You can only use the Sun Warm, Moon Warm, Star Warm if you used the skill feeling.

Code:
useSelf_skill Sun Warm {
   lvl 3
   hp
   sp > 10
   whenStatusActive
   whenStatusInactive Sun Warm
   whenFollowing
   monsters
   notMonsters
   stopWhenHit 0
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 0
   disabled 0
   inInventory
   manualAI 0
}

useSelf_skill Sun Comfort {
   lvl 4
   hp
   sp > 10
   whenStatusActive
   whenStatusInactive Sun Comfort
   whenFollowing
   monsters
   notMonsters
   stopWhenHit 0
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 0
   disabled 0
   inInventory
   manualAI 0
}

useSelf_skill Moon Comfort {
   lvl 4
   hp
   sp > 10
   whenStatusActive
   whenStatusInactive Moon Comfort
   whenFollowing
   monsters
   notMonsters
   stopWhenHit 0
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 0
   disabled 0
   inInventory
   manualAI 0
}

useSelf_skill Star Comfort {
   lvl 4
   hp
   sp > 10
   whenStatusActive
   whenStatusInactive Star Comfort
   whenFollowing
   monsters
   notMonsters
   stopWhenHit 0
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   timeout 0
   disabled 0
   inInventory
   manualAI 0
}
 
 

doCommand macro Spurt {
   disabled 0
   sp > 10
   inLockOnly 1
   notWhileSitting 1
   notInTown 1
   notOnAction attack
   whenStatusInactive Spurt
   timeout 5
}

run_path 12

timeout # -> You need to set this high enough to let the bot enough time to walk and change position for checking again. It works perfect for me with 5 seconds.

run_path # -> This is a custom line, so don't ask if it really "exists" because it doesn't. This is only for the macro to know how many squares it needs to check before starting to run. For me, 11 squares are ok, but it depends on the lag in your server so I prefer to add an extra square. If you're lagless maybe it works with less squares.

Code:
   macro Spurt {
   do eval message T("Evaluating free path for Run\n")
      [
      $i = 0
      $x = @arg ("$.pos", 1)
      $y = @arg ("$.pos", 2)
   do eval $::Macro::Data::varStack{look} = $::char->{look}{body} - 1;
      ]
   :direction
      if ($look = 6) goto northeast
      if ($look = 5) goto east
      if ($look = 4) goto southeast
      if ($look = 3) goto south
      if ($look = 2) goto southwest
      if ($look = 1) goto west
      if ($look = 0) goto northwest
      [
      $nx = $x
      $ny = @eval ($y + $i)
      ]
      goto check
   :northwest
      [
      $nx = @eval ($x - $i)
      $ny = @eval ($y + $i)
      ]
      goto check
   :west
      [
      $nx = @eval ($x - $i)
      $ny = $y
      ]
      goto check
   :southwest
      [
      $nx = @eval ($x - $i)
      $ny = @eval ($y - $i)
      ]
      goto check
   :south
      [
      $nx = $x
      $ny = @eval ($y - $i)
      ]
      goto check
   :southeast
      [
      $nx = @eval ($x + $i)
      $ny = @eval ($y - $i)
      ]
      goto check
   :east
      [
      $nx = @eval ($x + $i)
      $ny = $y
      ]
      goto check
   :northeast
      [
      $nx = @eval ($x + $i)
      $ny = @eval ($y + $i)
      ]
   :check
      [
   do eval $::Macro::Data::varStack{walk} = $::field->isWalkable($nx, $ny) ? 1 : 0
   do eval $::Macro::Data::varStack{char} = 0;foreach (@{$::playersList->getItems()}) { next if (($_->{pos_to}{x} != $nx) || ($_->{pos_to}{y} != $ny));$::Macro::Data::varStack{char} = 1; last;}
   do eval $::Macro::Data::varStack{mon} = 0;foreach (@{$::monstersList->getItems()}) { next if (($_->{pos_to}{x} != $nx) || ($_->{pos_to}{y} != $ny));$::Macro::Data::varStack{mon} = 1; last;}
      ]
      if (($walk == 0 || $char == 1) || ($mon == 1 || @npc ($nx $ny) > -1)) goto noskill
      if ($i == @config (run_path)) goto skill
      $i++
      goto direction
   :noskill
   do eval message T("No aviable path for Run\n")
      stop
   :skill
      do ss 411
      do ss 411
   }


This is the checking macro. You don't need to change or tweak anything, just keep the same name in the doCommand and the macro so it can be called correctly. The only problem is that if something triggers another macro, it will fail, but I don't know how to make it "exclusive 1" in macro, it only works for automacros. I could do all as an automacro but I think it's simpler to do with the doCommand, at least to change variables and all the stuff.

When I use this, it sometimes fails to work (but not too often) and I guess it's because it still walks a little or something gets in the way, and it takes too much time to execute. Anyways, if someone has a better way to do, feedback is highly appreciated. I hope this is useful for somebody.

------------------------------

attackSkillSlot Seven Wind {
    lvl 7
    isSelfSkill 1
    monsters munak, bongun, skeleton soldier, archer skeleton
    #...et al...
}

http://forums.openkore.com/viewtopic.php?f=6&t=29&start=30

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

AddThis

Share |