Noviembre 12, 2015, 04:57:03 PM Ultima modificación: Noviembre 14, 2015, 12:45:20 AM por kostra
Wenas, como estoy aprendiendo cosas nuevas, pues solo copio y pego pero no logro entender bien las cosas, bueno más o menos... pero me está fallando a veces una cosa y es que no logro entender cuándo o cada cuánto se ejecuta el evento HTTP... y entonces me pasa esto...

create:
https://gyazo.com/5ccc9fea3390f908b360a31ea2abf933
HTTP:
https://gyazo.com/8ac27158fbc5d82ed3dc022dcf37506d

en el HTTP, hay una linea de show message que puse para testear.. y pasa que a veces me lee bien el archivo y me sale "10" que es actualmente el numero que hay en ese archivo hosteado, pero en algunas ocasiones me sale un mensaje totalmente en blanco... a qué se debe??
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

#1 Noviembre 12, 2015, 05:58:34 PM Ultima modificación: Noviembre 12, 2015, 06:17:50 PM por jmbs19
[spoiler]viendo rapidamente tu evento http lo unico que no entiendo es el case switch con la variable evid que aparentemente en algun momento tu le das el valor de la variable urlx, te lo digo porque en caso de que no le des ese valor este no creara el archivo ini con los datos, solo creara un archivo vacio en el momento en que abras el ini.(despues del case)

en conclusion: a mi parecer tu error esta en el case switch, se deberia de solucionar o quitando case switch y dejandolo como un proceso continuo, que si no tienes mas eventos http aparte de este no deberia de dar problemas, o asegurarte de darle el valor a la variable avid de la variable urlx para que ejecute el case correctamente.[/spoiler]

ok, corrijo, estoy leyendo tu codigo otravez y ya veo que si le estas dando el valor de urlx al valor avid por la la ds_map_list del async_event atravez de la id, si embargo esto me da a entender que tienes varios eventos http que se ejecutan y por eso aveces te devuelve un valor errado o blanco(esto es porque todos los http_get o http_get_string o cualquier http ejecuta el evento async http y este evento es global), te recomiendo meter la parte de lectura del ini dentro del case para asegurarte que solo se ejecute eso con el evento http para descargar el archivo ini
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

#2 Noviembre 12, 2015, 06:17:46 PM Ultima modificación: Noviembre 12, 2015, 06:48:16 PM por kostra
no sé por qué es exactamente, pero en otros objetos, el mismo "engine" me funciona correctamente para lectura online de archivos ini... seguí este tuto: https://www.youtube.com/watch?v=6erhvsbBr-o

EDITO: acabo de leer por pura suerte tu edición xDD, voy a probar lo que dices xD
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

hago otro post porque no te avisa si edito jaja
y cómo puedo poner dentro del case esa linea, si en el switch está comparando la misma variable urlx??? :S :S :S
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

#4 Noviembre 12, 2015, 07:05:36 PM Ultima modificación: Noviembre 12, 2015, 07:07:49 PM por jmbs19
pues deberia de bastar con mover la llave de la linea 15 a la linea 21, de esa manera cada que se ejecute un evento http solo abrira el archivo cuando se cumpla la condicion que descarga el archivo.

edito: otra cosa, no olvides colocar al final de un bloque case el break, de todas maneras aqui te dejo un link con la informacion para construir un switch http://docs.yoyogames.com/source/dadiospice/002_reference/001_gml%20language%20overview/401_12_switch.html
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

me sigue pasando lo mismo... osea, no se ejecuta, es decir, ahora como está el mensaje dentro de ese switch, ya ni siquiera muestra mensaje... lo que me interesa es que SIEMPRE lea el ini y no me falle, que SIEMPRE se ejecute ese switch T_T
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: kostra en Noviembre 12, 2015, 07:13:17 PM
me sigue pasando lo mismo... osea, no se ejecuta, es decir, ahora como está el mensaje dentro de ese switch, ya ni siquiera muestra mensaje... lo que me interesa es que SIEMPRE lea el ini y no me falle, que SIEMPRE se ejecute ese switch T_T
eso quiere decir que no se esta cumpliendo la condicion, es decir avid no es igual a urlx, te voy a preguntar algo, el evento http se esta ejecutando en el mismo obj en el que se le asigna un valor a urlx?

si el evento se ejecuta en el mismo objeto de la variable entonces quisas el problema no esta en el case, sino en el la comparacion de avid con urlx, has lo siguiente si el evento se ejecuta en el mismo objeto entonces pon un show_message con urlx y avid al final del evento http, fuera de las llaves y dinos que te sale.

ahora bien en caso contrario puedes colocar la variable avid y urlx como global asi todos los objetos tendran acceso a ellas
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

como se ve en el primer post, urlx se le asigna en el create. TODO está en el mismo objeto.
Voy a probar lo del mensaje urlx y evid...

bueno, tras miles de pruebas xD, veo que en urlx y evid, los mensajes son numeros que ni entiendo, por ejemplo evid = 7, urlx = 7, siempre el mismo numero, reinicio y evid = 10 urlx = 10, y así, cada vez que reinicio sale el numero anterior +3, cosa que ni entiendo, pero sale bien, osea se lee bien el http, pero en ocasiones, simplemente no salen ningún mensaje... alguna rara ocasión me ha salido, por ejemplo, evid = 16 urlx = 15, osea urlx un numero menos que evid, pero luego se ha repetido el evento y se ha puesto bien, los dos iguales...
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

