but now I need people to confirm that this fix also applies for the other affected serverTypes.
Its sad that nobody cared to include their serverTypes in the homunculus bug reports (wich are btw spread troughout the forum instead of in bug reports section)
that would make it easier to support the different serverTypes.
So if this bug applies to you, then please test the fix and post up your serverType & result.
Here is the codeblock that you must paste in src\Network\Send\serverTypeX.pm (where X is your serverType) in order to test.
Code: Select all
sub sendHomunculusMove {
my $self = shift;
my $homunID = shift;
my $x = int scalar shift;
my $y = int scalar shift;
my $msg = pack("C*", 0x32, 0x02) . $homunID . getCoordString($x, $y, 1);
$self->sendToServer($msg);
debug "Sent Homunculus move to: $x, $y\n", "sendPacket", 2;
}
Looking in the next block of code will explain how this bug propagated:
Code: Select all
sub getCoordString {
my $x = int(shift);
my $y = int(shift);
my $nopadding = shift;
my $coords = "";
shiftPack(\$coords, 0x44, 8)
unless (($config{serverType} == 0) || ($config{serverType} == 3) || ($config{serverType} == 5) || $nopadding);
shiftPack(\$coords, $x, 10);
shiftPack(\$coords, $y, 10);
shiftPack(\$coords, 0, 4);
return $coords;
}
serverTypes tested & result:
- 8_4 fixed dc problem
Fix will be committed after enough test results. (since the question now is: in wich layer of serverType override to adjust/add the sendHomunculusMove packet...)