Sabtu, 13 Desember 2008

Openkore Tricks to FNC

Bermain game RO memang sangat menyenangkan, tapi untuk menaikkan level adalah sesuatu hal yang melelahkan dan membosankan. Nah... dengan adanya bot maka proses leveling akan menjadi lebih mudah, dan kita pun akan semakin asyik bermain, dan lebih fokus pada kerjaan dan kehidupan nyata kita.

Bot gratis untuk RO online saat ini adalah Openkore. Openkore ini sangat mudah penggunaannya (khusus untuk versi 2.0.6.1) karena sudah banyak perbaikan dan penambahan feature-feature yang sangat mempermudah kita. Hanya saja Openkore ini memakan resource yang lumayan, jadi kalau menjalankan openkore maka komputer akan mulai terasa melambat, dan kadang-kadang PC dapat restart sendiri karena beratnya.

Namun semenjak di akhir November 2008 ini, openkore sudah susah untuk masuk ke server FNC, dan memunculkan pesan error bugs, seperti :

Error message:
Assertion ('HASH(0x49e4f4c)' must be of class 'Actor::You') failed!
at F:/RO/openkore-2.0.6.1/src/deps/Carp/Assert.pm line 271
Carp::Assert::assert('', '\'HASH(0x49e4f4c)\' must be of class \'Actor::You\'') called at src/Utils/Assert.pm line 31
Utils::Assert::assertClass('HASH(0x49e4f4c)', 'Actor::You') called at src/Misc.pm line 228
Misc::checkValidity('Packet: stat_info') called at src/Network/Receive.pm line 419
Network::Receive::parse('Network::Receive::ServerType0=HASH(0x19b7ce0)', '\x{b0}\x{0}2\x{0}\x{85}\x{0}\x{0}\x{0}') called at src/functions.pl line 1192
main::parseIncomingMessage('\x{b0}\x{0}2\x{0}\x{85}\x{0}\x{0}\x{0}') called at src/functions.pl line 545
main::mainLoop_initialized() called at src/functions.pl line 70
main::mainLoop() called at src/Interface/Wx.pm line 140
Interface::Wx::__ANON__('Interface::Wx=HASH(0x285c3a4)', 'Wx::TimerEvent=SCALAR(0x407484c)') called at src/Interface/Wx.pm line 113
eval {...} called at src/Interface/Wx.pm line 113
Interface::Wx::mainLoop('Interface::Wx=HASH(0x285c3a4)') called at openkore.pl line 96
main::__start() called at start.pl line 125

Stack trace:
Assertion ('HASH(0x49e4f4c)' must be of class 'Actor::You') failed!
at F:/RO/openkore-2.0.6.1/src/deps/Carp/Assert.pm line 271
Carp::Assert::assert('', '\'HASH(0x49e4f4c)\' must be of class \'Actor::You\'') called at src/Utils/Assert.pm line 31
Utils::Assert::assertClass('HASH(0x49e4f4c)', 'Actor::You') called at src/Misc.pm line 228
Misc::checkValidity('Packet: stat_info') called at src/Network/Receive.pm line 419
Network::Receive::parse('Network::Receive::ServerType0=HASH(0x19b7ce0)', '\x{b0}\x{0}2\x{0}\x{85}\x{0}\x{0}\x{0}') called at src/functions.pl line 1192
main::parseIncomingMessage('\x{b0}\x{0}2\x{0}\x{85}\x{0}\x{0}\x{0}') called at src/functions.pl line 545
main::mainLoop_initialized() called at src/functions.pl line 70
main::mainLoop() called at src/Interface/Wx.pm line 140
Interface::Wx::__ANON__('Interface::Wx=HASH(0x285c3a4)', 'Wx::TimerEvent=SCALAR(0x407484c)') called at src/Interface/Wx.pm line 113
eval {...} called at src/Interface/Wx.pm line 113
Interface::Wx::mainLoop('Interface::Wx=HASH(0x285c3a4)') called at openkore.pl line 96
main::__start() called at start.pl line 125
at src/Interface/Wx.pm line 113
Interface::Wx::mainLoop('Interface::Wx=HASH(0x285c3a4)') called at openkore.pl line 96
main::__start() called at start.pl line 125

Semenjak itu, aku udah gak bisa petualangan pakai Bot ke pelosok-pelosok daerah RO lagi deh :(. Yang bisa aku lakukan hanyalah menengok ke forum-forum RO yang ada, kenapa Openkore ini gak bisa masuk. :(

Setelah beberapa forum kudatangi, ternyata ada satu forum yang memberikan solusi yang tepat yaitu forum Indoforum (link untuk RO http://mail.indoforum.org/forumdisplay.php?f=68)

Di forum ini ada teman kita yang sangat baik hati memberikan tips n tricksnya untuk memperbaiki Openkore yang sudah tidak bisa login di FNC yaitu alvinchibi.

Untuk mempermudah temen-temen, maka aku merangkum semua tipsnya di blogku ini :

Ok kita mulai yah :

1. Ambil data receive.pm (di http://h1.ripway.com/alvinchibi/Receive.txt) untuk ditiban di direktori src/Network/Receive.pm. Namun sebelumnya diharapkan dibackup terlebih dahulu file Receive.pm dan hasil downloadnya direname menjadi receive.pm

2. Buka File di directory src/Network/Send/ServerType0.pm

Cari Kata²....

Code:
if (hex($masterServer->{gameLogin_packet}) == 0x0273) {
Ganti Jadi...
Code:
if (hex($masterServer->{gameLogin_packet}) == 0x0273 || hex($masterServer->{gameLogin_packet}) == 0x0275) {
Cari Lagi.......
Code:
if ($self->{serverType} == 0) {
Ganti Jadi...
Code:
if ($self->{serverType} == 0 || $self->{serverType} == 21) {


3. Buka file di directory src/functions.pl
Cari Kata² ....

Code:
($switch eq "0072" && $serverType == 0) ||
Ganti jadi.......
Code:
($switch eq "0072" && ($serverType == 0 || $serverType == 21)) ||
4. Buat File ServerType21.pm Di directory src\Network\Send\
Seperti Ini..
Code:
#########################################################################
# OpenKore - Network subsystem
# This module contains functions for sending messages to the server.
#
# 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.
#########################################################################
# tRO (Thai) for 2008-09-16Ragexe12_Th
# Servertype overview: http://www.openkore.com/wiki/index.php/ServerType
package Network::Send::ServerType21;

use strict;
use Globals;
use Network::Send::ServerType0;
use base qw(Network::Send::ServerType0);
use Log qw(error debug);
use I18N qw(stringToBytes);
use Utils qw(getTickCount getHex getCoordString);

sub new {
my ($class) = @_;
return $class->SUPER::new(@_);
}

sub sendMove {
my $self = shift;
my $x = int scalar shift;
my $y = int scalar shift;
my $msg;

$msg = pack("C*", 0x85, 0x00) . getCoordString($x, $y, 1);

$self->sendToServer($msg);
debug "Sent move to: $x, $y\n", "sendPacket", 2;
}

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;
}

1;
5. Buat Juga file ServerType21.pm Di directory src\Network\Receive\
Code:
#########################################################################
# 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.
#########################################################################
# tRO (Thai) for 2008-09-16Ragexe12_Th
# Servertype overview: http://www.openkore.com/wiki/index.php/ServerType
package Network::Receive::ServerType21;

use strict;
use Network::Receive;
use base qw(Network::Receive);
use Log qw(message warning error debug);
use Translation;
use Globals;
use I18N qw(bytesToString);
use Utils qw(getHex swrite makeIP makeCoords);

sub new {
my ($class) = @_;
my $self = $class->SUPER::new();

$self->{packet_list}{'0078'} = ['actor_display', 'x1 a4 v14 a4 v2 x2 C2 a3 x2 C1 v1', [qw(ID walk_speed param1 param2 param3 type hair_style weapon shield lowhead tophead midhead hair_color clothes_color head_dir guildID guildEmblem visual_effects stance sex coords act lv)]];
$self->{packet_list}{'007C'} = ['actor_display', 'x1 a4 v14 C2 a3', [qw(ID walk_speed param1 param2 param3 hair_style weapon lowhead type shield tophead midhead hair_color clothes_color head_dir stance sex coords)]];
$self->{packet_list}{'022C'} = ['actor_display', 'x1 a4 v3 V1 v5 V1 v5 a4 a4 V1 C2 a5 x3 v1', [qw(ID walk_speed param1 param2 param3 type hair_style weapon shield lowhead timestamp tophead midhead hair_color clothes_color head_dir guildID guildEmblem visual_effects stance sex coords lv)]];

return $self;
}

1;
6.Download Recvpacket... Yang Terbaru Di Sini...
http://h1.ripway.com/alvinchibi/Recvpackets-idro.txt
File ini kopi Di tables\Recvpackets-idro.txt

7.Buka File Servers.txt di directory tables
Cari lagi kata2..khususnya di serverType
Code:
[Indonesia - idRO: Thor]
ip 202.43.167.66
port 6900
master_version 12
version 2
serverType 0
secureLogin 1
secureLogin_type 0
secureLogin_requestCode
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
recvpackets recvpackets-idro.txt

[Indonesia - idRO Free Server: Fun and Chat]
ip 202.43.167.66
port 6900
master_version 12
version 2
serverType 0
secureLogin 1
secureLogin_type 0
secureLogin_requestCode
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
gameGuard 1
recvpackets recvpackets-idro.txt

[Indonesia - idRO: Sakray]
ip 202.93.18.250
port 6900
master_version 13
version 2
serverType 0
secureLogin 1
secureLogin_type 0
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
recvpackets recvpackets-idro.txt

[Indonesia - idRO: Pvp Server]
ip 202.93.18.251
port 6900
master_version 34
version 2
serverType 0
secureLogin 1
secureLogin_type 0
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
recvpackets recvpackets-idro.txt
Ganti Jadi ..
Code:
[Indonesia - idRO: Thor]
ip 202.43.167.66
port 6900
master_version 12
version 2
serverType 21
secureLogin 1
secureLogin_type 0
secureLogin_requestCode
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
recvpackets recvpackets-idro.txt

[Indonesia - idRO Free Server: Fun and Chat]
ip 202.43.167.66
port 6900
master_version 12
version 2
serverType 21
secureLogin 1
secureLogin_type 0
secureLogin_requestCode
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
gameGuard 1
recvpackets recvpackets-idro.txt

[Indonesia - idRO: Sakray]
ip 202.93.18.250
port 6900
master_version 13
version 2
serverType 21
secureLogin 1
secureLogin_type 0
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
recvpackets recvpackets-idro.txt

[Indonesia - idRO: Pvp Server]
ip 202.93.18.251
port 6900
master_version 34
version 2
serverType 21
secureLogin 1
secureLogin_type 0
secureLogin_account 0
serverEncoding Western
storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x007D8D6B, 0x08CB9ED9
recvpackets recvpackets-idro.txt
Setelah di ubah semua, coba deh Openkore dijalankan.
Kalo selama ini sih aku gak pernah mendapat masalah untuk mengkoneksi Openkoreku ke Server FnC.

So.....Petualangan lagi deh.... :P

Salut to Alvinchibi. Thanks yah

Tidak ada komentar: