Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Texic en Febrero 05, 2010, 01:00:11 AM

Título: Se pueden enviar strings con la 39dll??
Publicado por: Texic en Febrero 05, 2010, 01:00:11 AM
Estoy haciendo el TCG que esta en juegos en desarrollo, y queria saber si
se pueden enviar strings con la 39dll..

Espero q alguno sepa.. Gracias  :)
Título: Re: Se pueden enviar strings con la 39dll??
Publicado por: hardraid en Febrero 05, 2010, 01:04:59 AM
Por q no?
writeshort("hola mundo");
Título: Re: Se pueden enviar strings con la 39dll??
Publicado por: Texic en Febrero 05, 2010, 01:24:00 AM
Y eso el otro lo recibe como un string y lo puedo almacenar en una variable?
Interesante... Gracias  :)
Título: Re: Se pueden enviar strings con la 39dll??
Publicado por: eduardo960 en Febrero 05, 2010, 08:11:20 AM
En realidad el writeshort() sirve para enviar un valor num?rico real entre ?32.768 a 32.767, para enviar un string tienes que usar writestring() y para leerlo usa readstring(), recuerda que la cantidad de datos que envia un string es 2 bytes para identificar el tama?o del string y 1 byte por cada car?cter, y que los datos que se envien por estas funciones deben ser string, para enviar valores reales puedes convertirlos con la funcion string(variable)

La funcion de readstring() lo que hace es devolver el valor del string recibido, entonces para guardarlo en variable ser?a por ejemplo:


variable = readstring()


Saludos
Título: Re: Se pueden enviar strings con la 39dll??
Publicado por: Texic en Febrero 05, 2010, 09:08:21 AM
 ;D Muchas Gracias, era justo lo q necesitaba  XD

Edit: Otra preguntilla, con writestring() envio el valor de la variable... Carta1
Si escribo Carta2=readstring() va a recibir el valor de la variable Carta1??
Porq en el ejemplo del pong pareciera q la variable tiene q tener el mismo nombre, o
un orden en como se reciben..
En el pong se envia la var x, y la var y en el mismo id
Luego se reciben en el mismo orden. Tiene algo q ver el orden o el nombre de la variable
es lo q influye?? Gracias por la atencion de haber leido hasta aqui xD
Título: Re: Se pueden enviar strings con la 39dll??
Publicado por: eduardo960 en Febrero 05, 2010, 05:38:05 PM
El nombre de las variables no importa, lo que si importa bastante es el orden que se sigue, un ejemplo ser?a de un c?digo incorrecto:


// Lectura

writeshort(jugador)
writestring(nombre)

// Escritura

nombre = readstring()
jugador = readshort()


El problema aqu? es que no se sigue el mismo orden, se env?a un short y un string, y se lee primero el string y luego el short, el resultado de esto es un mont?n de datos incorrectos, pues esas funciones se basan en un valor X de bytes para saber hasta donde leer en el buffer

El modo correcto ser?a:


// Lectura

writeshort(jugador)
writestring(nombre)

// Escritura

jugador_x = readshort()
nombre_x = readstring()


En este caso los datos se enviar?n y recibir?n correctamente aunque los nombres de las variables sean distintos, en el caso del pong se usan los mismos nombres de variables para asignar directamente el valor a la variable deseada, como puede ser la posici?n x, y

Saludos
Título: Re: Se pueden enviar strings con la 39dll??
Publicado por: Texic en Febrero 05, 2010, 09:52:49 PM
Grande eduardo!  XD
Muchisimas gracias, me has sacado todas las dudas q ten?a  :)
Título: Re: Se pueden enviar strings con la 39dll??
Publicado por: hardraid en Febrero 05, 2010, 10:15:04 PM
el manda  XD :-[