亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modmainserver.vb.svn-base

?? MirUnleashed vb.net Module modMainServer Public WithEvents Socket As New WinsockServer Pub
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
                            'If Players Local Players Doesnt Contain the Local Players ID
                            If Not Player.LocalObjects.ContainsValue(tPlayerID) And Not Added.Contains(tPlayerID) Then
                                tPlayer = ObjectList(tPlayerID)
                                If tPlayer.LocalObjects.ContainsValue(Player.StateId) = False Then
                                    'Dim FreeSlot As Integer = GetFreePlayerSlot(tPlayer.LocalObjects)
                                    tPlayer.LocalObjects.Add(Player.StateId, Player.StateId)
                                    Packets.SendAppears(tPlayer.StateId, Player.StateId, Races.Player, GetPlayerBuffer(Player))
                                    Packets.SendPlayerLookChanged(tPlayer.StateId, Player.StateId, GetPlayerLooks(Player))
                                End If
                                Packets.SendAppears(Player.StateId, tPlayer.StateId, Races.Player, GetPlayerBuffer(tPlayer))
                                Packets.SendPlayerLookChanged(Player.StateId, tPlayer.StateId, GetPlayerLooks(tPlayer))
                                Added.Add(tPlayer.StateId, "")
                            End If

                        End If
                    Next k
                End If

                Added.Clear()

                'MONSTERS
                Dim l, tMonsterId As Long
                Dim tMonster As New clsMonster
                For l = 0 To Locals.Count - 1
                    If Not Locals(l) Is Nothing Then
                        'Its a monster
                        tMonsterId = Locals(l)
                        If Not Player.LocalObjects.ContainsValue(tMonsterId) And Not Added.Contains(tMonsterId) Then
                            tMonster = ObjectList(tMonsterId)
                            Packets.SendAppears(State.Index, tMonsterId, Races.Monster, GetMonsterBuffer(tMonster))
                            Added.Add(tMonsterId, "")
                        End If
                    End If
                Next l

                Added.Clear()

                'NPCS
                Dim tNpcID, g As Short
                Dim tNpc As New clsNpc
                For g = 0 To Locals.Count - 1
                    If Not Locals(g) Is Nothing Then
                        'Its a Npc
                        tNpcID = Locals(g)
                        If Not Player.LocalObjects.ContainsValue(tNpcID) And Not Added.Contains(tNpcID) Then
                            tNpc = ObjectList(tNpcID)
                            Packets.SendAppears(State.Index, tNpcID, Races.Npc, GetNpcBuffer(tNpc))
                            Added.Add(tNpcID, "")
                        End If
                    End If
                Next g

                Added.Clear()

                'Send Disappears

                'PLAYERS
                For k = 0 To Player.LocalObjects.Count - 1
                    If Not Player.LocalObjects(k) Is Nothing Then
                        'Its a player
                        tPlayerID = Player.LocalObjects(k)
                        'If Locals Doesnt Contain the Players Local Players ID
                        If Not ObjectList(tPlayerID) Is Nothing And Not Locals.ContainsValue(tPlayerID) And Not Added.Contains(tPlayerID) And Not tPlayerID = Player.StateId Then
                            tPlayer = ObjectList(tPlayerID)
                            If tPlayer.LocalObjects.ContainsValue(Player.StateId) = True Then
                                'Dim Key As Integer = GetPKeyFromValue(tPlayer.LocalObjects, Player.StateId)
                                tPlayer.LocalObjects.Remove(Player.StateId)
                                Packets.SendDisappear(tPlayerID, Player.StateId, Races.Player)
                            End If
                            Packets.SendDisappear(Player.StateId, tPlayerID, Races.Player)
                            Added.Add(tPlayerID, "")
                        End If

                    End If
                Next k

                Added.Clear()

                'MONSTERS
                For l = 0 To Player.LocalObjects.Count - 1
                    If Not Player.LocalObjects(l) Is Nothing Then
                        'Its a monster
                        tMonsterId = Player.LocalObjects(l)
                        If Not Locals.ContainsValue(tMonsterId) And Not Added.Contains(tMonsterId) Then
                            Packets.SendDisappear(State.Index, tMonsterId, Races.Monster)
                            Added.Add(tMonsterId, "")
                        End If
                    End If
                Next l

                Added.Clear()

                'NPCS
                For g = 0 To Player.LocalObjects.Count - 1
                    If Not Player.LocalObjects(g) Is Nothing Then
                        'Its a npc
                        tNpcID = Player.LocalObjects(g)
                        If Not Locals.ContainsValue(tNpcID) And Not Added.Contains(tNpcID) Then
                            Packets.SendDisappear(State.Index, tNpcID, Races.Npc)
                            Added.Add(tNpcID, "")
                        End If
                    End If
                Next g

                Player.LocalObjects = Locals
            End If

            Added.Clear()

            Dim LocalItems As Hashtable = GetLocalDropItems(Player.X, Player.Y, Player.Map, 15, 15)

            If CheckTablesMatch(LocalItems, Player.LocalDropItems) = False Then
                'Send Drop Item Appears
                Dim n, ItemID As Long
                Dim lItem As clsPlayerItem
                Dim RealItem As clsItem

                For n = 0 To LocalItems.Count - 1
                    If Not LocalItems(n) Is Nothing Then
                        ItemID = LocalItems(n)
                        If Not Player.LocalDropItems.Contains(ItemID) And Not Added.Contains(ItemID) Then
                            lItem = PlayerItemList(ItemID)
                            RealItem = ItemStatList(lItem.ItemIndex)
                            Packets.SendItemDropped(Player.StateId, lItem.ItemID, lItem.X, lItem.Y, RealItem.Looks, RealItem.Name)
                            Added.Add(lItem.ItemID, "")
                        End If
                    End If
                Next n

                Added.Clear()

                'Send Drop Item Disappears
                For n = 0 To Player.LocalDropItems.Count - 1
                    If Not Player.LocalDropItems(n) Is Nothing Then
                        ItemID = Player.LocalDropItems(n)
                        If Not LocalItems.Contains(ItemID) And Not Added.Contains(ItemID) Then
                            Packets.SendRemoveDropItem(State.Index, ItemID)
                            Added.Add(ItemID, "")
                        End If
                    End If
                Next n

                Player.LocalDropItems = LocalItems
            End If

        End If

    End Sub

#End Region
#Region "ProcessTurn"

    Public Sub ProcessTurn(ByVal Header As Header, ByVal State As State)
        Dim Player As clsPlayer = ObjectList(PlayerList(Socket.Lst.GetCharacter(State.Index)))
        Dim PlayerMap As Map = Maps(Player.Map)

        If Player.IsDead Then
            Packets.SendTurnFail(State.Index, Player.X, Player.Y, Player.Dir)
            Exit Sub
        End If

        If Player.X <> Header.nRecog Or Player.Y <> Header.wParam Then
            Packets.SendTurnFail(State.Index, Player.X, Player.Y, Player.Dir)
            Exit Sub
        End If


        'Player can turn
        Player.Dir = Header.wTag
        Packets.SendTurn(State.Index, Player.StateId, Races.Player, Player.Dir)

        'Tell everyone a player turned
        Dim Locals As Hashtable = GetLocalPlayers(Player.X, Player.Y, Player.Map, 15, 15)
        Dim lPlayer As clsPlayer
        Dim i As Integer
        Dim pID As Integer
        Dim Added As New Hashtable

        For i = 0 To Locals.Count - 1
            pID = Locals(i)

            If Not Added.ContainsKey(pID) Then
                lPlayer = ObjectList(pID)
                Packets.SendTurn(lPlayer.StateId, Player.StateId, Races.Player, Player.Dir)
                Added.Add(pID, "")
            End If
        Next i
    End Sub

#End Region

#Region "ProcessChat"

    Public Sub ProcessChat(ByVal Body As String, ByVal State As State)
        If Body.Length <= 0 Or Body.Length > 255 Then
            Exit Sub
        End If

        Dim TargetId As Integer
        Dim TargetName As String

        If Body.StartsWith("/") Then
            If Body.ToLower = "/who" Then
                'Tell player how many users online
                Packets.SendChatMessage(State.Index, ChatColours.White, "Users On: " & FrmMain.lstPlayers.Items.Count & ".", State.Index)
                Exit Sub
            End If

            'Private messages
            TargetName = GetTok(Body, 0, " ").Substring(1)
            If PlayerList.Contains(TargetName) = False Then
                Packets.SendChatMessage(-1, ChatColours.Red, TargetName & " not found.", State.Index)
                Exit Sub
            Else
                TargetId = PlayerList(TargetName)
                Packets.SendChatMessage(-1, ChatColours.Blue, Socket.Lst.GetCharacter(State.Index) & "=> " & Body.Substring(TargetName.Length + 1), TargetId)
                Exit Sub
            End If
        End If

        If Body.StartsWith("@") Then
            Dim Player As clsPlayer = ObjectList(State.Index)
            DoGMCommand(Player, Body.Substring(1))
            Exit Sub
        End If

        If Body.StartsWith("!") Then
            'Shouts
            Dim Shouter As clsPlayer = ObjectList(PlayerList(Socket.Lst.GetCharacter(State.Index)))
            DoShout(Shouter, Body.Substring(1))
            Exit Sub
        End If


        Dim Chatter As clsPlayer = ObjectList(PlayerList(Socket.Lst.GetCharacter(State.Index)))
        DoChat(Chatter, Body)
        Exit Sub
    End Sub

#End Region

#Region "ProcessClickNpc"

    Public Sub ProcessClickNpc(ByVal Header As Header, ByVal State As State)
        Dim NpcsId As Short = Header.nRecog
        Dim Npc As clsNpc

        If ObjectList.Contains(NpcsId) Then
            Npc = ObjectList(NpcsId)
            Npc.ProccessNpc(State.Index, "@main")
        End If
    End Sub

#End Region
#Region "ProcessClickNpcMenu"

    Public Sub ProcessClickNpcMenu(ByVal Header As Header, ByVal Body As String, ByVal State As State)
        Dim NpcsId As Short = Header.nRecog
        Dim Npc As clsNpc

        If ObjectList.Contains(NpcsId) Then
            Npc = ObjectList(NpcsId)
            Npc.ProccessNpc(State.Index, Body)
        End If
    End Sub

#End Region

