I found the length of 02B5 packet (quest_update_mission_hunt) is incorrect.
The length should be changed from 10 to 12 for each quest update block.
I change some codes (src/Network/Receive/ServerType0.pm) as following:
Original Code Lines:
Code: Select all
# 02B5
# note: this packet updates the objectives counters
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 $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";
}
}
Code: Select all
# 02B5
# note: this packet updates the objectives counters
sub quest_update_mission_hunt {
my ($self, $args) = @_;
for (my $i = 0; $i < $args->{amount}; $i++) {
my ($questID, $mobID, $goal, $count) = unpack('V2 v2', substr($args->{RAW_MSG}, 6+$i*12, 12));
my $mission = \%{$questList->{$questID}->{missions}->{$mobID}};
$mission->{goal} = $goal;
$mission->{count} = $count;
$mission->{mobID} = $mobID;
debug sprintf ("questID (%d) - mob(%s) goal(%d) count(%d) \n", $questID, monsterName($mobID), $goal, $count), "info";
}
}