mi extremo aburrimiento me ha obligado a hacerte un video explicando mejor lo que tengo y me sale jejejeje
https://youtu.be/RNM8FEXI5K0
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

#9 Noviembre 12, 2015, 10:39:51 PM Ultima modificación: Noviembre 12, 2015, 10:43:50 PM por jmbs19
ok, ya te vi tu video, disculpa que te confundiera con mujer pero eso pone debajo de tu nick, bueno con respecto a tu problema me parece mas bien un error de servidor, aunque realmente no es un error, es que haces muchas peticiones en un corto espacio de tiempo por lo que el servidor bloquea momentaneamente tu ip.

eso lo descubri cuando intente hacer un servidor multiplayer a base de mysql y php para html5, a 7 peticiones por segundo iba bien los primeros segundos como 30 o 45, pero luego dejaba de funcionar y si intentaba acceder al servidor manualmente con la direccion url atravez de un explorador me salia que la pagina no respondia, no estoy seguro de que ese sea tu problema pero me parece que eso es, ya que estas realizando muchas peticiones al servidor en un corto espacio de tiempo.

si quieres eliminar completamente esta posibilidad prueba instalando xamp en tu pc prueba otravez (xampp es un servidor web, la direccion ip seria tu ip o 127.0.0.1)
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

eso es lo que yo he pensado, que podría ser, en especial el ping o algo así, sugieres alguna solución? porque en mi proyecto, según la "fama" que pille habrán muchas peticiones todo el rato :/ ya que para jugar a este juego se necesita si o si conexión a internet, si no hay conexión, no hay niveles, me explico? Porfavor, espero que alguien sepa una solución o algún servidor en que no haga esto y probaré, solo tendría que cambiar la global url (por eso lo acomodé así, para futuras mudanzas de servidor :B )

PD: ahora que saben que no soy mujer ya no me ayudan no? JAJAJA es broma :B en el fondo lo soy :*
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

ok, te digo el bloqueo lo hace por ip, no por pagina, en otras palabras si entran 100 personas en un segundo no se les bloqueara a nadie(mientras no se consuma todo el hancho de banda que te da tu hosting) pero si una persona entra 100 veces en un segundo se bloquea porque lo consideraria un ataque ddos o algo asi, si te fijas hay hosting que tienen cloudflare, precisamente eso hace, evitar estos ataques.
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

Es que no sólo debes analizar el eventid, sino también el status que te devuelve el evento HTTP.

Cita del manual:
Citar
"status": Returns a value of less than 0 for an error, 1 if content is being downloaded, and a value greater than 1 for any other successful event.

O sea que debes poner algo asi dentro de lo que ya tienes:


status = ds_map_find_value(async_load, "status");
if (status < 0)
{
//Error
}
else if (status > 1)
{
//Exito. poner codigos aqui.
}
else
{
//Nada aun, porque aun esta descargando...
}
Vota nuestro proyecto en Steam Greenlight:

Estudios Naicura Ltda

Cita de: Markus en Noviembre 13, 2015, 12:51:45 AM
Es que no sólo debes analizar el eventid, sino también el status que te devuelve el evento HTTP.

Cita del manual:
Citar
"status": Returns a value of less than 0 for an error, 1 if content is being downloaded, and a value greater than 1 for any other successful event.

O sea que debes poner algo asi dentro de lo que ya tienes:


status = ds_map_find_value(async_load, "status");
if (status < 0)
{
//Error
}
else if (status > 1)
{
//Exito. poner codigos aqui.
}
else
{
//Nada aun, porque aun esta descargando...
}

el esta abriendo un archivo de texto desde el servidor, solo esta abriendo texto, no un archivo realmente, por eso no deberia de darle ese problema, pero de todas maneras voy a buscar informacion acerca de si esto afecta al abrir una pagina tambien o solo a la descarga de archivos

CitarIf there are multiple packets being returned to your game, the callback "status" key will return 1, in which case the ds_map will have the following additional keys:

        "contentLength": This is the size of file that the web server has said you should expect to receive (may be -1 if the server does not return this data).

        "sizeDownloaded": The size of the data that has already been downloaded.


hay dice que si hay varios paquetes ocurre lo que tu dices, pero en realidad el esta abriendo un archivo de texto, copia el texto plano, lo guarda en una variable y lo mete en un archivo de texto con extension ini, de todas maneras yo no sabia que se podia descargar un archivo con el http_get, creia que solo se podia con el http_get_file http://docs.yoyogames.com/source/dadiospice/002_reference/asynchronous%20functions/http_get_file.html
no puedo creer que me hice un tumblr.
YGE Productions yep, otro tumblr.
y como no, el manual tambien

#14 Noviembre 13, 2015, 01:35:06 AM Ultima modificación: Noviembre 13, 2015, 01:36:54 AM por kostra
no me funciona eso de status, ni lo entiendo :/ disculpa
edito: hmmm get_file?... veamos qué tal :B
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]