Universo Games
Ola , Convidado



Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no mundo rpg!!!
Universo Games

Suporte e Desenvolvimento só no Universo Games

Ola Convidado, Seja Bem vindo a equipe lhe deseja boa sorte no seu projeto!

Você não está conectado. Conecte-se ou registre-se

[ALL]Liberando todas as Slot

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1Tutorial [ALL]Liberando todas as Slot em Dom 29 Ago 2010, 19:31

Luucas Robeerto


Fundador
Fundador
Olha pessoal esse Tuturial vai fazer que liberada Todos as Slot
Entao vamos la

Client~Side
1º de tudo vai na frmItemEditor e proucure na Properts por ... List .. no final dela adicione
Código:
Ring1
Ring2
Gloves
Legs
Amulet

vamos começar na frmMirage ... va na picture onde fica os equipamentos ... e proucure por...
Código:
Ring1Image
Ring2Image
GlovesImage
LegsImage
AmuletImage

achano isso na Properties ... proucure por .. Visible ... ela vai estar como

Código:
False

Mude para
Código:
True

certo isso fara com que ela apareça ... agora vamos ter que fazer uma coisa que é meia complicada .. vai na picInv3 ... e dentro da caixinha roxa tera uma pic chamada
Código:
Picture9

dentro dela tem aqueles quadradinhos amarelos ... copie o quadradinho amarelo chamado
Código:
EquipS(3)

e depois cole pelo menos uma 5 veses e nem presisa mecher para ferificar olha se o ultimo quadradinho amarelo eo?
Código:
EquipS(8)

Se tiver assim ^^ ... pronto pela parte mais dificil jah passamos ... vamos agora para parte um poco mais facil ... programer XD...

Código:
' ::::::::::::::::::::::::::::::::::
' :: Player worn equipment packet ::
' ::::::::::::::::::::::::::::::::::


Abaixo de
Código:
Call SetPlayerShieldSlot(z, Val(Parse(5)))

Adicione:
Código:
 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)))

agora proucure por ...
Código:
' Worn equipmentArmorSlot As Long
WeaponSlot As Long
HelmetSlot As Long
ShieldSlot As Long

abaixo do ShieldSlot As Long adicione ...

Código:
Ring1Slot As Long
Ring2Slot As Long
GlovesSlot As Long
LegsSlot As Long
AmuletSlot As Long

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

abaixo do Shield Slot = 0 coloque ...
Código:
 Player(Index).Ring1Slot = 0
Player(Index).Ring2Slot = 0
Player(Index).GlovesSlot = 0
Player(Index).LegsSlot = 0
Player(Index).AmuletSlot = 0

agora na modTypes adicione isso no final dela ...

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 SetPlayerGlovesSlot(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
GetPlayerRing2Slot = Player(Index).AmuletSlot
End Function

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

proucure 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:
If (frmItemEditor.cmbType.ListIndex = ITEM_TYPE_PET) Then

Abaixo do End If coloque:
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:
[code]Public Sub UpdateTradeInventory()[/code]

Mude a Sub Intera Por:
[code]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 ""
End If
Next I

frmPlayerTrade.PlayerInv1.ListIndex = 0
End Sub[/code]

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 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 dEnd Sub

na modClientTPC proucure por
' :: Player Stats Packet ::[/code]

dentro desses codigo proucure 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

proucure agora por...
Código:
Sub cmbType

Mude a Sub Intera para:
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

agora vá na
Código:
Sub cmdUpdate_Click()

e troque ela por essa...
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_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
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 = 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

Procure por:
Código:
Private Sub picInv_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)

Mude a Sub Interira 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) & ")"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
Else
If GetPlayerWeaponSlot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerArmorSlot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerHelmetSlot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerShieldSlot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerRing1Slot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerRing2Slot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerGlovesSlot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerLegsSlot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
ElseIf GetPlayerAmuletSlot(MyIndex) = d + 1 Then
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (equipado)"
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
Else
descName.Caption = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name)
descName.ForeColor = Trim(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Rarity)
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



Última edição por Leon em Ter 07 Dez 2010, 09:56, editado 4 vez(es)

http://universogamesmmo.forumeiros.com

2Tutorial Continuaçao do Tuturial em Dom 29 Ago 2010, 20:12

Luucas Robeerto


Fundador
Fundador
Desculpe pelo Double mais o Tuturial e enorme entao vamos la

Server.Cide


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, "Ring2Slot", 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

Mude para:
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
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

Muda 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).ArmorSlot = 0
Player(Index).Char(CharNum).WeaponSlot = 0
Player(Index).Char(CharNum).HelmetSlot = 0
Player(Index).Char(CharNum).ShieldSlot = 0
Player(Index).Char(CharNum).Map = 0
Player(Index).Char(CharNum).x = 0
Player(Index).Char(CharNum).y = 0
Player(Index).Char(CharNum).Dir = 0
Player(Index).Char(CharNum).Resets = 0
End Sub

Mude para:
Código:
 Player(Index).Char(CharNum).ArmorSlot = 0
