1. Este sitio usa cookies. Para continuar usando este sitio, se debe aceptar nuestro uso de cookies. Más información.

[Problema] Con HOST no funciona el /SALIR

Mufarety 10 Ene 2017

  1. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    ¿Qué cosa tengo que hacer? Me saltó todo esto:
    Registrarse or to view Spoiler content!

    Me está marcando el "Next i".
     
  2. GoDKeR

    GoDKeR
    Songbird Miembro del Staff Administrador

    10.598
    1.576
    373
    El 405 indica la línea del error, parece ser aca:

    If CuentaRegresiva > 0 Then

    Fijate el tipo de variable que es CuentaRegresiva
     
  3. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    Es un string.
     
  4. G Toyz

    G Toyz
    Estado actual; inactivo. Programador.

    1.379
    274
    134
    Cambialo a integer.
     
  5. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    ¿Qué cambiaría?
     
  6. G Toyz

    G Toyz
    Estado actual; inactivo. Programador.

    1.379
    274
    134
    ...

    String es para cadena de textos, no podés sumar caracteres ni comparar números con una cadena (a no ser que esté entrecomillado el número).
    Integer es una variable numérica que admite desde -32k hasta 32k, podés sumar números con ella y comparar también pero no le podés sumar ni una cadena ni compararlo con una cadena porque te va a tirar "No coinciden los tipos" :p
    También podés usar Byte, que va desde 0 a 255 y es una variable numérica y creo que sería más adecuado para lo que es una cuenta regresiva :p
     
    A Mufarety le gusta esto.
  7. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    No G Toyz, no pasa nada, es 1 verga, es ilógico, más adelante voy a hablar con quien administra el host.
     
  8. G Toyz

    G Toyz
    Estado actual; inactivo. Programador.

    1.379
    274
    134
    11/01/2017 1:04:06 Error en PasarSegundo: 405 - Type mismatch

    Ese error no te salta más :p

    Fijate los logs si tenés más errores.
     
  9. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    Si, este:

    11/01/2017 2:26:16 Falló Cerrar_Usuario: Type mismatch
     
  10. G Toyz

    G Toyz
    Estado actual; inactivo. Programador.

    1.379
    274
    134
    Reemplazá el método por este y pasame de vuelta el error que te va a tirar :p

    Código Fuente (Visual Basic):
    1.  
    2. Sub Cerrar_Usuario(ByVal UserIndex As Integer, Optional ByVal Tiempo As Integer = -1)
    3.     On Error GoTo ErrHandler
    4.     Dim Bobo As String
    5.     Dim LagaSubActivaA
    6.     Dim Objetooo As Obj
    7.  
    8. 5   Objetooo.ObjIndex = GetVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Objeto")
    9. 10  Objetooo.Amount = GetVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Cantidad")
    10. 15  Bobo = GetVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Valor")
    11. 20  LagaSubActivaA = GetVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Activa")
    12.  
    13. 25  If UserList(UserIndex).flags.Ofertero = 1 Then
    14. 30      Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has ofrecido 1 objeto." & FONTTYPE_INFO)
    15.         Exit Sub
    16.     End If
    17.  
    18. 35  If UserList(UserIndex).flags.Subastero = 1 Then
    19. 40      Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Estás subastando 1 objeto." & FONTTYPE_INFO)
    20.         Exit Sub
    21.     End If
    22.  
    23. 45  If Tiempo = -1 Then Tiempo = IntervaloCerrarConexion
    24.  
    25. 50  If UserList(UserIndex).flags.UserLogged And Not UserList(UserIndex).Counters.Saliendo Then
    26. 55      UserList(UserIndex).Counters.Saliendo = True
    27. 60      UserList(UserIndex).Counters.Salir = IIf(UserList(UserIndex).flags.Privilegios > PlayerType.User Or Not MapInfo(UserList(UserIndex).Pos.Map).Pk, 0, Tiempo)
    28.  
    29. 65      Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Cerrando...Se cerrará el juego en " & UserList(UserIndex).Counters.Salir & " segundos..." & FONTTYPE_INFO)
    30.     End If
    31.  
    32. 60  If UserList(UserIndex).flags.Subastero = 1 Then
    33. 65      If LagaSubActivaA = 1 Then
    34. 70          LagaSubActivaA = 0
    35. 75          Call SendData(SendTarget.ToAll, 0, 0, "||La subasta ha sido cancelada por la desconexión del subastero." & FONTTYPE_SUBASTA)
    36. 80          Call WriteVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Activa", "0")
    37. 85          Call MeterItemEnInventario(UserIndex, Objetooo)
    38. 90          frmMain.SubastaTIMER.Enabled = False
    39. 95          Call SubOferMan
    40.         End If
    41.     End If
    42.  
    43. 100 If UserList(UserIndex).flags.Ofertero = 1 Then
    44. 105     Bobo = Bobo - Bobo
    45. 110     Call SendData(SendTarget.ToAll, 0, 0, "||Debido a la desconexión del ofertor, el valor del objeto es 0." & FONTTYPE_INFO)
    46. 115     If frmMain.SubastaLabel <= 61 Then
    47. 120         frmMain.SubastaLabel = 180    '180
    48.         End If
    49. 125     UserList(UserIndex).flags.Ofertero = 0
    50. 130     Call WriteVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Ofertaron", "0")
    51. 135     Call WriteVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Valor", "0")
    52. 140     Call WriteVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Comprador", "0")
    53.     End If
    54.  
    55. 145 Call SendData(SendTarget.ToIndex, UserIndex, 0, "QFT")
    56.  
    57. 150 If UserList(UserIndex).flags.Voto = True Then
    58. 155     If UserList(UserIndex).flags.VotoPorLaOpcion(1) = 1 Then
    59. 160         Votos(1) = Votos(1) - 1
    60. 165     ElseIf UserList(UserIndex).flags.VotoPorLaOpcion(2) = 1 Then
    61. 160         Votos(2) = Votos(2) - 1
    62. 175     ElseIf UserList(UserIndex).flags.VotoPorLaOpcion(3) = 1 Then
    63. 180         Votos(3) = Votos(3) - 1
    64. 185     ElseIf UserList(UserIndex).flags.VotoPorLaOpcion(4) = 1 Then
    65. 190         Votos(4) = Votos(4) - 1
    66. 195     ElseIf UserList(UserIndex).flags.VotoPorLaOpcion(5) = 1 Then
    67. 200         Votos(5) = Votos(5) - 1
    68.         End If
    69.     End If
    70.  
    71. 205 If UserList(UserIndex).Pos.Map = 27 Then    'mapa de pareja
    72. 210     If MapInfo(27).NumUsers = 2 And UserList(UserIndex).flags.EnPareja = True Then    'mapa de duelos 2vs2
    73. 215         Call WarpUserChar(Pareja.Jugador1, PosUserPareja1.Map, PosUserPareja1.X, PosUserPareja1.Y)
    74. 220         Call WarpUserChar(Pareja.Jugador2, PosUserPareja2.Map, PosUserPareja2.X, PosUserPareja2.Y)
    75. 225         Call SendData(SendTarget.ToAll, 0, 0, "||" & UserList(Pareja.Jugador1).Name & " y " & UserList(Pareja.Jugador2).Name & " abandonaron el duelo 2 vs 2." & FONTTYPE_GUILD)
    76. 230         UserList(Pareja.Jugador1).flags.EnPareja = False
    77. 235         UserList(Pareja.Jugador1).flags.EsperaPareja = False
    78. 240         UserList(Pareja.Jugador1).flags.SuPareja = 0
    79. 250         UserList(Pareja.Jugador2).flags.EnPareja = False
    80. 260         UserList(Pareja.Jugador2).flags.EsperaPareja = False
    81. 270         UserList(Pareja.Jugador2).flags.SuPareja = 0
    82. 280         HayPareja = False
    83.             Exit Sub
    84.         End If
    85.     End If
    86.  
    87.  
    88. 290 If UserList(UserIndex).Pos.Map = 27 Then    'mapa de pareja
    89. 300     If MapInfo(27).NumUsers = 4 And UserList(UserIndex).flags.EnPareja = True Then
    90. 310         Call WarpUserChar(Pareja.Jugador1, PosUserPareja1.Map, PosUserPareja1.X, PosUserPareja1.Y)
    91. 315         Call WarpUserChar(Pareja.Jugador2, PosUserPareja2.Map, PosUserPareja2.X, PosUserPareja2.Y)
    92. 320         Call WarpUserChar(Pareja.Jugador3, PosUserPareja3.Map, PosUserPareja3.X, PosUserPareja3.Y)
    93. 330         Call WarpUserChar(Pareja.Jugador4, PosUserPareja4.Map, PosUserPareja4.X, PosUserPareja4.Y)
    94. 340         UserList(Pareja.Jugador1).flags.EnPareja = False
    95. 350         UserList(Pareja.Jugador1).flags.EsperaPareja = False
    96. 360         UserList(Pareja.Jugador1).flags.SuPareja = 0
    97. 370         UserList(Pareja.Jugador2).flags.EnPareja = False
    98. 380         UserList(Pareja.Jugador2).flags.EsperaPareja = False
    99. 390         UserList(Pareja.Jugador2).flags.SuPareja = 0
    100. 400         UserList(Pareja.Jugador3).flags.EnPareja = False
    101. 410         UserList(Pareja.Jugador3).flags.EsperaPareja = False
    102. 420         UserList(Pareja.Jugador3).flags.SuPareja = 0
    103. 430         UserList(Pareja.Jugador4).flags.EnPareja = False
    104. 440         UserList(Pareja.Jugador4).flags.EsperaPareja = False
    105. 450         UserList(Pareja.Jugador4).flags.SuPareja = 0
    106. 460         HayPareja = False
    107. 470         Call SendData(SendTarget.ToAll, 0, 0, "||El duelo 2 vs 2 se ha cancelado por la desconeccion de algun usuario." & FONTTYPE_TALK)
    108.             Exit Sub
    109.         End If
    110.     End If
    111.  
    112. 480 If UserList(UserIndex).flags.EstaDueleando = True Then
    113. 490     Call DesconectarDuelo(UserList(UserIndex).flags.Oponente, UserIndex)
    114.     End If
    115.     Exit Sub
    116.  
    117. ErrHandler:
    118.  
    119.     Call logError("Falló Cerrar_Usuario: " & err.Description & " en: " & Erl)
    120.  
    121. End Sub
    122.  
    123.  
     
  11. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    Esto me marca G Toyz:

    11/01/2017 2:50:16 Falló Cerrar_Usuario: Type mismatch en: 0

    Me duermo, mañana vuelvo, dejame el mensaje.
     
  12. G Toyz

    G Toyz
    Estado actual; inactivo. Programador.

    1.379
    274
    134
    Esto:

    1. Dim Bobo As String
    2. Dim LagaSubActivaA
    3. Dim Objetooo As Obj
    así:

    1. 1 Dim Bobo As String
    2. 2 Dim LagaSubActivaA as byte
    3. 3 Dim Objetooo As Obj
    y esto:

    LagaSubActivaA = GetVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Activa")


    así:

    20 LagaSubActivaA = cbyte(GetVar(App.Path & "Dat" & "Subasta.ini", "Subasta", "Activa"))
     
  13. GoDKeR

    GoDKeR
    Songbird Miembro del Staff Administrador

    10.598
    1.576
    373
    Cambia el Bobo as string por Bobo as long

    Igual fijate que no haces nada con ese valor, no se de donde sacaste ese sistema, pero es un desastre.

    Si es un aporte del foro (y si tenes el link) pasalo, para sacarlo por que en vez de aporte da mas problemas que otra cosa.
     
    A G Toyz le gusta esto.
  14. Lucho~

    Lucho~
    Usuario Bendecido

    2.151
    96
    223
    Creo yo, no lei todos los comentarios pero creo que el problema tiene que estar en el sistema de subastas.

    Saca el sistema de subastas de cerraR_usuario, todo lo que tenga que ver con subastas en ese sub sacalo y fijate si el error sigue.

    Si no sigue, arreglamos el subasta, pero ya sabes que el problema es ese. Anda despejando cosas que pueden ser el error si no, como por ejemplo la subasta, y cosas que fuiste agregando.
     
  15. GoDKeR

    GoDKeR
    Songbird Miembro del Staff Administrador

    10.598
    1.576
    373
    No comentes entonces si leer todo, porque terminas confundiendo mas al usuario, ya se ha encontrado el problema.
     
    A G Toyz le gusta esto.
  16. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    Okey, ahora...

    El usuario común puede salír, pero el GM no (Porque sale con segundos 0), cambio el valor a 1 y debería servir, ahora solamente debo averiguar donde meto el despeje de las subastas.
     
  17. GoDKeR

    GoDKeR
    Songbird Miembro del Staff Administrador

    10.598
    1.576
    373
    Espera, si el gm no puede salir, es por que todavia hay un error. Seguí chequeando el errores.log a ver si sigue apareciendo algo.

    Tambien hace lo que te puse mas arriba, de cambiar la variable Bobo as string por as long.
     
  18. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    11/01/2017 10:14:36 Error en PasarSegundo: 335 - Overflow

    EDIT: El problema parece que era que lo declarado en el Sub Cerrar_Usuario y la referencia de la variable, bobo, LagaSubActivaA y objetoooo, no era Val(GetVar... Sino que solamente era GetVar, que hasta donde tengo entendido solamente estaría haciendo referencia a una palabra y no a un número como debía ser.

    EDIT2: Todavía no me den de solucionado el tema, porque no está todo okey, estoy en el laburo y a las 4 salgo, pero al menos los usuarios comunes pueden salír y entrar, me marca el .counter.Salir en el PasarSegundo y está como long.
     
    Última edición: 11 Ene 2017
  19. GoDKeR

    GoDKeR
    Songbird Miembro del Staff Administrador

    10.598
    1.576
    373
    Ahora tenés aca el problema entonces:

    UserList(i).Counters.Salir = UserList(i).Counters.Salir - 1

    Esto es cada vez mas turbio. Podrías sacar el sistema de cuenta regresiva del auditoría?
     
    A G Toyz le gusta esto.
  20. Mufarety

    Mufarety
    Aprendiz Lvl 5

    409
    13
    83
    Ya está negro, no te hagas drama, lo dejo en 1 total no hay problema.

    Ahora tengo otro tema si me podes ayudar, es raro, un amigo mio entra al AO pero el renderscreen y el inventario, se le pone negro, ¿Alguna idea? De cualquier forma esto ya le pasó 1 vez, y revisé los logs y no aparece nada con su nombre. Usa el mismo cliente que yo.

    EDIT: Bueno me aparece esto ahora:
    Registrarse or to view Spoiler content!
     
    Última edición: 11 Ene 2017

Compartir esta página