Error en UsuarioImpacto. Error 0

Aureysto

Newbie Lvl 6
Hola, cuando intento atacar un usuario siendo ciudadano, se me abre el cartel del comerciar, y al abrir los logs me aparece esto

24/09/2018 06:39:09 p.m. Error en UsuarioImpacto. Error 0 : AtacanteIndex: 2 Nick: BetaTester VictimaIndex: 1 Nick: uno

Ejecute el server en modo debug (todos los errores) pero no me salta ningun error.

este es el UsuarioImpacto:

Código:
Public Function UsuarioImpacto(ByVal AtacanteIndex As Integer, _
                               ByVal VictimaIndex As Integer) As Boolean
    
    On Error GoTo Errhandler

    Dim ProbRechazo            As Long

    Dim Rechazo                As Boolean

    Dim ProbExito              As Long

    Dim PoderAtaque            As Long

    Dim UserPoderEvasion       As Long

    Dim UserPoderEvasionEscudo As Long

    Dim Arma                   As Integer

    Dim SkillTacticas          As Long

    Dim SkillDefensa           As Long
    
    SkillTacticas = UserList(VictimaIndex).Stats.UserSkills(eSkill.Tacticas)
    SkillDefensa = UserList(VictimaIndex).Stats.UserSkills(eSkill.Defensa)
    
    Arma = UserList(AtacanteIndex).Invent.WeaponEqpObjIndex
    
    'Calculamos el poder de evasion...
    UserPoderEvasion = PoderEvasion(VictimaIndex)
    
    If UserList(VictimaIndex).Invent.EscudoEqpObjIndex > 0 Then
        UserPoderEvasionEscudo = PoderEvasionEscudo(VictimaIndex)
        UserPoderEvasion = UserPoderEvasion + UserPoderEvasionEscudo
    Else
        UserPoderEvasionEscudo = 0
    End If
    
    'Esta usando un arma ???
    If UserList(AtacanteIndex).Invent.WeaponEqpObjIndex > 0 Then
        If ObjData(Arma).proyectil = 1 Then
            PoderAtaque = PoderAtaqueProyectil(AtacanteIndex)
        Else
            PoderAtaque = PoderAtaqueArma(AtacanteIndex)
        End If

    Else
        PoderAtaque = PoderAtaqueWrestling(AtacanteIndex)
    End If
    
    ' Chances are rounded
    ProbExito = MaximoInt(10, MinimoInt(90, 50 + (PoderAtaque - UserPoderEvasion) * 0.4))
    
    UsuarioImpacto = (RandomNumber(1, 100) <= ProbExito)
    
    ' el usuario esta usando un escudo ???
    If UserList(VictimaIndex).Invent.EscudoEqpObjIndex > 0 Then

        'Fallo ???
        If Not UsuarioImpacto Then
            ' Chances are rounded
            ProbRechazo = MaximoInt(10, MinimoInt(90, 100 * SkillDefensa / (SkillDefensa + SkillTacticas)))
            Rechazo = (RandomNumber(1, 100) <= ProbRechazo)

            If Rechazo = True Then
                'Se rechazo el ataque con el escudo
                Call SendData(SendTarget.ToPCArea, VictimaIndex, PrepareMessagePlayWave(SND_ESCUDO, UserList(VictimaIndex).Pos.X, UserList(VictimaIndex).Pos.Y))
                'SendData SendTarget.ToPCArea, VictimaIndex, PrepareMessageMovimientSW(UserList(VictimaIndex).Char.CharIndex, 2)
                ' SendData SendTarget.ToPCArea, VictimaIndex, PrepareMessageMovimientSW(UserList(VictimaIndex).Char.CharIndex, 2)
                  
                Call WriteBlockedWithShieldOther(AtacanteIndex)
                Call WriteBlockedWithShieldUser(VictimaIndex)
                
                Call SubirSkill(VictimaIndex, Defensa)
            End If
        End If
    End If
    
    Call FlushBuffer(VictimaIndex)
    
    Exit Function
    
Errhandler:
    Call LogError("Error en UsuarioImpacto. Error " & Err.Number & " : " & Err.description)
End Function
 

^[GS]^

GS-Zone Admin
Miembro del equipo
Administrador
Moderador
Parece muy raro que de error 0.
Prueba añadir una flag, una variable numérica a la función y que en el log error la tire ;) y así ver hasta qué parte del código llego antes de explotar.
 

Aureysto

Newbie Lvl 6
Parece muy raro que de error 0.
Prueba añadir una flag, una variable numérica a la función y que en el log error la tire ;) y así ver hasta qué parte del código llego antes de explotar.

Hola ^[GS]^, cambie el modulo SistemaCombate por uno virgen y lo solucione, no me genera mas error, peeero sigo con el mismo problema, cuando ataco siendo ciudadano, me sale el formulario de la bóveda y este error, me fije los paquetes y son la misma cantidad.. :S

qhx2rWp.png
 

Aureysto

Newbie Lvl 6
Por lo que allí puedo ver el problema lo estas teniendo en otra función, con movimientos de memoria incluidos :p
No tienes ninguna teoría de que puede ser?
La verdad que ni idea porque no me tiro nunca error, y hoy se me dio por ponerme a testear y aparece este error.. :S
 
Arriba