Monday, March 17, 2008

Novice Ground

##############NOVICE TRAINING GROUND MACRO FOR indoRO BY MaSaHiRo########################



automacro lola {
base == 1
call lol
run-once 1
}


macro lol {
#SETTING CONFIG VARIABLES
do conf attackAuto 0
do conf route_randomWalk 0
do conf autoTalkCont 1
#DROPPING UNWANTED EQUIPS Razz
do uneq @inventory (Knife [3])
do uneq @inventory (Cotton Shirt)
do drop @inventory (Knife [3])
do drop @inventory (Cotton Shirt)
pause 3
#TALKING TO SHION
do talk @npc (53 114)
pause 3
do talk resp 0
pause 3
do talk @npc (53 114)
pause 3
do move 146 112
pause 3
do move 99 23
#TALKING TO RECIEPTIONIST
do talk @npc (100 29)
pause 3
do talk resp 0
pause 3
do move 99 99
pause 1
#TALKING TO BASIC INSTRUCTOR
do talk @npc (99 105)
pause 3
do talk resp 0
pause 10
do talk @npc (99 105)
pause 2
do talk resp 0
pause 2
#TALKING TO SKILL INSTRUCTOR
do talk @npc (83 111)
pause 2
do talk resp 0
pause 5
do talk resp 0
pause 3
do move 113 107
pause 5
release potion
}

automacro potion {
base == 4
call hehe
run-once 1
}

macro hehe {
pause 1
do move 114 107
pause 5
do conf autoTalkCont 0
pause 1
#TALKING TO ITEM INSTRUCTOR
do talk @npc (115 111)
do talk cont
do talk resp 0
do talk cont
do talk cont
pause 1
do is @inventory (Novice Potion)
pause 1
do talk cont
do talk cont
do talk cont
do talk cont
pause 1
do eq @inventory (Novice Slippers)
pause 1
do talk cont
do talk cont
do talk cont
do talk cont
do talk cont
do talk cont
do talk cont
do talk cont
do talk cont
do talk cont
do talk resp 0
do talk cont
do talk cont
pause 5
do conf autoTalkCont 1
#TALKING TO KAFRA INSTRUCTOR
do talk @npc (118 108)
pause 2
do talk resp 1
pause 1
do talk resp 0
pause 4
do talk resp 1
pause 5
do talk resp 4
#TELEPORTING TO FIELD coURSE
do talk @npc (118 108)
pause 2
do talk resp 0
pause 1
do talk resp 0
pause 3
#TALKING TO HELPER
do talk @npc (17 182)
pause 2
do talk resp 0
pause 10
do talk resp 3
pause 2
#TALKING TO ENTERANCE GUARD
do conf autoTalkCont 0
pause 1
do talk @npc (38 182)
pause 1
do talk cont
do talk cont
do talk cont
do talk cont
do talk resp 0
do talk cont
pause 2
do relog 1
pause 5
#RE-TALKING TO ENTERANCE GUARD TO GET BONUS LVL UP & NOVICE POTIONS
do talk @npc (38 182)
pause 1
do talk cont
do talk cont
do talk resp 0
do talk cont
pause 5
do eq @inventory (Tattered Novice Ninja Suit)
do eq @inventory (Somber Novice Hood)
do eq @inventory (Novice False Eggshell)
do eq @inventory (Novice Main-Gauche)
do eq @inventory (Novice Guard)
do conf useSelf_item_0 Meat,Apple,Banana,Sweet Potato,Carror,Red Potion,Novice Potion
do conf route_randomWalk 1
do conf attackAuto 2
do conf dcOnDeath 0
do conf attackAuto_inLockOnly 0
}

automacro fvkface {
job == 10
call convert
run-once 1
}

macro convert {
do conf attackAuto 0
do conf route_randomWalk 0
do conf autoTalkCont 0
pause 5
do move 99 22
pause 1
do talk @npc (91 22)
pause 2
do talk cont
do talk cont
pause 3
do conf autoTalkCont 1
pause 1
do move 100 25
do talk @npc (100 29)
pause 5
do talk resp 0
pause 2
do talk resp 0
do talk resp 0
do talk resp 0
do talk resp 0
pause 3
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0
pause 1
do talk resp 0 # 0 = swordy, 1 = other
pause 1
do talk resp * #i think it goes like 0 = mage, 1= merch, 2 = thief, 3 = archer, 4 = aco
pause 1}

buffer for linker

automacro keyword {
pm /(kaupe|kaite|kaahi|spirit)/
call spiritin
priority 0
}

macro spiritin {
$di = $.lastMatch1
$n = $.lastMatch2
$b = $.lastMatch3
$skill = $.lastMatch5
$job = @eval ($::players{$::playersID[$b]}->{jobID})

goto skill
stop

:skill
if ($skill == spirit) goto spirit
if ($skill == Flag) goto spirit ###please delete, if you use Pm mode##
if ($di < 8) goto ka
goto far
stop

avoid GM

automacro gmavoid {
run-once 1
console /Remove Perfectly hidden/i
call quitconsole
}


macro quitconsole {
$var1 = first
pause 5
do is @inventory (Butterfly Wing)
pause 3
do move morocc x y
pause 60
relog 5000
}

automacro gmavoid2 {
run-once 1
var var1 = first
console /Remove Perfectly hidden/i
call quitconsole2
}


macro quitconsole2 {
pause 48
do quit
}

Monk job change


automacro map{
location not monk_test 329 54
call movemap
run-once 1
}

macro movemap{
do move 329 54 monk_test
}

automacro start{
location monk_test 329 54
call starttalk
run-once 1
}
macro starttalk{
do conf attackAuto 0
do conf route_randomWalk 0
do conf autoTalkCont 1
do talk @npc (329 61)
pause 2
do talk resp 1
}

automacro startmarathon{
location monk_test 386 387
call startwalking
run-once 1
}
macro startwalking{
do conf route_randomWalk 0
do move 377 387
do move 369 387
do move 359 387
do move 348 387
do move 334 387
do move 320 387
do move 49 387
do move 49 385
do move 46 385
do move 41 385
do move 39 385
do move 36 385
do move 12 385
do move 12 162
do move 14 162
do move 14 156
do move 14 32
do move 16 32
do move 16 28
do move 13 28
do move 13 12
do move 15 12
do move 67 12
do move 67 14
do move 73 14
do move 97 14
do move 100 12
do move 182 12
do move 182 10
do move 182 8
do move 182 6
do move 185 6
do move 188 6
do move 190 6
do move 190 11
do move 201 11
do move 387 11
do move 387 39
do move 384 39
do move 384 42
do move 384 45
do move 384 149
do move 384 154
do move 384 158
do move 384 160
do move 384 162
do move 384 164
do move 384 167
do move 384 169
do move 385 347
do move 0
do move 386 387
release startmarathon
}

Macro FP

automacro fp {
pm "FP"
run-once 1
macro_delay 0.5
call castfp
}

macro castfp {
if ($.lastpm == $master) goto allowed
goto end
:allowed
pause 1
do c @warp map x y <- location where i usually is
pause 1
do sp 479 "$.lastpm" 5
do sit
pause 3
do c @warp map x y <- hide in a town so it doesnt get killed
pause 5
:end
release fp
}

Macro buff+warper

automacro warp1{
pubm "adb"
class Priest
base < 80
call {
do sl 27 139 48
pause 1
do warp 2
}
}
################
automacro warp1{
pubm "adb"
Exclusive 1
class Priest
base < 80
call {
do sl 27 139 48
pause 1
do warp 2
}
}

anti KS

automacro detect ks {
console ks/kser/reporting/k s/killsteal/stealer
call ks
timeout 30
run-once 1
}

macro ks {
do conf attackAuto 0
do as
pause 1
do e pea
pause 1
do c @random ("so sorry","sorry! ^^","didn't see u sorry","oops sorry")
pause 7
do tele
do conf attackAuto 1
release detect ks
}

Macro auto dc jika monster aggresive lebih dari yang d tentukan

automacro autodc {
hp <= 30%
delay 60
run-once 1
call autodc2
}

macro autodc2 {
do relog 10
release autodc
}

automacro aggressives {
aggressives >= 5
run-once 1
call disconnect
}

macro disconnect {
do relog 15
pause 30
release aggressives
}

Auto sell Macro

automacro iwanttosell {
inventory "gold ring" >= 25
location ama_dun02
run-once 1
call {
release izlude
release ama_dun01
release ama_dun03
do c @go 5
release iwanttosell
}
}

automacro izlude {
run-once 1
location izlude
call {
release iwanttosell
release ama_dun01
release ama_dun02
release ama_dun03

do move close to the sell npc
do autosell

do move close to the warp npc
do talknpc 131 116 r1 r11 r2 (maybe this is ama_dun02)

release izlude
}
}


automacro ama_dun01 {
run-once 1
location ama_dun01
call {
release izlude
release iwanttosell
release ama_dun02
do move ama_dun03
}
}

#this is your fight map ... ama_dun02
automacro ama_dun02 {
run-once 1
location ama_dun02
call {
release izlude
release iwanttosell
release ama_dun01
release ama_dun03
}
}

automacro ama_dun03 {
run-once 1
location ama_dun03
call {
release izlude
release iwanttosell
release ama_dun01
release ama_dun02
do move ama_dun02
}
}

Macro Buffer

automacro buff {
pm /buff|Buff|buffs|Buffs/
run-once 1
delay 1
call playerbuff
}

macro playerbuff {
$player = $.lastpm
do sp Blessing $player
pause 1
do sp "Increase AGI" $player
pause 1.5
do sp "Blessing" $player
pause 1.5
do sp "Angelus" $player
pause 1.5
do sp "Magnificat" $player
pause 1.5
do sp "Gloria" $player
pause 1.5
do sp "Assumptio" $player
pause 1.5
do sp "Impositio Manus" $player
pause 1.5
release buff

}

Macro Linker V2

automacro keyword {
player "XXXXX"
call spiritin
priority 0
}

macro spiritin {
$di = $.lastMatch1
$n = $.lastMatch2
$b = $.lastMatch3
$skill = $.lastMatch5
$job = do eval (return $::players{$::playersID[$b]}->{jobID})

goto skill
stop

:skill
if ($skill == spirit) goto spirit
if ($skill == Flag) goto spirit
if ($di < Cool goto ka
goto far
stop

:ka
if ($skill == kaupe) goto kaupe
if ($skill == kaite) goto kaite
if ($skill == kaahi) goto kaahi
goto end

:spirit

if ($job = 12) goto sin
if ($job = 4013) goto sin

if ($job = 16) goto sage
if ($job = 4017) goto sage

if ($job = Cool goto pris
if ($job = 4009) goto pris

if ($job = 15) goto monk
if ($job = 4016) goto monk

if ($job = 9) goto wiz
if ($job = 4010) goto wiz

if ($job = 17) goto rogue
if ($job = 4018) goto rogue

if ($job = 1Cool goto alche
if ($job = 4019) goto alche

if ($job = 4020) goto bdc
if ($job = 4021) goto bdc

if ($job = 19) goto bdc
if ($job = 20) goto bdc

if ($job = 14) goto crs
if ($job = 4015) goto crs
if ($job = 21) goto crs
if ($job = 4022) goto crs

if ($job = 23) goto sn

if ($job = 10) goto bs
if ($job = 4011) goto bs

if ($job = 4047) goto tm
if ($job = 4048) goto tm

if ($job = 4049) goto sl

if ($job = 7) goto knit
if ($job = 13) goto knit
if ($job = 174) goto knit
if ($job = 4014) goto knit

goto unspirit

:sin
if ($di < Cool goto sin1
goto far
:sage
if ($di < Cool goto sage1
goto far
:pris
if ($di < Cool goto pris1
goto far
:monk
if ($di < Cool goto monk1
goto far
:wiz
if ($di < Cool goto wiz1
goto far
:rogue
if ($di < Cool goto rogue1
goto far
:alche
if ($di < Cool goto alche1
goto far
:bdc
if ($di < Cool goto bdc1
goto far
:crs
if ($di < Cool goto crs1
goto far
:sn
if ($di < Cool goto sn1
goto far
:bs
if ($di < Cool goto bs1
goto far
:tm
if ($di < Cool goto tm1
goto far
:sl
if ($di < Cool goto sl1
goto far
:knit
if ($di < Cool goto knit1
goto far


:sin1
do sp 457 "$n"
goto finish
:sage1
do sp 449 "$n"
goto finish
:pris1
do sp 454 "$n"
goto finish
:monk1
do sp 447 "$n"
goto finish
:wiz1
do sp 453 "$n"
goto finish
:rogue1
do sp 456 "$n"
goto finish
:alche1
do sp 445 "$n"
goto finish
:bdc1
do sp 455 "$n"
goto finish
:crs1
do sp 450 "$n"
goto finish
:sn1
do sp 451 "$n"
goto finish
:bs1
do sp 458 "$n"
goto finish
:tm1
do sp 448 "$n"
goto finish
:sl1
do sp 461 "$n"
goto finish
:knit1
do sp 452 "$n"
goto finish


:finish
release all
do e no1
stop

:unspirit
release all
do c sori $n I don't have Spirit for your player!
stop

:kaupe
do sp 464 "$n"
stop

:kaite
do sp 465 "$n"
stop

:kaahi
do sp 463 "$n"
stop

:far
do c $n Come Here Now! You'r So Far! ^^
stop

:end
stop
}

Macro disconet

macro buat disconet dalam keadaan tertentu

automacro checkhp {
hp < 20%
call help
}

macro help{
log quitting coz of low hp
do quit
}

Penjelasan Pemasangan Macro

Untuk pemasangan macros pertama kalo yang kamu musti lakukan adalah DL macro plugin.
setelah kamu download macro plugin. kamu bikin ato buat folder Plugins.


dan sesudah seperti d atas jadi nya akan seperti ini


nie untuk download macro plugin versi 2.0.2 bisa d ambil d sini.

setelah langkah d atas



masuk ke folder control seperti gambar d atas.
lalu buat notepad dgn nama macros(dgn format.txt)

Tentang Vending

(nama shop)
#ex:
#(nama item)(harga)(jumlah item yang d vending)
Chain [3]
Andre Card 200,000 5
Chain[3] 800,000

# This file controls which items to put into your shop, when you are
# vending. To enable vending, set the 'shopAuto' configuration option in
# config.txt to 1.
#
# The first line of the file is your shop title.
# Subsequent lines are of this format (tab-delimited):
# []
#
# If has commas in it, they must appear in the right places.
# This can be useful for preventing accidentally vending an item
# for the wrong price.

Pickup item

# Tell Kore to pickup (or not to pickup) certain items.
# Format:
# - name of item (not case sensitive)
# - -1 to drop the item when it appears in inventory
# (useful for Rogues with auto-steal),
# 0 to not pick up the item,
# 1 to pickup the item,
# 2 to take the item as fast as it can
#
# Use the item name "all" to tell kore to pickup or not pickup all items
# by default.

all 0
Gold 2(mengambil dgn cpt jika bisa)
Yggdrasill Seed 1(mengambil item)
Panacea 0(tidak memungut item tersebut)

Penjelasan Mon_controls

# This file allows specific AI control for certain monsters
#
# Syntax:
#
#
# : Name of monster as found in monsters.txt (not case sensitive)
#
# :
# -1 means to leave the monster alone, even if it attacks you.
# 0 means to leave the monster alone, unless it attacks you.
# 1 means to always auto-attack this monster.
# 2 means always aggressive, auto-attack this monster when it appears, even if sitting.
# 3 means to attack the monster once (provoke) then leave it, useful for mobbing.
#
# :
# 1 to teleport if the monster is on the screen.
# 2 to teleport if the monster attacks you.
# 3 to disconnect if the monster is on your screen.
# This is only used in auto-attack mode.
#
# : Put a 1 to only attack the monster in the search mode.
# This is only used in auto-attack mode.
#
# : Set to 1 if you want to interrupt spells casted by this
# monster.
#
# : Only auto-attack this monster if your level is higher than the
# specified level.
#
# : Only auto-attack this monster if your job level is higher than
# the specified level.
#
# : Only auto-attack this monster if your HP is higher than the
# specified amount. The HP is not specified in percentage.
#
# : Only auto-attack this monster if your SP is higher than the
# specified amount. The SP is not specified in percentage.
#
# : Counts this monster as the specified amount aggressives. Supports floating point numbers (eg 1.8237402).
# Example:
# (config.txt)
# teleportAuto_minAggressives 6
# teleportAuto_minAggressivesInLock 6
#
# (mon_control.txt)
# Hydra 1 0 0 0 0 0 0 0 0.2
# Merman 1 0 0 0 0 0 0 0 2
#
# If there's five hydras and two sword fish attacks the bot, it won't
# teleport away since the aggressives are counted as 5*0.2 + 2*1 = 3
# However, two marcs and two merman will make it tele away because
# it sees 2*1* + 2*2 = 6 aggressives.
#
#
# Monsters not found in this file, or flags not specified will default to:
# = 1
All 2 0 0 ( menyerang dgn aggresive)
Evil Druid 0 1 0 0 0 0 0.1 ( teleport jika monster lebih dari 1)
Evil Druid 0 0 1 ( mencari monster)

Penjelasan Item_controls

# In this file you can control which items to put in storage,
# to sell, or to leave in the inventory.
#
# Syntax:
# (item name) (minimum) (auto-store) (auto-sell) [put in cart] [get from cart]
# item name : Name of the item.
# miminum : The minimum amount of this item that you want to keep in inventory.
# autostore : Set to 1 to walk back to a Kapra NPC to put in storage.
# autosell : Set to 1 to sell item at a buy/sell NPC.
# put in cart : Set to 1 to automatically put this item in cart.
# get from cart : Set to 1 to automatically get this item from cart.
#
# The example below will sell all jellopies, store all knifes and puts
# all flowers in cart:
# Jellopy 0 0 1
# Knife 0 1 0
# Flower 0 0 0 1
#
# This example will get Red Potions from cart if you have less than 25
# of them in your inventory:
# Red Potion 25 0 0 0 1
#
# The item name isn't case sensitive. Only items found in this file will
# be stored or sold.
#
# If auto-store and auto-sell are 1, Kore will do storage first (unless
# storage is full) then sell.
#
# Kore will not sell or store equipped items. For example, if you're using
# a knife and you have a line to auto-sell all knives, kore will sell any
# extras it picks up, not the knife it's using.
#
# Don't forget to set the storageAuto, sellAuto and related configuration
# options in config.txt, or this file won't have any effect.
#
# An auto-sell list and auto-storage list is provided by default, modify it
# as you see fit.


# All items not mentioned in this file will be automatically stored in storage.
all 1 0 0 (auto menaruh smua barang d inventory ke dalam kafra)
Yggdrasillberry 20 1 0 0 0 (auto menaruh d kafra/storage)
Yggdrasillberry 20 0 1 0 0 (auto menjual)
Yggdrasillberry 20 0 0 1 0 (auto menaruh d dalam cart)
Yggdrasillberry 20 0 0 0 1 (auto mengambil dalam cart)

Pengertian/penjelasan tentang config

# Please Read the Users Manual
# The Manual is located at http://openkore.sourceforge.net/manual/

######## Login options and server-specific options ########

master
server
username
password
pin
char
sex

bindIp
# For an overview of all servertypes please go to the following URL:
# http://www.openkore.com/wiki/index.php/ServerType#English
serverType 0

# 1 = hook into RO client, 2 = Act as stand-alone proxy, proxy = act as true proxy
XKore 0
XKore_silent 1
XKore_bypassBotDetection 0
XKore_exeName ragexe.exe

# XKore 2 / Proxy configuration
XKore_ID
XKore_listenIp 127.0.0.1
XKore_listenPort 6901
XKore_publicIp 127.0.0.1
XKore_proxyAllowed_IP

# It is not advised to set secureAdminPassword if you're using Xkore 2
secureAdminPassword 1
adminPassword
callSign
commandPrefix ;

pauseMapServer 0
ignoreInvalidLogin 0
secureLogin_requestCode

message_length_max 80

######## Main configuration ########

alias_heal sp 28

allowedMaps
allowedMaps_reaction 1

attackAuto 2
attackAuto_party 1
attackAuto_onlyWhenSafe 0
attackAuto_followTarget 1
attackAuto_inLockOnly 1
attackDistance 1.5
attackDistanceAuto 0
attackMaxDistance 2.5
attackMaxRouteDistance 100
attackMaxRouteTime 4
attackMinPlayerDistance 2
attackMinPortalDistance 4
attackUseWeapon 1
attackNoGiveup 0
attackCanSnipe 0
attackCheckLOS 0
attackLooters 0
attackChangeTarget 1
aggressiveAntiKS 0

autoMoveOnDeath 0
autoMoveOnDeath_x
autoMoveOnDeath_y
autoMoveOnDeath_map

attackEquip_topHead
attackEquip_midHead
attackEquip_lowHead
attackEquip_leftHand
attackEquip_rightHand
attackEquip_leftAccessory
attackEquip_rightAccessory
attackEquip_robe
attackEquip_armor
attackEquip_shoes
attackEquip_arrow

autoBreakTime {
startTime
stopTime
}

autoConfChange {
minTime
varTime
lvl
joblvl
}

autoMakeArrows 0

autoRestart 0

autoRestartMin 10800
autoRestartSeed 3600

autoRestartSleep 1
autoSleepMin 900
autoSleepSeed 900

autoResponse 0

autoSpell

avoidGM_near 0
avoidGM_near_inTown 0
avoidGM_talk 0
avoidGM_reconnect 1800
avoidGM_ignoreList

avoidList 1
avoidList_inLockOnly 0
avoidList_reconnect 1800

cachePlayerNames 1
cachePlayerNames_duration 900
cachePlayerNames_maxSize 100

clientSight 20

dcOnDeath 0
dcOnDualLogin 0
dcOnDisconnect 0
dcOnEmptyArrow 0
dcOnMute 0
dcOnPM 0
dcOnZeny 0
dcOnStorageFull 1
dcOnPlayer 0

follow 0 ( untuk follow ganti dgn 1)
followTarget (nama target yang mau kamu ikuti)
followEmotion 1
followEmotion_distance 4
followFaceDirection 0
followDistanceMax 6 (jarak maximal mengikuti)
followDistanceMin 3 (jarak minimal mengikuti)
followLostStep 12
followSitAuto 0
followBot 0

itemsTakeAuto 2
itemsTakeAuto_party 0
itemsGatherAuto 2
itemsMaxWeight 89
itemsMaxWeight_sellOrStore 48
itemsMaxNum_sellOrStore 99
cartMaxWeight 7900
itemsTakeAuto_new 0


lockMap (nama map)
lockMap_x
lockMap_y
lockMap_randX
lockMap_randY

route_escape_unknownMap 1
route_escape_reachedNoPortal 1
route_escape_randomWalk 1
route_escape_shout
route_randomWalk 1
route_randomWalk_inTown 0
route_randomWalk_maxRouteTime 75
route_maxWarpFee
route_maxNpcTries 5
route_teleport 0
route_teleport_minDistance 150
route_teleport_maxTries 8
route_teleport_notInMaps
route_step 15

runFromTarget 0
runFromTarget_dist 6

saveMap (nama map d mana kamu mau save pos)
saveMap_warpToBuyOrSell 1
saveMap_warpChatCommand

shopAuto_open 0
shop_random 0

sitAuto_hp_lower 0 (duduk jika hp kamu d bawah 40%)
sitAuto_hp_upper 0
sitAuto_sp_lower 0
sitAuto_sp_upper 0
sitAuto_over_50 0
sitAuto_idle 1

statsAddAuto 0 ( menambah stats dgn otomatis)
statsAddAuto_list (nama stats yang mau kamu tambah)
statsAddAuto_dontUseBonus 0
statsAdd_over_99 0

skillsAddAuto 1
skillsAddAuto_list (nama skill)

tankMode 0
tankModeTarget

dealAuto 1
dealAuto_names
partyAuto 1
partyAutoShare 0
guildAutoDeny 1

verbose 1
showDomain 0
squelchDomains
verboseDomains
beepDomains
beepDomains_notInTown

logChat 0
logPrivateChat 1
logPartyChat 1
logGuildChat 1
logSystemChat 1
logEmoticons
logConsole 0
logAppendUsername 1

chatTitleOversize 0
shopTitleOversize 0

sleepTime 10000
intervalMapDrt 1

ignoreAll 0
itemHistory 0
autoTalkCont 1
noAutoSkill 0
portalRecord 2
missDamage 0

tankersList

removeActorWithDistance

######## Block options ########
# You can copy & paste any block multiple times. So if you want to
# configure two attack skills, just duplicate the attackSkillSlot block.

attackSkillSlot nama skill buat attak{
lvl 10
dist 1.5
maxCastTime 0
minCastTime 0
hp
sp > 10
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive
whenFollowing
spirit
aggressives
previousDamage
stopWhenHit 0
inLockOnly 0 ( hanya d lockmap)
notInTown 0
timeout 0
disabled 0
monsters (monster yang mau kamu bunuh dgn skill)
notMonsters
maxAttempts 0
maxUses 0 (max penggunaan)
target_whenStatusActive
target_whenStatusInactive
target_deltaHp
inInventory
isSelfSkill 0
equip_topHead
equip_midHead
equip_lowHead
equip_leftHand
equip_rightHand
equip_leftAccessory
equip_rightAccessory
equip_robe
equip_armor
equip_shoes
equip_arrow
manualAI 0
}

attackComboSlot (digunakan untuk skill combo){
afterSkill (menggunakan sesudah skill)
waitBeforeUse (menunggu sebelum skill)
dist 1.5
isSelfSkill 1
target_deltaHp
}


useSelf_skill nama skill{
lvl 10
maxCastTime 0
minCastTime 0
hp
sp
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive status skill(utnuk paket bisa d gunakan seperti nama skill)
whenFollowing
spirit
aggressives
monsters
notMonsters
stopWhenHit 0
inLockOnly 0
notWhileSitting 0
notInTown 0
timeout 0
disabled 0
inInventory
manualAI 0
}

useSelf_skill_smartHeal 1


partySkill nama skill(harus benar){
lvl 10 (lv skill)
maxCastTime 0
minCastTime 0
hp
sp
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive
whenFollowing
spirit
aggressives
monsters
notMonsters
stopWhenHit 0
inLockOnly 0
notWhileSitting 0
notInTown 0
timeout 0
disabled 0
manualAI 0
target
target_hp
target_isJob
target_isNotJob
target_whenStatusActive
target_whenStatusInactive
target_aggressives
target_monsters
target_timeout 0
target_deltaHp
target_dead 0
inInventory
isSelfSkill 0
}


autoSwitch_default_rightHand
autoSwitch_default_leftHand
autoSwitch_default_arrow

# NOTE: In the case of two handed weapons, or no Shield,
# duplicate the weapon name for 'rightHand'
# To attack with bare hands, specify "[NONE]" (without the quotes) for rightHand

autoSwitch {
rightHand (otomatis mengganti equip d sebelah kanan)
leftHand (otomatis mengganti equip d sebelah kiri)
arrow (otomatis mengganti arrow)
distance
useWeapon
}

equipAuto {
topHead (nama tophead kamu)
midHead (nama midhead kamu)
lowHead (nama lowhead kamu)
leftHand (nama item lefthand kamu)
rightHand (nama item righthand kamu)
leftAccessory (left accesory kamu)
rightAccessory (right accesory)
robe (robe kamu)
armor (armor kamu)
shoes (shoes kamu)
arrow (arrow yang mau kamu gunakan)
monsters (nama monster
weight 0
whileSitting 0
hp ( mengganti equip jika hp kamu seperti yang kamu kehendaki)
sp ( mengganti equip jika hp kamu seperti yang kamu kehendaki)
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive
whenFollowing
spirit
aggressives
stopWhenHit 0
inLockOnly 0
notWhileSitting 0
notInTown 0
timeout 0
disabled 0
inInventory
manualAI 0
}

useSelf_item (nama item yang akan d gunakan){
hp (penggunaan item sesuai hp yang d kehendaki)
sp (penggunaan item sesuai sp yang d kehendaki)
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive ( menggunakan jika effect status hilang)
whenFollowing
spirit
aggressives
monsters
notMonsters
stopWhenHit 0
inLockOnly 0
notWhileSitting 0
notInTown 0
timeout ( waktu yang d butuh kan untuk menggunakan )
disabled 0
inInventory
manualAI 0
}

######## Autostorage/autosell ########

buyAuto (Nama item){
npc (map x y)
standpoint
distance 5
minAmount 2
maxAmount 3
}

sellAuto 0
sellAuto_npc (map x y)
sellAuto_standpoint
sellAuto_distance 5

storageAuto 1
storageAuto_npc (map x y)
storageAuto_distance 5
storageAuto_npc_type 1
storageAuto_npc_steps
storageAuto_password (pasword npc kamu)
storageAuto_keepOpen 0
storageAuto_useChatCommand (d gunakan untuk d privat server yang menyediakan layanan @storage,@gstorage)
relogAfterStorage 1
minStorageZeny 50

getAuto {
minAmount
maxAmount
passive
}

######## Debugging options; only useful for developers ########

debug 0
debugPacket_unparsed 0
debugPacket_received 0
debugPacket_ro_sent 0
debugPacket_sent 0
debugPacket_exclude
debugPacket_include
debugPacket_include_dumpMethod
debugDomains

Macros Vending

Nie buat vending...

automacro startup {
run-once 1
exclusive 1
log Starting up, Checking inventory...
call check_inventory
}

automacro check_shop {
run-once 1
soldout >= 1
log I'm outta something... Checking inventory...
call check_inventory
}

macro check_inventory {
## Define items and base Values. If item not in use then = Null.
## Make sure that your shop.txt file includes what you want to sell
$item1 = Red Potion
$bitem1 = 500
$item2 = Concentration Potion
$bitem2 = 20
$item3 = Orange Potion
$bitem3 = 200

log Closing Shop and Checking Inventory...
do closeshop
if ($item1 = Null) goto ierror
:citem1
$citem1 = @cartamount ($item1)
$call = 0
if ($citem1 >= $bitem1) goto noitem1
$aitem1 = @eval ($bitem1 - $citem1)
log Mmm... I need $aitem1 $item1...
$call = @eval ($call + 1)
if ($item2 = Null) goto restock
goto citem2
:noitem1
log Nope, I do not need $item1...
if ($item2 = Null) goto np
goto citem2
:citem2
$citem2 = @cartamount ($item2)
if ($citem2 >= $bitem2) goto noitem2
$aitem2 = @eval ($bitem2 - $citem2)
log Mmm... I need $aitem2 $item2...
$call = @eval ($call + 2)
if ($item3 = Null) goto restock
goto citem3
:noitem2
log Nope, I do not need $item2...
if ($item3 = Null) goto np
goto citem3
:citem3
$citem3 = @cartamount ($item3)
if ($citem3 >= $bitem3) goto noitem3
$aitem3 = @eval ($bitem3 - $citem3)
log Mmm... I need $aitem3 $item3...
$call = @eval ($call + 4)
goto restock
:noitem3
log Nope, I do not need $item3...
goto np
:restock
call restock
goto end
:np
log Inventory looks fine. Reopening Store...
do openshop
goto end
:ierror
log Item #1 can not be Null. Exiting...
goto end
:end
release check_shop
}

macro restock {
$where = $.pos
$map = $.map
if ($map = "prontera") goto prontera
if ($map = "payon") goto payon
if ($map = "prt_in") goto prontera
log HELP! I am at $map and I cant find my vendor...
goto end
:prontera
do move 129 72 prt_in
## $npc = (126 76)
do talk @npc (126 76)
call items
call return
goto end
:payon
## $npc = (159 96)
if ($where != "168 96") do move 168 96 payon
do talk @npc (159 96)
call items
call return
goto end
:end
}

macro items {
if ($call = 1) goto item1
if ($call = 2) goto item2
if ($call = 3) goto items12
if ($call = 4) goto item4
if ($call = 5) goto item23
if ($call = 6) goto item24
if ($call = 7) goto item123
if ($call >=8) goto error
goto end
:item1
do store
do buy @store ($item1) $aitem1
do cart add @inventory ($item1) $aitem1
goto end
:item2
do store
do buy @store ($item2) $aitem2
do cart add @inventory ($item2) $aitem2
goto end
:item4
do store
do buy @store ($item3) $aitem3
do cart add @inventory ($item3) $aitem3
goto end
:item12
do store
do buy @store ($item1) $aitem1
do buy @store ($item2) $aitem2
do cart add @inventory ($item1) $aitem1
do cart add @inventory ($item2) $aitem2
goto end
:item23
do store
do buy @store ($item1) $aitem1
do buy @store ($item3) $aitem3
do cart add @inventory ($item1) $aitem1
do cart add @inventory ($item3) $aitem3
goto end
:item24
do store
do buy @store ($item2) $aitem2
do buy @store ($item3) $aitem3
do cart add @inventory ($item2) $aitem2
do cart add @inventory ($item3) $aitem3
goto end
:item123
do store
do buy @store ($item1) $aitem1
do buy @store ($item2) $aitem2
do buy @store ($item3) $aitem3
do cart add @inventory ($item1) $aitem1
do cart add @inventory ($item2) $aitem2
do cart add @inventory ($item3) $aitem3
goto end
:error
log Im confused on what I need to buy. Ending...
goto end
:end
}

macro return {
log Got what I needed... Returning to $where $map
do move $where $map
do openshop
release check_shop
}

Macros Repair

Nie macro repair

Sample. Macro d bawah bisa d ganti
###################################################
# Auto-Repair v2
###################################################
###################### Head #######################
automacro repair_head {
inventory "BROKEN +8 Bulb Band [Marin*2]" = 1
map um_fild04
run-once 1
call auto_repair_cmd
}
#################### RightHand ####################
automacro repair_righthand {
inventory "BROKEN +5 Tirfing [The Paper*4]" = 1
map um_fild04
run-once 1
call auto_repair_cmd
}
#################### LeftHand #####################
automacro repair_lefthand {
inventory "BROKEN +4 Tirfing [The Paper*4]" = 1
map um_fild04
run-once 1
call auto_repair_cmd
}
###################### Armor ######################
automacro repair_armor {
inventory "BROKEN +8 Chain Mail [Ghostring] [1]" = 1
map um_fild04
run-once 1
call auto_repair_cmd
}

macro auto_repair_cmd {
c @warp prt_in 59 63
@pause 3
c @storage
@pause 3
storage get Steel 1
@pause 3
talknpc 62 54 c r0 r0 n
@pause 3
eq +8 Bulb Band [Marin*2]
@pause 3
eq +4 Tirfing [The Paper*4]
@pause 3
eq +5 Tirfing [The Paper*4]
@pause 3
eq +8 Chain Mail [Ghostring] [1]
@pause 3
c @warp um_fild04 174 42
@release repair_head
@release repair_righthand
@release repair_lefthand
@release repair_armor
}

Macros Avoid

Nie buat yang bot wiz,hunter


automacro avoid {
map moc_fild12
monster Picky,Super Picky,PecoPeco's Egg,Drops, 12
#Notice the coma space and number 12 above? This avoid automacro only trigger if any of the monster list
#distance is equal or less than the number given.
timeout 5
exclusive 1
set Move 10
#set Move to how many distance per trigger you want it to move.
call check
}
macro check {
[
$mon = $.lastMonster
$monID = $.lastMonsterID
$dist = $.lastMonsterDist
$monPos = $.lastMonsterPos
$map = $.map
$myPos = $.pos
$myPosX = @arg ("$myPos", 1)
$myPosY = @arg ("$myPos", 2)
$monPosX = @arg ("$monPos", 1)
$monPosY = @arg ("$monPos", 2)
$map = $.map
do eval message T("Macro Avoid: $::Macro::Data::varStack{mon} \($::Macro::Data::varStack{monID}\)\n"), "teleport"; message T("Monster Dist\= $::Macro::Data::varStack{dist} \, Monster Loc\: \($::Macro::Data::varStack{monPosX},$::Macro::Data::varStack{monPosY}\) Map\= $::Macro::Data::varStack{map}\n"), "teleport";
]
do as

if ($myPosX > $monPosX) goto east
if ($myPosX < $monPosX) goto west
:X0
if ($myPosY < $monPosY) goto X0south
if ($myPosY > $monPosY) goto X0north
log We have the same co-ord to the Monster
do @random ("east", "west", "south", "north") $Move
log Move Random
stop
:X0south
log Monster Loc: North X-axis0
do south $Move
log Move South
stop
:X0north
log Monster Loc: South X-axis0
do north $Move
log Move North
stop

:east
if ($myPosY < $monPosY) goto eastSouth
if ($myPosY > $monPosY) goto eastNorth
:Y0east
log Monster Loc: West Y-axis0
do east $Move
log Move East
stop
:eastSouth
log Monster Loc: NorthWest
do southeast $Move
log Move South East
stop
:eastNorth
log Monster Loc: SouthWest
do northeast $Move
log Move North East
stop

:west
if ($myPosY < $monPosY) goto westSouth
if ($myPosY > $monPosY) goto westNorth
:Y0west
log Monster Loc: East Y-axis0
do west $Move
log Move West
stop
:westSouth
log Monster Loc: NorthEast
do southwest $Move
log Move South West
stop
:westNorth
log Monster Loc: SouthEast
do northwest $Move
log Move North West
stop
}

Macro buat bikin thief

Nie macros buat bikin thief dari novice dgn menggunakan bot.. smoga aja masi berhasil.

#Novice to Thief Macro byMasahiro

automacro thief{
inventory "Orange Gooey Mushroom" <>= 1
inventory "Orange Net Mushroom" >= 8
call done
run-once 1
}

automacro gathered2 {
inventory "Orange Gooey Mushroom" >= 4
inventory "Orange Net Mushroom" >= 7
call done
run-once 1
}

automacro gathered3 {
inventory "Orange Gooey Mushroom" >= 7
inventory "Orange Net Mushroom" >= 6
call done
run-once 1
}

automacro gathered4 {
inventory "Orange Gooey Mushroom" >= 10
inventory "Orange Net Mushroom" >= 5
call done
run-once 1
}

automacro gathered5 {
inventory "Orange Gooey Mushroom" >= 13
inventory "Orange Net Mushroom" >= 4
call done
run-once 1
}

automacro gathered6 {
inventory "Orange Gooey Mushroom" >= 16
inventory "Orange Net Mushroom" >= 3
call done
run-once 1
}

automacro gathered7 {
inventory "Orange Gooey Mushroom" >= 19
inventory "Orange Net Mushroom" >= 2
call done
run-once 1
}

automacro gathered8 {
inventory "Orange Gooey Mushroom" >= 22
inventory "Orange Net Mushroom" >= 1
call done
run-once 1
}

automacro gathered9 {
inventory "Orange Gooey Mushroom" >= 25
call done
run-once 1
}

automacro gathered10 {
inventory "Orange Net Mushroom" >= 9
call done
run-once 1
}

macro done {
do is @inventory (Butterfly Wing)
pause 3
do conf attackAuto 0
do conf route_randomWalk 0
do conf autoTalkCont 1
do move 41 125 moc_prydb1
pause 1
do talk @npc (42 133)
pause 3
}

automacro died {
map morocc
call ban
run-once 1
}

macro ban {
do move 135 130 moc_ruins
do talk @npc (141 125)
pause 3
do conf attackAuto 2
do conf route_randomWalk 1
do conf itemsTakeAuto 2
do conf itemsGatherAuto 2
release all
}

Linker Macro V1

Nie macro buat kasi link ke char satu nya...

macro foo {
$d = $.lastMatch1
if ($d > 6) goto stop
$i = $.lastMatch3
$g = @eval (exists $::players{$::playersID[$i]}->{guild} ? $::players{$::playersID[$i]}->{guild}{name} : 'null')
$jobID = @eval ($::players{$::playersID[$i]}->{jobID})
$y1 = VulgarRefineTrader
$y2 = G2
$y3 = G3
$y4 = G4
$e = $.lastmatch4
if ($g eq $y1) goto ok
if ($g eq $y2) goto ok
if ($g eq $y3) goto ok
if ($g eq $y4) goto ok
:stop
stop
:ok
if (@eval ("$jobID" eq "Lord Knight") == 1) goto knight
if (@eval ("$jobID" eq "High Priest") == 1) goto priest
if (@eval ("$jobID" eq "High Wizard") == 1) goto wizard
if (@eval ("$jobID" eq "Whitesmith") == 1) goto smith
if (@eval ("$jobID" eq "Sniper") == 1) goto sniper
if (@eval ("$jobID" eq "Assassin Cross") == 1) goto assassin
if (@eval ("$jobID" eq "Peco Lord Knight") == 1) goto knight
if (@eval ("$jobID" eq "Paladin") == 1) goto paladin
if (@eval ("$jobID" eq "Champion") == 1) goto champion
if (@eval ("$jobID" eq "Professor") == 1) goto professor
if (@eval ("$jobID" eq "Stalker") == 1) goto stalker
if (@eval ("$jobID" eq "Creator") == 1) goto creator
if (@eval ("$jobID" eq "Clown") == 1) goto clown
if (@eval ("$jobID" eq "Gypsy") == 1) goto clown
if (@eval ("$jobID" eq "Peco Paladin") == 1) goto paladin
:knight
do sp 452 $i 5
stop
:priest
do sp 454 $i 5
stop
:wizard
do sp 453 $i 5
stop
:smith
do sp 458 $i 5
stop
:sniper
do sp 460 $i 5
stop
:assassin
do sp 457 $i 5
stop
:paladin
do sp 450 $i 5
stop
:champion
do sp 447 $i 5
stop
:professor
do sp 449 $i 5
stop
:creator
do sp 445 $i 5
stop
:clown
do sp 455 $i 5
stop

}

Follow Macro

Nie macro buat bot gandeng...

automacro lostya {
pm "w8",follower
call missfollower
}

macro missfollower {
$target = @player (follower)
if ($target != -1) goto end
[
do conf attackAuto 1
do conf route_randomWalk 0
do sit
]
:missing
$target = @player (follower)
if ($target == -1) goto missing
[
do conf attackAuto 2
do conf route_randomWalk 1
]
:end
}

Refine Macros

Nie macro refine/macro buat nempa... Kegagalan dalam menempa jgn salah kan bot ato saya.... karena biar bagaimana pun menempa tetap membutuh kan ke ho-q an dari char kamu...

automacro check_inventory {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon < upgradeon =" 1"> 0
equipped Sword [3]
call do_upgrade
}

automacro check_equip1 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +1 Sword [3]
call do_upgrade
}

automacro check_equip2 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +2 Sword [3]
call do_upgrade
}

automacro check_equip3 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +3 Sword [3]
call do_upgrade
}


automacro check_equip4 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +4 Sword [3]
call do_upgrade
}


automacro check_equip5 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +5 Sword [3]
call do_upgrade
}

automacro check_equip6 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +6 Sword [3]
call do_upgrade
}

automacro check_equip7 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +7 Sword [3]
call do_overupgrade
}

automacro check_equip8 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +8 Sword [3]
call do_overupgrade
}

automacro check_equip9 {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
equipped +9 Sword [3]
call do_overupgrade
}

automacro check_equipnone {
var upgradeon = 1
location prt_in 54 63 57 59
inventory Phracon > 0
inventory "Sword [3]" > 0
equipped not Sword [3]
equipped not +1 Sword [3]
equipped not +2 Sword [3]
equipped not +3 Sword [3]
equipped not +4 Sword [3]
equipped not +5 Sword [3]
equipped not +6 Sword [3]
equipped not +7 Sword [3]
equipped not +8 Sword [3]
equipped not +9 Sword [3]
call equip_item
}

macro equip_item {
eq Sword [3]
@pause 2
}

macro do_upgrade {
talk @npc (63 60)
@pause 1
talk cont
@pause 1
talk resp 3
@pause 1
talk cont
@pause 1
talk resp 0
@pause 1
}

macro do_overupgrade {
talk @npc (63 60)
@pause 1
talk cont
@pause 1
talk resp 3
@pause 1
talk cont
@pause 1
talk resp 0
@pause 1
talk cont
@pause 1
talk cont
@pause 1
talk resp 0
@pause 1
}

Location Checker

Macro Location Check saya. Bisa d gunakan dgn bebas. guna nya biar bot nda nyasar...

automacro locationcheck {
location not yuno_fild08
timeout 4
run-once 1
call {
do c @warp yuno_fild08
release locationcheck
}
}

Element Convert

Nie Macro buat element convert.

automacro create {
sp >= 10%
location yuno
inventory "Rainbow Shell" > 3
inventory "Blank Scroll" > 1
#inventory "Scell" > 0
#inventory "Blue Herb" > 0
#inventory "Poison Spore" > 4
#inventory "Stem" > 4
#inventory "Empty Potion Bottle" > 0
call pharmacy
run-once 1

}

macro pharmacy {
do ss 1007 1
pause 1
# 970 alcohol
# 7135 bottle gerande
# 7136 acid bottle
# 545 condensed red
# 546 condensed yellow
# 547 condensed white
# 505 Blue Potion
# 12114 Flame Elemental Converter
# 12117 Lightning Elemental Converter
do eval $::messageSender->sendForgeItem(12117,7433,1013);
release $.caller
}

Anti Pk Macro

nie salah satu macro buatan saya bisa d coba kalo gagal maap ya. soal nya saya buat untuk privat server yang pertama. ini macro saya buat pertama kali saya bermain xilero. waktu itu masi menggunakan macro 1.6.8 jadi kalo untuk macro yang sekarang saya blom coba kembali.

automacro anti-pk {
set macro_delay 0.1
set orphan reregister
timeout 2
map mjolnir_03
console /Player (.*) \((\d+)\) attacks You.*/i
call kill
}

automacro anti-magic {
set macro_delay 0.1
set orphan reregister
timeout 2
map mjolnir_03
console /Player (.*) \((\d+)\) uses (.*) on you.*/i
call kill
}

macro kill {
log $.lastMatch1 ($.lastMatch2) attacked you!
do kill $.lastMatch1
}