# Macro

Sumber: https://nyit-nyit.net/threads/macro.23017/
Forum: Openkore
Dibuat: 2007-07-07 oleh ferry_gukguk
Balasan: 35, dilihat: 18724

## Post pertama

Hi Teman-Teman pengunjung setia **Nyit-Nyit.Net**

Silahkan bagi yang ingin share macro buatannya atau macro yang lainnya di sini aja..
Thread sebelah sudah menjadi khusus Tanya Jawab.. (Biar ga pusing)

Untuk para member, dilarang melakukan tanya - jawab di thread ini.
Bagi yang melanggar, Warning menanti anda. 

Terima Kasih,
:capede: 

FerryGukguk

## Balasan

### ferry_gukguk, 2007-07-07

**Macro Buffer**

Macronya di set kalau ada yang bilang "paket" langsung ngasih paket dan ngomong,

```

automacro MintaPaket {
pubm "paket"
call Kasi
}

macro Kasi {
$orang = $.lastpub
do c Oke, bentar ya $orang
do sp 28 $orang
pause 1
do sp 29 $orang
pause 1
do sp 34 $orang
pause 1
do sp 66 $orang
pause 1
do sp 67 $orang
pause 1
do sp 73 $orang
do c Sip, He..he..
do e 29
}

automacro Minta2 {
pubm "heal"
call Kasi2
}

macro Kasi2 {
$orang = $.lastpub
do c Oke, bentar ya $orang
do sp 28 $orang
pause 1
do sp 29 $orang
pause 1
do sp 34 $orang
pause 1
do sp 66 $orang
pause 1
do sp 67 $orang
pause 1
do sp 73 $orang
do c Sip, He..he..
do e 29
}

```

Di kasi paketnya cuma gak ada assump, thx

### RagnarokLover, 2007-10-31

**Macro untuk priest paketer woe. **

cukup deketin priestnya dan kibarkan bendera (ctrl+1 atau ctrl+2) atau chat ke umum bilang "paket". sebagai tambahan paket hanya diberikan pada guild yg diinginkan saja.
gunakan macro versi minimal 1.x.x
Perlu diperhatikan tidak akan bekerja untuk yg menggunakan macro 0.9.3

paket lengkap dengan Blessing, Inc AGI, dan Assumptio
kalo ada yg cuman pake semisal Blessing dan Inc AGI saja cukup hilangkan atau beri tanda "#" di awal baris, contoh:

```
#skill assumptio
#pause 1
#do sp 361 $no 5
```

Here we go:

```
automacro paket {
console /\ (.*) \((\d+)\): (\*Flag\s\d\*|paket)$/
run-once 1
call {
$distance = $.lastMatch1
$namaPlayer = $.lastMatch2
$playerID = $.lastMatch3
$playerguild = @eval (exists $::players{$::playersID[$playerID]}->{guild} ? $::players{$::playersID[$playerID]}->{guild}{name} : 'null')

#Nama guild yg mau di paket
$guild = taruh_nama_guildmu_di_sini

if ($playerguild == $guild) goto oke
goto lain
:oke
if ($distance > 8) goto jauh
do c Bentar2 lagi maketin $namaPlayer

#skill blessing
do sp 34 $playerID 10

#skill increase agi
pause 1
do sp 29 $playerID 10

#skill assumptio
pause 1
do sp 361 $playerID 5

goto end

:jauh
do c ui $namaPlayer jgn jauh2 kl minta paket >.<
goto end
:lain
do c paket khusus buat $guild
:end

release paket
}
}
```

buat tambahan coba set di timeout "macro_delay 0.5" agar maket banyak orang lebih cepat

**Modifikasi untuk penggunaan guild lebih dari 1:**

Cari baris ini:

```
#Nama guild yg mau di paket
$guild = tulis_nama_guild

if ($playerguild == $guild) goto oke
goto lain
```

lalu modifikasi dikit, menjadi:

```
#Nama guild yg mau di paket
$guild1 = tulis_nama_guild_ke_1
$guild2 = tulis_nama_guild_ke_2
$guild3 = tulis_nama_guild_ke_3

if ($playerguild == $guild1) goto oke
if ($playerguild == $guild2) goto oke
if ($playerguild == $guild3) goto oke
goto lain
```

untuk nama guild nulisnya kudu persis termasuk kalau ada character2 spesial
sedikit tips buat nulis nama guild yang pake character2 special.
1.Tulis berdasarkan bagaimana tulisannya ketika sedang di dalam game, karena font openkore dengan font yang ada di game berbeda.
2.Kalau gak tau gimana cara nulisnya, di windows di start->RUN ketik charmap, lalu pilih font "Terminal", cari characternya lalu copy paste ke macros.txt

Modifikasi untuk penggunaan tidak mengenali guild (free for all guild)
Beberapa orang mengalami kesulitan menuliskan guildnya (terutama yg menggunakan special character) jadi aku beri tahu cara simpelnya agar paket dapat diberikan ke guild manapun.
caranya mudah buat yang sudah mengenali macro tinggal menghapus semua baris yg berhubungan dengan percabangan untuk mengidentifikasi guild. Atau kl mau cara singkatnya tinggal cari dan hapus baris ini:

```
goto lain
```

macro di atas boleh dikopi, dimodifikasi, didistribusi secara bebas dan cuma-cuma.
kl ada eror silakan post di sini :00100000: 

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

Thanks to Minerva from [www.d-bests.com](http://www.d-bests.com)

### RagnarokLover, 2007-10-31

**Macro Fire Arrow Quiver Menggunakan 2 Char dalam 1 ID**

```

macro fire {
# $c = isi dengan char anda yg berada di payon
# $s = isi dengan char anda yg berada di alb2trea (sunken)
$c = 2
$s = 0
$f = 1
}

automacro f1 {
location payon_in01,payon
inventory "Fire Arrow" < 500
var f == 1
exclusive 1
call {
call goStor
call getArr
call convArr
do conf char $s
do relog 2
}
}

macro convArr {
do move 15 134 payon_in01
do talknpc 5 134 c c c c r4 c r0 c c r0 c n
}

macro getArr {
if (@inventory(Fire Arrow Quiver) < 0) goto n
do storage add @inventory(Fire Arrow Quiver)
:n
do storage get @storage(Fire Arrow) 10000
do storage get @storage(Fire Arrow) 10000
do storage get @storage(Fire Arrow) 10000
}

macro goStor {
do move 175 110 payon
do ss 387
do talknpc 181 104 c r1 n
pause
}

automacro f2 {
location alb2trea
inventory "Fire Arrow" < 1
exclusive 1
var f == 1
call {
if ($.zeny > 30000) goto go
$f = 0
goto end
:go
do move 73 69
do talknpc 59 69 c r0 n
do talk @npc(87 65)
do store
do buy @store(Fire Arrow) 10000
do storage add @inventory(Fire Arrow)
do buy @store(Fire Arrow) 10000
do storage add @inventory(Fire Arrow)
do buy @store(Fire Arrow) 10000
do storage add @inventory(Fire Arrow)
:end
do conf char $c
do relog 2
}
}
```

BACA DULU PETUNJUKNYA DIBAWAH !!!

Seperti yg telah saya sebutkan di judul thread... ^^ silahkan dicoba apabila terdapat error post saja disini...

Cek beberapa hal berikut:
1. Pastikan storageAuto_password di config sudah benar
2. Kosongi lockMap dan saveMap
3. Config storageAuto 0 dan autoTalkCont 0
4. Untuk char di payon dapat membawa beban seberat 6000
5. Untuk char di alb2trea dapat membawa beban berat 2000
6. Jalankan secara manual char masing� ke payon & alb2trea (sunken)
7. Macro dijalankan dengan mengetik: macro fire

------------------------------------------------------------------------------------------------
Thanks to KoemA from [www.d-bests.com](http://www.d-bests.com)

### RagnarokLover, 2007-10-31

**Macro Kena Strip**

```
automacro OMG_Strip{
status Strip Weapon #disesuaiin strip eq yg mana
call {
do relog
}
timeout 3
}
```

------------------------------------------------------------------------------------------------
Thanks to Minerva from [www.d-bests.com](http://www.d-bests.com)

### RagnarokLover, 2007-10-31

**Macro Cloaking to alde_dun04**

```

automacro cloaking {
map c_tower1
run-once 1
exclusive 1
call {
do ss 135
pause 1
do move 235 225
pause 1
do ss 135
release cloaking
}
}

automacro cloaking2 {
map c_tower2
aggressives >= 1
run-once 1
exclusive 1
call {
do ss 135
pause 1
do move 25 25
pause 1
do ss 135
release cloaking2
}
}

automacro cloaking3 {
map alde_dun03
aggressives >= 1
run-once 1
exclusive 1
call {
do ss 135
pause 1
do move 264 13
pause 1
do ss 135
release cloaking3
}
}
```

------------------------------------------------------------------------------------------------
Thanks to Rex-Q from [www.d-bests.com](http://www.d-bests.com)

### Qpalzm, 2008-05-28

**Macro minum White Potion**

```

automacro HP {
hp < 50%
call Abis
}

macro Abis {
do is @inventory (White Potion)
}

macro WPAbis {
inventory (White Potion) < 10
call huehe
}

macro huehe {
log macro siap bos
$tempatasal = $.pos
$Q = 0

while ($Q == 0) as ulangulang

if (@inventory (White Potion) == 0) goto ambilpot
do use @inventory (White Potion)
if (@storage (White Potion) < 100) goto abiscoy

:ambilpot
log bos ambil pot dolo yah abis nie
do move 180 103 payon <--- apalah sudah pokoknya deket kafra
do talk @npc (181 104) <--- apalah sudah pokoknya kafra
do talk cont
do talk resp 1
do storage get @storage (White Potion) @eval (@invamount (White Potion) - 100)
do move $tempatasal
log siap badog pot bos
goto end

:abiscoy
log bos potnya dah abis macro off dulu ya
$Q++

end ulangulang
log tha tha ragnarok online hope see u soon
}

```

### ferry_gukguk, 2008-06-06

**Macro autoCrete-Potion Ver.1.4.2**
**(Credit By rHa, www.d-bests.com)**

```

### Move to Create Position trigger by Inventory Quantity
automacro initiate {
sp > 80
location not payon 180 100 181 100
inventory "Medicine Bowl" > 0
inventory "White Herb" > 0
inventory "Empty Potion Bottle" > 0
call start
#run-once 1
timeout 10
}

macro start {
#@release initiate
move 180 100 payon
@pause 1
}

#at Create Position consider condition trigger by Quantity and sp
automacro resta {
location payon 180 100
sp < 15
inventory "White Herb" > 0
inventory "Medicine Bowl" > 0
inventory "Empty Potion Bottle" > 0
call rest
run-once 1
timeout 5
}
macro rest {
move 181 100
@release resta
@pause 1
sit
}
#at Rest Position ... condition trigger by Quantity & sp
automacro jallen {
location payon 181 100
sp > 90
inventory "White Herb" > 0
inventory "Medicine Bowl" > 0
inventory "Empty Potion Bottle" > 0
call shifta
timeout 5
}
macro shifta {
move 180 100
@pause 1
}

#at Create Position ... Create condition trigger by Quantity or Sp
automacro create {
location payon 180 100
sp > 15
inventory "White Herb" > 0
inventory "Medicine Bowl" > 0
inventory "Empty Potion Bottle" > 0
call pharmacy
run-once 1
}
##### Pharmacy Creation CODE : Credit to flakey of OpenKore Board #####
##### [http://openkore.sourceforge.net/forum/viewtopic.php?t=5000](http://openkore.sourceforge.net/forum/viewtopic.php?t=5000) #####

##### send (code) after invoke "ss 228 10" only ... therefore Kore terminate !
##### Red Potion = 8E 01 F5 01 00 00 00 00 00 00
##### Yellow Potion = 8E 01 F7 01 00 00 00 00 00 00
##### White Potion = 8E 01 F8 01 00 00 00 00 00 00
##### Blue Potion = 8E 01 F9 01 00 00 00 00 00 00
##### Adonyne = 8E 01 5D 02 00 00 00 00 00 00
##### Aloevera = 8E 01 5E 02 00 00 00 00 00 00
##### Red Slim = 8E 01 21 02 00 00 00 00 00 00
##### Yellow Slim = 8E 01 22 02 00 00 00 00 00 00
##### White Slim = 8E 01 23 02 00 00 00 00 00 00
##### Alcohol = 8E 01 CA 03 00 00 00 00 00 00
##### Fire Bottle = 8E 01 DF 1B 00 00 00 00 00 00
##### Acid Bottle = 8E 01 E0 1B 00 00 00 00 00 00
##### Plant Bottle = 8E 01 E1 1B 00 00 00 00 00 00
##### Mine Bottle = 8E 01 E2 1B 00 00 00 00 00 00
##### Coating Wax = 8E 01 E3 1B 00 00 00 00 00 00

macro pharmacy {
ss 228 10
@pause 0.5
send 8E 01 F8 01 00 00 00 00 00 00
@release create
@set (time) @var (.time)
}

##### Counter Relogin every 10 min ... while Pharmacy #####
### in order not to Mix up the Counter Relogin with the Process ###
### leave the Counter Relogin macro at last lines ###
#Counter Relog while Grab
#Counter Relog while Create
automacro resetKaraCreate {
var time < @eval (@var (.time) - 30)
location payon 180 100
inventory "White Herb" > 0
inventory "Medicine Bowl" > 0
inventory "Empty Potion Bottle" > 0
call reseto
timeout 60
}
macro reseto {
macro reset
@pause 1
}
#Counter Relog while Rest
#Counter Relog while Walking
# Counter Relog while Standing out of 181,100 / 180,100
# Counter Relog while Store Item

config.txt

attackAuto 0
routeRandomWalk 0
sitAuto_idle 1

lockMap (kosongkan)
lockMap_x
lockMap_y

storageAuto 1
storageAuto_npc payon 181 104 (posisi kafra di payon)
storageAuto_distance 2
storageAuto_npc_type 3
storageAuto_npc_steps c r1 n
relogAfterStorage 0
storageAuto_password

getAuto White Herb {
minAmount 0
maxAmount 100 (perhatikan saat mengambil item ini agar berat tidak lebih dari 50%)
passive 0
}

items_control.txt
All 0 0 0 0 0
White Potion 0 1 0

White Herb 100 1 0
Medicine Bowl 100 1 0
Empty Potion Bottle 100 1 0

```

timeouts.txt

```
macro_delay 0.5
ai_sit_idle 3

```

### VodkaMartini, 2008-06-23

**Share - AutoBuffer Macro (Private Buff)**

Fungsinya:
1. Buff kalo kita PM ke Bot passwordnya, supaya orang lain gak ikut2an passwordnya yg susah (Heal, Agi, Bless Lv 10)
2. Bot Anti Ganggu, jadi kalo di PM heal/paket dia akan respon Jasa.... 
3. Bot Yg Refuse Warp Portal ke Payon, soalnya taro di GEO sih botnya :) 

Enjoy. (Sorry No Attachment, Storage gw Penuh :) )

automacro sukamaket1 {
pm /password/ #password = kata2 yg akan di PM agar paket bereaksi
call {
do sp 28 $.lastpm 10
do sp 29 $.lastpm 10
do sp 34 $.lastpm 10
pause
do sit
}
}

automacro announce {
pubm /heal/
call {
do c Sorry, Jasa Paket dan Heal Tertutup Untuk Umum!
}
}

automacro announce2 {
pm /heal/
call {
do c Sorry, Jasa Paket dan Heal Tertutup Untuk Umum!
}
}

automacro announce3 {
pubm /payon/
call {
do c Sorry, Saya gak Ada Skill Warp Portal!
}
}

### ferry_gukguk, 2008-06-26

**Macro Gonta-Ganti Chat Room**

automacro BuatChatRoom {
run-once 1
call BuatRoom
}

macro BuatRoom {
do chat create bla3
pause 5
call GantiNama1
}

macro GantiNama1 {
do chat modify bla3
pause 5
call GantiNama2
}

macro GantiNama2 {
do chat modify bla3
pause 5
call GantiNama1
}

Jadi :
 AutoMacro
 Buat Chat Room
 Ganti Nama Chat Room ke 1
 Ganti Nama Chat Room ke 2
 Ganti Nama Chat Room ke 3
 Balik lagi ke no 3 (NgeLoop terus sampai DC.. Kalo DC balik lg no 1)

:smile:

### aPeN, 2008-07-18

**Macro Speed Potion**

automacro dc {
priority 1
console /NPC Exists:/
call ulang
}

macro ulang {
release all
}

automacro bukatoko {
priority 0
timeout 1
set repeat 1
exclusive 1
location morocc
delay 1
call buka
run-once 1
}

macro buka {
do move 159 256
pause 1
do talknpc 160 258 c r1 n
pause 2
do look 4
do deal no
do openshop
pause 2
release dc
}

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

automacro sped {
shop \"Speed Potion\" < 400
cart \"Speed Potion\" < 400
storage \"Speed Potion\" >= 1
call {
do closeshop
pause 1
do storage add Speed Potion
do storage get @storage (Speed Potion) @eval (400 - @cartamount (Speed Potion))
pause 1
do cart add Speed Potion
pause 1
do openshop
pause 2
do storage log
release tersediasped
}
exclusive 1
timeout 2
set repeat 1
run-once 1
}

automacro tersediasped {
storage \"Speed Potion\" >= 1
call {
release sped
}
exclusive 1
set repeat 1
run-once 1
}

### ndut212, 2008-08-17

**Macro Converter Elemental**

automacro Mulai{
location yuno
inventory "Blank Scroll" > 1
inventory "Rainbow Shell" > 1
run-once 1
call Buat
}

macro Buat {
do ss 1007
pause 1
do arrowcraft 0
pause 1
release all
}

### lingga123, 2008-08-21

**Macro Chain Combo**

```
#### MACRO 1 ####

automacro combo {
console /(.*)sedang: Triple(.*)/
sp > 20%
run-once 1
call smash
}

macro smash {
do ss 272
pause 0.5
release combo
}
```

### ferry_gukguk, 2008-10-09

**Macro FireArrowQuiver 2 Char dalam 1 ID**

# Sebelumnya, kamu harus setting dahulu
# karakter yang ingin beli Fire Arrow di Shunken Ship
# dan Karakter yang ingin buat Fire Arrow Quiver di Payon
# Setting di bawah ini, yang di beri tanda
# Credit By FerrYGukGuk

automacro CekQuiver {
map payon
run-once 1
call CekStorage
}

macro CekStorage {
do move 181 103 payon
do talk @npc (181 104)
do talk cont
do talk resp 1
do storage close
}

automacro CekFire {
map payon
storage "Fire Arrow" <= 10000
storage "Fire Arrow Quiver" < 10000
call GantiChar
}

# Ini char yang beli Fire Arrow di Shunken Ship
# Ganti angka 2 sama angka slot karakter kamu
macro GantiChar {
do conf char 2
do reload config
do relog 4
}

automacro BeliQuiver {
map alb2trea
inventory "Fire Arrow" <= 10000
call MulaiBeli
}

macro MulaiBeli {
do move 75 67
do talk @npc (87 65)
do store
do store
do buy @store (Fire Arrow) 20000
pause 2
do move 59 67
do talk @npc (59 69)
do talk cont
do talk resp 0
do storage add @inventory (Fire Arrow)
do storage close
goto GantiChar2
:GantiChar2
# Ini karakter yang mau buat Quivernya di Payon
# Ganti angka "0" (Nol) Sama angka slot karakter kamu
do conf char 0
do reload config
do relog 4
}

automacro SiapSiap {
storage "Fire Arrow" > 10000
inventory "Fire Arrow" < 10000
call AmbilFire
}

macro AmbilFire {
do move 181 103 payon
do talk @npc (181 104)
do talk cont
do talk resp 1
do storage get @storage (Fire Arrow)
do storage close
}

automacro BuatQuiver {
map payon
inventory "Fire Arrow" > 10000
call AyoBuat
}

macro AyoBuat {
do move 7 132 payon_in01
do talk @npc (5 134)
do talk cont
do talk cont
do talk cont
do talk cont
do talk resp 4
do talk cont
do talk resp 0
}

automacro MasukStorage {
inventory "Fire Arrow Quiver" > 30
call Masuk
}
macro Masuk {
do move 181 103 payon
do talk @npc (181 104)
do talk cont
do talk resp 1
do storage add @inventory (Fire Arrow Quiver)
do storage close
}

automacro Selesai {
storage "Fire Arrow Quiver" => 10000
call Log
} 

macro Log {
log "Anda telah berhasil membuat 10000 Fire Arrow Quiver"
pause 60
quit
}

Macronya diset kalau uda dapet 10000 Fire Arrow Quiver mati sendiri (Ikut2an yang di d-bests)

Tapi ini macronya ganti karakter, jadi siapin yang mau bikin fire arrow di payon, siapin char yang mau beli fire arrow di shunken ship (alb2trea)

Semua char kudu kuat bawa 20k fire arrow

Thank's

### sayona, 2008-10-29

**Macro ubah yoyo doll menjadi ygg di alberta**

char harap di taroh di alberta

```
#automacro boneka {
map alberta
exclusive 1
run-once 1
call ygg
}

macro ygg {
do move 116 135
pause 
do talk @npc (117 135)
pause 1
do talk resp 1
pause 1
do talk resp 8
pause 1
release all
}
```

### vandatch, 2008-11-18

**Macro DC kalo di PK** 

Ini macro dapet dari Teman And apa bila ada yg merasa ini buatan dia maap aja deh^^ :smiley_beer: 

```
automacro lodiserangskill {
console /player (.*) \((\d+)\) uses .* on you - dmg: \b[0-9A-Z!]{1,5}\b/i
call reconnect
}
automacro lodiserangattack {
console /player (.*) \((\d+)\) attacks you - dmg: \b[0-9A-Z!]{1,5}\b/i
call reconnect
}

macro reconnect { 
do relog 300
}
```

semoga membantu!!
:D

### ibnuyu, 2008-11-29

**Macro untuk lex aeterna**

```
automacro absorbNlex{

console /Player PriestTarHere (.*) is casting Vigor Absorption on monster (.*?) \((\d+)\)/i
exclusive 1
call lexMonster
}

macro lexMonster{
do sm 78 $.lastMatch3
}
```

kalo g bisa tolong di koreksi y........

### VodkaMartini, 2008-12-31

**Macro Disconnect n Samrat**

yang ini kalo misalnya di console muncul akan dc untuk 15 detik, kalo mo ganti tinggal di bagian relog xx (xx = secondnya).
```
automacro relog {
console "You don't have the Teleport skill or a Fly Wing"
call {
do relog 15
}
timeout 5
}
```
Yang ini macro buat Bot Tarikan, kalo even share partynya bandel.
```
automacro even_share {
console "Party EXP set to Individual Take"
call {
do party share 1
}
timeout 10
}
```

### kuzai, 2009-01-13

**Macro Buat say thank you aja klo vendingan ada yg laku ^^**

```
automacro ngoceh5{ 
console /You gained/
call bacod5
run-once 1
}

macro bacod5{
do c Thx udah beli vendingan-nya~~GBU ^O^
do e thx
do reload mac
release ngoceh5
}
```

### DJanzok, 2009-01-14

**Macro untuk buka pub trus ganti2 nama roomnya ^^**

automacro BuatChatRoom {
map prontera
exclusive 1
run-once 1
call Buat
}

macro Buat {
do chat create Bla.. Bla.. Bla.. 2 0
call Modify
}

macro Modify {
:Ulang
do chat modify Bla.. Bla.. Bla.. Bla.. 2 0
pause 4
do chat modify Bla.. Bla.. Bla.. Bla.. Bla.. 2 0
pause 4
goto Ulang
}

### ferry_gukguk, 2009-01-26

**Macro rubah Rice Pouch jadi Sweet Rice**

```

automacro TanyaNenek {
run-once 1
inventory "Sweet Rice" < 1
inventory "Rice Pouch" = 14
call Move1
}

macro Move1 {
pause 1
do move payon_in01 191 30
pause 1
do talk @npc (193 30) payon_in01
pause 1
call Cucu
}

macro Cucu {
$i = 0
$c = 14

do move payon 213 123
pause 1

while ($i <= $c) as WCucu

do talk @npc (215 127) payon
do talk cont
do talk cont
do talk cont
do talk cont
do talk cont
pause 1

$i++

end WCucu
release TanyaNenek
}

automacro KeNenek {
run-once 1
inventory "Sweet Rice" = 14
call Move2
}

macro Move2 {
pause 1
$b = 0
do move payon_in01 191 30

while ($b <= $c) as LoopNenek
do talk @npc (193 30) payon_in01
do talk cont

pause 1
do talk @npc (193 30) payon_in01
$b++

end LoopNenek
release KeNenek
}

```

Pengaturan :
 **$i** dan **$b** jangan di ganti, biarkan 0
 **$c** adalah banyak **Rice Pouch** yg mo di tuker jadi **Sweet Rice**
 **inventory "Rice Pouch" = 14** angka 14 disamakan dengan angka yang anda akan tulis di **$c**
 **inventory "Sweet Rice" = 14** angka 14 disamakan dengan angka yang anda akan tulis di **$c**

Contoh :
Mo buat 100 Sweet Rice

```
$c = 100

inventory "Rice Pouch" = 100

inventory "Sweet Rice" = 100
```

### ferry_gukguk, 2009-01-27

**Macro Disconnect Auto**

DC Jika ada 3 monster agresif :

```
automacro DCOi {
aggressives > 3
call DC
}

macro DC {
do relog 30
do relog 30
do relog 50
release all
}
```

DC Jika HP < 5% (Sekarat) :

```
automacro DCHP {
run-once 1
hp < 5%
call DC
}

macro DC {
do relog 30
do relog 30
do relog 50
release all
}
```

DC Jika ada monster tertentu / MVP :

```
automacro DCMonsters {
monster Orc Lord
call DC
}

automacro DCMonsters {
monster Orc Hero
call DC
}

macro DC {
do relog 30
do relog 30
do relog 50
release all
}
```

Gabungan semua macro :

automacro DCOi {
aggressives > 3
call DC
}

automacro DCHP {
run-once 1
hp < 5%
call DC
}

automacro DCMonsters {
monster Orc Lord
call DC
}

automacro DCMonsters {
monster Orc Hero
call DC
}

macro DC {
do relog 30
do relog 30
do relog 50
release all
}

### vandatch, 2009-01-28

**Macro Soul Linker**

automacro lodiserangskill {
console /player (.*) \((\d+)\) uses .* on you - dmg: \b[0-9A-Z!]{1,5}\b/i
call reconnect
}
automacro lodiserangattack {
console /player (.*) \((\d+)\) attacks you - dmg: \b[0-9A-Z!]{1,5}\b/i
call reconnect
}

macro reconnect { 
do relog 300
}

############Macro Soul Linker##############
automacro link {
pm "soul"
call {
$id = @player ($.lastpm)
if ($id < 0) stop
$jobID = @eval ($::players{$::playersID[$id]}->{jobID})
if ($jobID = 7) goto knight
if ($jobID = 13) goto knight
if ($jobID = 4008) goto knight
if ($jobID = 4014) goto knight
if ($jobID = 12) goto assassin
if ($jobID = 4013) goto assassin
if ($jobID = 10) goto smith
if ($jobID = 4011) goto smith
if ($jobID = 14) goto paladin
if ($jobID = 21) goto paladin
if ($jobID = 4015) goto paladin
if ($jobID = 4022) goto paladin
if ($jobID = 4012) goto sniper
if ($jobID = 11) goto sniper
if ($jobID = 16) goto professor
if ($jobID = 4017) goto professor
if ($jobID = 8) goto priest
if ($jobID = 4009) goto priest
if ($jobID = 15) goto champion
if ($jobID = 4016) goto champion
if ($jobID = 4010) goto wizard
if ($jobID = 4018) goto stalker
if ($jobID = 18) goto creator
if ($jobID = 4019) goto creator
if ($jobID = 4020) goto clown
if ($jobID = 4021) goto clown
if ($jobID = 19) goto clown
if ($jobID = 20) goto clown
if ($jobID = 4047) goto star
if ($jobID = 4049) goto soul
if ($jobID = 23) goto snoob
:snoob
do sp 451 $.lastpm
stop
release link
:star
do sp 448 $.lastpm
stop
release link
:soul
do sp 461 $.lastpm
stop
release link
:knight
do sp 452 $.lastpm
stop
release link
:priest
do sp 454 $.lastpm
stop
release link
:wizard
do sp 453 $.lastpm
stop
release link
:smith
do sp 458 $.lastpm
stop
release link
:sniper
do sp 460 $.lastpm
stop
release link
:assassin
do sp 457 $.lastpm
stop
release link
:paladin
do sp 450 $.lastpm
stop
release link
:champion
do sp 447 $.lastpm
stop
release link
:professor
do sp 449 $.lastpm
stop
release link
:creator
do sp 445 $.lastpm
stop
release link
:clown
do sp 455 $.lastpm
stop
release link
:stalker
do sp 456 $.lastpm
stop
release link
}
}

Cara pakenya WIps bilang soul
momga2 berguna :smiley_beer: 

Credit by: d-bests.com

### Qpalzm, 2009-02-08

itu berarti nama monknya "PriestTarHere" lalu pada saat menggunakan vigor absorption langsung meng lex aterna?

bagaimana kalau dirubah menjadi gini di char misalnya hunter

```
console /Player namaprisnya (.*) is casting Lex Aterna on monster (.*?) \((\d+)\)/i
exclusive 1
call lexMonster
}

macro lexMonster{
do sm xx $.lastMatch3
}
```

(xx itu skill misalnya double strafe)

lalu di prisnya gini:

```
console /Player namahunter (.*) is attacking monster (.*?) \((\d+)\)/i
exclusive 1
call lexMonster
}

macro lexMonster{
do sm 78 $.lastMatch3
}
```

jadi meng link.... =p

CMIIW

wah... aku salah tempat post ya? sorry ko ferry. klo bisa dipindahin ke bagian bahas macro dong... sorry2 sekali lagi... >.<

### ibnuyu, 2009-02-10

**Macro Lepas Equip**

```

automacro lepas_equip {
status hp <= 15%
pause 1
call release_equip
}

macro release_equip {
pause 1
do uneq (Isi Nama equip)
}

automacro pasang_equip {
status hp > 50%
pause 1
call equip
}

macro equip {
pause 1
do eq @inventory (Isi Nama Equip)
}

Created By kriegsmarine
```

### ibnuyu, 2009-02-10

**Macro Priest Kikir**

```
automacro Pelit {
pubm /heal/
call kikir
}

macro kikir {
do c Sorry kk sp lagi bocor >.<
pause 2
do e sry
}
```

**Macro Paketin Dengan Biasa**

```
automacro mintaheal {
pubm /heal/
call giveheal
}

macro giveheal {
pause 1
do sp 28 $.lastpub
pause 2
do sp 28 $.lastpub
do c Dah y hayo mau minta apalagi !!!!<div>
```

**Macro Avoid**

```

automacro avoid {
map moc_fild12
monster Geographer, 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
release avoid
}
}

```

**Macro Paket Biasa**
automacro paket {
pubm /paket/
call paket1
}

macro paket1 {
do sp 34 $.lastpub
pause 2
do sp 29 $.lastpub
}

**Credit by Freedom(Macro Avoid)**

### reesv, 2009-02-20

**Macro Menuju Nameless dengan sistem Warp Portal**

```
automacro nameless {
map moc_fild07
inventory "Blue Gemstone" > 0
weight < 48%
run-once 1
call nameless1
}

macro nameless1 {
do move 203 39
pause 1
do sl 27 206 39
pause 2
do warp 1
pause 1
do move 206 39
pause 1.5
do move 117 120
pause 0
do talknpc 125 128 c r0 n
release nameless
}
```

dengan catatan udah ngejalanin questnya yah

### Akbare, 2009-02-21 (+1)

**MACRO WARP 3 KOTA+HEal and AGI**
**note :** - jangan lupa set harga tiap kota and harus berbeda, karena merupakan pemicu triger
- Bahasa komputer di ubah pakai bahasa **Indonesia**

macros.txt

```
automacro one {
console /Anda duduk./i
call {
do chat create "J>Goat 2.5k|Ice 2k,Geo 1.8k|+paket" 2 0 1111
}
}

automacro two {
console /(.*) \(level (\d+)\) Mengajukan Transaksi/i
call {
do pm "$.lastMatch1" Warp ke GEO 1.800 z
do pm "$.lastMatch1" Warp ke ICe - 2.000 z
do pm "$.lastMatch1" Warp ke Goat - 2.500 z
do pm "$.lastMatch1" Kesalahan/kegagalan Warp bukan tanggung jawab kami
}
}

automacro three {
console /Anda mendapatkan 1.800 zeny./i
set repeat 1
call {
do chat leave
pause 1
do e heh
do sp 28 "$.lastMatch1" 10
pause 0.2
#skill blessing
do sp 34 "$.lastMatch1" 10
#skill increase agi
pause 1
do sp 29 "$.lastMatch1" 10
do c @random ("Terima kasih sudah menggunakan Jasa kami...","Warp akan di buka, 30 detik warp portal akan tertutup...","Kamu membayar saya, saya akan menolongmu warp,mudah khan...")
do e thx
$distance = $.lastMatch2
$namaPlayer = $.lastMatch3
$playerID = $.lastMatch4
$i = @player($namaPlayer)
$warpslot = 1

:loop
$posx = @rand (1,2)
$posy = @rand (1,2)
$cellIsFull = 0

do eval $::Macro::Data::varStack{cellIsFull} = 0;foreach (@{$::playersList->getItems()}) { next if (($_->{pos_to}{x} != $posx) || ($_->{pos_to}{y} != $posy));$::Macro::Data::varStack{cellIsFull} = 1; last;}

if ($cellIsFull == 1) goto loop
$mex = @arg ("$.pos", 1)
$mey = @arg ("$.pos", 2)
$herex = @eval ($mex + $posx)
$herey = @eval ($mey + $posy)
do sl 27 $herex $herey
pause 1.3
do warp $warpslot
pause 2
do warp ein_fild04
}
}

automacro four {
console /Anda mendapatkan 2.000 zeny./i
set repeat 1
call {
do chat leave
pause 1
do e heh
do sp 28 "$.lastMatch1" 10
pause 0.2
#skill blessing 
do sp 34 "$.lastMatch1" 10
#skill increase agi
pause 1
do sp 29 "$.lastMatch1" 10
do c @random ("Terima kasih sudah menggunakan Jasa kami...","Warp akan di buka, 30 detik warp portal akan tertutup...","Kamu membayar saya, saya akan menolongmu warp,mudah khan")
do e thx
$distance = $.lastMatch2
$namaPlayer = $.lastMatch3
$playerID = $.lastMatch4
$i = @player($namaPlayer)
$warpslot = 2

:loop
$posx = @rand (1,2)
$posy = @rand (1,2)
$cellIsFull = 0

do eval $::Macro::Data::varStack{cellIsFull} = 0;foreach (@{$::playersList->getItems()}) { next if (($_->{pos_to}{x} != $posx) || ($_->{pos_to}{y} != $posy));$::Macro::Data::varStack{cellIsFull} = 1; last;}

if ($cellIsFull == 1) goto loop
$mex = @arg ("$.pos", 1)
$mey = @arg ("$.pos", 2)
$herex = @eval ($mex + $posx)
$herey = @eval ($mey + $posy)
do sl 27 $herex $herey
pause 1.3
do warp $warpslot
pause 2
do warp ra_fild01
}
}

automacro five {
console /Anda mendapatkan 2.500 zeny./i
set repeat 1
call {
do chat leave
pause 1
do e heh
do sp 28 "$.lastMatch1" 10
pause 0.2
#skill blessing
do sp 34 "$.lastMatch1" 10
#skill increase agi
pause 1
do sp 29 "$.lastMatch1" 10
do c @random ("Terima kasih sudah menggunakan Jasa kami...","Warp akan di buka, 30 detik warp portal akan tertutup...","Kamu membayar saya, saya akan menolongmu warp,mudah khan")
do e thx
$distance = $.lastMatch2
$namaPlayer = $.lastMatch3
$playerID = $.lastMatch4
$i = @player($namaPlayer)
$warpslot = 3

:loop
$posx = @rand (1,2)
$posy = @rand (1,2)
$cellIsFull = 0

do eval $::Macro::Data::varStack{cellIsFull} = 0;foreach (@{$::playersList->getItems()}) { next if (($_->{pos_to}{x} != $posx) || ($_->{pos_to}{y} != $posy));$::Macro::Data::varStack{cellIsFull} = 1; last;}

if ($cellIsFull == 1) goto loop
$mex = @arg ("$.pos", 1)
$mey = @arg ("$.pos", 2)
$herex = @eval ($mex + $posx)
$herey = @eval ($mey + $posy)
do sl 27 $herex $herey
pause 1.3
do warp $warpslot
pause 2
do warp ein_fild06
}
}
```

:smiley_beer: Enjoy and Happy Warper :00100000:

### ibnuyu, 2009-02-26

Untuk Macro Ngomelin Org Nympah

macros.txt

```
automacro Ngamuk {
do console Dropping target - you will not kill steal others
call woi
}

macro woi {
do c Dasar Bisanya nyampah doang mo jadi apalo!!!
pause 0
do c gw kutuk lo jadi kuda bru tau rasa nanti
do e ire
}
```

### detamon, 2009-03-06

pengen share ni, simple, dan mgkn berguna ^o^

jadiin ORIDECON dari ROUGH ORIDECON
SYARAT harus ada di payon !

```

automacro no1 {
inventory "Rough Oridecon" > 4
call {
do ai manual
pause 1
do move 135 178
pause 1
do talk @npc(137 178)
pause 1
do talk resp 0
pause 1
do ai on
}
timeout 1
}

automacro no2 {
inventory "Oridecon" > 0
inventory "Rough Oridecon" < 5
call {
do ai manual
pause 1
do move 173 226
pause 1
do talk @npc(175 226)
pause 1
do talk resp 1
pause 1
do storage add @inventory(Oridecon)
pause 1
do storage get @storage(Rough Oridecon) 100
pause 1
do storage close
pause 1
do ai on
}
timeout 1
}

automacro no3 {
inventory "Oridecon" < 1
inventory "Rough Oridecon" < 5
call {
do ai manual
pause 1
do move 173 226
pause 1
do talk @npc(175 226)
pause 1
do talk resp 1
pause 1
do storage get @storage(Rough Oridecon) 100
pause 1
do storage close
pause 1
do ai on
}
timeout 1
}

automacro no4 {
storage "Rough Oridecon" = 0
call {
do quit
}
timeout 1
}
```

SIMPLE kan? hihi

### ferry_gukguk, 2009-05-05

**Macro Pulang - Pergi Moskovia**

Untuk Slave (Priest)

```

automacro WarpBack {
run-once 1
pm /pulangGukasdf/
overrideAI 1
call WarpToBack
}

macro WarpToBack {
$x = @arg("$.pos", 1)
$y = @arg("$.pos", 2)
$x0 = @eval($x + @rand(1,2))
$x1 = @eval($x - @rand(1,2))
$y0 = @eval($y - @rand(1,2))
$x2 = @random("$x0", "$x1")
pause 2
do sl 27 $x2 $y0
pause 1
do warp morocc
pause 1
do pm **NamaMaster** move $x2 $y0
release WarpBack
}

automacro WarpGo {
map morocc
run-once 1
overrideAI 1
pm /pergiGukasdf/
call WarpToGo
}

macro WarpToGo {
$x = @arg("$.pos", 1)
$y = @arg("$.pos", 2)
$x0 = @eval($x + @rand(1,2))
$x1 = @eval($x - @rand(1,2))
$y0 = @eval($y - @rand(1,2))
$x2 = @random("$x0", "$x1")
pause 2
do sl 27 $x2 $y0
pause 2
do warp mosk_fild02
pause 2
do pm **NamaMaster** move morocc $x2 $y0
release WarpGo
do reload macro
}

macro GagalPM {
do pm **NamaMaster** gagalGuk
}

automacro GagalJuga {
overrideAI 1
console /**NamaMaster** is not online/
call GagalPM
}

automacro KejarMaster2 {
map morocc
console /Calculating route to find master: mosk_fild02/
run-once 1
exclusive 1
call Kejar
}

automacro KejarMaster {
map morocc
console /Calculating route to find master: mosk_dun01/
run-once 1
exclusive 1
call Kejar
}

macro Kejar {
$x = @arg("$.pos", 1)
$y = @arg("$.pos", 2)
$x0 = @eval($x + @rand(1,2))
$x1 = @eval($x - @rand(1,2))
$y0 = @eval($y - @rand(1,2))
$x2 = @random("$x0", "$x1")
do sl 27 $x2 $y0
pause 2
do warp mosk_fild02
do move $x2 $y0
pause 10
release KejarMaster
release KejarMaster2
}

automacro Pulang {
overrideAI 1
location not morocc
console /Calculating route to find master: morocc/
call {
$x = @arg("$.pos", 1)
$y = @arg("$.pos", 2)
$x0 = @eval($x + @rand(1,2))
$x1 = @eval($x - @rand(1,2))
$y0 = @eval($y - @rand(1,2))
$x2 = @random("$x0", "$x1")
do sl 27 $x2 $y0
pause 2
do warp morocc
do move $x2 $y0
release Pulang
}
}

Untuk Master

automacro YukPergi {
map morocc
run-once 1
console /Calculating lockMap route to: Les Forest\(mosk_dun01\)(.*)/
call Pergi
}

automacro Gagal {
pm /gagalGuk/
run-once 1
call Pergi
}

automacro GaOL {
console /**NamaSlave** is not online/
run-once 1
call Pergi
}

automacro Pulang {
console /Calculating auto-storage route to: (.*)/
run-once 1
call PulangPulang
}

macro PulangPulang {
do pm **NamaSlave** pulangGukasdf
pause 3
do conf route_step 5
pause 10
release Pulang
}

macro Pergi {
do conf route_step 5
do pm **NamaSlave** pergiGukasdf
pause 5
release all
do reload macro
}

pastikan di overallAuth Priest
Master 1
```

dan overallAuth Master

```
Priest 1
```

Dimana Master dan Priest adalah nick char masing2,,

Dan di macro nya, yg di cetak tebal di ganti sama nick char masing2..

(5 balasan lain ada di halaman thread.)