#Region "ProcessHit"

    Public Sub ProcessHit(ByVal Header As Header, ByVal State As State)        
        Dim Player As clsPlayer = ObjectList(State.Index)

        '########################'
        '###CHECK THEY CAN HIT###'
        '########################'

        If Player.IsDead Or Player.X <> Header.nRecog Or Player.Y <> Header.wParam Or Player.Poison = clsPlayer.Poisons.Paralysis Then
            Packets.SendHitFail(State.Index)
            Exit Sub
        End If

        '#####################'
        '###IF THEY CAN HIT###'
        '#####################'

        'Tell them they can hit
        Packets.SendHitOk(State.Index)
        Player.Dir = Header.wTag

        '#####################'
        '###FIND THE TARGET###'
        '#####################'

        Dim CheckMap As Map = Maps(Player.Map)
        'Find the Cords they are attacking
        Dim Target As Point = IsNextWalkDir(Player.Dir, New Point(Player.X, Player.Y))
        Dim TargetId As Object
        Dim TargetRace As Races
        Dim i As Integer
        Dim GotTarget As Boolean

        'Find Target Id
        While i < 10 And GotTarget = False
            If Not CheckMap.ObjectList(Target.X & "/" & Target.Y & "/" & i) Is Nothing Then
                TargetId = CheckMap.ObjectList(Target.X & "/" & Target.Y & "/" & i)
                GotTarget = True
            End If
            i += 1
        End While

        Dim Locals As Hashtable = GetLocalObjects(Player.X, Player.Y, Player.Map, 15, 15, -1)
        Dim Added As New Hashtable
        Dim lPlayerId As Integer

        '##########################'
        '###TELL EVERYONE WE HIT###'
        '##########################'

        For i = 0 To Locals.Count - 1
            If Not Locals(i) Is Nothing Then
                'Its a player
                lPlayerId = Locals(i)
                If Not Added.Contains(lPlayerId) And Not lPlayerId = Player.StateId Then
                    Packets.SendHit(lPlayerId, Player.StateId, Races.Player, Player.Dir)
                    Added.Add(lPlayerId, "")
                End If
            End If
        Next i

        Added.Clear()

        If Not GotTarget Then
            'We have no target
            Exit Sub
        End If

        Dim Damage As Short 'Amount of damage
        Dim WillHit As Boolean = False 'Will it hit or not?

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡欧美aaaaa| 日韩视频在线观看一区二区| 欧美电影影音先锋| 久久久精品2019中文字幕之3| 亚洲精品ww久久久久久p站| 激情欧美一区二区| 欧美日韩在线三区| 国产精品成人一区二区艾草 | 久久久午夜精品| 亚洲18色成人| 色视频成人在线观看免| 日本一区二区三区视频视频| 日本亚洲欧美天堂免费| 色视频欧美一区二区三区| 国产视频911| 精品一区二区免费| 欧美一区二区大片| 视频在线观看一区| 欧美日韩中字一区| 一区二区三区丝袜| 成人综合在线观看| 国产日韩欧美精品综合| 国内精品第一页| 欧美一区二区三区精品| 亚洲成av人片在线观看无码| 欧美性猛交xxxx黑人交| 一区二区三区免费网站| 91视视频在线观看入口直接观看www | 欧美理论在线播放| 一区二区在线观看av| 99re这里都是精品| 1024成人网| 色噜噜狠狠成人网p站| 亚洲色图清纯唯美| 一本久道中文字幕精品亚洲嫩| 自拍偷拍亚洲综合| 91在线观看高清| 一区二区三区.www| 欧美日韩在线直播| 首页国产丝袜综合| 欧美成人综合网站| 国内成人免费视频| 中文在线一区二区| 91免费国产在线| 亚洲一区二区三区四区五区中文 | 日韩视频免费观看高清完整版 | 精品噜噜噜噜久久久久久久久试看 | 欧美成人女星排行榜| 久久国产乱子精品免费女| 久久久精品国产免大香伊 | 国产精品卡一卡二| 色网综合在线观看| 免费日韩伦理电影| 久久久久99精品一区| 99视频精品全部免费在线| 亚洲自拍偷拍麻豆| 日韩精品专区在线影院重磅| 国产一区二区三区四区五区入口| 国产欧美日韩在线视频| 成人av电影在线观看| 亚洲第一电影网| 久久久久久久久久美女| 色综合久久久久综合体| 免费观看30秒视频久久| 国产欧美日韩中文久久| 欧美午夜在线观看| 国产露脸91国语对白| 亚洲精品精品亚洲| 日韩三级在线观看| 91亚洲精品乱码久久久久久蜜桃| 日韩在线卡一卡二| 国产精品天美传媒| 欧美一卡在线观看| 91亚洲国产成人精品一区二三| 肉丝袜脚交视频一区二区| 欧美激情在线一区二区三区| 欧美麻豆精品久久久久久| 成人一区在线观看| 日韩电影在线一区二区| 中文字幕一区二区三中文字幕| 欧美一区二区三区在线观看| 91原创在线视频| 国产在线不卡一卡二卡三卡四卡| 亚洲一区二区三区在线看| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美亚洲日本一区| 不卡一卡二卡三乱码免费网站 | 一区二区三区成人| 国产精品二区一区二区aⅴ污介绍| 欧美日韩1234| 色一区在线观看| 成人av资源网站| 国产毛片一区二区| 久久精品国产99| 天堂久久一区二区三区| 亚洲精品自拍动漫在线| 欧美极品美女视频| 久久综合国产精品| 日韩欧美国产午夜精品| 精品视频一区三区九区| 色综合中文字幕| 一本久道中文字幕精品亚洲嫩| 成人国产一区二区三区精品| 久久国产精品无码网站| 免费高清不卡av| 日本免费新一区视频| 午夜视黄欧洲亚洲| 亚洲成国产人片在线观看| 亚洲一区二区美女| 一区二区三区精品| 一区二区三区不卡在线观看| 亚洲日穴在线视频| 亚洲女同ⅹxx女同tv| 综合久久久久久| 一区二区三区免费看视频| 亚洲精品美腿丝袜| 一区二区成人在线| 亚洲国产精品一区二区久久 | 国产最新精品精品你懂的| 蜜臀av性久久久久av蜜臀妖精| 日韩高清电影一区| 久久99精品久久久久久动态图| 老司机精品视频一区二区三区| 久久精品国产色蜜蜜麻豆| 国模少妇一区二区三区| 国产成都精品91一区二区三| 成人免费毛片a| 97久久超碰国产精品| 在线看不卡av| 337p亚洲精品色噜噜狠狠| 日韩一区二区视频在线观看| 日韩精品自拍偷拍| 中文欧美字幕免费| 亚洲欧美另类在线| 亚洲国产日韩综合久久精品| 亚洲国产一区二区三区| 免费观看久久久4p| 国产乱国产乱300精品| 99久久婷婷国产综合精品| 在线观看日韩国产| 精品国产123| 国产精品久久久久aaaa| 亚洲国产精品一区二区久久 | 欧美成人免费网站| 国产欧美日韩久久| 一区二区日韩电影| 久久精品国产网站| 91碰在线视频| 日韩亚洲欧美一区二区三区| 国产日韩欧美精品电影三级在线| 国产精品伦理一区二区| 亚洲综合色视频| 韩国三级中文字幕hd久久精品| 成人激情免费电影网址| 69精品人人人人| 日本一区二区高清| 首页国产丝袜综合| 91一区二区三区在线观看| 日韩欧美在线网站| 亚洲欧美另类小说视频| 国产一区二区三区四区五区入口| 一本色道久久加勒比精品| 欧美精品一区二区三| 亚洲综合丝袜美腿| 国产成人一区在线| 欧美年轻男男videosbes| 国产精品三级电影| 日本午夜精品一区二区三区电影| 波多野结衣中文字幕一区二区三区 | 95精品视频在线| 久久久99精品久久| 日本伊人精品一区二区三区观看方式 | 欧美亚洲动漫制服丝袜| 国产午夜精品久久久久久久| 五月综合激情网| 91理论电影在线观看| 亚洲国产精品成人综合| 捆绑调教一区二区三区| 在线观看91精品国产入口| 国产精品不卡在线观看| 国产精品77777| 日韩视频在线你懂得| 午夜精品久久久久久久99水蜜桃| 99精品桃花视频在线观看| 久久只精品国产| 久久99精品国产麻豆婷婷洗澡| 在线不卡中文字幕播放| 亚洲高清视频中文字幕| 91黄色小视频| 亚洲人成影院在线观看| 成人精品高清在线| 国产精品美女www爽爽爽| 国产福利91精品一区| 久久蜜桃av一区精品变态类天堂 | 亚洲男人天堂一区| 91小视频免费看| 亚洲免费观看视频| 91在线高清观看| 亚洲精品免费在线| 欧美少妇一区二区|