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

📄 draw items.vb.svn-base

📁 MirUnleashed vb.net Module modMainServer Public WithEvents Socket As New WinsockServer Pub
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
Module Draw_Items

    Public Sub DrawFloorItems(ByVal Y As Short)

        Dim TempX As Integer
        Dim TempY As Integer
        Dim BaseX As Single
        Dim BaseY As Single
        Dim I As Integer
        Dim TempInt As Integer
        Dim S As Short

        BaseX = Actor.CurrentX
        BaseY = Actor.CurrentY

        For I = 0 To 1000

            If FloorItem(I).Exist = True And Y = FloorItem(I).CordY Then

                If WIL_DnItemsImage.ImageLoaded(FloorItem(I).Look) = False Then
                    WIL_DnItemsImage.ImageLoaded(FloorItem(I).Look) = True
                    LoadWILDnItemsImage(FloorItem(I).Look)
                End If

                If FloorItem(I).Look > 112 And FloorItem(I).Look < 115 Then
                    WIL_DnItemsImage.ImageY(FloorItem(I).Look) = -32 - 9
                    WIL_DnItemsImage.ImageX(FloorItem(I).Look) = 3
                End If

                TempX = (GameWidth / 2) + (48 * (FloorItem(I).CordX - BaseX)) - 30 + WIL_DnItemsImage.ImageX(FloorItem(I).Look)
                TempY = (GameHeight / 2) + (32 * (FloorItem(I).CordY - BaseY)) - 32 + WIL_DnItemsImage.ImageY(FloorItem(I).Look) - 10

                FloorItem(I).MainTop = TempY
                FloorItem(I).MainLeft = TempX
                FloorItem(I).MainPlaceX = WIL_DnItemsImage.ImageX(FloorItem(I).Look)
                FloorItem(I).MainPlaceY = WIL_DnItemsImage.ImageY(FloorItem(I).Look)
                FloorItem(I).CurrentHeight = WIL_DnItemsImage.ImageHeight(FloorItem(I).Look)
                FloorItem(I).CurrentWidth = WIL_DnItemsImage.ImageWidth(FloorItem(I).Look)

                If WIL_DnItemsImage.ImageLoaded(FloorItem(I).Look) = True Then
                    GameSprite.Draw(WIL_DnItemsImage.ImageTexture(FloorItem(I).Look), Rectangle.Empty, New Microsoft.DirectX.Vector3(0, 0, 0), New Microsoft.DirectX.Vector3(TempX, TempY, 0), Color.White)
                End If

                TempInt = TempInt + 1

            End If

            If TempInt = TotalFloorItems Then Exit For

        Next I

    End Sub

    Public Sub DrawInventoryItems()
        Dim X As Integer
        Dim Y As Integer

        Dim TempX As Integer
        Dim TempY As Integer

        '8 along, 5 down

        For X = 0 To 7
            For Y = 0 To 4

                If InventoryItem(X, Y).Exist = True And Not ((HoldingItemX = X And HoldingItemY = Y) And HoldingItem = True And HoldingItemType = 1) Then

                    If WIL_ItemsImage.ImageLoaded(InventoryItem(X, Y).Look) = False Then
                        WIL_ItemsImage.ImageLoaded(InventoryItem(X, Y).Look) = True
                        LoadWILItemsImage(InventoryItem(X, Y).Look)
                    End If

                    TempX = Window(6).X + 24 + (X * 37) + (20) - (WIL_ItemsImage.ImageWidth(InventoryItem(X, Y).Look) / 2)
                    TempY = Window(6).Y + 22 + (Y * 33) + (20) - (WIL_ItemsImage.ImageHeight(InventoryItem(X, Y).Look) / 2)

                    GameSprite.Draw(WIL_ItemsImage.ImageTexture(InventoryItem(X, Y).Look), Rectangle.Empty, New Microsoft.DirectX.Vector3(0, 0, 0), New Microsoft.DirectX.Vector3(TempX, TempY, 0), Color.White)

                End If

            Next Y
        Next X

    End Sub

    Public Sub DrawHoldingItem()

        Dim TempX As Integer
        Dim TempY As Integer

        If HoldingItem = True Then

            If WIL_ItemsImage.ImageLoaded(HoldingItemImage) = False Then
                WIL_ItemsImage.ImageLoaded(HoldingItemImage) = True
                LoadWILItemsImage(HoldingItemImage)
            End If

            TempX = CursorX - 12
            TempY = CursorY - 12

            GameSprite.Draw(WIL_ItemsImage.ImageTexture(HoldingItemImage), Rectangle.Empty, New Microsoft.DirectX.Vector3(0, 0, 0), New Microsoft.DirectX.Vector3(TempX, TempY, 0), Color.White)

        End If

    End Sub

    Public Sub AddInventoryItem(ByVal Look As Integer, ByVal ServerIndex As Integer, ByVal Name As String, ByVal ItemType As Short, _
ByVal Shape As Short, ByVal MinAC As Short, ByVal MaxAC As Short, _
ByVal MinMAC As Short, ByVal MaxMAC As Short, ByVal MinDC As Short, _
ByVal MaxDC As Short, ByVal MinMC As Short, ByVal MaxMC As Short, ByVal MinSC As Short, _
ByVal MaxSC As Short, ByVal Luck As Short, ByVal NeededClass As Short, ByVal Accuracy As Short, _
ByVal LevelReq As Short, ByVal SCReq As Short, ByVal MCReq As Short, ByVal DCReq As Short, ByVal Weight As Short, _
ByVal Durability As Integer, ByVal DurabilityMax As Integer, ByVal Holy As Short, ByVal MP As Short, ByVal MPRegen As Short, _
ByVal HP As Short, ByVal HPRegen As Short, ByVal AttackSpeed As Short, ByVal HPLeech As Short, ByVal MPLeech As Short, ByVal Agility As Short, ByVal BagWeight As Short, ByVal Inten As Short, ByVal PoisonEvasion As Short, ByVal MagicEvasion As Short, ByVal PoisonRecovery As Short, ByVal HandsWeight As Short)

        Dim SlotX, SlotY As Short

        'search thru inventory for empty slot

        Dim X, Y As Short

        For Y = 0 To 4
            For X = 0 To 7
                If InventoryItem(X, Y).Exist = False Then
                    SlotX = X
                    SlotY = Y
                    GoTo NextOne
                End If
            Next X
        Next Y


NextOne:

        'Find an empty slot

        InventoryItem(SlotX, SlotY).Exist = True
        InventoryItem(SlotX, SlotY).Look = Look
        InventoryItem(SlotX, SlotY).Name = Name
        InventoryItem(SlotX, SlotY).Type = ItemType
        InventoryItem(SlotX, SlotY).Luck = Luck
        InventoryItem(SlotX, SlotY).Shape = Shape
        InventoryItem(SlotX, SlotY).AC = MinAC
        InventoryItem(SlotX, SlotY).MAC = MinMAC
        InventoryItem(SlotX, SlotY).MaxAC = MaxAC
        InventoryItem(SlotX, SlotY).MaxMAC = MaxMAC
        InventoryItem(SlotX, SlotY).DC = MinDC
        InventoryItem(SlotX, SlotY).SC = MinSC
        InventoryItem(SlotX, SlotY).MC = MinMC
        InventoryItem(SlotX, SlotY).MaxDC = MaxDC
        InventoryItem(SlotX, SlotY).MaxSC = MaxSC
        InventoryItem(SlotX, SlotY).MaxMC = MaxMC
        InventoryItem(SlotX, SlotY).NeededClass = NeededClass
        InventoryItem(SlotX, SlotY).Accuracy = Accuracy
        InventoryItem(SlotX, SlotY).LevelReq = LevelReq
        InventoryItem(SlotX, SlotY).SCReq = SCReq
        InventoryItem(SlotX, SlotY).MCReq = MCReq
        InventoryItem(SlotX, SlotY).DCReq = DCReq
        InventoryItem(SlotX, SlotY).Weight = Weight
        InventoryItem(SlotX, SlotY).DurabilityMax = DurabilityMax
        InventoryItem(SlotX, SlotY).Durability = Durability
        InventoryItem(SlotX, SlotY).Holy = Holy
        InventoryItem(SlotX, SlotY).MP = MPRegen
        InventoryItem(SlotX, SlotY).MPRegen = MPRegen
        InventoryItem(SlotX, SlotY).HP = HP
        InventoryItem(SlotX, SlotY).HPRegen = HPRegen

        InventoryItem(SlotX, SlotY).ServerIndex = ServerIndex
        InventoryItem(SlotX, SlotY).AttackSpeed = AttackSpeed
        InventoryItem(SlotX, SlotY).HPLeech = HPLeech
        InventoryItem(SlotX, SlotY).MPLeech = MPLeech
        InventoryItem(SlotX, SlotY).PoisonEvasion = PoisonEvasion
        InventoryItem(SlotX, SlotY).MagicEvasion = MagicEvasion
        InventoryItem(SlotX, SlotY).PoisonRecovery = PoisonRecovery
        InventoryItem(SlotX, SlotY).Agility = Agility
        InventoryItem(SlotX, SlotY).BagWeight = BagWeight
        InventoryItem(SlotX, SlotY).HandsWeight = HandsWeight
        InventoryItem(SlotX, SlotY).Inten = Inten


        AddChat("Inventory Item added, " & ServerIndex, 3)

        CountInventory()

    End Sub

    Public Sub SwopInventoryItemToInventorySlot(ByVal SourceX As Integer, ByVal SourceY As Integer, ByVal DestX As Integer, ByVal DestY As Integer)


        Actor.TempItem.Exist = True
        Actor.TempItem.Look = InventoryItem(SourceX, SourceY).Look
        Actor.TempItem.Name = InventoryItem(SourceX, SourceY).Name
        Actor.TempItem.Type = InventoryItem(SourceX, SourceY).Type
        Actor.TempItem.Luck = InventoryItem(SourceX, SourceY).Luck
        Actor.TempItem.Shape = InventoryItem(SourceX, SourceY).Shape
        Actor.TempItem.AC = InventoryItem(SourceX, SourceY).AC
        Actor.TempItem.MAC = InventoryItem(SourceX, SourceY).MAC
        Actor.TempItem.MaxAC = InventoryItem(SourceX, SourceY).MaxAC
        Actor.TempItem.MaxMAC = InventoryItem(SourceX, SourceY).MaxMAC
        Actor.TempItem.DC = InventoryItem(SourceX, SourceY).DC
        Actor.TempItem.SC = InventoryItem(SourceX, SourceY).SC
        Actor.TempItem.MC = InventoryItem(SourceX, SourceY).MC
        Actor.TempItem.MaxDC = InventoryItem(SourceX, SourceY).MaxDC
        Actor.TempItem.MaxSC = InventoryItem(SourceX, SourceY).MaxSC
        Actor.TempItem.MaxMC = InventoryItem(SourceX, SourceY).MaxMC
        Actor.TempItem.NeededClass = InventoryItem(SourceX, SourceY).NeededClass
        Actor.TempItem.Accuracy = InventoryItem(SourceX, SourceY).Accuracy
        Actor.TempItem.LevelReq = InventoryItem(SourceX, SourceY).LevelReq
        Actor.TempItem.SCReq = InventoryItem(SourceX, SourceY).SCReq
        Actor.TempItem.MCReq = InventoryItem(SourceX, SourceY).MCReq
        Actor.TempItem.DCReq = InventoryItem(SourceX, SourceY).DCReq
        Actor.TempItem.Weight = InventoryItem(SourceX, SourceY).Weight
        Actor.TempItem.DurabilityMax = InventoryItem(SourceX, SourceY).DurabilityMax
        Actor.TempItem.Durability = InventoryItem(SourceX, SourceY).Durability
        Actor.TempItem.Holy = InventoryItem(SourceX, SourceY).Holy
        Actor.TempItem.MP = InventoryItem(SourceX, SourceY).MP
        Actor.TempItem.MPRegen = InventoryItem(SourceX, SourceY).MPRegen
        Actor.TempItem.HP = InventoryItem(SourceX, SourceY).HP
        Actor.TempItem.HPRegen = InventoryItem(SourceX, SourceY).HPRegen

        Actor.TempItem.ServerIndex = InventoryItem(SourceX, SourceY).ServerIndex
        Actor.TempItem.AttackSpeed = InventoryItem(SourceX, SourceY).AttackSpeed
        Actor.TempItem.HPLeech = InventoryItem(SourceX, SourceY).HPLeech
        Actor.TempItem.MPLeech = InventoryItem(SourceX, SourceY).MPLeech
        Actor.TempItem.PoisonEvasion = InventoryItem(SourceX, SourceY).PoisonEvasion
        Actor.TempItem.MagicEvasion = InventoryItem(SourceX, SourceY).MagicEvasion
        Actor.TempItem.PoisonRecovery = InventoryItem(SourceX, SourceY).PoisonRecovery
        Actor.TempItem.Agility = InventoryItem(SourceX, SourceY).Agility
        Actor.TempItem.BagWeight = InventoryItem(SourceX, SourceY).BagWeight
        Actor.TempItem.HandsWeight = InventoryItem(SourceX, SourceY).HandsWeight
        Actor.TempItem.Inten = InventoryItem(SourceX, SourceY).Inten



        InventoryItem(SourceX, SourceY).Exist = InventoryItem(DestX, DestY).Exist
        InventoryItem(SourceX, SourceY).Look = InventoryItem(DestX, DestY).Look
        InventoryItem(SourceX, SourceY).Name = InventoryItem(DestX, DestY).Name
        InventoryItem(SourceX, SourceY).Type = InventoryItem(DestX, DestY).Type
        InventoryItem(SourceX, SourceY).Luck = InventoryItem(DestX, DestY).Luck
        InventoryItem(SourceX, SourceY).Shape = InventoryItem(DestX, DestY).Shape
        InventoryItem(SourceX, SourceY).AC = InventoryItem(DestX, DestY).AC
        InventoryItem(SourceX, SourceY).MAC = InventoryItem(DestX, DestY).MAC
        InventoryItem(SourceX, SourceY).MaxAC = InventoryItem(DestX, DestY).MaxAC
        InventoryItem(SourceX, SourceY).MaxMAC = InventoryItem(DestX, DestY).MaxMAC
        InventoryItem(SourceX, SourceY).DC = InventoryItem(DestX, DestY).DC
        InventoryItem(SourceX, SourceY).SC = InventoryItem(DestX, DestY).SC
        InventoryItem(SourceX, SourceY).MC = InventoryItem(DestX, DestY).MC
        InventoryItem(SourceX, SourceY).MaxDC = InventoryItem(DestX, DestY).MaxDC
        InventoryItem(SourceX, SourceY).MaxSC = InventoryItem(DestX, DestY).MaxSC
        InventoryItem(SourceX, SourceY).MaxMC = InventoryItem(DestX, DestY).MaxMC
        InventoryItem(SourceX, SourceY).NeededClass = InventoryItem(DestX, DestY).NeededClass
        InventoryItem(SourceX, SourceY).Accuracy = InventoryItem(DestX, DestY).Accuracy
        InventoryItem(SourceX, SourceY).LevelReq = InventoryItem(DestX, DestY).LevelReq
        InventoryItem(SourceX, SourceY).SCReq = InventoryItem(DestX, DestY).SCReq
        InventoryItem(SourceX, SourceY).MCReq = InventoryItem(DestX, DestY).MCReq
        InventoryItem(SourceX, SourceY).DCReq = InventoryItem(DestX, DestY).DCReq
        InventoryItem(SourceX, SourceY).Weight = InventoryItem(DestX, DestY).Weight
        InventoryItem(SourceX, SourceY).DurabilityMax = InventoryItem(DestX, DestY).DurabilityMax
        InventoryItem(SourceX, SourceY).Durability = InventoryItem(DestX, DestY).Durability
        InventoryItem(SourceX, SourceY).Holy = InventoryItem(DestX, DestY).Holy
        InventoryItem(SourceX, SourceY).MP = InventoryItem(DestX, DestY).MP
        InventoryItem(SourceX, SourceY).MPRegen = InventoryItem(DestX, DestY).MPRegen
        InventoryItem(SourceX, SourceY).HP = InventoryItem(DestX, DestY).HP
        InventoryItem(SourceX, SourceY).HPRegen = InventoryItem(DestX, DestY).HPRegen

        InventoryItem(SourceX, SourceY).ServerIndex = InventoryItem(DestX, DestY).ServerIndex
        InventoryItem(SourceX, SourceY).AttackSpeed = InventoryItem(DestX, DestY).AttackSpeed
        InventoryItem(SourceX, SourceY).HPLeech = InventoryItem(DestX, DestY).HPLeech
        InventoryItem(SourceX, SourceY).MPLeech = InventoryItem(DestX, DestY).MPLeech
        InventoryItem(SourceX, SourceY).PoisonEvasion = InventoryItem(DestX, DestY).PoisonEvasion
        InventoryItem(SourceX, SourceY).MagicEvasion = InventoryItem(DestX, DestY).MagicEvasion

⌨️ 快捷键说明

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