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

📄 modoutgoing.vb.svn-base

📁 MirUnleashed vb.net Module modMainServer Public WithEvents Socket As New WinsockServer Pub
💻 SVN-BASE
字号:
Imports System.Text.Encoding

Public Class clsSendPacket
    Private Packet As String

#Region "Logging in Packets"

    Public Sub SendNotice(ByVal Notice As String, ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_NOTICE_OK), EncodeString(Notice))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendNoticeFail(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_NOTICE_FAIL))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendNewMap(ByVal PlayerId As Integer, ByVal X As Short, ByVal Y As Short, ByVal Light As Byte, ByVal MapFilename As String, ByVal MapName As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_NEWMAP, PlayerId, X, Y, Light), EncodeString(MapFilename & "/" & MapName))
        Socket.SendData(Packet, PlayerId)
    End Sub

    Public Sub SendCharStatus(ByVal PlayerId As Integer, ByVal Light As Byte, ByVal Reved As Boolean, ByVal Name As String, ByVal NameColour As Integer, ByVal IsDead As Boolean, ByVal Gender As Byte, ByVal GuildName As String, ByVal GuildTitle As String, ByVal GuildRank As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_CHARSTATUS, PlayerId, Light, ToByte(Reved), ToByte(IsDead)), EncodeString(Name & "/" & NameColour & "/" & Gender & "/" & GuildName & "/" & GuildTitle & "/" & GuildRank))
        Socket.SendData(Packet, PlayerId)
    End Sub

    Public Sub SendPlayerStats(ByVal PlayerId As Integer, ByVal Gold As Integer, ByVal Job As Byte, ByVal Buffer As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_CHARSTATS, PlayerId, Gold, Job), EncodeString(Buffer))
        Socket.SendData(Packet, PlayerId)
    End Sub

    Public Sub SendGoGame(ByVal PlayerId As Integer, ByVal AllowGroup As Byte, ByVal AllowGroupRecall As Byte, ByVal AttackMode As Byte, ByVal Dir As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_GOGAME_OK, PlayerId, AllowGroup, AllowGroupRecall, AttackMode), EncodeString(Dir))
        Socket.SendData(Packet, PlayerId)
    End Sub

    Public Sub SendBagItems(ByVal Player As clsPlayer)
        Dim pItem As clsPlayerItem
        Dim i As Integer

        For i = 0 To 55
            pItem = Player.BagItems(i)
            If Not pItem Is Nothing Then
                Packet = MakeOutPacket(MakeHeader(GameMsg.SM_BAGITEMS), EncodeString(GetItemBuffer(pItem)))
                Socket.SendData(Packet, Player.StateId)
            End If
        Next i
    End Sub

    Public Sub SendEquipment(ByVal Player As clsPlayer)
        Dim pItem As clsPlayerItem
        Dim i As Integer

        For i = 0 To 13
            pItem = Player.Equipment(i)
            If Not pItem Is Nothing Then
                Packet = MakeOutPacket(MakeHeader(GameMsg.SM_EQUIPITEMS, i), EncodeString(GetItemBuffer(pItem)))
                Socket.SendData(Packet, Player.StateId)
            End If
        Next i        
    End Sub

    Public Sub SendMagics(ByVal Player As clsPlayer)
        Dim pMagic As clsPlayerMagic

        Dim en As IDictionaryEnumerator = Player.PlayerMagics.GetEnumerator

        While en.MoveNext
            pMagic = en.Value
            If Not pMagic Is Nothing Then
                Packet = MakeOutPacket(MakeHeader(GameMsg.SM_MAGIC, pMagic.MagicId, pMagic.Key, pMagic.Level, pMagic.CurrentExp), EncodeString(GetMagicBuffer(pMagic)))
                Socket.SendData(Packet, Player.StateId)
            End If
        End While
    End Sub

#End Region
#Region "Chat Packets"

    Public Sub SendChatMessage(ByVal SenderId As Integer, ByVal ChatColour As Byte, ByVal Text As String, ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_CHAT, SenderId, ChatColour), EncodeString(Text))
        Socket.SendData(Packet, Index)
    End Sub

#End Region
#Region "Movement Packets"

    Public Sub SendMove(ByVal Index As Integer, ByVal Id As Object, ByVal Race As Byte, ByVal X As Short, ByVal Y As Short, ByVal Dir As Byte, ByVal Steps As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_MOVE, Id, Steps, Dir), EncodeString(X & "/" & Y & "/" & Race))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendMoveFail(ByVal Index As Integer, ByVal X As Short, ByVal Y As Short, ByVal Dir As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_MOVE_FAIL, X, Y, Dir))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendTurn(ByVal Index As Integer, ByVal Id As Object, ByVal Race As Byte, ByVal Dir As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_TURN_OK, Id, Race, Dir))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendTurnFail(ByVal Index As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal Dir As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_TURN_FAIL, X, Y, Dir))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendAppears(ByVal Index As Integer, ByVal ObjectId As Object, ByVal Race As Byte, ByVal Buffer As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_APPEAR, ObjectId, Race), EncodeString(Buffer))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendDisappear(ByVal Index As Integer, ByVal ObjectId As Object, ByVal Race As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_DISAPPEAR, ObjectId, Race))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendTeleport(ByVal PlayerId As Integer, ByVal X As Short, ByVal Y As Short, ByVal Light As Byte, ByVal MapFilename As String, ByVal MapName As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_TELEPORT, PlayerId, X, Y, Light), EncodeString(MapFilename & "/" & MapName))
        Socket.SendData(Packet, PlayerId)
    End Sub

