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

外挂编程

开发平台:

Windows_Unix

  1. #########################################################################
  2. #  OpenKore - Networking subsystem
  3. #  This module contains functions for sending packets to the server.
  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. #  $Revision$
  13. #  $Id$
  14. #
  15. #########################################################################
  16. package Network;
  17. use strict;
  18. use Modules 'register';
  19. # $conState contains the connection state:
  20. # 1: Not connected to anything (next step -> connect to master server).
  21. # 2: Connected to master server (next step -> connect to login server)
  22. # 3: Connected to login server (next step -> connect to character server)
  23. # 4: Connected to character server (next step -> connect to map server)
  24. # 5: Connected to map server; ready and functional.
  25. #
  26. # Special states:
  27. # 1.2 (set by $config{gameGuard} == 2): Wait for the server response allowing us
  28. #      to continue login
  29. # 1.3 (set by parseMsg()): The server allowed us to continue logging in, continue
  30. #      where we left off
  31. # 1.5 (set by plugins): There is a special sequence for login servers and we must
  32. #      wait the plugins to finalize before continuing
  33. # 2.5 (set by parseMsg()): Just passed character selection; next 4 bytes will be
  34. #      the account ID
  35. use constant {
  36. NOT_CONNECTED              => 1,
  37. CONNECTED_TO_MASTER_SERVER => 2,
  38. CONNECTED_TO_LOGIN_SERVER  => 3,
  39. CONNECTED_TO_CHAR_SERVER   => 4,
  40. IN_GAME                    => 5,
  41. # This can only happen if we're in XKore or XKoreProxy mode.
  42. # It means that the RO client is already logged in the game
  43. # before OpenKore did. Because of this, OpenKore does not have
  44. # enough information (such as the character's name) to be able to
  45. # work properly.
  46. IN_GAME_BUT_UNINITIALIZED  => -1
  47. };
  48. 1;