📄 draw items.vb.svn-base
字号:
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 + -