MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[ALL]Liberando Todas as Slot "Completo" Sem Erros

+29
Luiz
LythZerou
St4rk
Sentoukhan
nicholas
RafaelS.~
ismael
Ricardo
hardsfree
pedr513dc
ϟ Rukasu
inline
AluCarD [FM]
skyper
Linkin ~
goldeen
edinho2pac
guuh
Cris~
Lendário
willa
Gu1lh3rm3
Rio Absolut
MarcosVinicius158
Karlos
Akatsukyi
Shadow
maykel
Lucas Roberto
33 participantes

Página 1 de 4 1, 2, 3, 4  Seguinte

Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Sáb 04 Set 2010, 16:19

CLIENT SIDE

Va na frmMirage e procure a Shape Equips(3) na picture9, seleciona a Shape Equips(3) e copia 8 veses ate aparecer Equips(Cool e depois cola na Picture 9.
Primeiro va na FrmMirage e na picEquip, procure Todos a slot e na propriedades deixa Visible = True

Procure por:

Código:
Public Const ITEM_TYPE_PET = 14

Abaixo adicione:

Código:
Public Const ITEM_TYPE_RING1 = 15
Public Const ITEM_TYPE_RING2 = 16
Public Const ITEM_TYPE_GLOVES = 17
Public Const ITEM_TYPE_LEGS = 18
Public Const ITEM_TYPE_AMULET = 19

Procure por:

Código:
Player worn equipment packet

Mude para:

Código:
    ' ::::::::::::::::::::::::::::::::::
    ' :: Player worn equipment packet ::
    ' ::::::::::::::::::::::::::::::::::
    If Parse(0) = "playerworneq" Then
        z = Val(Parse(1))
        If z <= 0 Then Exit Sub
       
        Call SetPlayerArmorSlot(z, Val(Parse(2)))
        Call SetPlayerWeaponSlot(z, Val(Parse(3)))
        Call SetPlayerHelmetSlot(z, Val(Parse(4)))
        Call SetPlayerShieldSlot(z, Val(Parse(5)))
        Call SetPlayerRing1Slot(z, Val(Parse(6)))
        Call SetPlayerRing2Slot(z, Val(Parse(7)))
        Call SetPlayerGlovesSlot(z, Val(Parse(8)))
        Call SetPlayerLegsSlot(z, Val(Parse(9)))
        Call SetPlayerAmuletSlot(z, Val(Parse(10)))
       
        If z = MyIndex Then
            Call UpdateVisInv
        End If
        Exit Sub
    End If

Procure por:

Código:
  ' Worn equipment
    ArmorSlot As Long
    WeaponSlot As Long
    HelmetSlot As Long
    ShieldSlot As Long

Mude tudo para:

Código:
    ' Worn equipment
    ArmorSlot As Long
    WeaponSlot As Long
    HelmetSlot As Long
    ShieldSlot As Long
    Ring1Slot As Long
    Ring2Slot As Long
    GlovesSlot As Long
    LegsSlot As Long
    AmuletSlot As Long

Procure na ModTypes, SubClearPlayer:

Código:
    Player(Index).ArmorSlot = 0
    Player(Index).WeaponSlot = 0
    Player(Index).HelmetSlot = 0
    Player(Index).ShieldSlot = 0

Mude para:

Código:
    Player(Index).ArmorSlot = 0
    Player(Index).WeaponSlot = 0
    Player(Index).HelmetSlot = 0
    Player(Index).ShieldSlot = 0
    Player(Index).Ring1Slot = 0
    Player(Index).Ring2Slot = 0
    Player(Index).GlovesSlot = 0
    Player(Index).LegsSlot = 0
    Player(Index).AmuletSlot = 0

No final do ModTypes adicione:

Código:
Function GetPlayerRing1Slot(ByVal Index As Long) As Long
    GetPlayerRing1Slot = Player(Index).Ring1Slot
End Function
 
Sub SetPlayerRing1Slot(ByVal Index As Long, InvNum As Long)
    Player(Index).Ring1Slot = InvNum
End Sub

Function GetPlayerRing2Slot(ByVal Index As Long) As Long
    GetPlayerRing2Slot = Player(Index).Ring2Slot
End Function
 
Sub SetPlayerRing2Slot(ByVal Index As Long, InvNum As Long)
    Player(Index).Ring2Slot = InvNum
End Sub

Function GetPlayerGlovesSlot(ByVal Index As Long) As Long
    GetPlayerGlovesSlot = Player(Index).GlovesSlot
End Function
 
Sub SetPlayerGlovsSlot(ByVal Index As Long, InvNum As Long)
    Player(Index).GlovesSlot = InvNum
End Sub

Function GetPlayerLegsSlot(ByVal Index As Long) As Long
    GetPlayerLegsSlot = Player(Index).LegsSlot
End Function
 
Sub SetPlayerLegsSlot(ByVal Index As Long, InvNum As Long)
    Player(Index).LegsSlot = InvNum
End Sub

Function GetPlayerAmuletSlot(ByVal Index As Long) As Long
    GetPlayerAmuletSlot = Player(Index).AmuletSlot
End Function
 
Sub SetPlayerAmuletSlot(ByVal Index As Long, InvNum As Long)
    Player(Index).AmuletSlot = InvNum
End Sub

Procure por:

Código:
    If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_PET) Then
        Item(EditorIndex).Data1 = frmItemEditor.scrlPet.Value
        Item(EditorIndex).Data2 = frmItemEditor.scrlPetLevel.Value
        Item(EditorIndex).Data3 = 0
        Item(EditorIndex).StrReq = 0
        Item(EditorIndex).DefReq = 0
        Item(EditorIndex).SpeedReq = 0
        Item(EditorIndex).MagicReq = 0
        Item(EditorIndex).ClassReq = 0
        Item(EditorIndex).AccessReq = 0
       
        Item(EditorIndex).AddHP = 0
        Item(EditorIndex).AddMP = 0
        Item(EditorIndex).AddSP = 0
        Item(EditorIndex).AddStr = 0
        Item(EditorIndex).AddDef = 0
        Item(EditorIndex).AddMagi = 0
        Item(EditorIndex).AddSpeed = 0
        Item(EditorIndex).AddEXP = 0
        Item(EditorIndex).AttackSpeed = 0
End If/code]

Abaixo adicione:

Código:
      If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_RING1) Then
        Item(EditorIndex).Data2 = frmItemEditor.scrlStrength.Value
        Item(EditorIndex).StrReq = frmItemEditor.scrlStrReq.Value
        Item(EditorIndex).DefReq = frmItemEditor.scrlDefReq.Value
        Item(EditorIndex).SpeedReq = frmItemEditor.scrlSpeedReq.Value
        Item(EditorIndex).MagicReq = frmItemEditor.scrlMagicReq.Value
       
        Item(EditorIndex).ClassReq = frmItemEditor.scrlClassReq.Value
        Item(EditorIndex).AccessReq = frmItemEditor.scrlAccessReq.Value
       
        Item(EditorIndex).AddHP = frmItemEditor.scrlAddHP.Value
        Item(EditorIndex).AddMP = frmItemEditor.scrlAddMP.Value
        Item(EditorIndex).AddSP = frmItemEditor.scrlAddSP.Value
        Item(EditorIndex).AddStr = frmItemEditor.scrlAddStr.Value
        Item(EditorIndex).AddDef = frmItemEditor.scrlAddDef.Value
        Item(EditorIndex).AddMagi = frmItemEditor.scrlAddMagi.Value
        Item(EditorIndex).AddSpeed = frmItemEditor.scrlAddSpeed.Value
        Item(EditorIndex).AddEXP = frmItemEditor.scrlAddEXP.Value
        Item(EditorIndex).AttackSpeed = frmItemEditor.scrlAttackSpeed.Value
    End If

      If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_RING2) Then
        Item(EditorIndex).Data2 = frmItemEditor.scrlStrength.Value
        Item(EditorIndex).StrReq = frmItemEditor.scrlStrReq.Value
        Item(EditorIndex).DefReq = frmItemEditor.scrlDefReq.Value
        Item(EditorIndex).SpeedReq = frmItemEditor.scrlSpeedReq.Value
        Item(EditorIndex).MagicReq = frmItemEditor.scrlMagicReq.Value
       
        Item(EditorIndex).ClassReq = frmItemEditor.scrlClassReq.Value
        Item(EditorIndex).AccessReq = frmItemEditor.scrlAccessReq.Value
       
        Item(EditorIndex).AddHP = frmItemEditor.scrlAddHP.Value
        Item(EditorIndex).AddMP = frmItemEditor.scrlAddMP.Value
        Item(EditorIndex).AddSP = frmItemEditor.scrlAddSP.Value
        Item(EditorIndex).AddStr = frmItemEditor.scrlAddStr.Value
        Item(EditorIndex).AddDef = frmItemEditor.scrlAddDef.Value
        Item(EditorIndex).AddMagi = frmItemEditor.scrlAddMagi.Value
        Item(EditorIndex).AddSpeed = frmItemEditor.scrlAddSpeed.Value
        Item(EditorIndex).AddEXP = frmItemEditor.scrlAddEXP.Value
        Item(EditorIndex).AttackSpeed = frmItemEditor.scrlAttackSpeed.Value
    End If

      If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_GLOVES) Then
        Item(EditorIndex).Data2 = frmItemEditor.scrlStrength.Value
        Item(EditorIndex).StrReq = frmItemEditor.scrlStrReq.Value
        Item(EditorIndex).DefReq = frmItemEditor.scrlDefReq.Value
        Item(EditorIndex).SpeedReq = frmItemEditor.scrlSpeedReq.Value
        Item(EditorIndex).MagicReq = frmItemEditor.scrlMagicReq.Value
       
        Item(EditorIndex).ClassReq = frmItemEditor.scrlClassReq.Value
        Item(EditorIndex).AccessReq = frmItemEditor.scrlAccessReq.Value
       
        Item(EditorIndex).AddHP = frmItemEditor.scrlAddHP.Value
        Item(EditorIndex).AddMP = frmItemEditor.scrlAddMP.Value
        Item(EditorIndex).AddSP = frmItemEditor.scrlAddSP.Value
        Item(EditorIndex).AddStr = frmItemEditor.scrlAddStr.Value
        Item(EditorIndex).AddDef = frmItemEditor.scrlAddDef.Value
        Item(EditorIndex).AddMagi = frmItemEditor.scrlAddMagi.Value
        Item(EditorIndex).AddSpeed = frmItemEditor.scrlAddSpeed.Value
        Item(EditorIndex).AddEXP = frmItemEditor.scrlAddEXP.Value
        Item(EditorIndex).AttackSpeed = frmItemEditor.scrlAttackSpeed.Value
    End If

      If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_LEGS) Then
        Item(EditorIndex).Data2 = frmItemEditor.scrlStrength.Value
        Item(EditorIndex).StrReq = frmItemEditor.scrlStrReq.Value
        Item(EditorIndex).DefReq = frmItemEditor.scrlDefReq.Value
        Item(EditorIndex).SpeedReq = frmItemEditor.scrlSpeedReq.Value
        Item(EditorIndex).MagicReq = frmItemEditor.scrlMagicReq.Value
       
        Item(EditorIndex).ClassReq = frmItemEditor.scrlClassReq.Value
        Item(EditorIndex).AccessReq = frmItemEditor.scrlAccessReq.Value
       
        Item(EditorIndex).AddHP = frmItemEditor.scrlAddHP.Value
        Item(EditorIndex).AddMP = frmItemEditor.scrlAddMP.Value
        Item(EditorIndex).AddSP = frmItemEditor.scrlAddSP.Value
        Item(EditorIndex).AddStr = frmItemEditor.scrlAddStr.Value
        Item(EditorIndex).AddDef = frmItemEditor.scrlAddDef.Value
        Item(EditorIndex).AddMagi = frmItemEditor.scrlAddMagi.Value
        Item(EditorIndex).AddSpeed = frmItemEditor.scrlAddSpeed.Value
        Item(EditorIndex).AddEXP = frmItemEditor.scrlAddEXP.Value
        Item(EditorIndex).AttackSpeed = frmItemEditor.scrlAttackSpeed.Value
    End If

      If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_AMULET) Then
        Item(EditorIndex).Data2 = frmItemEditor.scrlStrength.Value
        Item(EditorIndex).StrReq = frmItemEditor.scrlStrReq.Value
        Item(EditorIndex).DefReq = frmItemEditor.scrlDefReq.Value
        Item(EditorIndex).SpeedReq = frmItemEditor.scrlSpeedReq.Value
        Item(EditorIndex).MagicReq = frmItemEditor.scrlMagicReq.Value
       
        Item(EditorIndex).ClassReq = frmItemEditor.scrlClassReq.Value
        Item(EditorIndex).AccessReq = frmItemEditor.scrlAccessReq.Value
       
        Item(EditorIndex).AddHP = frmItemEditor.scrlAddHP.Value
        Item(EditorIndex).AddMP = frmItemEditor.scrlAddMP.Value
        Item(EditorIndex).AddSP = frmItemEditor.scrlAddSP.Value
        Item(EditorIndex).AddStr = frmItemEditor.scrlAddStr.Value
        Item(EditorIndex).AddDef = frmItemEditor.scrlAddDef.Value
        Item(EditorIndex).AddMagi = frmItemEditor.scrlAddMagi.Value
        Item(EditorIndex).AddSpeed = frmItemEditor.scrlAddSpeed.Value
        Item(EditorIndex).AddEXP = frmItemEditor.scrlAddEXP.Value
        Item(EditorIndex).AttackSpeed = frmItemEditor.scrlAttackSpeed.Value
    End If

Procure por

Código:
Public Sub UpdateTradeInventory()

Mude para

Código:
Public Sub UpdateTradeInventory()
Dim I As Long

    frmPlayerTrade.PlayerInv1.Clear
   
For I = 1 To MAX_INV
    If GetPlayerInvItemNum(MyIndex, I) > 0 And GetPlayerInvItemNum(MyIndex, I) <= MAX_ITEMS Then
        If Item(GetPlayerInvItemNum(MyIndex, I)).Type = ITEM_TYPE_CURRENCY Then
            frmPlayerTrade.PlayerInv1.AddItem I & ": " & Trim(Item(GetPlayerInvItemNum(MyIndex, I)).Name) & " (" & GetPlayerInvItemValue(MyIndex, I) & ")"
        Else
            If GetPlayerWeaponSlot(MyIndex) = I Or GetPlayerArmorSlot(MyIndex) = I Or GetPlayerHelmetSlot(MyIndex) = I Or GetPlayerShieldSlot(MyIndex) = I Or GetPlayerRing1Slot(MyIndex) = I Or GetPlayerRing2Slot(MyIndex) = I Or GetPlayerGlovesSlot(MyIndex) = I Or GetPlayerLegsSlot(MyIndex) = I Or GetPlayerAmuletSlot(MyIndex) = I Then
                frmPlayerTrade.PlayerInv1.AddItem I & ": " & Trim(Item(GetPlayerInvItemNum(MyIndex, I)).Name) & " (equipado)"
            Else
                frmPlayerTrade.PlayerInv1.AddItem I & ": " & Trim(Item(GetPlayerInvItemNum(MyIndex, I)).Name)
            End If
        End If
    Else
        frmPlayerTrade.PlayerInv1.AddItem "<Nada>"
    End If
Next I
   
    frmPlayerTrade.PlayerInv1.ListIndex = 0
End Sub

Procure por:

Código:
Public Sub UpdateVisInv()
Dim Index As Long
Dim d As Long
 
    For Index = 1 To MAX_INV
        If GetPlayerShieldSlot(MyIndex) <> Index Then frmMirage.ShieldImage.Picture = LoadPicture()
        If GetPlayerWeaponSlot(MyIndex) <> Index Then frmMirage.WeaponImage.Picture = LoadPicture()
        If GetPlayerHelmetSlot(MyIndex) <> Index Then frmMirage.HelmetImage.Picture = LoadPicture()
        If GetPlayerArmorSlot(MyIndex) <> Index Then frmMirage.ArmorImage.Picture = LoadPicture()
    Next Index
   
    For Index = 1 To MAX_INV
        If GetPlayerShieldSlot(MyIndex) = Index Then Call BitBlt(frmMirage.ShieldImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerWeaponSlot(MyIndex) = Index Then Call BitBlt(frmMirage.WeaponImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerHelmetSlot(MyIndex) = Index Then Call BitBlt(frmMirage.HelmetImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerArmorSlot(MyIndex) = Index Then Call BitBlt(frmMirage.ArmorImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
     
    Next Index
       
    frmMirage.EquipS(0).Visible = False
    frmMirage.EquipS(1).Visible = False
    frmMirage.EquipS(2).Visible = False
    frmMirage.EquipS(3).Visible = False
    For d = 0 To MAX_INV - 1
        If Player(MyIndex).Inv(d + 1).Num > 0 Then
            If Item(GetPlayerInvItemNum(MyIndex, d + 1)).Type <> ITEM_TYPE_CURRENCY Then
                'frmMirage.descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (" & GetPlayerInvItemValue(MyIndex, d + 1) & ")"
            'Else
                If GetPlayerWeaponSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(0).Visible = True
                    frmMirage.EquipS(0).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(0).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerArmorSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(1).Visible = True
                    frmMirage.EquipS(1).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(1).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerHelmetSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(2).Visible = True
                    frmMirage.EquipS(2).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(2).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerShieldSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(3).Visible = True
                    frmMirage.EquipS(3).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(3).Left = frmMirage.picInv(d).Left - 2
                Else
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name)
                End If
            End If
        End If
    Next d
End Sub

Mude para:

Código:
Public Sub UpdateVisInv()
Dim Index As Long
Dim d As Long
 
    For Index = 1 To MAX_INV
        If GetPlayerShieldSlot(MyIndex) <> Index Then frmMirage.ShieldImage.Picture = LoadPicture()
        If GetPlayerWeaponSlot(MyIndex) <> Index Then frmMirage.WeaponImage.Picture = LoadPicture()
        If GetPlayerHelmetSlot(MyIndex) <> Index Then frmMirage.HelmetImage.Picture = LoadPicture()
        If GetPlayerArmorSlot(MyIndex) <> Index Then frmMirage.ArmorImage.Picture = LoadPicture()
        If GetPlayerRing1Slot(MyIndex) <> Index Then frmMirage.Ring1Image.Picture = LoadPicture()
        If GetPlayerRing2Slot(MyIndex) <> Index Then frmMirage.Ring2Image.Picture = LoadPicture()
        If GetPlayerGlovesSlot(MyIndex) <> Index Then frmMirage.GlovesImage.Picture = LoadPicture()
        If GetPlayerLegsSlot(MyIndex) <> Index Then frmMirage.LegsImage.Picture = LoadPicture()
        If GetPlayerAmuletSlot(MyIndex) <> Index Then frmMirage.AmuletImage.Picture = LoadPicture()
    Next Index
   
    For Index = 1 To MAX_INV
        If GetPlayerShieldSlot(MyIndex) = Index Then Call BitBlt(frmMirage.ShieldImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerWeaponSlot(MyIndex) = Index Then Call BitBlt(frmMirage.WeaponImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerHelmetSlot(MyIndex) = Index Then Call BitBlt(frmMirage.HelmetImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerArmorSlot(MyIndex) = Index Then Call BitBlt(frmMirage.ArmorImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerRing1Slot(MyIndex) = Index Then Call BitBlt(frmMirage.Ring1Image.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerRing2Slot(MyIndex) = Index Then Call BitBlt(frmMirage.Ring2Image.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerGlovesSlot(MyIndex) = Index Then Call BitBlt(frmMirage.GlovesImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerLegsSlot(MyIndex) = Index Then Call BitBlt(frmMirage.LegsImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerAmuletSlot(MyIndex) = Index Then Call BitBlt(frmMirage.AmuletImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
    Next Index
       
    frmMirage.EquipS(0).Visible = False
    frmMirage.EquipS(1).Visible = False
    frmMirage.EquipS(2).Visible = False
    frmMirage.EquipS(3).Visible = False
    frmMirage.EquipS(4).Visible = False
    frmMirage.EquipS(5).Visible = False
    frmMirage.EquipS(6).Visible = False
    frmMirage.EquipS(7).Visible = False
    frmMirage.EquipS(8).Visible = False
 
    For d = 0 To MAX_INV - 1
        If Player(MyIndex).Inv(d + 1).Num > 0 Then
            If Item(GetPlayerInvItemNum(MyIndex, d + 1)).Type <> ITEM_TYPE_CURRENCY Then
                'frmMirage.descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (" & GetPlayerInvItemValue(MyIndex, d + 1) & ")"
            'Else
                If GetPlayerWeaponSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(0).Visible = True
                    frmMirage.EquipS(0).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(0).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerArmorSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(1).Visible = True
                    frmMirage.EquipS(1).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(1).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerHelmetSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(2).Visible = True
                    frmMirage.EquipS(2).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(2).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerShieldSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(3).Visible = True
                    frmMirage.EquipS(3).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(3).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerRing1Slot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(4).Visible = True
                    frmMirage.EquipS(4).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(4).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerRing2Slot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(5).Visible = True
                    frmMirage.EquipS(5).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(5).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerGlovesSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(6).Visible = True
                    frmMirage.EquipS(6).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(6).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerLegsSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(7).Visible = True
                    frmMirage.EquipS(7).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(7).Left = frmMirage.picInv(d).Left - 2
                ElseIf GetPlayerAmuletSlot(MyIndex) = d + 1 Then
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
                    frmMirage.EquipS(8).Visible = True
                    frmMirage.EquipS(8).Top = frmMirage.picInv(d).Top - 2
                    frmMirage.EquipS(8).Left = frmMirage.picInv(d).Left - 2
                    'frmMirage.picInv(d).ToolTipText = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name)
                End If
            End If
        End If
    Next d
End Sub

Na HandleData procure por:

Código:
        If GetPlayerHelmetSlot(MyIndex) > 0 Then
            SubStr = SubStr + Item(GetPlayerInvItemNum(MyIndex, GetPlayerHelmetSlot(MyIndex))).AddStr
            SubDef = SubDef + Item(GetPlayerInvItemNum(MyIndex, GetPlayerHelmetSlot(MyIndex))).AddDef
            SubMagi = SubMagi + Item(GetPlayerInvItemNum(MyIndex, GetPlayerHelmetSlot(MyIndex))).AddMagi
            SubSpeed = SubSpeed + Item(GetPlayerInvItemNum(MyIndex, GetPlayerHelmetSlot(MyIndex))).AddSpeed
        End If


Abaixo adicione:


Código:
  If GetPlayerRing1Slot(MyIndex) > 0 Then
            SubStr = SubStr + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing1Slot(MyIndex))).AddStr
            SubDef = SubDef + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing1Slot(MyIndex))).AddDef
            SubMagi = SubMagi + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing1Slot(MyIndex))).AddMagi
            SubSpeed = SubSpeed + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing1Slot(MyIndex))).AddSpeed
        End If
        If GetPlayerRing2Slot(MyIndex) > 0 Then
            SubStr = SubStr + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing2Slot(MyIndex))).AddStr
            SubDef = SubDef + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing2Slot(MyIndex))).AddDef
            SubMagi = SubMagi + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing2Slot(MyIndex))).AddMagi
            SubSpeed = SubSpeed + Item(GetPlayerInvItemNum(MyIndex, GetPlayerRing2Slot(MyIndex))).AddSpeed
        End If
        If GetPlayerGlovesSlot(MyIndex) > 0 Then
            SubStr = SubStr + Item(GetPlayerInvItemNum(MyIndex, GetPlayerGlovesSlot(MyIndex))).AddStr
            SubDef = SubDef + Item(GetPlayerInvItemNum(MyIndex, GetPlayerGlovesSlot(MyIndex))).AddDef
            SubMagi = SubMagi + Item(GetPlayerInvItemNum(MyIndex, GetPlayerGlovesSlot(MyIndex))).AddMagi
            SubSpeed = SubSpeed + Item(GetPlayerInvItemNum(MyIndex, GetPlayerGlovesSlot(MyIndex))).AddSpeed
        End If
        If GetPlayerLegsSlot(MyIndex) > 0 Then
            SubStr = SubStr + Item(GetPlayerInvItemNum(MyIndex, GetPlayerLegsSlot(MyIndex))).AddStr
            SubDef = SubDef + Item(GetPlayerInvItemNum(MyIndex, GetPlayerLegsSlot(MyIndex))).AddDef
            SubMagi = SubMagi + Item(GetPlayerInvItemNum(MyIndex, GetPlayerLegsSlot(MyIndex))).AddMagi
            SubSpeed = SubSpeed + Item(GetPlayerInvItemNum(MyIndex, GetPlayerLegsSlot(MyIndex))).AddSpeed
        End If
        If GetPlayerAmuletSlot(MyIndex) > 0 Then
            SubStr = SubStr + Item(GetPlayerInvItemNum(MyIndex, GetPlayerAmuletSlot(MyIndex))).AddStr
            SubDef = SubDef + Item(GetPlayerInvItemNum(MyIndex, GetPlayerAmuletSlot(MyIndex))).AddDef
            SubMagi = SubMagi + Item(GetPlayerInvItemNum(MyIndex, GetPlayerAmuletSlot(MyIndex))).AddMagi
            SubSpeed = SubSpeed + Item(GetPlayerInvItemNum(MyIndex, GetPlayerAmuletSlot(MyIndex))).AddSpeed
        End If