#End Region
#Region "Hit Packets"

    Public Sub SendHitFail(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_HIT_FAIL))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendHitOk(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_HIT_OK))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendHit(ByVal Index As Integer, ByVal HitterId As Object, ByVal HitterRace As Byte, ByVal HitterDir As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_HIT, HitterId, HitterRace, HitterDir))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendStruck(ByVal Index As Integer, ByVal TargetRace As Byte, ByVal TargetBuffer As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_STRUCK, TargetRace), EncodeString(TargetBuffer))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendCastFail(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_USEMAGIC_FAIL))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendCastOk(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_USEMAGIC_OK))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendCast(ByVal Index As Integer, ByVal CasterId As Integer, ByVal CasterRace As Byte, ByVal CasterDir As Byte, ByVal Looks As Byte, ByVal TargetX As Integer, ByVal TargetY As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_USEMAGIC, CasterId, CasterRace, CasterDir, Looks), EncodeString(TargetX & "/" & TargetY))
        Socket.SendData(Packet, Index)
    End Sub

#End Region
#Region "Npc Packets"

    Public Sub SendNpcData(ByVal Index As Integer, ByVal NpcId As Short, ByVal NpcSay As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_NPC_SAY, NpcId), EncodeString(NpcSay))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendNpcCloseDlg(ByVal Index As Integer, ByVal NpcId As Short)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_NPC_CLOSE, NpcId))
        Socket.SendData(Packet, Index)
    End Sub

#End Region
#Region "Item Packets"

    Public Sub SendPickupItem(ByVal Index As Integer, ByVal ItemBuffer As String, ByVal RemoveFromFloor As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_PICKUP_ITEM, RemoveFromFloor), EncodeString(ItemBuffer))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendItemDropped(ByVal Index As Integer, ByVal ItemID As Long, ByVal X As Integer, ByVal Y As Integer, ByVal Looks As Integer, ByVal Name As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_DROP_ITEM_OK, ItemID, X, Y, Looks), EncodeString(Name))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendRemoveDropItem(ByVal Index As Integer, ByVal ItemID As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_REMOVE_DROP_ITEM, ItemID))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendDeleteItem(ByVal Index As Integer, ByVal ItemID As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_DELETE_ITEM, ItemID))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendWearItemOK(ByVal Index As Integer, ByVal ItemID As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_WEAR_ITEM_OK, ItemID))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendWearItemFail(ByVal Index As Integer, ByVal ErrorCode As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_WEAR_ITEM_FAIL, ErrorCode))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendTakeOffItemOK(ByVal Index As Integer, ByVal ItemID As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_TAKEOFF_ITEM_OK, ItemID))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendTakeOffItemFail(ByVal Index As Integer, ByVal ErrorCode As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_WEAR_ITEM_FAIL, ErrorCode))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendPlayerLookChanged(ByVal Index As Integer, ByVal PlayerID As Integer, ByVal ItemBuffer As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_PLAYER_LOOKS_CHANGED, PlayerID, -1), EncodeString(ItemBuffer))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendPlayerStatsChanged(ByVal Index As Integer, ByVal StatsBuffer As String)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_PLAYER_STATS_CHANGED), EncodeString(StatsBuffer))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendUseItemOK(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_USE_ITEM_OK))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendUseItemFail(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_USE_ITEM_FAIL))
        Socket.SendData(Packet, Index)
    End Sub

#End Region
#Region "Guild Packets"

    Public Sub SendGuildInfoFail(ByVal Index As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_GUILDINFO_FAIL))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendGuildInfo(ByVal Index As Integer, ByVal Notice As String, ByVal Members As Hashtable)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_GUILDINFO), EncodeString(Notice & "))((" & GetGuildMemberBuffer(Members)))
        Socket.SendData(Packet, Index)
    End Sub

#End Region
#Region "Other Packets"

    Public Sub SendLooksChanged(ByVal Index As Integer, ByVal PlayerId As Long, ByVal Looks As Integer)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_LOOKSCHANGED, PlayerId, Looks))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendMapLight(ByVal Index As Integer, ByVal MapLight As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_MAPLIGHT, MapLight))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendDied(ByVal Index As Integer, ByVal ObjectId As Object, ByVal Race As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_DIED, ObjectId, Race))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendRevelation(ByVal Index As Integer, ByVal ObjectId As Object, ByVal Race As Byte)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_REV, ObjectId, Race))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendLevelUp(ByVal Index As Integer, ByVal ObjectId As Object, ByVal Level As Integer, ByVal Race As Byte, ByVal Exp As Long, ByVal MaxExp As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_LEVELUP, ObjectId, Level, Race), EncodeString(Exp & "/" & MaxExp))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendExpAdd(ByVal Index As Integer, ByVal NewExpAmount As Long, ByVal Amount As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_EXP_ADD, NewExpAmount, Amount))
        Socket.SendData(Packet, Index)
    End Sub

    Public Sub SendExpDel(ByVal Index As Integer, ByVal NewExpAmount As Long)
        Packet = MakeOutPacket(MakeHeader(GameMsg.SM_EXP_DEL, NewExpAmount))
        Socket.SendData(Packet, Index)
    End Sub

#End Region

End Class

Module modOutGoing
    Public Packets As New clsSendPacket
End Module

⌨️ 快捷键说明

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