[Aportes indexados] Bugfix - Usuarios "desaparecen" (Cliente DX8 Optimizado - Franco77)

Ruffneck.~

Morrigan Ancient Crone of War..
Buenas, luego de que el usuario @Guarde me explique como hacer que se produzca este bug, y con la pista que dejó el usuario @FrankitoH298, opté por comparar el modGeneralCharFunctions con el de un virgen, e indefectiblemente, cambiaba.

Lo testié varias veces, y el bug no surgió más. Les dejo lo que hay que cambiar, pero, si les sigue pasando, avísenme porque capaz fue porque toqué otra cosa y se las traigo cualquier cosa :p

En cuestión, hay que reemplazar el Sub MoveCharByPos, por el siguiente:
Código:
Sub MoveCharByPos(CharIndex As Integer, nX As Integer, nY As Integer)
    On Error Resume Next

    Dim X As Integer
    Dim Y As Integer
    Dim addX As Integer
    Dim addY As Integer
    Dim nheading As Byte

    With CharList(CharIndex)

        X = .POS.X
        Y = .POS.Y

        MapData(X, Y).CharIndex = 0

        addX = nX - X
        addY = nY - Y

        If Sgn(addX) = -1 Then nheading = WEST
        If Sgn(addX) = 1 Then nheading = EAST

        If Sgn(addY) = -1 Then nheading = NORTH
        If Sgn(addY) = 1 Then nheading = SOUTH

        MapData(nX, nY).CharIndex = CharIndex

        .POS.X = nX
        .POS.Y = nY

        .MoveOffset.X = -1 * (TilePixelWidth * addX)
        .MoveOffset.Y = -1 * (TilePixelHeight * addY)

        .Moving = 1
        .Heading = nheading

        .scrollDirectionX = Sgn(addX)
        .scrollDirectionY = Sgn(addY)
    End With

End Sub

Y el cambio de este Sub en el Cliente de Franco, se debe al aporte de Sistema Grh/Caminata de Siameze. Al borrar una línea y descomentar las demás, el bug dejó de aparecer, pero no sé que consecuencias traerá al dejarlas así. No creo que Siameze lo haya comentado por nada. O quizás si, no sé.

A fin de cuentas, el bug se solucionó y no pasó nada extraño.

PD: Reitero, cualquier cosa, me avisan por este th.

EDIT: Agradezco sumamente la ayuda a Sergio (@MAB ) por ayudarme con el Testing de dicho bug y su solución.
 
Última edición:

Dr. Lord Fers

Legendario Inmortal Lvl 5
Miembro del equipo
Moderador
Moderador de Tecnología
Se agradece que te hayas esmerado y preocupado, y que entre los que te ayudaron se hayan copado en solucionar esto.

Saludos.
 

nilesk

Newbie Lvl 5
Cabe aclarar que si alguien tiene antes del end sub esta línea:
MoveCharByHead Charindex, nheading
debe comentarla/borrarla, ya que los mismos NPCs se buguean, caminan haciendo zigzag y terminarían pisandolo a uno
 
Arriba