well, to the topic.
server: iRO::Valkyrie
problem: in my case there is no working support for quest system. well, actually there is something (quest list/set command), but it acts as dummy - no way to know how much mobs were killed for the moment.
my solution: the main quest-related packet (0x02b5, varlen) support is missing.
packet format:
Code: Select all
<02b5>.w <pckt_len>.w <counter_num>.w { <counter_id>.d <mob_id>.d <value>.w }.counter_num
notes:
1) w - 2-byte int
2) d - 4-byte int
3) afaik what i call "counter" is called something like "objective" in o-kore sources
Code: Select all
Index: ServerType0.pm
===================================================================
--- ServerType0.pm (revision 6896)
+++ ServerType0.pm (working copy)
@@ -400,6 +400,7 @@
'02B2' => ['quest_objective_info', 'v V', [qw(len amount)]], # var len
'02B3' => ['quest_objective_update', 'V C x4 V v', [qw(questID state time amount)]], # var len
'02B4' => ['quest_delete', 'V', [qw(questID)]],
+ '02B5' => ['quest_counter_update', 'v v', [qw(len amount)]], # var len
'02B7' => ['quest_status', 'V C', [qw(questID active)]],
'02B8' => ['party_show_picker', 'a4 v C3 a8 C3', [qw(sourceID nameID identified broken upgrade cards unknown1 unknown2 unknown3)]],
'02B9' => ['hotkeys'],
@@ -7244,6 +7245,18 @@
delete $questList->{$args->{questID}};
}
+# 02B5
+# TODO
+# note: this packet updates objects' states
+sub quest_counter_update {
+ my ($self, $args) = @_;
+ message TF("[-tmp-] quest_counter_update : len(%s) count(%s)\n", $args->{len}, $args->{amount}), "info";
+ for (my $i = 0; $i < $args->{amount}; $i++) {
+ my ($objective, $mob_id, $count) = unpack('V V v', substr($args->{RAW_MSG}, 6+$i*10, 10));
+ message TF("[-tmp-] \t quest_counter_update : objective(%s) - mob(%s) count(%s) \n", $objective, monsterName($mob_id), $count), "info";
+ }
+}
+
# 02B7
# TODO questID -> questName with a new table file
sub quest_status {
1) posting to the wrong section
2) someone already posted similar info - to tell the truth i did not even bother searching forums, just quick-viewed topic titles on first page
2) it was fixed/implemented already