ServerType22.pm
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:2k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. #########################################################################
  2. #  OpenKore - Network subsystem
  3. #  Copyright (c) 2006 OpenKore Team
  4. #
  5. #  This software is open source, licensed under the GNU General Public
  6. #  License, version 2.
  7. #  Basically, this means that you're allowed to modify and distribute
  8. #  this software. However, if you distribute modified versions, you MUST
  9. #  also distribute the source code.
  10. #  See http://www.gnu.org/licenses/gpl.html for the full license.
  11. #########################################################################
  12. # idRO (Indonesia)
  13. # Servertype overview: http://www.openkore.com/wiki/index.php/ServerType
  14. package Network::Receive::ServerType22;
  15. use strict;
  16. use Network::Receive;
  17. use base qw(Network::Receive);
  18. use Log qw(message warning error debug);
  19. use Translation;
  20. use Globals;
  21. use Plugins;
  22. use Misc;
  23. use I18N qw(bytesToString);
  24. use Utils qw(getHex swrite makeIP makeCoords);
  25. sub new {
  26.    my ($class) = @_;
  27.    my $self = $class->SUPER::new();
  28.    $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)]];
  29.    $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)]];
  30.    $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)]];
  31.    $self->{packet_list}{'009A'} = ['system_chat', 'x2 A*', [qw(message)]];
  32.    return $self;
  33. }
  34. sub system_chat {
  35.    my ($self, $args) = @_;
  36.    my $message = bytesToString($args->{message});
  37.    if (substr($message,0,4) eq 'micc') {
  38.       $message = bytesToString(substr($args->{message},34));
  39.    }
  40.    stripLanguageCode($message);
  41.    chatLog("s", "$messagen") if ($config{logSystemChat});
  42.    # Translation Comment: System/GM chat
  43.    message TF("[GM] %sn", $message), "schat";
  44.    ChatQueue::add('gm', undef, undef, $message);
  45.    Plugins::callHook('packet_sysMsg', {
  46.       Msg => $message
  47.    });
  48. }
  49. 1;