Openkore.com

OpenKore Forums
It is currently 13 Nov 2019, 00:35

All times are UTC - 5 hours [ DST ]





Post new topic Reply to topic  [ 14 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: bounty board
PostPosted: 13 Mar 2016, 05:32 
Offline
Noob
Noob

Joined: 05 Feb 2016, 19:56
Posts: 6
Goodmorning! So I made a macro to do killing quest in geffen for flying petite. What happen is I manually type "Macro checkQuest" on the kore for the bot to talk to the npc. And after getting the quest the bot will just stand and will not go to the map to kill the monster. I would really appreciate if someone can help me. Here is all in my macros.txt

automacro checkQuest {
# hook packet/quest_update_mission_hunt
hook target_died
exclusive 1
call {
if (@config(skypQuest) != 1 || $.lvl > 80) goto next
$temp1 = @eval($::questList->{62680}->{missions}->{1156}->{count})
if ($temp1 == 150) call questSkyP
:end
}
}
macro questSkyP {
set exclusive 1
do move geffen 72 77
pause 1
do talk @npc (74 79)
pause 2
do talk resp 0
pause 2
do talk resp 5
pause 2
do talk resp 0
:end
}


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 17 Mar 2016, 04:12 
Offline
Noob
Noob

Joined: 17 Mar 2016, 04:07
Posts: 4
try "macro status" and check did the macro successfully finish.
I suspect it stop at :end there or somewhere else if got lag connection suddenly

normally i would use

do talknpc 74 79 r1 r5 r0 n
pause 1
do talknpc 74 79 r0 r5 r0 n


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 06 May 2016, 21:09 
Offline
Human
Human

Joined: 13 Apr 2016, 09:31
Posts: 25
Man, why are you using goto :next label?
Where is this label?


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 04 Dec 2016, 03:49 
Offline
Noob
Noob

Joined: 02 Nov 2016, 02:47
Posts: 11
This will somehow help you do bounty stuff..

***note I got this from IRO BOUNTY 1.1


function script F_Bounty_Board {
if (BaseLevel < getarg(0) || (BaseLevel > getarg(1) && getarg(1))){
for (.@i = 5; .@i < getargcount(); .@i += 4){
if (checkquest(getarg(.@i)) != -1){
mes "[Bounty Board]";
mes "You are ready to collect your bounty.";
mes "Which bounty do you want to collect?";
next;
switch(select("Collect 1 bounty", "Collect ALL bounties", "I want to QUIT hunting", "cancel")){
case 1: goto L_BountyOne;
case 2: goto L_BountyAll;
case 3: goto L_BountyDel;
case 4: close;
}
}
}
switch(getarg(3)){
case 1: mes "These bounties are available only to adventurers who are between the levels "+getarg(0)+"-"+getarg(1)+"."; break;
case 2: mes "These bounties are available only to adventurers who are between levels "+getarg(0)+" and "+getarg(1)+"."; break;
case 3: mes "These bounties are available only to adventurers who are above level "+getarg(0)+"."; break;
case 4: mes "These bounties are available only to adventurers who are higher than level "+getarg(0)+"."; break;
case 5: mes "You've stumbled upon what appears to be a bulletin board with wanted ads. Nothing looks that interesting."; break;
}
close;
}
mes "[Bounty Board]";
mes "You've stumbled upon what appears to be a bulletin board with wanted ads.";
mes "Take a closer look?";
next;
mes "[Bounty Board]";
mes "There are many listings for monster hunting.";
next;
switch(select("Check bounty missions", "Collect bounty rewards", "Where do I go to hunt?", "Search for other bounty hunters.", "I want to QUIT hunting", "Not interested.")){
case 1: // Check bounty missions
mes "[Bounty Board]";
mes "There is a list of monsters on the board.";
mes "Looking through it you decide to take one hunting task.";
next;
for (.@i = 4; .@i < getargcount(); .@i += 4)
.@menu$ = .@menu$ + getmonsterinfo(getarg(.@i),MOB_NAME) + ":";
.@menu$ = .@menu$ + "Hunt All:Cancel";
.@bounty = (select(.@menu$) * 4) + 1;
if (.@bounty > getargcount()+1){
mes "[Bounty Board]";
mes "You have decided not to take any bounties.";
close;
} else if (.@bounty == getargcount()+1){
for (.@i = 5; .@i < getargcount(); .@i += 4){
if (checkquest(getarg(.@i)) == -1)
setquest getarg(.@i);
.@HuntAllList$ = .@HuntAllList$ + (.@i+4 > getargcount()?" and ":(.@i > 5?", ":"")) + getmonsterinfo(getarg(.@i-1),MOB_NAME);
}
mes "[Bounty Board]";
mes "There is a bounty to hunt 150 " + .@HuntAllList$ + " hunt them all.";
close;
}
.@monster$ = getmonsterinfo(getarg(.@bounty-1),MOB_NAME);
mes "[Bounty Board]";
mes "There is a bounty to hunt 150 " + .@monster$ + ".";
next;
if (select("I'll do it.", "Uhh actually nevermind.") == 1){
if (checkquest(getarg(.@bounty),HUNTING) == -1)
setquest getarg(.@bounty);
mes "[Bounty Board]";
mes "You have accepted the bounty to hunt "+.@monster$+".";
}
close;
case 2: // Collect bounty rewards
mes "[Bounty Board]";
mes "You are ready to collect your bounty.";
mes "Which bounty do you want to collect?";
next;
switch(select("Collect 1 bounty", "Collect ALL bounties", "cancel")){
case 1: goto L_BountyOne;
case 2: goto L_BountyAll;
case 3: close;
}
case 3: // Where do I go to hunt?
mes "[Bounty Board]";
switch(getarg(2)){
case 1: mes "You can hunt them at the dungeon. You're staring at the entrance now!"; break;
case 2: mes "You can hunt them at the forests surrounding Payon and at the Cave up north at Archer Village."; break;
case 3: mes "You can hunt them at various fields surrounding Prontera."; break;
case 4: mes "You can hunt them at various fields and dungeons around Prontera."; break;
case 5: mes "You can hunt at the Umbala Fields to fulfill these bounties."; break;
case 6:
mes "Wich monster hunting field do you want to go to?";
next;
.@bounty = (select("Golem", "Stalactic Golem", "Medusa", "Cancel") * 4) + 1;
if (.@bounty > getargcount())
close;
mes "[Bounty Board]";
if (checkquest(getarg(.@bounty),HUNTING) == -1){
mes "You're currently not hunting "+getmonsterinfo(getarg(.@bounty-1),MOB_NAME)+".";
close;
}
mes "Sending you now.";
close2;
switch(.@bounty){
case 1: warp "cmd_fild06",147,36; break;
case 2: warp "beach_dun2",154,25; break;
case 3: warp "beach_dun",266,67; break;
}
end;
case 7: mes "You can hunt at the <NAVI>Juno Fields<INFO>yuno,158,16,</INFO></NAVI> to fulfill these bounties."; break;
case 8: mes "You can hunt at <NAVI>Brasilis Field<INFO>brasilis,309,304,</INFO></NAVI> and <NAVI>Brasilis Dungeon<INFO>brasilis,183,284,</INFO></NAVI> to fulfill these bounties."; break;
case 9: mes "You can hunt them at various fields surrounding Lighthalzen."; break;
case 10: mes "You can hunt them at various fields and dungeons around Lighthalzen."; break;
case 11:
mes "You can hunt at <NAVI>Splendide Field<INFO>mid_camp,14,143,</INFO></NAVI> to fulfill these bounties.";
mes "Be sure that you're an authorized member of the Midgard Alliance before you go there.";
break;
case 12: mes "You can hunt at the two Dicastes Fields to fulfill these bounties."; break;
}
close;
case 4: // Search for other bounty hunters.
mes "[Bounty Board]";
mes "To find players to party with, click on the [Booking] button in, your user menu or type \"/booking\" in the chat box to bring up the window.";
next;
mes "[Bounty Board]";
mes "Then click \"Search\" to bring up all party listings.";
mes "To post a party wanted ad, type \"/recruit\" into the chat box.";
close;
case 5: // I want to QUIT hunting
goto L_BountyDel;
case 6: // Not interested.
mes "[Bounty Board]";
mes "Life is full of dangers.";
mes "You don't live life unless you put yourself in danger from time to time";
close;
}

L_BountyOne:
mes "[Bounty Board]";
mes "You will receive ^FF00001 Eden Merit Badge if all bounties are collected together.^000000";
mes "Otherwise, zeny and EXP/JEXP are rewarded alone.";
mes "^FF0000VIP accounts get to choose how to distribute experience prizes^000000.";
next;
for (.@i = 4; .@i < getargcount(); .@i += 4)
.@menu$ = .@menu$ + getmonsterinfo(getarg(.@i),MOB_NAME) + ":";
.@menu$ = .@menu$ + "Cancel";
.@bounty = (select(.@menu$) * 4) + 1;
if (.@bounty > getargcount()){
mes "^000000[Bounty Board]^000000";
mes "Come back when you have a bounty completed.";
close;
}
if (checkquest(getarg(.@bounty),HUNTING) == 2){
if (vip_status(1)){
mes "^000000[Bounty Board]^000000";
mes "How will you distribute your newfound experience?";
next;
.@vip_reward = select("^FF0000Both Base and Job EXP^000000", "^0000FFI want Base EXP only.^000000", "^FFA400I want Job EXP only.^000000");
}
erasequest getarg(.@bounty);
if (Zeny + 37500 <= MAX_ZENY)
Zeny += 37500;
.@BaseExp = getarg(.@bounty+1);
.@JobExp = getarg(.@bounty+2);
switch(.@vip_reward){
case 2:
getexp .@BaseExp,0;
getexp .@JobExp,0;
break;
case 3:
getexp 0,.@BaseExp;
getexp 0,.@JobExp;
break;
default:
getexp .@BaseExp,.@JobExp;
break;
}
} else {
mes "^000000[Bounty Board]^000000";
mes "The bounty to hunt "+getmonsterinfo(getarg(.@bounty-1),MOB_NAME)+" has not been completed.";
}
close;

L_BountyAll:
mes "[Bounty Board]";
mes "Oh you fancy yourself a good hunter eh?";
mes "Let me see if you've actually hunted all the monsters you said you would.";
next;
for (.@i = 5; .@i < getargcount(); .@i += 4){
if (checkquest(getarg(.@i),HUNTING) < 2){
mes "[Bounty Board]";
mes "The bounty to hunt all has not been completed.";
mes "Lying will not be tolerated.";
close;
}
}
if (vip_status(1)){
mes "^000000[Bounty Board]^000000";
mes "How will you distribute your newfound experience?";
next;
.@vip_reward = select("^FF0000Both Base and Job EXP^000000", "^0000FFI want Base EXP only.^000000", "^FFA400I want Job EXP only.^000000");
}
for (.@i = 5; .@i < getargcount(); .@i += 4)
erasequest getarg(.@i);
for (.@i = 6; .@i < getargcount(); .@i += 4){
if (Zeny + 37500 <= MAX_ZENY)
Zeny += 37500;
.@BaseExp = getarg(.@i);
.@JobExp = getarg(.@i+1);
switch(.@vip_reward){
case 2:
getexp .@BaseExp,0;
getexp .@JobExp,0;
break;
case 3:
getexp 0,.@BaseExp;
getexp 0,.@JobExp;
break;
default:
getexp .@BaseExp,.@JobExp;
break;
}
}
getitem "Para_Logro_Badge",1;
mes "[Bounty Board]";
mes "Here is your reward.";
close;

L_BountyDel:
mes "[Bounty Board]";
mes "I'll check what missions that you've taken so far.";
mes "Which ones do you want to quit?";
next;
for (.@i = 5; .@i < getargcount(); .@i += 4){
if (checkquest(getarg(.@i),HUNTING) == 1){
.@monster$ = getmonsterinfo(getarg(.@i-1),MOB_NAME);
mes "[Bounty Board]";
mes "You have NOT completed the " + .@monster$ + " hunt mission.";
mes "Do you want to continue or quit?";
next;
if (select("Keep hunting "+.@monster$, "^FF0000Get rid of my quest^000000") == 2){
erasequest getarg(.@i);
mes "[Bounty Board]";
mes "All of your records for this quest have been deleted.";
close2;
.@questerased = 1;
}
}
}
if (!.@questerased)
close;
else
end;

}


EXAMPLE ONE CITY:

//= Uses function "F_Bounty_Board" to manage the Bounty Boards
//= npc on cities.
//= The function arguments are this:
//= callfunc "F_Bounty_Board", MinLevel, MaxLevel, MsgHuntPlace, MsgOutLevel,
//= MonsterID, QuestID, BaseExp, JobExp{,
//= MonsterID, QuestID, BaseExp, JobExp};
//============================================================

comodo,104,136,3 script Bounty Board 40-60#cmd1 837,{
callfunc "F_Bounty_Board", 40, 60, 1, 1,
1034, 62617, 52312, 59062, // THARA_FROG
1323, 62618, 72225, 81000, // SEE_OTTER
1317, 62619, 60750, 68287, // FUR_SEAL
1254, 62620, 62212, 69862, // RAGGLER
1687, 62621, 164025, 184950, // GREEN_IGUANA
1271, 62622, 82012, 92475, // ALLIGATOR
1118, 62809, 59140, 66491; // FLORA
end;
}

comodo,106,136,3 script Bounty Board 60-105#cmd2 837,{
callfunc "F_Bounty_Board", 60, 105, 6, 1,
1040, 62623, 91125, 102600, // GOLEM
1278, 62624, 113850, 128025, // STALACTIC_GOLEM
1148, 62625, 293062, 219712; // MEDUSA
end;
}


You can utilize it with other cities with this config...

let me know if you figured out cause I havent...


Attachments:
iRO Bounty Boards v1.1.rar [19.34 KiB]
Downloaded 283 times
Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 20 Feb 2017, 15:34 
Offline
Noob
Noob

Joined: 20 Feb 2017, 15:08
Posts: 3
I found a solution for the Bounty Board Macro.
After 6 hours it works pretty well for me even if i die or relog.

The Macro ist for the Novus Bounty Board in Hugel and is simple. I Made it for even a Slave can use it.

automacro checkQuest {
timeout 15 # the Macro trigger every 15 secons and look if you have enough
# monsters or not.

exclusive 1 # this let other macros dont interrupt
call {
$temp1 = @eval($::questList->{62790}->{missions}->{1718}->{count}+$::questList->{62789}->{missions}->{1715}->{count}) # here you tell the macro what $temp1 is, in my macro it count the monsters yellow novus (ID of the Mob 1715) + the red novus (ID 1715).... So the macro will create a summary of this two monsters. like you killed 20 + 10 then the macro know $temp1 = 30
if ($temp1 == 300) call Novus #here you set how much monsters you need to finish the quest and what to do if the number is reached
}
}

