Page 1 of 13
Temporary fix for openkore pRO problems (Feb 3, 2013)
Posted: 29 Jan 2013, 15:49
by heero
The changes have already been added to the latest version of openkore SVN just download from
http://collectskin.com/openkore/
Fixed issues:
Can't reconstruct unknown packet: sync_received_characters at src/Network/PacketParser.pm line 172.
xKore 1 not working
I have managed to fix xkore 1 issue with pRO serverType but I am still working on fixing xkore 2, will update this topic when I have fixed xkore 2 problem.
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 17:18
by Pornograffitti
It worked for me.
You're awesome heero.
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 17:54
by NiTRO106
@heero
it also worked for me. thank you very much. can i ask a question? what file(s) specifically are modified through this fix? i try to copy the following files you mentioned to my original OpenKore folder (not to the temporary folder) and still it doesn't work. but after i copy my configurations to the temporary folder, and follow your instructions, it really works now.
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 19:00
by gelo2012
you're our hero
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 19:02
by Nex_Deus
This fix works! Thanks!
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 19:04
by leahcim11
does this work on the "no character problem" in the character select in pRO? by the way sir heero what program should i use to edit the iRO.pm? i cant open it to edit. xD
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 19:06
by ziphynx
Thanks Sir! It worked perfectly!
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 19:15
by jeje665
Code: Select all
#########################################################################
# OpenKore - Network subsystem
# Copyright (c) 2006 OpenKore Team
#
# This software is open source, licensed under the GNU General Public
# License, version 2.
# Basically, this means that you're allowed to modify and distribute
# this software. However, if you distribute modified versions, you MUST
# also distribute the source code.
# See http://www.gnu.org/licenses/gpl.html for the full license.
#########################################################################
# iRO (International)
# Servertype overview: http://wiki.openkore.com/index.php/ServerType
package Network::Receive::iRO;
use strict;
use base qw(Network::Receive::ServerType0);
use Globals qw($messageSender %timeout);
use Log qw(debug);
use Misc qw(monsterName);
use Utils qw(timeOut);
use Time::HiRes qw(time);
sub new {
my ($class) = @_;
my $self = $class->SUPER::new(@_);
my %packets = (
'006D' => ['character_creation_successful', 'a4 V9 v V2 v14 Z24 C6 v2', [qw(charID exp zeny exp_job lv_job opt1 opt2 option stance manner points_free hp hp_max sp sp_max walk_speed type hair_style weapon lv points_skill lowhead shield tophead midhead hair_color clothes_color name str agi vit int dex luk slot renameflag)]],
'0097' => ['private_message', 'v Z24 V Z*', [qw(len privMsgUser flag privMsg)]], # -1
'082D' => ['received_characters_info', 'x2 C5 x20', [qw(normal_slot premium_slot billing_slot producible_slot valid_slot)]],
'09A0' => ['unknown_09A0', 'V', [qw(count)]],
'099D' => ['received_characters', 'x2 a*', [qw(charInfo)]],
);
foreach my $switch (keys %packets) {
$self->{packet_list}{$switch} = $packets{$switch};
}
my %handlers = qw(
received_characters 099D
actor_exists 0856
actor_connected 0857
actor_moved 0858
account_id 0283
);
$self->{packet_lut}{$_} = $handlers{$_} for keys %handlers;
return $self;
}
sub received_characters_info {
my ($self, $args) = @_;
Scalar::Util::weaken(my $weak = $self);
my $timeout = {timeout => 6, time => time};
$self->{charSelectTimeoutHook} = Plugins::addHook('Network::serverConnect/special' => sub {
if ($weak && timeOut($timeout)) {
$weak->received_characters({charInfo => '', RAW_MSG_SIZE => 4});
}
});
$self->{charSelectHook} = Plugins::addHook(charSelectScreen => sub {
if ($weak) {
Plugins::delHook(delete $weak->{charSelectTimeoutHook}) if $weak->{charSelectTimeoutHook};
}
});
$timeout{charlogin}{time} = time;
$self->received_characters($args);
}
sub unknown_09A0 {
my ($self, $args) = @_;
for (my $count = $args->{count}; $count >= 1; $count--) {
$messageSender->sendToServer($messageSender->reconstruct({switch => 'unknown_09A1'}));
}
}
*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
1;
do i need to copy this code unto my iRo.pm? do i need to change the previous code that was written on iRo.pm or am I just going to paste it bellow the existing code into iRo.pm? sorry to bother...
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 19:20
by koding
thanks! it worked. but the other problem is that we can't use xkore.
Re: Temporary fix for openkore pRO disconnections (Jan 30, 2013)
Posted: 29 Jan 2013, 19:32
by leahcim11
i ddint notice that i only should open the iro.pm file in notepad. xD what a relief haha thanks it worked perfectly heero ^_^