Subistitua a Sub cmbType por:

Código:
Private Sub cmbType_Click()
    If (cmbType.ListIndex >= ITEM_TYPE_WEAPON) And (cmbType.ListIndex <= ITEM_TYPE_SHIELD) Or (cmbType.ListIndex <= ITEM_TYPE_RING1) Or (cmbType.ListIndex <= ITEM_TYPE_RING2) Or (cmbType.ListIndex <= ITEM_TYPE_GLOVES) Or (cmbType.ListIndex <= ITEM_TYPE_LEGS) Or (cmbType.ListIndex <= ITEM_TYPE_AMULET) Then
        If cmbType.ListIndex = ITEM_TYPE_WEAPON Then
            Label3.Caption = "Dano:"
        Else
            Label3.Caption = "Defesa:"
        End If
        fraEquipment.Visible = True
        fraPet.Visible = False
        fraAttributes.Visible = True
        fraBow.Visible = True
    Else
        fraEquipment.Visible = False
        fraAttributes.Visible = False
        fraBow.Visible = False
    End If
       
    If (cmbType.ListIndex >= ITEM_TYPE_POTIONADDHP) And (cmbType.ListIndex <= ITEM_TYPE_POTIONSUBSP) Then
        fraVitals.Visible = True
        fraPet.Visible = False
        fraAttributes.Visible = False
        fraEquipment.Visible = False
        fraBow.Visible = False
    Else
        fraVitals.Visible = False
    End If
   
    If (cmbType.ListIndex = ITEM_TYPE_SPELL) Then
        fraSpell.Visible = True
        fraPet.Visible = False
        fraAttributes.Visible = False
        fraEquipment.Visible = False
        fraBow.Visible = False
    Else
        fraSpell.Visible = False
    End If
   
    If (cmbType.ListIndex = ITEM_TYPE_PET) Then
        fraSpell.Visible = False
        fraPet.Visible = True
        fraAttributes.Visible = False
        fraEquipment.Visible = False
        fraBow.Visible = False
    Else
        fraPet.Visible = False
    End If
End Sub

Subistitua a Sub cmdUpdate_Click() por:

Código:
Private Sub cmdUpdate_Click()
Dim Index As Long, I As Long, ItemNum As Long
   
    Index = lstTradeItem(SSTab1.Tab).ListIndex + 1
    I = SSTab1.Tab + 1
    ItemNum = cmbItemGet.ListIndex
   
    If ItemNum > 0 Then
        If I = 1 Then
            If Item(ItemNum).Type = ITEM_TYPE_WEAPON Then
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SHIELD Then
                MsgBox "Please click the tab that says shield to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_ARMOR Then
                MsgBox "Please click the tab that says armor to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_HELMET Then
                MsgBox "Please click the tab that says helmet to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SPELL Then
                MsgBox "Please click the tab that says spell to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_RING1 Then
                MsgBox "Please click the tab that says ring1 to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_RING2 Then
                MsgBox "Please click the tab that says ring2 to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_GLOVES Then
                MsgBox "Please click the tab that says gloves to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_LEGS Then
                MsgBox "Please click the tab that says legs to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_AMULET Then
                MsgBox "Please click the tab that says amulet to add this!"
                Exit Sub
            Else
                MsgBox "Please click the tab that says other to add this!"
                Exit Sub
            End If
        ElseIf I = 2 Then
            If Item(ItemNum).Type = ITEM_TYPE_WEAPON Then
                MsgBox "Please click the tab that says weapon to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SHIELD Then
            ElseIf Item(ItemNum).Type = ITEM_TYPE_ARMOR Then
                MsgBox "Please click the tab that says armor to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_HELMET Then
                MsgBox "Please click the tab that says helmet to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SPELL Then
                MsgBox "Please click the tab that says spell to add this!"
                Exit Sub
            Else
                MsgBox "Please click the tab that says other to add this!"
                Exit Sub
            End If
        ElseIf I = 3 Then
            If Item(ItemNum).Type = ITEM_TYPE_WEAPON Then
                MsgBox "Please click the tab that says weapon to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SHIELD Then
                MsgBox "Please click the tab that says shield to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_ARMOR Then
            ElseIf Item(ItemNum).Type = ITEM_TYPE_HELMET Then
                MsgBox "Please click the tab that says helmet to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SPELL Then
                MsgBox "Please click the tab that says spell to add this!"
                Exit Sub
            Else
                MsgBox "Please click the tab that says other to add this!"
                Exit Sub
            End If
        ElseIf I = 4 Then
            If Item(ItemNum).Type = ITEM_TYPE_WEAPON Then
                MsgBox "Please click the tab that says weapon to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SHIELD Then
                MsgBox "Please click the tab that says shield to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_ARMOR Then
                MsgBox "Please click the tab that says armor to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_HELMET Then
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SPELL Then
                MsgBox "Please click the tab that says spell to add this!"
                Exit Sub
            Else
                MsgBox "Please click the tab that says other to add this!"
                Exit Sub
            End If
        ElseIf I = 5 Then
            If Item(ItemNum).Type = ITEM_TYPE_WEAPON Then
                MsgBox "Please click the tab that says weapon to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SHIELD Then
                MsgBox "Please click the tab that says shield to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_ARMOR Then
                MsgBox "Please click the tab that says armor to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_HELMET Then
                MsgBox "Please click the tab that says helmet to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SPELL Then
            Else
                MsgBox "Please click the tab that says other to add this!"
                Exit Sub
            End If
        ElseIf I = 6 Then
            If Item(ItemNum).Type = ITEM_TYPE_WEAPON Then
                MsgBox "Please click the tab that says weapon to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SHIELD Then
                MsgBox "Please click the tab that says shield to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_ARMOR Then
                MsgBox "Please click the tab that says armor to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_HELMET Then
                MsgBox "Please click the tab that says helmet to add this!"
                Exit Sub
            ElseIf Item(ItemNum).Type = ITEM_TYPE_SPELL Then
                MsgBox "Please click the tab that says spell to add this!"
                Exit Sub
            Else
            End If
        End If
    End If
   
    Shop(EditorIndex).TradeItem(SSTab1.Tab + 1).Value(Index).GiveItem = cmbItemGive.ListIndex
    Shop(EditorIndex).TradeItem(SSTab1.Tab + 1).Value(Index).GiveValue = Val(txtItemGiveValue.Text)
    Shop(EditorIndex).TradeItem(SSTab1.Tab + 1).Value(Index).GetItem = cmbItemGet.ListIndex
    Shop(EditorIndex).TradeItem(SSTab1.Tab + 1).Value(Index).GetValue = Val(txtItemGetValue.Text)

    Call UpdateShopTrade
End Sub

Na sub Private Sub picInv_MouseMove mude para:

Código:
Private Sub picInv_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
Dim d As Long
d = Index

    If Player(MyIndex).Inv(d + 1).Num > 0 Then
        If Item(GetPlayerInvItemNum(MyIndex, d + 1)).Type = ITEM_TYPE_CURRENCY Then
            descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (" & GetPlayerInvItemValue(MyIndex, d + 1) & ")"
        Else
            If GetPlayerWeaponSlot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerArmorSlot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerHelmetSlot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerShieldSlot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerRing1Slot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerRing2Slot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerGlovesSlot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerLegsSlot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            ElseIf GetPlayerAmuletSlot(MyIndex) = d + 1 Then
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
            Else
                descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name)
            End If
        End If
        descStr.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).StrReq & " Força"
        descDef.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).DefReq & " Defesa"
        descSpeed.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).SpeedReq & " Agilidade"
        descMagic.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).MagicReq & " Inteligência"
        descHpMp.Caption = "HP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddHP & " MP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddMP & " SP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddSP
        descSD.Caption = "For: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddStr & " Def: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddDef
        descMS.Caption = "Int: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddMagi & " Agi: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddSpeed
        desc.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).desc)
       
        itmDesc.Visible = True
        Call itmDesc.ZOrder(0)
    Else
        itmDesc.Visible = False
    End If
End Sub

Na frmItemEditor, no cmbTYpes vá na propriedades e procure por LIste adicione Ring1


Última edição por LosT - Style em Sáb 16 Out 2010, 19:38, editado 5 vez(es)
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Sáb 04 Set 2010, 16:20

SERVE SIDE

Procure por:

Código:
        ' Equipamentos
        Player(Index).Char(i).ArmorSlot = Val(GetVar(FileName, "CHAR" & i, "ArmorSlot"))
        Player(Index).Char(i).WeaponSlot = Val(GetVar(FileName, "CHAR" & i, "WeaponSlot"))
        Player(Index).Char(i).HelmetSlot = Val(GetVar(FileName, "CHAR" & i, "HelmetSlot"))
        Player(Index).Char(i).ShieldSlot = Val(GetVar(FileName, "CHAR" & i, "ShieldSlot"))

Mude tudo para:

Código:
' Equipamentos
        Player(Index).Char(i).ArmorSlot = Val(GetVar(FileName, "CHAR" & i, "ArmorSlot"))
        Player(Index).Char(i).WeaponSlot = Val(GetVar(FileName, "CHAR" & i, "WeaponSlot"))
        Player(Index).Char(i).HelmetSlot = Val(GetVar(FileName, "CHAR" & i, "HelmetSlot"))
        Player(Index).Char(i).ShieldSlot = Val(GetVar(FileName, "CHAR" & i, "ShieldSlot"))
        Player(Index).Char(i).Ring1Slot = Val(GetVar(FileName, "CHAR" & i, "Ring1Slot"))
        Player(Index).Char(i).Ring2Slot = Val(GetVar(FileName, "CHAR" & i, "Ring2Slot"))
        Player(Index).Char(i).GlovesSlot = Val(GetVar(FileName, "CHAR" & i, "GlovesSlot"))
        Player(Index).Char(i).LegsSlot = Val(GetVar(FileName, "CHAR" & i, "LegsSlot"))
        Player(Index).Char(i).AmuletSlot = Val(GetVar(FileName, "CHAR" & i, "AmuletSlot"))

Procure por:

Código:
      ' Equipamentos
        Call PutVar(FileName, "CHAR" & i, "ArmorSlot", STR(Player(Index).Char(i).ArmorSlot))
        Call PutVar(FileName, "CHAR" & i, "WeaponSlot", STR(Player(Index).Char(i).WeaponSlot))
        Call PutVar(FileName, "CHAR" & i, "HelmetSlot", STR(Player(Index).Char(i).HelmetSlot))
        Call PutVar(FileName, "CHAR" & i, "ShieldSlot", STR(Player(Index).Char(i).ShieldSlot))

Mude para

Código:
      ' Equipamentos
        Call PutVar(FileName, "CHAR" & i, "ArmorSlot", STR(Player(Index).Char(i).ArmorSlot))
        Call PutVar(FileName, "CHAR" & i, "WeaponSlot", STR(Player(Index).Char(i).WeaponSlot))
        Call PutVar(FileName, "CHAR" & i, "HelmetSlot", STR(Player(Index).Char(i).HelmetSlot))
        Call PutVar(FileName, "CHAR" & i, "ShieldSlot", STR(Player(Index).Char(i).ShieldSlot))
        Call PutVar(FileName, "CHAR" & i, "Ring1Slot", STR(Player(Index).Char(i).Ring1Slot))
        Call PutVar(FileName, "CHAR" & i, "Ring1Slot", STR(Player(Index).Char(i).Ring2Slot))
        Call PutVar(FileName, "CHAR" & i, "GlovesSlot", STR(Player(Index).Char(i).GlovesSlot))
        Call PutVar(FileName, "CHAR" & i, "LegsSlot", STR(Player(Index).Char(i).LegsSlot))
        Call PutVar(FileName, "CHAR" & i, "AmuletSlot", STR(Player(Index).Char(i).AmuletSlot))

Procure por:

Código:
' Constantes de itens
Public Const ITEM_TYPE_NONE = 0
Public Const ITEM_TYPE_WEAPON = 1
Public Const ITEM_TYPE_ARMOR = 2
Public Const ITEM_TYPE_HELMET = 3
Public Const ITEM_TYPE_SHIELD = 4
Public Const ITEM_TYPE_POTIONADDHP = 5
Public Const ITEM_TYPE_POTIONADDMP = 6
Public Const ITEM_TYPE_POTIONADDSP = 7
Public Const ITEM_TYPE_POTIONSUBHP = 8
Public Const ITEM_TYPE_POTIONSUBMP = 9
Public Const ITEM_TYPE_POTIONSUBSP = 10
Public Const ITEM_TYPE_KEY = 11
Public Const ITEM_TYPE_CURRENCY = 12
Public Const ITEM_TYPE_SPELL = 13
Public Const ITEM_TYPE_PET = 14

Abaixo adicione:

Código:
Public Const ITEM_TYPE_RING1 = 15
Public Const ITEM_TYPE_RING2 = 16
Public Const ITEM_TYPE_GLOVES = 17
Public Const ITEM_TYPE_LEGS = 18
Public Const ITEM_TYPE_AMULET = 19

Procure por:

Código:
' Equipamento
    ArmorSlot As Long
    WeaponSlot As Long
    HelmetSlot As Long
    ShieldSlot As Long

Mude para:

Código:
' Equipamento
    ArmorSlot As Long
    WeaponSlot As Long
    HelmetSlot As Long
    ShieldSlot As Long
    Ring1Slot As Long
    Ring2Slot As Long
    GlovesSlot As Long
    LegsSlot As Long
    AmuletSlot As Long

Na subClearChar procure por:

Código:
Player(Index).Char(CharNum).ShieldSlot = 0

Abaixo adicione:

Código:
Player(Index).Char(CharNum).Ring1Slot = 0
    Player(Index).Char(CharNum).Ring2Slot = 0
    Player(Index).Char(CharNum).GlovesSlot = 0
    Player(Index).Char(CharNum).LegsSlot = 0
    Player(Index).Char(CharNum).AmuletSlot = 0

Na mesma sub procure por:

Código:
Player(Index).Char(i).ShieldSlot = 0

Abaixo adicione:

Código:
Player(Index).Char(i).Ring1Slot = 0
        Player(Index).Char(i).Ring2Slot = 0
        Player(Index).Char(i).GlovesSlot = 0
        Player(Index).Char(i).LegsSlot = 0
        Player(Index).Char(i).AmuletSlot = 0

Procure por:

Código:
Function GetPlayerArmorSlot(ByVal Index As Long) As Long
    GetPlayerArmorSlot = Player(Index).Char(Player(Index).CharNum).ArmorSlot
End Function

Abaixo adicione:

Código:
Function GetPlayerRing1Slot(ByVal Index As Long) As Long
    GetPlayerRing1Slot = Player(Index).Char(Player(Index).CharNum).Ring1Slot
End Function

Function GetPlayerRing2Slot(ByVal Index As Long) As Long
    GetPlayerRing2Slot = Player(Index).Char(Player(Index).CharNum).Ring2Slot
End Function

Function GetPlayerGlovesSlot(ByVal Index As Long) As Long
    GetPlayerGlovesSlot = Player(Index).Char(Player(Index).CharNum).GlovesSlot
End Function

Function GetPlayerLegsSlot(ByVal Index As Long) As Long
    GetPlayerLegsSlot = Player(Index).Char(Player(Index).CharNum).LegsSlot
End Function

Function GetPlayerAmuletSlot(ByVal Index As Long) As Long
    GetPlayerAmuletSlot = Player(Index).Char(Player(Index).CharNum).AmuletSlot
End Function


Procure por:

Código:
Function GetPlayerDEF

mude tudo para:

Código:
Function GetPlayerDEF(ByVal Index As Long) As Long
    Dim add As Long
 
    add = 0
 
    If GetPlayerWeaponSlot(Index) > 0 Then
        add = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AddDef
    End If
 
    If GetPlayerArmorSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerArmorSlot(Index))).AddDef
    End If
 
    If GetPlayerShieldSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index))).AddDef
    End If
 
    If GetPlayerHelmetSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerHelmetSlot(Index))).AddDef
    End If
   
    If GetPlayerRing1Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index))).AddDef
    End If

    If GetPlayerRing2Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index))).AddDef
    End If

    If GetPlayerGlovesSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index))).AddDef
    End If 

    If GetPlayerLegsSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerLegsSlot(Index))).AddDef
    End If

    If GetPlayerAmuletSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index))).AddDef
    End If
 
    GetPlayerDEF = Player(Index).Char(Player(Index).CharNum).DEF + add
End Function


Procure por:

Código:
Function GetPlayerMAGI

Mude tudo para:

Código:
Function GetPlayerMAGI(ByVal Index As Long) As Long
    Dim add As Long
 
    add = 0
 
    If GetPlayerWeaponSlot(Index) > 0 Then
        add = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AddMagi
    End If
 
    If GetPlayerArmorSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerArmorSlot(Index))).AddMagi
    End If
 
    If GetPlayerShieldSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index))).AddMagi
    End If
 
    If GetPlayerHelmetSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerHelmetSlot(Index))).AddMagi
    End If
   
    If GetPlayerRing1Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index))).AddMagi
    End If

    If GetPlayerRing2Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index))).AddMagi
    End If

    If GetPlayerGlovesSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index))).AddMagi
    End If

    If GetPlayerLegsSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerLegsSlot(Index))).AddMagi
    End If

    If GetPlayerAmuletSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index))).AddMagi
    End If 
 
    GetPlayerMAGI = Player(Index).Char(Player(Index).CharNum).Magi + add
End Function

Procure por:

Código:
Function GetPlayerMaxHP

Mude tudo para:

