Chorlo Aprendizaje [1]
Cantidad de envíos : 44 Edad : 30 Fecha de inscripción : 07/12/2008
| Tema: Los GM's usan todo [0.11.5] Dom Dic 07, 2008 7:09 am | |
| ServidorBuscamos el Sub EquiparInvItem y remplasamos todo por esto: - Código:
-
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(SendTarget.ToIndex, UserIndex, 0, "||Solo los newbies pueden usar este objeto." & FONTTYPE_INFO) Exit Sub End If Select Case Obj.OBJType Case eOBJType.otWeapon If ClasePuedeUsarItem(UserIndex, ObjIndex) And _ FaccionPuedeUsarItem(UserIndex, ObjIndex) Or UserList(UserIndex).flags.Privilegios >= PlayerType.Dios 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(SendTarget.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(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "TW" & SND_SACARARMA) If UserList(UserIndex).flags.Mimetizado = 1 Then UserList(UserIndex).CharMimetizado.WeaponAnim = Obj.WeaponAnim Else UserList(UserIndex).Char.WeaponAnim = Obj.WeaponAnim Call ChangeUserChar(SendTarget.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(SendTarget.ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO) End If Case eOBJType.otHerramientas If ClasePuedeUsarItem(UserIndex, ObjIndex) And _ FaccionPuedeUsarItem(UserIndex, ObjIndex) Or UserList(UserIndex).flags.Privilegios >= PlayerType.Dios 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(SendTarget.ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO) End If Case eOBJType.otFlechas If ClasePuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(slot).ObjIndex) And _ FaccionPuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(slot).ObjIndex) Or UserList(UserIndex).flags.Privilegios >= PlayerType.Dios 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(SendTarget.ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO) End If Case eOBJType.otArmadura If UserList(UserIndex).flags.Navegando = 1 Then Exit Sub '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 >= PlayerType.Dios 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(SendTarget.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(SendTarget.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(SendTarget.ToIndex, UserIndex, 0, "||Tu clase,genero o raza no puede usar este objeto." & FONTTYPE_INFO) End If Case eOBJType.otCASCO If UserList(UserIndex).flags.Navegando = 1 Then Exit Sub If ClasePuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(slot).ObjIndex) _ Or UserList(UserIndex).flags.Privilegios >= PlayerType.Dios 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(SendTarget.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(SendTarget.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(SendTarget.ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO) End If Case eOBJType.otESCUDO If UserList(UserIndex).flags.Navegando = 1 Then Exit Sub If ClasePuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(slot).ObjIndex) And _ FaccionPuedeUsarItem(UserIndex, UserList(UserIndex).Invent.Object(slot).ObjIndex) _ Or UserList(UserIndex).flags.Privilegios >= PlayerType.Dios 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(SendTarget.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(SendTarget.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(SendTarget.ToIndex, UserIndex, 0, "||Tu clase no puede usar este objeto." & FONTTYPE_INFO) End If End Select 'Actualiza Call UpdateUserInv(False, UserIndex, slot) Exit Sub errhandler: Call LogError("EquiparInvItem Slot:" & slot) End Sub | |
|