macro Novus { #here is the macro that will trigger when you reach the needed 300 mobs
do is Butterfly Wing #use a butterfly wing....
pause 3
do move hugel 76 148 #move to the bounty board
pause 1
do talknpc 67 153 c c r1 c r1 c c r0 n #talking sequence for the bounty board after finished the quest if you only want base ep or only want to return one quest you need to change
pause 2
do talknpc 67 153 c c r0 c r2 n #this is the sequence to take the quests again
pause 2
}

You can change everthing here: for example you only want to hunt one monster, just delete everthing from "+" in the $temp1 = line example: $temp1 = @eval($::questList->{62790}->{missions}->{1718}->{count}) but you need to cange the number from 300 to 150 as well in the next line.

I hope someone understand me :D
Maybe someone can write this a little bit bette then me.

Here again the Macro without explanation

automacro checkQuest {
timeout 15
exclusive 1
call {
$temp1 = @eval($::questList->{62790}->{missions}->{1718}->{count}+$::questList->{62789}->{missions}->{1715}->{count})
if ($temp1 == 300) call Novus
}
}

macro Novus {
do is Butterfly Wing
pause 3
do move hugel 76 148
pause 1
do talknpc 67 153 c c r1 c r1 c c r0 n
pause 2
do talknpc 67 153 c c r0 c r2 n
pause 2
}

