A
Anonymous
Invitado
[Ayuda] Los gms usan todo
¿Como hago para que los gms puedan usar todos los objetos sin importar la clase?
¿Como hago para que los gms puedan usar todos los objetos sin importar la clase?
Sub EquiparInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte)
On Error GoTo errhandler
Sub EquiparInvItem(ByVal UserIndex As Integer, ByVal Slot As Byte)
On Error GoTo errhandler
'Equipa un item del inventario
Dim Obj As ObjData
Dim ObjIndex As Integer
ObjIndex = UserList(UserIndex).Invent.Object(Slot).ObjIndex
Obj = ObjData(ObjIndex)
If Obj.Newbie = 1 And Not EsNewbie(UserIndex) Then
Call SendData(ToIndex, UserIndex, 0, "||Solo los newbies pueden usar este objeto." & FONTTYPE_INFO)
Exit Sub
End If
Select Case Obj.ObjType
Case OBJTYPE_WEAPON
If ClasePuedeUsarItem(UserIndex, ObjIndex) And _
FaccionPuedeUsarItem(UserIndex, ObjIndex) Or UserList(UserIndex).flags.Privilegios > 0 Then
'Si esta equipado lo quita
If UserList(UserIndex).Invent.Object(Slot).Equipped Then
'Quitamos del inv el item
Call Desequipar(UserIndex, Slot)
'Animacion por defecto
If UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).CharMimetizado.WeaponAnim = NingunArma
Else
UserList(UserIndex).Char.WeaponAnim = NingunArma
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
Exit Sub
End If
'Quitamos el elemento anterior
If UserList(UserIndex).Invent.WeaponEqpObjIndex > 0 Then
Call Desequipar(UserIndex, UserList(UserIndex).Invent.WeaponEqpSlot)
End If
UserList(UserIndex).Invent.Object(Slot).Equipped = 1
UserList(UserIndex).Invent.WeaponEqpObjIndex = UserList(UserIndex).Invent.Object(Slot).ObjIndex
UserList(UserIndex).Invent.WeaponEqpSlot = Slot
'Sonido
Call SendData(ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "TW" & SOUND_SACARARMA)
If UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).CharMimetizado.WeaponAnim = Obj.WeaponAnim
Else
UserList(UserIndex).Char.WeaponAnim = Obj.WeaponAnim
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
Else
Call SendData(ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO)
End If
Case OBJTYPE_HERRAMIENTAS
If ClasePuedeUsarItem(UserIndex, ObjIndex) And _
FaccionPuedeUsarItem(UserIndex, ObjIndex) Or UserList(UserIndex).flags.Privilegios > 0 Then
'Si esta equipado lo quita
If UserList(UserIndex).Invent.Object(Slot).Equipped Then
'Quitamos del inv el item
Call Desequipar(UserIndex, Slot)
Exit Sub
End If
'Quitamos el elemento anterior
If UserList(UserIndex).Invent.HerramientaEqpObjIndex > 0 Then
Call Desequipar(UserIndex, UserList(UserIndex).Invent.HerramientaEqpSlot)
End If
UserList(UserIndex).Invent.Object(Slot).Equipped = 1
UserList(UserIndex).Invent.HerramientaEqpObjIndex = ObjIndex
UserList(UserIndex).Invent.HerramientaEqpSlot = Slot
Else
Call SendData(ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO)
End If
Case OBJTYPE_FLECHAS
If ClasePuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) And _
FaccionPuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) Or UserList(UserIndex).flags.Privilegios > 0 Then
'Si esta equipado lo quita
If UserList(UserIndex).Invent.Object(Slot).Equipped Then
'Quitamos del inv el item
Call Desequipar(UserIndex, Slot)
Exit Sub
End If
'Quitamos el elemento anterior
If UserList(UserIndex).Invent.MunicionEqpObjIndex > 0 Then
Call Desequipar(UserIndex, UserList(UserIndex).Invent.MunicionEqpSlot)
End If
UserList(UserIndex).Invent.Object(Slot).Equipped = 1
UserList(UserIndex).Invent.MunicionEqpObjIndex = UserList(UserIndex).Invent.Object(Slot).ObjIndex
UserList(UserIndex).Invent.MunicionEqpSlot = Slot
Else
Call SendData(ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO)
End If
Case OBJTYPE_ARMOUR
If UserList(UserIndex).flags.Navegando = 1 Then Exit Sub
Select Case Obj.SubTipo
Case OBJTYPE_ARMADURA
'Nos aseguramos que puede usarla
If ClasePuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) And _
SexoPuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) And _
CheckRazaUsaRopa(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) And _
FaccionPuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) Or UserList(UserIndex).flags.Privilegios > 0 Then
'Si esta equipado lo quita
If UserList(UserIndex).Invent.Object(Slot).Equipped Then
Call Desequipar(UserIndex, Slot)
Call DarCuerpoDesnudo(UserIndex, UserList(UserIndex).flags.Mimetizado = 1)
If Not UserList(UserIndex).flags.Mimetizado = 1 Then
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
Exit Sub
End If
'Quita el anterior
If UserList(UserIndex).Invent.ArmourEqpObjIndex > 0 Then
Call Desequipar(UserIndex, UserList(UserIndex).Invent.ArmourEqpSlot)
End If
'Lo equipa
UserList(UserIndex).Invent.Object(Slot).Equipped = 1
UserList(UserIndex).Invent.ArmourEqpObjIndex = UserList(UserIndex).Invent.Object(Slot).ObjIndex
UserList(UserIndex).Invent.ArmourEqpSlot = Slot
If UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).CharMimetizado.Body = Obj.Ropaje
Else
UserList(UserIndex).Char.Body = Obj.Ropaje
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
UserList(UserIndex).flags.Desnudo = 0
Else
Call SendData(ToIndex, UserIndex, 0, "||Tu clase,genero o raza no puede usar este objeto." & FONTTYPE_INFO)
End If
Case OBJTYPE_CASCO
If ClasePuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) Or UserList(UserIndex).flags.Privilegios > 0 Then
'Si esta equipado lo quita
If UserList(UserIndex).Invent.Object(Slot).Equipped Then
Call Desequipar(UserIndex, Slot)
If UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).CharMimetizado.CascoAnim = NingunCasco
Else
UserList(UserIndex).Char.CascoAnim = NingunCasco
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
Exit Sub
End If
'Quita el anterior
If UserList(UserIndex).Invent.CascoEqpObjIndex > 0 Then
Call Desequipar(UserIndex, UserList(UserIndex).Invent.CascoEqpSlot)
End If
'Lo equipa
UserList(UserIndex).Invent.Object(Slot).Equipped = 1
UserList(UserIndex).Invent.CascoEqpObjIndex = UserList(UserIndex).Invent.Object(Slot).ObjIndex
UserList(UserIndex).Invent.CascoEqpSlot = Slot
If UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).CharMimetizado.CascoAnim = Obj.CascoAnim
Else
UserList(UserIndex).Char.CascoAnim = Obj.CascoAnim
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
Else
Call SendData(ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO)
End If
Case OBJTYPE_ESCUDO
If ClasePuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) And _
FaccionPuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(Slot).ObjIndex) Or UserList(UserIndex).flags.Privilegios > 0 Then
'Si esta equipado lo quita
If UserList(UserIndex).Invent.Object(Slot).Equipped Then
Call Desequipar(UserIndex, Slot)
If UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).CharMimetizado.ShieldAnim = NingunEscudo
Else
UserList(UserIndex).Char.ShieldAnim = NingunEscudo
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
Exit Sub
End If
'Quita el anterior
If UserList(UserIndex).Invent.EscudoEqpObjIndex > 0 Then
Call Desequipar(UserIndex, UserList(UserIndex).Invent.EscudoEqpSlot)
End If
'Lo equipa
UserList(UserIndex).Invent.Object(Slot).Equipped = 1
UserList(UserIndex).Invent.EscudoEqpObjIndex = UserList(UserIndex).Invent.Object(Slot).ObjIndex
UserList(UserIndex).Invent.EscudoEqpSlot = Slot
If UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).CharMimetizado.ShieldAnim = Obj.ShieldAnim
Else
UserList(UserIndex).Char.ShieldAnim = Obj.ShieldAnim
Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
Else
Call SendData(ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO)
End If
End Select
End Select
'Actualiza
Call UpdateUserInv(True, UserIndex, 0)
Exit Sub
errhandler:
Call LogError("EquiparInvItem Slot:" & Slot)
End Sub
solremi dijo:en que parte dels ervidor lo puedo buscar?
asias
facundo dijo:Lo que Owa dice es que preguntes cosas obvias, hay varios lugares donde se dijo que para buscar hay que tocar Control+f y seleccionar buscar en todo el proyecto..