almost year passed since quest tracking support was implemented, i haven't been playing for some time. time has come and i'm doing it again and guess what i see?..
long story short, seems like 02B5 packet structure changed since the time when i last looked at it.to be precise, currently at iRO::Valkyrie i'm experiencing the following:
- login/map change: "quest list" shows everything as it should
- kill tracked mob: "quest list" shows trash - mob counter gets set to mob goal count
why? seems like packet's data block got expanded by one int16 value.
here's diff fixing this issue for iRO::Valkyrie (line numbers are screwed since i have more modifications in this file):
Code: Select all
Index: Network/Receive/ServerType0.pm
===================================================================
--- Network/Receive/ServerType0.pm (revision 7450)
+++ Network/Receive/ServerType0.pm (working copy)
@@ -7493,11 +7549,11 @@
sub quest_update_mission_hunt {
my ($self, $args) = @_;
for (my $i = 0; $i < $args->{amount}; $i++) {
- my ($questID, $mobID, $count) = unpack('V2 v', substr($args->{RAW_MSG}, 6+$i*10, 10));
+ my ($questID, $mobID, $goal, $count) = unpack('V2 v2', substr($args->{RAW_MSG}, 6+$i*12, 12));
my $mission = \%{$questList->{$questID}->{missions}->{$mobID}};
$mission->{count} = $count;
$mission->{mobID} = $mobID;
- debug sprintf ("questID (%d) - mob(%s) count(%d) \n", $questID, monsterName($mobID), $count), "info";
+ debug sprintf ("questID (%d) - mob(%s) count(%d/%d) \n", $questID, monsterName($mobID), $count, $goal), "info";
}
}