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