attention, these macros are only working if u uses english on ur openkore. the openkore itself do have several languages as some different countries are using them, and usually some players are using the local language they used to. i used a console command in some macros which wouldnt works until u either uses english or adjust them to ur needs, the latter is for openkore macro user, therefore i suggest copypaster to go wif the 1st option.
Q : but i never changes any language settings on openkore, how come it goes by my language?
A : exactly, u cant change the language settings on the openkore, u probably already adjust it on your Regional and Language Settings on ur Control Panel
Q : how am i gonna change it?
A : 1stly go to ur Control Panel, u can always find Control Panel on ur Start button. go to menu Regional and Language Options. below the Format menu scrolls the Current Format and pick English (United States). then below the Administrative also change ur System Locale to English (United States). a successful attempt will make the windows requests a system restart, and then ur done.
Q : what if i cant speak english?
A : then ur done for and i dun giv a crap
lex monster while casting (put on priest)
edited, now available by names with asterisks on example **roplayer**
Code: Select all
automacro atk {
console /Player (.*) \((\d+)\) is casting (.*) on monster (.*) \((\d+)\).*/i
var .lastMatch1 == PutPlayerNameHere
call {
do sm 78 $.lastMatch5
}
}
Code: Select all
automacro atk2 {
console /Player (.*) \((\d+)\) is casting (.*) on player (.*) \((\d+)\).*/i
var .lastMatch1 == PutPlayerNameHere
call {
do sp 78 $.lastMatch5
do kill $.lastMatch5
}
}
Code: Select all
automacro dipukul {
console /Player (.*) \((\d+)\) attacks you.*/i
call {
do kill $.lastMatch2
}
}
automacro dimagic {
console /Player (.*) \((\d+)\) uses (.*) on you - Dmg.*/i
call {
do kill $.lastMatch2
}
}
automacro dicast {
console /Player (.*) \((\d+)\) is casting (.*) on you.*/i
var .lastMatch1 != PutSlaveNameHereRemoveThisLineIfBottingSolo
call {
do kill $.lastMatch2
}
}
using these while having a slave priest in certain pvp server may result in killing your own priest due to some pvp server allows interguild and interparty fight so be careful
in certain state macros wont released by itself due failing on killing other ppl, so we need another macro as a precautious statement just in case
Code: Select all
automacro bunuh {
run-once 1
player "playerA"
call {
release jaga2
do kill $.lastplayer
release bunuh
}
}
automacro bunuh2 {
run-once 1
player "playerB"
call {
release jaga2
do kill $.lastplayer
release bunuh2
}
}
automacro jaga2 {
run-once 1
console /Can't reach or damage target/i
call {
release bunuh
release bunuh2
}
}
Code: Select all
automacro bunuh {
run-once 1
exclusive 1
player /PlayerA|PlayerB|PlayerC/i
call {
do kill $.lastplayer
release bunuh
}
}
automacro jaga2 {
run-once 1
console /Can't reach or damage target/i
call {
release bunuh
}
}
Code: Select all
automacro check-PK {
player /(.*)/
run-once 1
exclusive 1
timeout 5
call {
$job = none
do eval foreach my $_player (@{$::playersList->getItems()}) {next unless ($_player->{'binID'} eq "$::Macro::Data::varStack{pl}"); $::Macro::Data::varStack{job} = ($::players{$::playersID[$_player->{binID}]}->job);}
if ($job = Champion) goto kill
if ($job = Monk) goto kill
release check-PK
stop
:kill
do kill $.lastplayer
release check-PK
}
}
Code: Select all
automacro gasudi {
run-once 1
notMonster Geographer, Metaling, Mineral, Holden, Giearth, Red Plant, Green Plant, Yellow Plant, Wild Rose, Wild Gift Box, Jakk Xmas, Gobline Xmas, Christmas Orc, Antonio, David, Ellen, Luise, Frank, Ryan, Paolo, Jens, Thierry, Steven, Wayne, Mina, Dorou, Nami, Elfin, Clara, Dali, Karaya, Hiyori, Kero, Sukye, Rodin, Lancer, Nathan, Roan, Orizaro, Thyla, Ben, Pinaka, Kuhlmann, Roux
call {
do relog 1500
release gasudi
}
}
Code: Select all
automacro agiblesimpo {
run-once 1
guild "agiblesimpo"
call {
do sp 29 $.lastguild 10
pause 3
do sp 34 $.lastguild 10
pause 3
do sp 66 $.lastguild 5
release agiblesimpo
}
}
Code: Select all
automacro asum {
guild "asum"
call {
do sp 361 $.lastguild 5
}
}
automacro glor {
pubm "glor"
status not Gloria
call {
do ss 75
}
}
the 0/1/2/3 is refers to warp slots ur warper got
xxx refer to x axis coordinate
yyy refer to y axis coordinate
example a priest got payon as save point, 1st memo on lhz_fild01, 2nd memo on mosk_fild02, 3rd memo on ve_fild07 your stepping point is 100, 200 intend to opens warp portal on 105, 200
to payon : warp 0 koordinat 105 200
to moskovia dungeon entrance : warp 2 koordinat 105 200
macro below also set as guild members command
Code: Select all
automacro warp {
run-once 1
inventory "Blue Gemstone" > 0
guild /warp (.*) koordinat (.*)/i
call {
do sl 27 $.lastMatch2
pause 2
do warp $.lastMatch1
release warp
}
}
a nice addition to the on location warp macro, this 1 allows u 2 quickly warps back whenever u died on some maps that are hard to reach by foot example mosk_dun01 and hu_fild04, whenever u died it will refill their hp/sp by clicking on the rest npc, gives out command to warper char and move itself wherever the warper cast their portal. i giv a little timeout just for precautious, please adjust pause timing according to ur connection, oh and also i uses relog to to remove the errors usually caused when bots talking to npc and removed somewhere within the same map. dont forget to put appropriate warp number on ur warp request macro, the example below uses the warp 3 (4th warp slot on manual portals)
requirements :
warper and training bot are on 1 guild
warper must uses the on location warp macro
warper got enough blue gemstone
warper should put at payon_in01 132 10 and shouldnt wanders around (get route_randomwalk 0 and follow 0 and no lockmap in you config), if u dont know the place its the room below the payon pvp npc room
training bot must save position on payon inn npc, inside the payon pvp npc room
suggestion :
warper isnt necessary to be priest, even super novices or lv 20 acolyte got enough sp to opens warp portal, u can use ur priests for better uses
tips :
if u intends to use ur priest as a follow bot and also as a warper, put the on location warp macro on your priest and also the refill hp sp macro (the habismati macro) but dont put the other 2, this way if they both died and back on save position the priest will warps back and automatically follow the master when it goes inside the portal. note that priest also need to save position on payon inn, and this will only happens if both of them died
if u using priest following ur bot and also got a warper standby, dont forget to also put the macros on the priest char besides the save position on payon inn
Code: Select all
automacro habismati {
run-once 1
location payon_in01
hp < 100%
timeout 30
call {
do move 132 57
lock huntlagi
pause 5
do talknpc 132 62 r1 e
pause 5
do relog
release huntlagi
release habismati
}
}
automacro huntlagi {
location payon_in01
hp == 100%
player "PutWarperNameHere"
timeout 30
call {
do g warp 3 koordinat 132 9
release huntlagi
}
}
automacro masukportal {
run-once 1
location payon_in01
console /Player (.*) \((\d+)\) opened Warp Portal on (.*).*/i
var .lastMatch1 == PutWarperNameHere
call {
do move 132 9
pause 5
release masukportal
}
}
warps back to ur training ground whenever ur char goes someplace it didnt suppose to be, well just dont forget to bring appropriate numbers of blue gemstone and periodically checks on ur bot inventory. good against intentional warps casted by envious players who dislikes ur bot. dont forget to add all maps necessary, example if ur training at Greatest General map, saves position on Payon, there will be at least 3 extra maps u need to add as path (Spore, Smokie and Elder Willow map) therefore ur trigger will looks like this
Code: Select all
location not pay_fild10, payon, pay_fild08, pay_fild07, pay_fild09
Code: Select all
automacro kesasar {
run-once 1
location not PutTrainingMapHere, PutKafraMapHere, PutAdditionalMapPathHere
timeout 60
call {
do g gawat saya di $.map koordinat $.pos
release kesasar
}
}
automacro warpbalik {
run-once 1
inventory "Blue Gemstone" > 0
guild /gawat saya di (.*) koordinat (.*) (.*)/i
call {
do sl 27 @eval ($.lastMatch2 + 3) $.lastMatch3
pause 2
do warp 0
pause 5
do move @eval ($.lastMatch2 + 3) $.lastMatch3
release warpbalik
}
}