if you dont want to trigger it set timeout higer like 9999999999999999 or just delete it
oh and you need to be on auto Ai mode and set the lock map to the map with the monsters you need to hunt, otherwise your bot will do nothing :D


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 18 Apr 2017, 09:40 
Offline
Human
Human

Joined: 28 Mar 2017, 03:08
Posts: 39
Guys, do this macros require to have lockmap not set or something?- becouse they don't run.
Or do they require proper lvl, becouse I am already 92+ lvl on my character.
I am trying to run Geffen Bounty Board macro from this rar file: iRO Bounty Boards v1.1.rar and it does not work :(
Maybe I am doing something wrong, I am new to macros.
I simply copy data from Geffen macro file into macros txt file in my config folder.
Anyone could help me please?


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 18 Apr 2017, 10:52 
Offline
Developers
Developers

Joined: 01 Nov 2008, 15:31
Posts: 371
This is incomplete custom macro... i don't think someone will do it for u...

_________________
Please use pin function for uploading your file contents!


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 18 Apr 2017, 12:00 
Offline
Human
Human

Joined: 28 Mar 2017, 03:08
Posts: 39
Mortimal wrote:
This is incomplete custom macro... i don't think someone will do it for u...


Hi!!! But I am trying to use this macro from macro bundle attachement: iRO Bounty Boards v1.1.rar ;)

Here it is:


//===== Atlantis Script ======================================
//= iRO Bounty Boards : Geffen
//===== By: ==================================================
//= Ragno / AtlantisRO
//===== Actual Version: ======================================
//= 1.0.2 Removed += operations with strings.
//= 1.0.1 Changed npc and monsters constants to numerical ids
//= 1.0 Starting Release
//===== General Description: =================================
//= Hunting Quest designed by iRO:
//= http://irowiki.org/wiki/Bounty_Board_Quests
//===== How to Use: ==========================================
//= Uses function "F_Bounty_Board" to manage the Bounty Boards
//= npc on cities.
//= The function arguments are this:
//= callfunc "F_Bounty_Board", MinLevel, MaxLevel, MsgHuntPlace, MsgOutLevel,
//= MonsterID, QuestID, BaseExp, JobExp{,
//= MonsterID, QuestID, BaseExp, JobExp};
//============================================================

geffen,78,75,3 script Bounty Board 1-20#gf1 837,{
callfunc "F_Bounty_Board", 1, 20, 1, 1,
1011, 62660, 4950, 4050, // CHONCHON
1012, 62661, 10125, 7650, // RODA_FROG
1020, 62662, 16200, 12151, // MANDRAGORA
1094, 62663, 13050, 9675; // AMBERNITE
end;
}

geffen,77,76,3 script Bounty Board 21-50#gf2 837,{
callfunc "F_Bounty_Board", 21, 50, 2, 1,
1018, 62664, 16200, 18225, // CREAMY
1103, 62665, 18225, 20475, // CARAMEL
1128, 62666, 24300, 27225, // HORN
1077, 62667, 18225, 20475, // POISON_SPORE
1104, 62810, 30375, 34200, // COCO
1056, 62811, 18225, 20475, // SMOKIE
1145, 62812, 20250, 22725, // MARTIN
1033, 62813, 26100, 29475; // ELDER_WILOW
end;
}

geffen,76,77,3 script Bounty Board 41-75#gf3 837,{
callfunc "F_Bounty_Board", 41, 75, 2, 1,
1023, 62668, 39375, 60750, // ORK_WARRIOR
1273, 62669, 42750, 48825, // ORC_LADY
1122, 62670, 41400, 46575, // GOBLIN_1
1258, 62671, 50625, 56925, // GOBLIN_ARCHER
1169, 62820, 37350, 42075; // SKEL_WORKER
end;
}

geffen,75,78,3 script Bounty Board 61-100#gf4 837,{
callfunc "F_Bounty_Board", 61, 100, 2, 1,
1036, 62672, 65475, 73800, // GHOUL
1130, 62673, 71100, 79875, // JAKK
1061, 62674, 56250, 116100; // NIGHTMARE
end;
}

geffen,74,79,3 script Bounty Board 81-120#gf5 837,{
callfunc "F_Bounty_Board", 81, 120, 2, 1,
1109, 62675, 203175, 243675, // DEVIRUCHI
1143, 62676, 162225, 225900, // MARIONETTE
1192, 62677, 133875, 133875, // WRAITH
1198, 62678, 273375, 187425, // DARK_PRIEST
1253, 62679, 213750, 160275, // GARGOYLE
1156, 62680, 101250, 113850, // PETIT_
1155, 62681, 131625, 148050, // PETIT
1117, 62682, 150525, 144000, // EVIL_DRUID
1263, 62683, 103275, 150075; // WIND_GHOST
end;
}

geffen,73,80,3 script Bounty Board 101-150#gf6 837,{
callfunc "F_Bounty_Board", 101, 150, 2, 1,
1267, 62684, 218700, 164025, // CARAT
1208, 62685, 381150, 277425, // WANDER_MAN
1207, 62686, 244350, 183150, // STING
1194, 62687, 207450, 293175, // ARCLOUSE
1163, 62688, 311625, 233550, // RAYDRIC
1132, 62689, 321975, 241425, // KHALITZBURG
1206, 62690, 329625, 249975, // ANOLIAN
//1371, 62691, // FAKE_ANGEL
1390, 62692, 321975, 241425, // VIOLY
//1292, 62693, // MINI_DEMON
1310, 62815, 347625, 347625; // MAJORUROS
end;
}


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 18 Apr 2017, 16:58 
Offline
Developers
Developers

Joined: 01 Nov 2008, 15:31
Posts: 371
good for u -_-

_________________
Please use pin function for uploading your file contents!


Top
 Profile  
 
 Post subject: Re: bounty board
PostPosted: 19 Apr 2017, 02:20 
Offline
Human
Human

Joined: 28 Mar 2017, 03:08
Posts: 39
Mortimal wrote:
good for u -_-


Mate but it does not trigger :/


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group