Another note: Following quests example used is the Hode Quest
So, I stumbled upon this http://forums.openkore.com/viewtopic.ph ... 676#p30676, it doesn't work though
and I needed a working macro so badly so I tried coding it myself.
I think the problem with that one is that it doesn't display the correct number of killed monster.
But I found a way on how to get the current number of current quest killed monster.
It is by re-logging your character. So after re-logging, try not to kill anything, and manually enter the macro below (make sure you
add this to your macros.txt:
Code: Select all
macro checkHodeKilled {
log Hode=@eval($::questList->{60106}->{missions}->{1127}->{count}) }
display 150.
My obstacle now is how to trigger character re-logging and turn-in quest if hode=150 or else continue killing.
I want to try running the automacro in 1 hour intervals, but that will have many flaws, and I can't find a hook for it to trigger.
I am currently writing my code in this flow:
1) check if hode quest is active if yes goto A if no goto B
2) A = checkKillCount ##insert macro re-log character## if < 150 goto C if = 150 goto D
B = getHodeQuest talk to @npc (208 346) then kill hodes return to A ##I still don't know when should this trigger##
3) C = kill some more then return to A ##I still don't know when should this trigger##
4) D = turninHode talk to @npc (208 346) and get another Hode quest
So my main problem is when to trigger certain events (especially determining the kill count).
Please if you have better ideas please help. =)
PS: I wrote a little macro where you can turn-in those Earthworm Peelings in loop until you got less than 25. I don't know if this
already exist, but, here you go. Please, if you can make it better, just go ahead.
Code: Select all
macro turninEP {
set exclusive 1 # overrides the automacro findslave/master if you have it #
$x = @random ("210","211","212","213","214")
$y = @random ("341","340","342","344","345")
do move moc_fild17 $x $y
pause 1
while (@invamount (Earthworm Peeling) >= 25) as loop
do talk @npc (208 346)
pause 2
do talk resp 0
pause 2
do talk resp 0
pause 2
do talk resp 0
end loop
}
I'll try contacting the person who updated it.
Edit: Hello again, I found the solution!!
So in my server [iRO Classic] the quest command
- in console doesn't display the monsters killed correctly.
I found this thread: http://forums.openkore.com/viewtopic.php?f=55&t=16436 and tried their solution, and it worked!
I pasted this into my servertype which is 0 [in iRO]. It can be found in \src\Network\receive\ in your openkore trunk.
The console now displays and updates the correct number of monster killed.Code: Select all
*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2; *reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
Here is my automacro for repeatable quest, credit to http://forums.openkore.com/viewtopic.ph ... 676#p30676:
Now, my bots are turning-in the quest once they hit the required monsters to kill.Code: Select all
automacro checkQuest { # hook packet/quest_update_mission_hunt hook target_died exclusive 1 call { if (@config(alligatorQuest) != 1 || $.lvl > 80) goto next $temp1 = @eval($::questList->{60121}->{missions}->{1271}->{count}) if ($temp1 == 150) call questAlig :end } } macro questAlig { set exclusive 1 do move cmd_fild01 358 254 pause 1 do talk @npc (362 256) pause 1 do talk @npc (362 256) pause 2 do talk resp 0 pause 2 do talk resp 1 pause 2 do talk resp 2 :end }
I hope this helps.
Note: It may not work to all servers as I read from the thread, but just try it. And just don't forget to configure the code to your corresponding
repeatable quest.