Player(Index).Char(CharNum).WeaponSlot = 0
Player(Index).Char(CharNum).HelmetSlot = 0
Player(Index).Char(CharNum).ShieldSlot = 0
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
Player(Index).Char(CharNum).Map = 0
Player(Index).Char(CharNum).x = 0
Player(Index).Char(CharNum).y = 0
Player(Index).Char(CharNum).Dir = 0
Player(Index).Char(CharNum).Resets = 0
End Sub

Na mesma sub procure por:
Código:
 Player(Index).Char(i).ArmorSlot = 0
Player(Index).Char(i).WeaponSlot = 0
Player(Index).Char(i).HelmetSlot = 0
Player(Index).Char(i).ShieldSlot = 0
Player(Index).Char(i).Map = 0
Player(Index).Char(i).x = 0
Player(Index).Char(i).y = 0
Player(Index).Char(i).Dir = 0

Mude para:

Código:
 Player(Index).Char(i).ArmorSlot = 0
Player(Index).Char(i).WeaponSlot = 0
Player(Index).Char(i).HelmetSlot = 0
Player(Index).Char(i).ShieldSlot = 0
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
Player(Index).Char(i).Map = 0
Player(Index).Char(i).x = 0
Player(Index).Char(i).y = 0
Player(Index).Char(i).Dir = 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 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 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 GetPlayerLegsSlot(Index) > 0 Then
add = add + Item(GetPlayerInvItemNum(Index, GetPlayerLegsSlot(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 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 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 GetPlayerstr

Mude 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 GetPlayerLegsSlot(Index) > 0 Then
add = add + Item(GetPlayerInvItemNum(Index, GetPlayerLegsSlot(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 GetPlayerRing2Slot(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 GetPlayerGlovesSlot(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 GetPlayerLegsSlot(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 GetPlayerAmuletSlot(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


Case ITEM_TYPE_RING2

If InvNum <> GetPlayerRing2Slot(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


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


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


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

Procure por:
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



Última edição por Leon em Ter 07 Dez 2010, 09:54, editado 1 vez(es)

http://universogamesmmo.forumeiros.com

3Tutorial Re: [ALL]Liberando todas as Slot em Dom 29 Ago 2010, 20:48

GameOver


Administrador
Administrador
Muito bom

Otimo!!!

Primeiro Forum que eu fesso esse Tuturial de liberação de todas a Slot

Show

+2 CRED
Razz

4Tutorial Re: [ALL]Liberando todas as Slot em Dom 29 Ago 2010, 21:01

D'Black


Membro
Membro
lol Shocked Isso è Grande Dé Mais + 1 De Cred Very Happy

http://www.uniononline.tk/

5Tutorial Re: [ALL]Liberando todas as Slot em Dom 29 Ago 2010, 21:11

GameOver


Administrador
Administrador
D'Blackem Diz: Seg Ago 30, 2010 1:01 am
lol Isso è Grande Dé Mais + 1 De Cred


Para Dar o CRED presisa Clicar no mais do lado direto do Forum
Veja o Exemplo

[Você precisa estar registrado e conectado para ver esta imagem.]

6Tutorial Re: [ALL]Liberando todas as Slot em Seg 30 Ago 2010, 11:20

D'Black


Membro
Membro
lol malz esqueci de dar o credito Shocked

http://www.uniononline.tk/

7Tutorial Re: [ALL]Liberando todas as Slot em Seg 29 Nov 2010, 12:08

LosTStyle


Membro
Membro
Bom na MMORPGBR ja esta atualizado esse sistema e bom voce atualizar

8Tutorial Re: [ALL]Liberando todas as Slot em Seg 29 Nov 2010, 12:18

Luucas Robeerto


Fundador
Fundador
Assim Vlw LosT

Mais +1CRED


_______________________________________________________________________________________________________

[Você precisa estar registrado e conectado para ver esta imagem.]
Spoiler:
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
http://universogamesmmo.forumeiros.com

9Tutorial Re: [ALL]Liberando todas as Slot em Dom 12 Dez 2010, 18:36

willame


Membro
Membro
Bom Tuto!

10Tutorial Re: [ALL]Liberando todas as Slot em Qui 28 Jul 2011, 21:30

giovani18


Membro
Membro
so falto a bota neh?^^ da uma atualizada ai e coloca a bota

http://masterdbz.xpg.com.br

11Tutorial Re: [ALL]Liberando todas as Slot em Dom 21 Ago 2011, 18:50

Ricardo


Membro
Membro
Lucas ja corrigiu o erro de não salvar o item?

12Tutorial Re: [ALL]Liberando todas as Slot em Qui 08 Set 2011, 12:13

drayon


Membro
Membro
Lucas OBS: Ta Faltando a Boots

Então Não é Todas As Slots [Você precisa estar registrado e conectado para ver esta imagem.]

::Edit::
-1 Por Falta De Atenção lol!

^^ Mais Vlw Pela Intenção ^^

http://www.dbeternamente.net.tc

13Tutorial Re: [ALL]Liberando todas as Slot em Dom 11 Set 2011, 10:36

Luucas Robeerto


Fundador
Fundador
^^ lembrando... que existe alguns errinhos ai
mais facil de resolver qualquer duvida so apostar e eu irei ajudar...


_______________________________________________________________________________________________________

[Você precisa estar registrado e conectado para ver esta imagem.]
Spoiler:
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
http://universogamesmmo.forumeiros.com

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum