Lighthalzen speed potion macro

I have found two macros on forum of Openkore for speed potion. I have personally tested both and they work perfectly but few of my friends who were playing different server found that one of these work and one doesn’t. So it’s better that you test both the macro which works on the server you playing.

Macro version 1:

Here is a macro for the speed pot quest. You need 3 characters to do it for example we take three novice. Also, change your autostorage weight to 90% or edit the macro to whatever weight you want.
Continue reading “Lighthalzen speed potion macro”

Elunium and Oridecon Macro

Bored of making pure oridecon and elunium one by one?

Then here is the macro for both just follow the steps which is written in the downloaded files.

I have personally used many times on many low rate ragnarok servers.

Copy Paste the following code in macros.txt. If you don’t have that file create a new text file and name it as macros.txt

Make sure you have macros plugin in the plugin folder of openkore. If you don’t have then download it from openkore site.

 

##########################################
# AN INTEGRATED ELU/ORI STONE REFINERY:-
##########################################
# CONFIGURATION:-
#==================
#
# 1. Refine NPC = 63 69 prt_in
# 2. Kafra NPC = prontera 282 200
# 3. On automacro refinery please choose
# – “set option 0” for Oridecon
# – “set option 1” for Elunium
#
##########################################

automacro refinery {
map prontera
run-once 1
set options 0
set test 0
delay 2
call OreRefinery
}

macro OreRefinery {

if (@config (autoTalkCont) = 0) goto option
do conf autoTalkCont 0

:option
if ($options = 1) goto option1

:option0
$ore = Rough Oridecon
$pure = Oridecon
$resp = 0
goto store

:option1
$ore = Rough Elunium
$pure = Elunium
$resp = 1

:store
if (@config (storageAuto_npc) = prontera 282 200) goto storenext
do conf storageAuto_npc prontera 282 200
:storenext
do conf storageAuto_keepOpen 1
do eval $::Macro::Data::varStack{test} = $::cart{exists}
if ($test = 0) goto end2
log Refine $ore In Progress!!!
do autostorage #You may use the chat storage here
pause 1

:start
call frmstoretoinv
if ($storeore = 0) goto end
call frminvtocart1
call cartweight
$storageore = @storamount ($ore)
if ($storageore < 5) goto initial
if ($addoretocart > 0) goto start
call selfweight
if ($getore > 0) goto start
pause 1

:initial
do storage close
do move 60 68 prt_in

:talk
$check = @invamount ($ore)
if ($check < 5) goto getfromcart
call talk

:getfromcart
pause 1
call getfrmcart
$check = @invamount ($ore)
if ($check < 5) goto store
$pure1 = @invamount ($pure)
if ($pure1 = 0) goto talk
if ($pure1 > 0) goto addpuretocart
call cartweight
if ($addoretocart > 0) goto getfromcart
goto talk

:addpuretocart
call cartweight
call pureadd
goto getfromcart

:end
log No More Ore: $ore Finish Refine
stop
:end2
log You dont have a Cart!!! This macro package need to use cart.
}

macro frmstoretoinv {
log Try To Get $ore From Storage Into Inventory

:x
pause 1
$pure1 = @invamount ($pure)
$pure2 = @cartamount ($pure)
if ($pure1 = 0) goto x1
log Try To Add $pure1 ea Of $pure In Inventory To Storage
do storage add @inventory ($pure) $pure1

:x1
pause 1
if ($pure2 = 0) goto x2
log Try To Add $pure2 ea Of $pure In Cart To Inventory
$getpure = 0
do eval $::Macro::Data::varStack{getpure} = int(($::char->{‘weight_max’} – $::char->{‘weight’}) * 90 / 100 / 20)
do cart get @cart ($pure) $getpure
goto x

:x2
$getore = 0
do eval $::Macro::Data::varStack{getore} = int(($::char->{‘weight_max’} – $::char->{‘weight’}) * 90 / 100 / 100)

if ($getore = 0) goto stop
$oxxx = @eval ($getore*5)
$storeore = @storamount ($ore)
if ($storeore = 0) goto stop1

if ($storeore < $oxxx) goto next1
do storage get @storage ($ore) $oxxx
goto end

:next1
$x = @eval ($storeore/5)
$ox = @arg (“$x”, 1)
if ($ox = 0) goto stop1
do storage get @storage ($ore) @eval ($ox*5)
goto end

:stop
log You Are Over Weight
goto end

:stop1
log No more Ore To Refine

:end

}

macro frminvtocart1 {
log Try To Add $ore In Inventory To Cart
:x
pause 1
$pure1 = @invamount ($pure)
$pure2 = @cartamount ($pure)
if ($pure1 = 0) goto x1
do storage add @inventory ($pure) $pure1

:x1
pause 1
if ($pure2 = 0) goto x2
log Try To Add $pure2 ea Of $pure In Cart To Inventory
$getpure = 0
do eval $::Macro::Data::varStack{getpure} = int(($::char->{‘weight_max’} – $::char->{‘weight’}) * 90 / 100 / 20)
do cart get @cart ($pure) $getpure
goto x

:x2
$citems = @eval ($::cart{items})
$cmitems = @eval ($::cart{items_max})

call cartweight

if ($citems = $cmitems) goto stop1
if ($addoretocart = 0) goto stop2

$oxx = @eval ($addoretocart*5)
$invore = @invamount ($ore)
if ($invore = 0) goto end
if ($invore < $oxx) goto next
do cart add @inventory ($ore) $oxx
goto end

:next
$x = @eval ($invore/5)
$ox = @arg (“$x”, 1)
if ($ox = 0) goto end
do cart add @inventory ($ore) @eval ($ox*5)
goto end

:stop1
log Max Items Number Reached In Cart
goto end

:stop2
log Cart Is Over Limit
log Proceed To Refine Npc

:end

}

macro getfrmcart {
log Try To Get $ore From Cart Into Inventory

$getore = 0
do eval $::Macro::Data::varStack{getore} = int(($::char->{‘weight_max’} – $::char->{‘weight’}) * 90 / 100 / 100)

if ($getore = 0) goto stop

$amgetore = @eval ($getore*5)
$cartore = @cartamount ($ore)
if ($cartore < 5) goto end
if ($cartore < $amgetore) goto nextget
do cart get @cart ($ore) $amgetore
goto end

:nextget
$x = @eval ($cartore/5)
$ox = @arg (“$x”, 1)
do cart get @cart ($ore) @eval ($ox*5)
goto end

:stop
log Cannot Get Ore From Cart: You Are Over Limit

:end
pause 1

}

macro talk {
$orevalue = @invamount ($ore)
while ($orevalue >= 5) as talk
pause 1
do talknpc 63 69 c r$resp c
pause 1
$orevalue = @invamount ($ore)
end talk
}

macro cartweight {
$addoretocart = 0
do eval $::Macro::Data::varStack{addoretocart} = int(($::cart{‘weight_max’} – $::cart{‘weight’}) / 100)
}

macro selfweight {
$getore = 0
do eval $::Macro::Data::varStack{getore} = int(($::char->{‘weight_max’} – $::char->{‘weight’}) * 90 / 100 / 100)
}

macro pureadd {
$pcanadd = 0
do eval $::Macro::Data::varStack{pcanadd} = int(($::cart{‘weight_max’} – $::cart{‘weight’}) / 20)
if ($pcanadd = 0) goto end
$pure1 = @invamount ($pure)
if ($pure1 = 0) goto end
if ($pure1 > $pcanadd) goto add
do cart add @inventory ($pure) $pure1
goto end

:add
do cart add @inventory ($pure) $pcanadd

:end
}

Source: Openkore.com

Acolyte, Priest, High Priest openkore skill blocks

Copy Paste the following skills blocks in the config.txt file of your openkore folder.

 

Acolyte Skills:

Self-Skill

Heal:

useSelf_skill Heal {
lvl 10
hp < 50%
sp > 10%
}

Increase Agi:

useSelf_skill Increase AGI {
lvl 10
whenStatusInactive Increase AGI
sp > 20%
timeout 5
}

Blessing:

useSelf_skill Blessing {
lvl 10
whenStatusInactive Blessing
sp > 15%
timeout 5
}

Runwach:

useSelf_skill Ruwach {
lvl 1
whenStatusInactive Ruwach
sp > 20%
timeout 10
}

Angelus:

useSelf_skill Angelus {
lvl 10
whenStatusInactive Angelus
sp > 30%
timeout 5
}

Cure:

useSelf_skill Cure {
lvl 1
whenStatusActive Cursed, Blinded, Chaos, Silenced
sp > 10%
timeout 5
}

Attack Skill

Holy Light:

attackSkillSlot Holy Light {
lvl 1
sp > 20%
monsters
}

Decrease Agi:

attackSkillSlot Decrease AGI {
lvl 10
sp > 30%
monsters
maxAttempts 5
maxUses 1
}

Party Skills

Heal:

partySkill Heal {
lvl 5
target_hp < 70%
sp > 10 %
}

Blessing:

partySkill Blessing {
lvl 10
sp > 30%
notInTown 1
timeout 3
target_whenStatusInactive Blessing
target_timeout 240
}

Increase Agi:

partySkill Increase AGI {
lvl 10
sp > 45%
notInTown 0
timeout 3
target_whenStatusInactive Increase AGI
target_timeout 240
}

Angelus:

partySkill Angelus {
lvl 10
sp > 45%
notInTown 1
timeout 3
target_whenStatusInactive Angelus
target_timeout 240
isSelfSkill 1
}

Cure:

partySkill Cure {
lvl 1
target_whenStatusActive Cursed, Blinded, Chaos, Silenced
sp > 10%
timeout 5
}

Priest/High Priest Skills

Self-Skill

Kyrie Eleison:

useSelf_skill Kyrie Eleison {
lvl 10
sp > 45%
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
whenStatusInactive Kyrie Eleison
}

Assumptio:

useSelf_skill Assumptio {
lvl 10
sp > 20%
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
disabled 1
whenStatusInactive Assumtio
}

Mangificat:

useSelf_skill Magnificat {
lvl 5
sp > 45%
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
whenStatusInactive Magnificat
}

Party Skills

Kyrie Eleison:

partySkill Kyrie Eleison {
lvl 10
sp > 45%
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
disabled 1
target_whenStatusInactive Kyrie Eleison
target_timeout 240
}

Magnificat:

partySkill Magnificat {
lvl 3
sp > 30%
stopWhenHit 1
timeout 10
whenStatusInactive Magnificat
partyAggressives < 1 isSelfSkill 1 } partySkill Resurrection { lvl 4 target_dead 1 } partySkill Impositio Manus { lvl 10 sp > 25
notInTown 1
timeout 3
disabled 0
target_whenStatusInactive Impositio Manus
target_timeout 60
}

Status Recovery:

partySkill Status Recovery {
lvl 10
sp > 15%
timeout 2
target_whenStatusActive Frozen, Stone Curse, Stun
}

Aspersio:

partySkill Aspersio {
lvl 5
sp > 25%
timeout 2
target_whenStatusInactive Aspersio
inInventory Holy Water
}

Suffragium:

partySkill Suffragium {
lvl 3
sp > 25%
timeout 8
target_whenStatusInactive Suffragium
notInTown 1
}

Assumptio:

partySkill Assumptio {
lvl 10
sp > 20%
stopWhenHit 1
notWhileSitting 1
notInTown 1
timeout 5
disabled 1
target_whenStatusInactive Assumtio
target_timeout 98
}

Gloria:

useSelf_skill Gloria {
lvl 10
sp > 45%
whenStatusInactive Gloria
timeout 28
}

Special thanks to Openkore.com for creating such a wonderful program which helped me and many botters throughout the Ragnarok journey.