Código:
Function GetPlayerMaxHP(ByVal Index As Long) As Long
    Dim CharNum As Long
    Dim add As Long
 
    add = 0
 
    If GetPlayerWeaponSlot(Index) > 0 Then
        add = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AddHP
    End If
 
    If GetPlayerArmorSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerArmorSlot(Index))).AddHP
    End If
 
    If GetPlayerShieldSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index))).AddHP
    End If
 
    If GetPlayerHelmetSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerHelmetSlot(Index))).AddHP
    End If
   
    If GetPlayerRing1Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index))).AddHP
    End If

    If GetPlayerRing2Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index))).AddHP
    End If

    If GetPlayerGlovesSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index))).AddHP
    End If

    If GetPlayerAmuletSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index))).AddHP
    End If 
 
    CharNum = Player(Index).CharNum
 
    'GetPlayerMaxHP = ((Player(index).Char(CharNum).Level + Int(GetPlayerstr(index) / 2) + Class(Player(index).Char(CharNum).Class).str) * 2) + add
    GetPlayerMaxHP = (GetPlayerLevel(Index) * AddHP.Level) + (GetPlayerstr(Index) * AddHP.STR) + (GetPlayerDEF(Index) * AddHP.DEF) + (GetPlayerMAGI(Index) * AddHP.Magi) + (GetPlayerSPEED(Index) * AddHP.Speed) + add
End Function

Procure por:

Código:
Function GetPlayerMaxMP

Mude tudo para:

Código:
Function GetPlayerMaxMP(ByVal Index As Long) As Long
    Dim CharNum As Long
    Dim add As Long
 
    add = 0
 
    If GetPlayerWeaponSlot(Index) > 0 Then
        add = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AddMP
    End If
 
    If GetPlayerArmorSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerArmorSlot(Index))).AddMP
    End If
 
    If GetPlayerShieldSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index))).AddMP
    End If
 
    If GetPlayerHelmetSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerHelmetSlot(Index))).AddMP
    End If

    If GetPlayerRing1Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index))).AddMP
    End If

    If GetPlayerRing2Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index))).AddMP
    End If

    If GetPlayerGlovesSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index))).AddMP
    End If

    If GetPlayerLegsSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerLegsSlot(Index))).AddMP
    End If

    If GetPlayerAmuletSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index))).AddMP
    End If
 
    CharNum = Player(Index).CharNum
 
    GetPlayerMaxMP = ((Player(Index).Char(CharNum).Level + Int(GetPlayerMAGI(Index) / 2) + Class(Player(Index).Char(CharNum).Class).Magi) * 2) + add
    'GetPlayerMaxMP = (GetPlayerLevel(Index) * AddMP.Level) + (GetPlayerstr(Index) * AddMP.STR) + (GetPlayerDEF(Index) * AddMP.DEF) + (GetPlayerMAGI(Index) * AddMP.Magi) + (GetPlayerSPEED(Index) * AddMP.Speed) + add
End Function

Procure por:

Código:
Function GetPlayerMaxSP

Mude tudo para:

Código:
Function GetPlayerMaxSP(ByVal Index As Long) As Long
    Dim CharNum As Long
    Dim add As Long
 
    add = 0
 
    If GetPlayerWeaponSlot(Index) > 0 Then
        add = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AddSP
    End If
 
    If GetPlayerArmorSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerArmorSlot(Index))).AddSP
    End If
 
    If GetPlayerShieldSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index))).AddSP
    End If
 
    If GetPlayerHelmetSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerHelmetSlot(Index))).AddSP
    End If
   
    If GetPlayerRing1Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index))).AddSP
    End If

    If GetPlayerRing2Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index))).AddSP
    End If

    If GetPlayerGlovesSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index))).AddSP
    End If

    If GetPlayerLegsSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerLegsSlot(Index))).AddSP
    End If

    If GetPlayerAmuletSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index))).AddSP
    End If 
 
    CharNum = Player(Index).CharNum
 
    'GetPlayerMaxSP = ((Player(index).Char(CharNum).Level + Int(GetPlayerSPEED(index) / 2) + Class(Player(index).Char(CharNum).Class).SPEED) * 2) + add
    GetPlayerMaxSP = (GetPlayerLevel(Index) * AddSP.Level) + (GetPlayerstr(Index) * AddSP.STR) + (GetPlayerDEF(Index) * AddSP.DEF) + (GetPlayerMAGI(Index) * AddSP.Magi) + (GetPlayerSPEED(Index) * AddSP.Speed) + add
End Function

Procure por:
Código:
Function GetPlayerSPEED(ByVal Index As Long) As Long
    Dim add As Long
Mude tudo para:

Código:
Function GetPlayerSPEED(ByVal Index As Long) As Long
    Dim add As Long
 
    add = 0
 
    If GetPlayerWeaponSlot(Index) > 0 Then
        add = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AddSpeed
    End If
 
    If GetPlayerArmorSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerArmorSlot(Index))).AddSpeed
    End If
 
    If GetPlayerShieldSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index))).AddSpeed
    End If
 
    If GetPlayerHelmetSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerHelmetSlot(Index))).AddSpeed
    End If
   
    If GetPlayerRing1Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index))).AddSpeed
    End If

    If GetPlayerRing2Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index))).AddSpeed
    End If

    If GetPlayerGlovesSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index))).AddSpeed
    End If

    If GetPlayerLegsSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerLegsSlot(Index))).AddSpeed
    End If 

    If GetPlayerAmuletSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index))).AddSpeed
    End If 
 
    GetPlayerSPEED = Player(Index).Char(Player(Index).CharNum).Speed + add
End Function

Procure por:

Código:
Function GetPlayerstr

Mude tudo para:

Código:
Function GetPlayerstr(ByVal Index As Long) As Long
    Dim add As Long
 
    add = 0
 
    If GetPlayerWeaponSlot(Index) > 0 Then
        add = Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).AddStr
    End If
 
    If GetPlayerArmorSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerArmorSlot(Index))).AddStr
    End If
 
    If GetPlayerShieldSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index))).AddStr
    End If
 
    If GetPlayerHelmetSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerHelmetSlot(Index))).AddStr
    End If
   
    If GetPlayerRing1Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index))).AddStr
    End If

    If GetPlayerRing2Slot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index))).AddStr
    End If

    If GetPlayerGlovesSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index))).AddStr
    End If

    If GetPlayerAmuletSlot(Index) > 0 Then
        add = add + Item(GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index))).AddStr
    End If 
 
    GetPlayerstr = Player(Index).Char(Player(Index).CharNum).STR + add
End Function


Procure por:

Código:
Sub SetPlayerArmorSlot(ByVal Index As Long, _
  InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).ArmorSlot = InvNum
End Sub


Abaixo adicione:

Código:
Sub SetPlayerRing1Slot(ByVal Index As Long, _
  InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).Ring1Slot = InvNum
End Sub

Sub SetPlayerRing2Slot(ByVal Index As Long, _
  InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).Ring2Slot = InvNum
End Sub

Sub SetPlayerGlovesSlot(ByVal Index As Long, _
  InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).GlovesSlot = InvNum
End Sub

Sub SetPlayerLegsSlot(ByVal Index As Long, _
  InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).LegsSlot = InvNum
End Sub

Sub SetPlayerAmuletSlot(ByVal Index As Long, _
  InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).AmuletSlot = InvNum
End Sub

Procure por:

Código:
 If GetPlayerHelmetSlot(Attacker) > 0 Then
            add = add + Item(GetPlayerInvItemNum(Attacker, GetPlayerHelmetSlot(Attacker))).AddEXP
        End If


Abaixo adicione:

Código:
 If GetPlayerRing1Slot(Attacker) > 0 Then
            add = add + Item(GetPlayerInvItemNum(Attacker, GetPlayerRing1Slot(Attacker))).AddEXP
        End If

        If GetPlayerRing2Slot(Attacker) > 0 Then
            add = add + Item(GetPlayerInvItemNum(Attacker, GetPlayerRing2Slot(Attacker))).AddEXP
        End If

        If GetPlayerGlovesSlot(Attacker) > 0 Then
            add = add + Item(GetPlayerInvItemNum(Attacker, GetPlayerGlovesSlot(Attacker))).AddEXP
        End If

        If GetPlayerLegsSlot(Attacker) > 0 Then
            add = add + Item(GetPlayerInvItemNum(Attacker, GetPlayerLegsSlot(Attacker))).AddEXP
        End If

        If GetPlayerAmuletSlot(Attacker) > 0 Then
            add = add + Item(GetPlayerInvItemNum(Attacker, GetPlayerAmuletSlot(Attacker))).AddEXP
        End If


Procure por:

Código:
  If GetPlayerShieldSlot(Victim) > 0 Then
                        Call PlayerMapDropItem(Victim, GetPlayerShieldSlot(Victim), 0)
                    End If


Abaixo adicione

Código:
                    If GetPlayerRing1Slot(Victim) > 0 Then
                        Call PlayerMapDropItem(Victim, GetPlayerRing1Slot(Victim), 0)
                    End If

                    If GetPlayerRing2Slot(Victim) > 0 Then
                        Call PlayerMapDropItem(Victim, GetPlayerRing2Slot(Victim), 0)
                    End If

                    If GetPlayerGlovesSlot(Victim) > 0 Then
                        Call PlayerMapDropItem(Victim, GetPlayerGlovesSlot(Victim), 0)
                    End If

                    If GetPlayerLegsSlot(Victim) > 0 Then
                        Call PlayerMapDropItem(Victim, GetPlayerLegsSlot(Victim), 0)
                    End If

                    If GetPlayerAmuletSlot(Victim) > 0 Then
                        Call PlayerMapDropItem(Victim, GetPlayerAmuletSlot(Victim), 0)
                    End If


Procure por:

Código:
    Slot = GetPlayerShieldSlot(Index)
 
    If Slot > 0 Then
        ItemNum = GetPlayerInvItemNum(Index, Slot)
 
        If ItemNum > 0 Then
            If Item(ItemNum).Type <> ITEM_TYPE_SHIELD Then
                Call SetPlayerShieldSlot(Index, 0)
            End If
 
        Else
            Call SetPlayerShieldSlot(Index, 0)
        End If
    End If

Abaixo adicione:

Código:
    Slot = GetPlayerRing1Slot(Index)
 
    If Slot > 0 Then
        ItemNum = GetPlayerInvItemNum(Index, Slot)
 
        If ItemNum > 0 Then
            If Item(ItemNum).Type <> ITEM_TYPE_RING1 Then
                Call SetPlayerRing1Slot(Index, 0)
            End If
 
        Else
            Call SetPlayerRing1Slot(Index, 0)
        End If
    End If

    Slot = GetPlayerRing2Slot(Index)
 
    If Slot > 0 Then
        ItemNum = GetPlayerInvItemNum(Index, Slot)
 
        If ItemNum > 0 Then
            If Item(ItemNum).Type <> ITEM_TYPE_RING2 Then
                Call SetPlayerRing2Slot(Index, 0)
            End If
 
        Else
            Call SetPlayerRing2Slot(Index, 0)
        End If
    End If

    Slot = GetPlayerGlovesSlot(Index)
 
    If Slot > 0 Then
        ItemNum = GetPlayerInvItemNum(Index, Slot)
 
        If ItemNum > 0 Then
            If Item(ItemNum).Type <> ITEM_TYPE_GLOVES Then
                Call SetPlayerGlovesSlot(Index, 0)
            End If
 
        Else
            Call SetPlayerGlovesSlot(Index, 0)
        End If
    End If

    Slot = GetPlayerLegsSlot(Index)
 
    If Slot > 0 Then
        ItemNum = GetPlayerInvItemNum(Index, Slot)
 
        If ItemNum > 0 Then
            If Item(ItemNum).Type <> ITEM_TYPE_LEGS Then
                Call SetPlayerLegsSlot(Index, 0)
            End If
 
        Else
            Call SetPlayerLegsSlot(Index, 0)
        End If
    End If

    Slot = GetPlayerAmuletSlot(Index)
 
    If Slot > 0 Then
        ItemNum = GetPlayerInvItemNum(Index, Slot)
 
        If ItemNum > 0 Then
            If Item(ItemNum).Type <> ITEM_TYPE_AMULET Then
                Call SetPlayerAmuletSlot(Index, 0)
            End If
 
        Else
            Call SetPlayerAmuletSlot(Index, 0)
        End If
    End If

Procure por:

Código:
Sub GiveItem

Mude tudo para:

Código:
Sub GiveItem(ByVal Index As Long, _
  ByVal ItemNum As Long, _
  ByVal ItemVal As Long)
    Dim i As Long
 
    ' Checar por subscript out of range
    If IsPlaying(Index) = False Or ItemNum <= 0 Or ItemNum > MAX_ITEMS Then
        Exit Sub
    End If
 
    i = FindOpenInvSlot(Index, ItemNum)
 
    ' Checar se o inventário está cheio
    If i <> 0 Then
        Call SetPlayerInvItemNum(Index, i, ItemNum)
        Call SetPlayerInvItemValue(Index, i, GetPlayerInvItemValue(Index, i) + ItemVal)
 
        If (Item(ItemNum).Type = ITEM_TYPE_ARMOR) Or (Item(ItemNum).Type = ITEM_TYPE_WEAPON) Or (Item(ItemNum).Type = ITEM_TYPE_HELMET) Or (Item(ItemNum).Type = ITEM_TYPE_SHIELD) Or (Item(ItemNum).Type = ITEM_TYPE_RING1) Or (Item(ItemNum).Type = ITEM_TYPE_RING2) Or (Item(ItemNum).Type = ITEM_TYPE_GLOVES) Or (Item(ItemNum).Type = ITEM_TYPE_LEGS) Or (Item(ItemNum).Type = ITEM_TYPE_AMULET) Then
            Call SetPlayerInvItemDur(Index, i, Item(ItemNum).Data1)
        End If
 
        Call SendInventoryUpdate(Index, i)
    Else
        Call PlayerMsg(Index, "Seu inventário está cheio.", BrightRed)
    End If
 
End Sub

Procure por:

Código:
          If GetPlayerShieldSlot(Victim) > 0 Then
                    Call PlayerMapDropItem(Victim, GetPlayerShieldSlot(Victim), 0)
                End If


abaixo adicione:

Código:
          If GetPlayerRing1Slot(Victim) > 0 Then
                    Call PlayerMapDropItem(Victim, GetPlayerRing1Slot(Victim), 0)
                End If

                If GetPlayerRing2Slot(Victim) > 0 Then
                    Call PlayerMapDropItem(Victim, GetPlayerRing2Slot(Victim), 0)
                End If

                If GetPlayerGlovesSlot(Victim) > 0 Then
                    Call PlayerMapDropItem(Victim, GetPlayerGlovesSlot(Victim), 0)
                End If

                If GetPlayerLegsSlot(Victim) > 0 Then
                    Call PlayerMapDropItem(Victim, GetPlayerLegsSlot(Victim), 0)
                End If

                If GetPlayerAmuletSlot(Victim) > 0 Then
                    Call PlayerMapDropItem(Victim, GetPlayerAmuletSlot(Victim), 0)
                End If


Procure por:

Código:
Case ITEM_TYPE_SHIELD
 
                        If GetPlayerShieldSlot(Index) > 0 Then
                            If i = GetPlayerShieldSlot(Index) Then
                                Call SetPlayerShieldSlot(Index, 0)
                                Call SendWornEquipment(Index)
                                TakeItem = True
                            Else
 
                                ' Ver se o item que estamos pegando já está equipado
                                If ItemNum <> GetPlayerInvItemNum(Index, GetPlayerShieldSlot(Index)) Then
                                    TakeItem = True
                                End If
                            End If
 
                        Else
                            TakeItem = True
                        End If


abaixo adicione:

Código:
                    Case ITEM_TYPE_RING1
 
                        If GetPlayerRing1Slot(Index) > 0 Then
                            If i = GetPlayerRing1Slot(Index) Then
                                Call SetPlayerRing1Slot(Index, 0)
                                Call SendWornEquipment(Index)
                                TakeItem = True
                            Else
 
                                ' Ver se o item que estamos pegando já está equipado
                                If ItemNum <> GetPlayerInvItemNum(Index, GetPlayerRing1Slot(Index)) Then
                                    TakeItem = True
                                End If
                            End If
 
                        Else
                            TakeItem = True
                        End If

                    Case ITEM_TYPE_RING2
 
                        If GetPlayerRing1Slot(Index) > 0 Then
                            If i = GetPlayerRing2Slot(Index) Then
                                Call SetPlayerRing2Slot(Index, 0)
                                Call SendWornEquipment(Index)
                                TakeItem = True
                            Else
 
                                ' Ver se o item que estamos pegando já está equipado
                                If ItemNum <> GetPlayerInvItemNum(Index, GetPlayerRing2Slot(Index)) Then
                                    TakeItem = True
                                End If
                            End If
 
                        Else
                            TakeItem = True
                        End If

                    Case ITEM_TYPE_GLOVES
 
                        If GetPlayerRing1Slot(Index) > 0 Then
                            If i = GetPlayerGlovesSlot(Index) Then
                                Call SetPlayerGlovesSlot(Index, 0)
                                Call SendWornEquipment(Index)
                                TakeItem = True
                            Else
 
                                ' Ver se o item que estamos pegando já está equipado
                                If ItemNum <> GetPlayerInvItemNum(Index, GetPlayerGlovesSlot(Index)) Then
                                    TakeItem = True
                                End If
                            End If
 
                        Else
                            TakeItem = True
                        End If

                    Case ITEM_TYPE_LEGS
 
                        If GetPlayerRing1Slot(Index) > 0 Then
                            If i = GetPlayerLegsSlot(Index) Then
                                Call SetPlayerLegsSlot(Index, 0)
                                Call SendWornEquipment(Index)
                                TakeItem = True
                            Else
 
                                ' Ver se o item que estamos pegando já está equipado
                                If ItemNum <> GetPlayerInvItemNum(Index, GetPlayerLegsSlot(Index)) Then
                                    TakeItem = True
                                End If
                            End If
 
                        Else
                            TakeItem = True
                        End If

                    Case ITEM_TYPE_AMULET
 
                        If GetPlayerRing1Slot(Index) > 0 Then
                            If i = GetPlayerAmuletSlot(Index) Then
                                Call SetPlayerAmuletSlot(Index, 0)
                                Call SendWornEquipment(Index)
                                TakeItem = True
                            Else
 
                                ' Ver se o item que estamos pegando já está equipado
                                If ItemNum <> GetPlayerInvItemNum(Index, GetPlayerAmuletSlot(Index)) Then
                                    TakeItem = True
                                End If
                            End If
 
                        Else
                            TakeItem = True
                        End If

Procure por:

Código:
' Checar se já não é uma arma equipavel, caso sim, não pegar ela.
                If (N <> ITEM_TYPE_WEAPON) And (N <> ITEM_TYPE_ARMOR) And (N <> ITEM_TYPE_HELMET) And (N <> ITEM_TYPE_SHIELD) Then

Mude para

Código:
                ' Checar se já não é uma arma equipavel, caso sim, não pegar ela.
                If (N <> ITEM_TYPE_WEAPON) And (N <> ITEM_TYPE_ARMOR) And (N <> ITEM_TYPE_HELMET) And (N <> ITEM_TYPE_SHIELD) And (N <> ITEM_TYPE_RING1) And (N <> ITEM_TYPE_RING2) And (N <> ITEM_TYPE_GLOVES) And (N <> ITEM_TYPE_LEGS) And (N <> ITEM_TYPE_AMULET) Then

Procure por:

Código:
                    Case ITEM_TYPE_SHIELD
 
                        If InvNum <> GetPlayerShieldSlot(Index) Then
                            If n4 > 0 Then
                                If GetPlayerClass(Index) <> n4 Then
                                    Call PlayerMsg(Index, "Você precisa ser classe " & GetClassName(n4) & " para usar esse item!", BrightRed)
                                    Exit Sub
                                End If
                            End If
 
                            If GetPlayerAccess(Index) < n5 Then
                                Call PlayerMsg(Index, "Seu acesso precisa ser maior que " & n5 & "!", BrightRed)
                                Exit Sub
                            End If
 
                            If Int(GetPlayerstr(Index)) < n1 Then
                                Call PlayerMsg(Index, "Sua força é muito baixa para equipar esse item! Força requerida:(" & n1 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerDEF(Index)) < n2 Then
                                Call PlayerMsg(Index, "Sua defesa é muito baixa para equipar esse item! Defesa requerida: (" & n2 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerSPEED(Index)) < n3 Then
                                Call PlayerMsg(Index, "Sua velocidade é muito baixa para equipar esse item! Velocidade requerida: (" & n3 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerMAGI(Index)) < n6 Then
                                Call PlayerMsg(Index, "Sua magia é muito baixa para equipar esse item! Magia requerida: (" & n6 & ")", BrightRed)
                                Exit Sub
                            End If
 
                            Call SetPlayerShieldSlot(Index, InvNum)
                        Else
                            Call SetPlayerShieldSlot(Index, 0)
                        End If
 
                        Call SendWornEquipment(Index)

Abaixo adicione:

Código:
Case ITEM_TYPE_RING1
 
                        If InvNum <> GetPlayerRing1Slot(Index) Then
                            If n4 > 0 Then
                                If GetPlayerClass(Index) <> n4 Then
                                    Call PlayerMsg(Index, "Você precisa ser classe " & GetClassName(n4) & " para usar esse item!", BrightRed)
                                    Exit Sub
                                End If
                            End If
 
                            If GetPlayerAccess(Index) < n5 Then
                                Call PlayerMsg(Index, "Seu acesso precisa ser maior que " & n5 & "!", BrightRed)
                                Exit Sub
                            End If
 
                            If Int(GetPlayerstr(Index)) < n1 Then
                                Call PlayerMsg(Index, "Sua força é muito baixa para equipar esse item! Força requerida:(" & n1 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerDEF(Index)) < n2 Then
                                Call PlayerMsg(Index, "Sua defesa é muito baixa para equipar esse item! Defesa requerida: (" & n2 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerSPEED(Index)) < n3 Then
                                Call PlayerMsg(Index, "Sua velocidade é muito baixa para equipar esse item! Velocidade requerida: (" & n3 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerMAGI(Index)) < n6 Then
                                Call PlayerMsg(Index, "Sua magia é muito baixa para equipar esse item! Magia requerida: (" & n6 & ")", BrightRed)
                                Exit Sub
                            End If
 
                            Call SetPlayerRing1Slot(Index, InvNum)
                        Else
                            Call SetPlayerRing1Slot(Index, 0)
                        End If
 
                        Call SendWornEquipment(Index)

                    Case ITEM_TYPE_RING2
 
                        If InvNum <> GetPlayerRing1Slot(Index) Then
                            If n4 > 0 Then
                                If GetPlayerClass(Index) <> n4 Then
                                    Call PlayerMsg(Index, "Você precisa ser classe " & GetClassName(n4) & " para usar esse item!", BrightRed)
                                    Exit Sub
                                End If
                            End If
 
                            If GetPlayerAccess(Index) < n5 Then
                                Call PlayerMsg(Index, "Seu acesso precisa ser maior que " & n5 & "!", BrightRed)
                                Exit Sub
                            End If
 
                            If Int(GetPlayerstr(Index)) < n1 Then
                                Call PlayerMsg(Index, "Sua força é muito baixa para equipar esse item! Força requerida:(" & n1 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerDEF(Index)) < n2 Then
                                Call PlayerMsg(Index, "Sua defesa é muito baixa para equipar esse item! Defesa requerida: (" & n2 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerSPEED(Index)) < n3 Then
                                Call PlayerMsg(Index, "Sua velocidade é muito baixa para equipar esse item! Velocidade requerida: (" & n3 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerMAGI(Index)) < n6 Then
                                Call PlayerMsg(Index, "Sua magia é muito baixa para equipar esse item! Magia requerida: (" & n6 & ")", BrightRed)
                                Exit Sub
                            End If
 
                            Call SetPlayerRing2Slot(Index, InvNum)
                        Else
                            Call SetPlayerRing2Slot(Index, 0)
                        End If
 
                        Call SendWornEquipment(Index)

                    Case ITEM_TYPE_GLOVES
 
                        If InvNum <> GetPlayerGlovesSlot(Index) Then
                            If n4 > 0 Then
                                If GetPlayerClass(Index) <> n4 Then
                                    Call PlayerMsg(Index, "Você precisa ser classe " & GetClassName(n4) & " para usar esse item!", BrightRed)
                                    Exit Sub
                                End If
                            End If
 
                            If GetPlayerAccess(Index) < n5 Then
                                Call PlayerMsg(Index, "Seu acesso precisa ser maior que " & n5 & "!", BrightRed)
                                Exit Sub
                            End If
 
                            If Int(GetPlayerstr(Index)) < n1 Then
                                Call PlayerMsg(Index, "Sua força é muito baixa para equipar esse item! Força requerida:(" & n1 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerDEF(Index)) < n2 Then
                                Call PlayerMsg(Index, "Sua defesa é muito baixa para equipar esse item! Defesa requerida: (" & n2 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerSPEED(Index)) < n3 Then
                                Call PlayerMsg(Index, "Sua velocidade é muito baixa para equipar esse item! Velocidade requerida: (" & n3 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerMAGI(Index)) < n6 Then
                                Call PlayerMsg(Index, "Sua magia é muito baixa para equipar esse item! Magia requerida: (" & n6 & ")", BrightRed)
                                Exit Sub
                            End If
 
                            Call SetPlayerGlovesSlot(Index, InvNum)
                        Else
                            Call SetPlayerGlovesSlot(Index, 0)
                        End If
 
                        Call SendWornEquipment(Index)

                    Case ITEM_TYPE_LEGS
 
                        If InvNum <> GetPlayerLegsSlot(Index) Then
                            If n4 > 0 Then
                                If GetPlayerClass(Index) <> n4 Then
                                    Call PlayerMsg(Index, "Você precisa ser classe " & GetClassName(n4) & " para usar esse item!", BrightRed)
                                    Exit Sub
                                End If
                            End If
 
                            If GetPlayerAccess(Index) < n5 Then
                                Call PlayerMsg(Index, "Seu acesso precisa ser maior que " & n5 & "!", BrightRed)
                                Exit Sub
                            End If
 
                            If Int(GetPlayerstr(Index)) < n1 Then
                                Call PlayerMsg(Index, "Sua força é muito baixa para equipar esse item! Força requerida:(" & n1 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerDEF(Index)) < n2 Then
                                Call PlayerMsg(Index, "Sua defesa é muito baixa para equipar esse item! Defesa requerida: (" & n2 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerSPEED(Index)) < n3 Then
                                Call PlayerMsg(Index, "Sua velocidade é muito baixa para equipar esse item! Velocidade requerida: (" & n3 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerMAGI(Index)) < n6 Then
                                Call PlayerMsg(Index, "Sua magia é muito baixa para equipar esse item! Magia requerida: (" & n6 & ")", BrightRed)
                                Exit Sub
                            End If
 
                            Call SetPlayerLegsSlot(Index, InvNum)
                        Else
                            Call SetPlayerLegsSlot(Index, 0)
                        End If
 
                        Call SendWornEquipment(Index)
                   
                    Case ITEM_TYPE_AMULET
 
                        If InvNum <> GetPlayerAmuletSlot(Index) Then
                            If n4 > 0 Then
                                If GetPlayerClass(Index) <> n4 Then
                                    Call PlayerMsg(Index, "Você precisa ser classe " & GetClassName(n4) & " para usar esse item!", BrightRed)
                                    Exit Sub
                                End If
                            End If
 
                            If GetPlayerAccess(Index) < n5 Then
                                Call PlayerMsg(Index, "Seu acesso precisa ser maior que " & n5 & "!", BrightRed)
                                Exit Sub
                            End If
 
                            If Int(GetPlayerstr(Index)) < n1 Then
                                Call PlayerMsg(Index, "Sua força é muito baixa para equipar esse item! Força requerida:(" & n1 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerDEF(Index)) < n2 Then
                                Call PlayerMsg(Index, "Sua defesa é muito baixa para equipar esse item! Defesa requerida: (" & n2 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerSPEED(Index)) < n3 Then
                                Call PlayerMsg(Index, "Sua velocidade é muito baixa para equipar esse item! Velocidade requerida: (" & n3 & ")", BrightRed)
                                Exit Sub
                            ElseIf Int(GetPlayerMAGI(Index)) < n6 Then
                                Call PlayerMsg(Index, "Sua magia é muito baixa para equipar esse item! Magia requerida: (" & n6 & ")", BrightRed)
                                Exit Sub
                            End If
 
                            Call SetPlayerAmuletSlot(Index, InvNum)
                        Else
                            Call SetPlayerAmuletSlot(Index, 0)
                        End If
 
                        Call SendWornEquipment(Index)


Procure:

Código:
                        If GetPlayerWeaponSlot(Index) <> i And GetPlayerArmorSlot(Index) <> i And GetPlayerShieldSlot(Index) <> i And GetPlayerHelmetSlot(Index) <> i Then
                            Call SetPlayerInvItemNum(Index, i, 0)
                            Call PlayerMsg(Index, "You have bought a new sprite!", BrightGreen)
                            Call SetPlayerSprite(Index, Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1)
                            Call SendDataToMap(GetPlayerMap(Index), "checksprite" & SEP_CHAR & Index & SEP_CHAR & GetPlayerSprite(Index) & END_CHAR)
                            Call SendInventory(Index)
                        End If
                    End If
 
                    If GetPlayerWeaponSlot(Index) <> i And GetPlayerArmorSlot(Index) <> i And GetPlayerShieldSlot(Index) <> i And GetPlayerHelmetSlot(Index) <> i Then
                        Exit Sub
                    End If
                End If

Mude tudo para:

Código:
                        If GetPlayerWeaponSlot(Index) <> i And GetPlayerArmorSlot(Index) <> i And GetPlayerShieldSlot(Index) <> i And GetPlayerHelmetSlot(Index) <> i And GetPlayerRing1Slot(Index) <> i And GetPlayerRing2Slot(Index) <> i And GetPlayerGlovesSlot(Index) <> i And GetPlayerLegsSlot(Index) <> i And GetPlayerAmuletSlot(Index) <> i Then
                            Call SetPlayerInvItemNum(Index, i, 0)
                            Call PlayerMsg(Index, "You have bought a new sprite!", BrightGreen)
                            Call SetPlayerSprite(Index, Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1)
                            Call SendDataToMap(GetPlayerMap(Index), "checksprite" & SEP_CHAR & Index & SEP_CHAR & GetPlayerSprite(Index) & END_CHAR)
                            Call SendInventory(Index)
                        End If
                    End If
 
                    If GetPlayerWeaponSlot(Index) <> i And GetPlayerArmorSlot(Index) <> i And GetPlayerShieldSlot(Index) <> i And GetPlayerHelmetSlot(Index) <> i And GetPlayerRing1Slot(Index) <> i And GetPlayerRing2Slot(Index) <> i And GetPlayerGlovesSlot(Index) <> i And GetPlayerLegsSlot(Index) <> i And GetPlayerAmuletSlot(Index) <> i Then
                        Exit Sub
                    End If
                End If

Procure por:

Código:
Sub SendWornEquipment

Mude tudo para:

Código:
Sub SendWornEquipment(ByVal Index As Long)
    Dim Packet As String
 
    If IsPlaying(Index) Then
        Packet = "PLAYERWORNEQ" & SEP_CHAR & Index & SEP_CHAR & GetPlayerArmorSlot(Index) & SEP_CHAR & GetPlayerWeaponSlot(Index) & SEP_CHAR & GetPlayerHelmetSlot(Index) & SEP_CHAR & GetPlayerShieldSlot(Index) & SEP_CHAR & GetPlayerRing1Slot(Index) & SEP_CHAR & GetPlayerRing2Slot(Index) & SEP_CHAR & GetPlayerGlovesSlot(Index) & SEP_CHAR & GetPlayerLegsSlot(Index) & SEP_CHAR & GetPlayerAmuletSlot(Index) & END_CHAR
        Call SendDataToMap(GetPlayerMap(Index), Packet)
    End If
 
End Sub

Procure por:

Código:
Function GetPlayerArmorSlot(ByVal Index As Long) As Long
    GetPlayerArmorSlot = Player(Index).Char(Player(Index).CharNum).ArmorSlot
End Function
 
Sub SetPlayerArmorSlot(ByVal Index As Long, InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).ArmorSlot = InvNum
End Sub

abaixo adicione:

Código:
Function GetPlayerRing1Slot(ByVal Index As Long) As Long
    GetPlayerRing1Slot = Player(Index).Char(Player(Index).CharNum).Ring1Slot
End Function
 
Sub SetPlayerRing1Slot(ByVal Index As Long, InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).Ring1Slot = InvNum
End Sub

Function GetPlayerRing2Slot(ByVal Index As Long) As Long
    GetPlayerRing2Slot = Player(Index).Char(Player(Index).CharNum).Ring2Slot
End Function
 
Sub SetPlayerRing2Slot(ByVal Index As Long, InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).Ring2Slot = InvNum
End Sub

Function GetPlayerGlovesSlot(ByVal Index As Long) As Long
    GetPlayerGlovesSlot = Player(Index).Char(Player(Index).CharNum).GlovesSlot
End Function
 
Sub SetPlayerGlovesSlot(ByVal Index As Long, InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).GlovesSlot = InvNum
End Sub

Function GetPlayerLegsSlot(ByVal Index As Long) As Long
    GetPlayerLegsSlot = Player(Index).Char(Player(Index).CharNum).LegsSlot
End Function
 
Sub SetPlayerLegsSlot(ByVal Index As Long, InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).LegsSlot = InvNum
End Sub

Function GetPlayerAmuletSlot(ByVal Index As Long) As Long
    GetPlayerAmuletSlot = Player(Index).Char(Player(Index).CharNum).AmuletSlot
End Function
 
Sub SetPlayerAmuletSlot(ByVal Index As Long, InvNum As Long)
    Player(Index).Char(Player(Index).CharNum).AmuletSlot = InvNum
End Sub

Procure por:

Código:
                Case ITEM_TYPE_SHIELD
 
                    If InvNum = GetPlayerShieldSlot(Index) Then
                        Call SetPlayerShieldSlot(Index, 0)
                        Call SendWornEquipment(Index)
                    End If
 
                    MapItem(GetPlayerMap(Index), i).Dur = GetPlayerInvItemDur(Index, InvNum)

Abaixo adicione:

Código:
                Case ITEM_TYPE_RING1
 
                    If InvNum = GetPlayerRing1Slot(Index) Then
                        Call SetPlayerRing1Slot(Index, 0)
                        Call SendWornEquipment(Index)
                    End If
 
                    MapItem(GetPlayerMap(Index), i).Dur = GetPlayerInvItemDur(Index, InvNum)

                Case ITEM_TYPE_RING2
 
                    If InvNum = GetPlayerRing2Slot(Index) Then
                        Call SetPlayerRing2Slot(Index, 0)
                        Call SendWornEquipment(Index)
                    End If
 
                    MapItem(GetPlayerMap(Index), i).Dur = GetPlayerInvItemDur(Index, InvNum)

                Case ITEM_TYPE_GLOVES
 
                    If InvNum = GetPlayerGlovesSlot(Index) Then
                        Call SetPlayerGlovesSlot(Index, 0)
                        Call SendWornEquipment(Index)
                    End If
 
                    MapItem(GetPlayerMap(Index), i).Dur = GetPlayerInvItemDur(Index, InvNum)

                Case ITEM_TYPE_LEGS
 
                    If InvNum = GetPlayerLegsSlot(Index) Then
                        Call SetPlayerLegsSlot(Index, 0)
                        Call SendWornEquipment(Index)
                    End If
 
                    MapItem(GetPlayerMap(Index), i).Dur = GetPlayerInvItemDur(Index, InvNum)

                Case ITEM_TYPE_AMULET
 
                    If InvNum = GetPlayerAmuletSlot(Index) Then
                        Call SetPlayerAmuletSlot(Index, 0)
                        Call SendWornEquipment(Index)
                    End If
 
                    MapItem(GetPlayerMap(Index), i).Dur = GetPlayerInvItemDur(Index, InvNum)


Procure por:

Código:
Sub SendWornEquipment

Mude para:

Código:
Sub SendWornEquipment(ByVal Index As Long)
    Dim Packet As String
 
    If IsPlaying(Index) Then
        Packet = "PLAYERWORNEQ" & SEP_CHAR & Index & SEP_CHAR & GetPlayerArmorSlot(Index) & SEP_CHAR & GetPlayerWeaponSlot(Index) & SEP_CHAR & GetPlayerHelmetSlot(Index) & SEP_CHAR & GetPlayerShieldSlot(Index) & SEP_CHAR & GetPlayerRing1Slot(Index) & SEP_CHAR & GetPlayerRing2Slot(Index) & SEP_CHAR & GetPlayerGlovesSlot(Index) & SEP_CHAR & GetPlayerLegsSlot(Index) & SEP_CHAR & GetPlayerAmuletSlot(Index) & END_CHAR
        Call SendDataToMap(GetPlayerMap(Index), Packet)
    End If
 
End Sub

Creditos:LosT - Style por desenvolver o sistema
Creditos: Guilherme por fazer sistema original "Liberaçao de slot "Ring1"
Creditos: MMORPGBR por deixar eu conpartilha com voces


Última edição por Lucas Roberto em Sáb 22 Jan 2011, 14:03, editado 4 vez(es)
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por maykel Dom 05 Set 2010, 14:11

foi Testado?
maykel
maykel
Membro
Membro

Mensagens : 133

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Shadow Dom 05 Set 2010, 14:44

Muito bom, vo testa ;D
avatar
Shadow
Novato
Novato

Mensagens : 42

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Akatsukyi Dom 05 Set 2010, 15:42

nossaaaa o.o +1
Akatsukyi
Akatsukyi
Membro Junior
Membro Junior

Mensagens : 75

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Karlos Dom 05 Set 2010, 16:48

o que iso faz?
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por maykel Dom 05 Set 2010, 17:25

Adiciona slots de equipamento!
maykel
maykel
Membro
Membro

Mensagens : 133

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por MarcosVinicius158 Dom 05 Set 2010, 17:45

Boa + 1 Cred!
MarcosVinicius158
MarcosVinicius158
Membro
Membro

Mensagens : 132

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Dom 05 Set 2010, 18:24

P- escreveu:o que iso faz?


Oo sem ser desagradavel mais um cara que e Adiministrador de um Forum famoso
e nao saber o que e slot eo que ele faz e foda

Mais vamos la explicando
Ele libera todo o Equipamentos

Espricado

Foi Testado!

Sim ate esta no meus Projeto e tambem esta na engine nova que estoiu fazendo
http://www.mmorpgbr.com/utilitarios-relacionados-com-a-engine-f15/engine-ultra-power-t2556.htmhttp://www.mmorpgbr.com/utilitarios-relacionados-com-a-engine-f15/engine-ultra-power-t2556.htm
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Karlos Dom 05 Set 2010, 21:48

foi mal eu postei no tópico errado
Smile
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por MarcosVinicius158 Dom 05 Set 2010, 21:51

kkkkkk'
MarcosVinicius158
MarcosVinicius158
Membro
Membro

Mensagens : 132

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Rio Absolut Dom 05 Set 2010, 22:49

Testado & AProvado
Rio Absolut
Rio Absolut
Membro Vitalicio
Membro Vitalicio

Mensagens : 655

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Seg 06 Set 2010, 10:39

P- escreveu:foi mal eu postei no tópico errado
Smile


hsuahsau sei Very Happy
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Gu1lh3rm3 Seg 06 Set 2010, 11:58

soh esqueceu de 1 kkkk
boots
Gu1lh3rm3
Gu1lh3rm3
Membro de Honra
Membro de Honra

Mensagens : 1232

http://www.extremedbz.eu5.org

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Seg 06 Set 2010, 13:38

Gu1lh3rm3 escreveu:soh esqueceu de 1 kkkk
boots

SO liberei qual ja estava na engine mesmo

Se tudo ocorrer bem na meu jogo vai ter boots
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Gu1lh3rm3 Seg 06 Set 2010, 14:41

ainda pelo que vi ou eu me enganei esta incompleto
Gu1lh3rm3
Gu1lh3rm3
Membro de Honra
Membro de Honra

Mensagens : 1232

http://www.extremedbz.eu5.org

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Ter 07 Set 2010, 20:55

Gu1lh3rm3 escreveu:ainda pelo que vi ou eu me enganei esta incompleto

Hehe bem observado

Estava Olhando e Persebi tambem vou ageitar isso ae

Vlw ae Gu1lh3rm3
Very Happy
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Gu1lh3rm3 Qua 08 Set 2010, 00:46

quando arrumar avisa aew !
Gu1lh3rm3
Gu1lh3rm3
Membro de Honra
Membro de Honra

Mensagens : 1232

http://www.extremedbz.eu5.org

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Qua 08 Set 2010, 19:39

Gu1lh3rm3 escreveu:quando arrumar avisa aew !


Ae meu chapa arrumado ^^

Vlw por Obsevar ^^
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Gu1lh3rm3 Qua 08 Set 2010, 19:55

eu num li tudo soh fui vendo mais testa os items ... deixa o bixo da 1 hit para ver se nao vai dar erro !
Gu1lh3rm3
Gu1lh3rm3
Membro de Honra
Membro de Honra

Mensagens : 1232

http://www.extremedbz.eu5.org

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lucas Roberto Qua 08 Set 2010, 20:10

Esta tudo Ok fisso esse sistema Hoje 2 Veses estou ate cansadao hsuaa

Funfa sim testp e aprovado
Na engine vai ter esse sistema de liberaçao de slot
e no meu jogo tambem esta la nao deu nehum erro normal
pois no seu la na liberaçao de Slot Ring1 voce errou numa Sub la
so traduzi e adicionei as slot e corrigi o erro que tinha nele
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por willa Sex 10 Set 2010, 21:40

Ajuda uma coisa aki

eu fiz isso ai...

mais no meu n aparece quando item ta equipado....

e eu fiz tudo certo..

tipo da para mim criar o item certinho...
mais os slot n aprecem na tela so os antigos mesmo' alguem ajuda?
willa
willa
Membro Junior
Membro Junior

Mensagens : 80

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por willa Sex 10 Set 2010, 21:56

Meu Na hora q faço tbm da erro 13
willa
willa
Membro Junior
Membro Junior

Mensagens : 80

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por MarcosVinicius158 Sex 10 Set 2010, 22:53

Double Post!
MarcosVinicius158
MarcosVinicius158
Membro
Membro

Mensagens : 132

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Lendário Sáb 11 Set 2010, 06:05

willa na próxima é punição.
Lendário
Lendário
Administrador Lendário
Administrador Lendário

Mensagens : 1958

Ir para o topo Ir para baixo

[ALL]Liberando Todas as Slot "Completo" Sem Erros Empty Re: [ALL]Liberando Todas as Slot "Completo" Sem Erros

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 4 1, 2, 3, 4  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos