⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winsockoutgoing.vb.svn-base

📁 MirUnleashed vb.net Module modMainServer Public WithEvents Socket As New WinsockServer Pub
💻 SVN-BASE
字号:
'### Visual Basic.NET and Direct X9 Legend of MiR Project ###'
'### Mir Unleashed Client OutGoing Module ###'
'### http://www.lomcn.co.uk ###' '### Credits to TrueADM and DeathWish ###'

'This is where all data is sent back to the server to tell it that we done something.
'E.g. We have walked, we have talked, we created a new account etc.

Public Class clsSendPacket

    Private Packet As String

    Public Sub SendClientVersion(ByVal ClientVersion As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_CLIENT_VERSION), EncodeString(ClientVersion))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendLogin(ByVal LoginID As String, ByVal Password As String)
        Packet = LoginID & "/" & Password
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_LOGIN_TRY), EncodeString(Packet))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendCreateAccount(ByVal LoginID As String, ByVal Password As String, ByVal UserName As String, ByVal SecretNumber As String, ByVal Question1 As String, ByVal Answer1 As String, ByVal Email As String, ByVal Birthday As String)
        Packet = LoginID & "/" & Password & "/" & UserName & "/" & Email & "/" & SecretNumber & "/" & Question1 & "/" & Answer1 & "/" & Birthday
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_NEWACCOUNT_ADD), EncodeString(Packet))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendSelectServer(ByVal ServerName As String)
        Packet = ServerName
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_SEL_SERVER), EncodeString(Packet))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendQueryChar(ByVal Username As String, ByVal Password As String, ByVal Cert As Integer)
        Packet = Username & Chr(3) & Password & Chr(3) & Cert
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_QUERYCHAR), EncodeString(Packet))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendCreateChar(ByVal LoginID As String, ByVal Name As String, ByVal Hair As Integer, ByVal Class1 As Integer, ByVal Gender As Integer)
        Packet = LoginID & "/" & Name & "/" & Hair & "/" & Class1 & "/" & Gender
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_NEWCHAR), EncodeString(Packet))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendStartPlay()
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_START_PLAY), EncodeString(Username & "/" & Actor.Name & "/" & Cert))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendRequestNotice()
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_NOTICE), EncodeString(Username & "/" & Actor.Name & "/" & Cert & "/" & Version & "/" & Password))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendGoGame()
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_GOGAME))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendMove(ByVal Direction As Byte, ByVal Steps As Byte, ByVal CordX As Short, ByVal CordY As Short)
        If UseServerWalk = False Then
            Packet = MakeOutPacket(MakeHeader(GameMsg.CM_MOVE, CordX, CordY, Direction, Steps))
            Socket.SendData(Packet)

            ProcessPlayerAction(PlayerActionType.Move, Actor.ServerID, Direction, Steps, InfrontX(Steps, Direction), InfrontY(Steps, Direction))
        Else
            ProcessPlayerAction(PlayerActionType.Move, Actor.ServerID, Direction, Steps, InfrontX(Steps, Direction), InfrontY(Steps, Direction))
        End If
    End Sub

    Public Sub SendTurn(ByVal X As Short, ByVal Y As Short, ByVal Dir As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_TURN, X, Y, Dir))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendAttack(ByVal Direction As Byte)
        If UseServerWalk = False Then
            Packet = MakeOutPacket(MakeHeader(GameMsg.CM_NORMAL_HIT, Actor.X, Actor.Y, Direction, 0))
            Socket.SendData(Packet)
            ProcessPlayerAction(PlayerActionType.Attack, Actor.ServerID, Direction, 0, Actor.X, Actor.Y)
        Else
            ProcessPlayerAction(PlayerActionType.Attack, Actor.ServerID, Direction, 0, Actor.X, Actor.Y)
        End If
    End Sub

    Public Sub SendCast(ByVal MagicId As Integer, ByVal TargetX As Short, ByVal TargetY As Short, ByVal Direction As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_USEMAGIC, MagicId, TargetX, TargetY, Direction))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendChat(ByVal Message As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_CHAT), EncodeString(Message))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendClickNpc(ByVal NpcId As Short)
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_CLICKNPC, NpcId))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendDropItem(ByVal ItemID As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_DROP_ITEM, ItemID))
        Socket.SendData(Packet)
    End Sub

    Public Sub SendRequestGuildInfo()
        Packet = MakeOutPacket(MakeHeader(GameMsg.CM_REQUEST_GUILDINFO))
        Socket.SendData(Packet)
    End Sub

End Class

Module Outgoing
    Public Packets As New clsSendPacket
End Module

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -