Re: Error 02EB on iRO, same with tRO ?
Posted: 10 Dec 2008, 01:57
karren if this works is there any way you can attach the files here?
i am so lost on how to do any of these things.
i am so lost on how to do any of these things.
Code: Select all
-02A6 204
-02A7 204
+02A6 404
+02A7 404
Code: Select all
#########################################################################
# 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;
}
1;
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.
#########################################################################
# 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;
}
sub account_server_info {
my ($self, $args) = @_;
my $msg = substr($args->{serverInfo},4); # tRO uses some king of offset for the data.
my $msg_size = length($msg);
$net->setState(2);
undef $conState_tries;
$sessionID = $args->{sessionID};
$accountID = $args->{accountID};
$sessionID2 = $args->{sessionID2};
$accountSex = $args->{accountSex} % 2;
$accountSex2 = ($config{'sex'} ne "") ? $config{'sex'} : $accountSex;
message swrite(
T("-----------Account Info------------\n" .
"Account ID: \@<<<<<<<<< \@<<<<<<<<<<\n" .
"Sex: \@<<<<<<<<<<<<<<<<<<<<<\n" .
"Session ID: \@<<<<<<<<< \@<<<<<<<<<<\n" .
" \@<<<<<<<<< \@<<<<<<<<<<\n" .
"-----------------------------------"),
[unpack("V1",$accountID), getHex($accountID), $sex_lut{$accountSex}, unpack("V1",$sessionID), getHex($sessionID),
unpack("V1",$sessionID2), getHex($sessionID2)]), 'connection';
my $num = 0;
undef @servers;
for (my $i = 0; $i < $msg_size; $i+=32) {
$servers[$num]{ip} = makeIP(substr($msg, $i, 4));
$servers[$num]{ip} = $masterServer->{ip} if ($masterServer && $masterServer->{private});
$servers[$num]{port} = unpack("v1", substr($msg, $i+4, 2));
$servers[$num]{name} = bytesToString(unpack("Z*", substr($msg, $i + 6, 20)));
$servers[$num]{users} = unpack("V",substr($msg, $i + 26, 4));
$num++;
}
message T("--------- Servers ----------\n" .
"# Name Users IP Port\n"), 'connection';
for (my $num = 0; $num < @servers; $num++) {
message(swrite(
"@<< @<<<<<<<<<<<<<<<<<<<< @<<<<< @<<<<<<<<<<<<<< @<<<<<",
[$num, $servers[$num]{name}, $servers[$num]{users}, $servers[$num]{ip}, $servers[$num]{port}]
), 'connection');
}
message("-------------------------------\n", 'connection');
if ($net->version != 1) {
message T("Closing connection to Account Server\n"), 'connection';
$net->serverDisconnect();
if (!$masterServer->{charServer_ip} && $config{server} eq "") {
my @serverList;
foreach my $server (@servers) {
push @serverList, $server->{name};
}
my $ret = $interface->showMenu(
T("Please select your login server."),
\@serverList,
title => T("Select Login Server"));
if ($ret == -1) {
quit();
} else {
main::configModify('server', $ret, 1);
}
} elsif ($masterServer->{charServer_ip}) {
message TF("Forcing connect to char server %s: %s\n", $masterServer->{charServer_ip}, $masterServer->{charServer_port}), 'connection';
} else {
message TF("Server %s selected\n",$config{server}), 'connection';
}
}
}
1;