quest system support

Wrote new code? Fixed a bug? Want to discuss technical stuff? Feel free to post it here.

Moderator: Moderators

cazanova000
Human
Human
Posts: 26
Joined: 29 Oct 2008, 22:18
Noob?: No

Re: quest system support

#31 Post by cazanova000 »

testing on iRO Valk =O, i'll b here with news after the server up again -.-
obsc
Noob
Noob
Posts: 18
Joined: 11 Sep 2009, 03:58
Noob?: Yes

Re: quest system support

#32 Post by obsc »

decided not to create new topic, since this info fits here ok.

in case you need quest info from client formatted in more sane way - here it goes. i did it for my own purposes, but thought it won't hurt to share in case anyone needs it.

upd: this data is taken from current iRO::valk
You do not have the required permissions to view the files attached to this post.
Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

Re: quest system support

#33 Post by Technology »

Anyone tested it yet?

Atm we show questID but we could show the quest's name instead if we add another table file.
We don't actually need this for kore to function properly tho.
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!
User avatar
twist3d
Testers Team
Testers Team
Posts: 94
Joined: 09 Sep 2009, 04:34
Noob?: No
Location: USA

Re: quest system support

#34 Post by twist3d »

fyi: on iRO Valkyrie -- quest list works for the most part, shows the quest ID and under that how many of each mob you have killed. However it says they are inactive, and doing: quest set 0 on; disconnects you from the server.

Here is a crappy way to do it, but it works:

Edit: Found a better way to monitor when a quest monster is killed;

Code: Select all

automacro autoQuest {
	hook packet/quest_update_mission_hunt
	map <map>
	base < 66 #(or whatever level is the max you can do the quest at)
	exclusive 1
	call {
		$temp = @eval($::questList->{<questID#>}->{missions}->{<monsterID #>}->{count}
		if ($temp != 150) goto end
		do move <x> <y>
		pause 1
		do talk @npc (<x> <y>)
		pause 2
		do talk resp 0
		pause 5
		do talk @npc (<x> <y>)
		pause 2
		do talk resp 0
		pause 2
		do talk resp 0
		pause 2
		do talk resp 2
		:end
	}
}
Just fill in the <info> with your map and npc x/y loc

Thank you technology for the info =)
Last edited by twist3d on 18 Sep 2009, 07:51, edited 3 times in total.
Member since 09/09/09, botter since its first creation days. Thanks Kura for the original Kore.
Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

Re: quest system support

#35 Post by Technology »

Oh yea, to make a quest (in)active you have to do this:
quest set <questID> [on|off]

Instead of questID we should have questIndex there.
Tho that might be tricky because i'm not sure whether the quests stay on the same index during the whole process.

We could for example add a global variable @questIDs where we store the questID's on their questIndex'es


Idk why the quests are inactive, it would be really useful to see a console log with debug on.
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!
Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

Re: quest system support

#36 Post by Technology »

After seeing the log:
02B1
debug "$questID $active\n", "info";

Code: Select all

60136 1
02B2
debug "$questID $time $active $mission_amount\n", "info";

Code: Select all

quest_all_mission 112, 1
60136 0 0 1
 - 1119 7 Frilldora

Code: Select all

--------------------------------- Quest List ----------------------------------
  0 60136                           inactive              0
  - Frilldora                       7
-------------------------------------------------------------------------------
I'm thinking that the 2nd $active is not what it seems. Maybe its a time_start?
That would explain this as well:
unsigned char show; // Optimizing Compiler sometimes makes this 4 byte long. So be WARNED!
we get this time_start in the quest_add packet so it would make perfect sense that we should get this information also trough the quest_all_mission packet.

EDIT:
committed a patch to svn
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!
User avatar
twist3d
Testers Team
Testers Team
Posts: 94
Joined: 09 Sep 2009, 04:34
Noob?: No
Location: USA

Re: quest system support

#37 Post by twist3d »

quest list shows my quest as active now without me activating it ^^ nice work
Member since 09/09/09, botter since its first creation days. Thanks Kura for the original Kore.
visages
Noob
Noob
Posts: 2
Joined: 15 Jun 2009, 12:54
Noob?: No

Re: quest system support

#38 Post by visages »

could someone tell em like it is set because I do not see any txt that says quest or something would be helpful Please
User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: quest system support

#39 Post by kLabMouse »

Ok. We have TODO:
Make OpenKore load quest.txt table, if it exist.
So, you get Quest Testm it's ID, and a lot more (like client do).
Rathearia
Noob
Noob
Posts: 3
Joined: 22 Oct 2009, 10:40
Noob?: No

Re: quest system support

#40 Post by Rathearia »

Been testing out the auto macro twist3d posted.

It was missing a parenthesis on the line

Code: Select all

$temp = @eval($::questList->{<questID#>}->{missions}->{<monsterID #>}->{count}
so I added one at the end of that line, and it now works like a charm.

Further testing shows only one problem, if you teleport it breaks the macro.

Just wanted to say thanks for this awesome macro, and to all your hard work.