Programación General > Redes y Comunicaciones

 Indiana jhones en busca del paquete perdido

<< < (3/4) > >>

m0skit0:
Al parecer funciona la conexión (sale el mensaje de "WTF"  :D ), pero da error en


--- Código: Text --- Sub Form_Load()(...)R1.Picture = LoadPicture(App.Path & "GFX" & TemCarRoute)  
El problema radica en que en player.ini no tienes nada definido para [PLAYER2] y por tanto la línea (de la misma función):


--- Código: Text --- EDC1 = GetVar(App.Path & "player.ini", "PLAYER2", "Card1")  
deja EDC1 = "" con lo que esto crea problemas posteriormente en


--- Código: Text --- If MultiplayForm.ActAs = "Serve" Then TemCarNumber = EDC1(...)TemCarNumberStr = "C" & TemCarNumber(...)TemCarRoute = GetVar(App.Path & "cards.ini", TemCarNumberStr, "NameR")  
Soluciona esto y seguimos viendo.

Y unos consejos:

- Formatea mejor el código porque queda más legible y es más fácil encontrar los errores. Fíjate en la función GetVar() de tu código. Eso es buen formato (se nota que la has copiado :)).

- Especifica la visibilidad de las FUNCTION y SUB con PRIVATE/PUBLIC/FRIEND.

- ¡Comenta el código! Ya sabes, la puñetera comilla (').

- Las declaraciones (Dim) al principio, luego el código. No pongas declaraciones en medio del código, no ayuda a la legibilidad.

- Usa Option Explicit

- Usa módulos

Te aconsejo que hagas esto puesto que mucha gente ni siquiera leería el código en las condiciones en que me lo has mandado. Un saludo!

m0skit0:
Por cierto, no olvides volver a poner Winsock1.Close antes de Winsock1.Accept. Lo tenías bien puesto, pero en el código que me has mandado falta volver a ponerlo.

Begeo:
Bien, veamos, el problema de Player2 y los valores que no se cargan desde el .ini residen en el paquete que no llega (problema que describo al principio del post).

Es una cadena de sucesos, y según el último fix que hice, tendría que:

Server acepta llamada, y manda paquete "_"
Cliente recibe paquete "_" y responde con paquete "C" acompañado de las cartas.
Server recibe paquete "C" y devuelve su versión del paquete "C", y de paso carga las cartas y demás datos en TTGameOnline (GameON.frm)
Cliente recibe paquete "C" de server y carga TTGameOnline con los datos.

El problema aquí es que el server no está recibiendo ningún dato, por algún motivo que desconozco. Entonces, los datos del paquete "C" se escriben en "player.ini", [PLAYER2]. Al no recibirse el paquete, no guarda los datos. Al no guardarse los datos, origina el problema que usted bien ha descrito justo ahora.  ;)

El programa tira a las mil maravillas con algo definido, pero se trata de que escriba sin que esté predefinido, para que ambos jugadores puedan tener sus propias cartas ;3

m0skit0:
¿Entonces para qué quiero el código que me has enviado?  :P

Postea el código correcto para que podamos depurarlo.

P.D: Por cierto, está interesante  :good:

Begeo:
tsk tsk tsk tsk  :mellow:

No acabo de encontrar el error, sé que tiene que ver algo con una variable que no se escribe, por lo tanto, tiene que ser en MultiplayForm (del cual es el código que escribi en el primer, y siguiente post).

Sé que pasa algo con el paquete.
No sé qué es a ciencia cierta.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa