Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - jmbs19

181
Preguntas y respuestas / Re:Errorcito con evento HTTP
Noviembre 13, 2015, 01:30:22 AM
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
182
Preguntas y respuestas / Re:Errorcito con evento HTTP
Noviembre 12, 2015, 10:59:55 PM
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.
183
Preguntas y respuestas / Re:Errorcito con evento HTTP
Noviembre 12, 2015, 10:39:51 PM
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)
184
Preguntas y respuestas / Re:Errorcito con evento HTTP
Noviembre 12, 2015, 07:30:03 PM
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
185
Preguntas y respuestas / Re:Errorcito con evento HTTP
Noviembre 12, 2015, 07:05:36 PM
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
186
Preguntas y respuestas / Re:Errorcito con evento HTTP
Noviembre 12, 2015, 05:58:34 PM
[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
187
Cita de: Guacusio en Noviembre 10, 2015, 03:15:30 PM
Cita de: jmbs19 en Noviembre 10, 2015, 01:54:34 PM
si estas revisando el archivo en la carpeta donde estas haciendo el juego, dentro del project, no te saldra nada, lo unico que el hace desde esa carpeta es leer datos en caso de que no existan en la carpeta de appdata del juego

Siendo estricto, eso no es correcto. Si el archivo a manipular no se encuentra en la save area (que viene a ser la carpeta con el nombre del juego en appdata), GMS lo busca en el file bundle, no en la carpeta de trabajo del juego (aunque los archivos en el file bundle se obtienen de la carpeta datafiles en la carpeta de trabajo del juego). La dirección del file bundle se puede obtener leyendo la variable working_directory.

a eso me refiero, si el archivo no esta en el appdata lo lee desde donde esta el juego, que en caso de ejecutarlo desde el programa esta en los temp, pero esto es solo si incluyes el archivo a abrir o usar en los include, que lo coloca en el project/nombre-del-juego, que luego al ejecutar desde el gm lo envia a los temp y si se crea un ejecutable, se guarda junto con el ejecutable.

en cualquier caso con respecto a la pregunta original si ella lo esta creando desde el gm (sin tenerlo como include previamente) nisiquera le aparecera en el temp, o en la carpeta project, sino solo en la appdata del juego.
188
ok, te digo que me parece que tu codigo esta bien, no veo porque no funcionaria, pero por si acaso te recuerdo que el game maker studio esta en modo sandbox, en otras palabras, su archivos no funcionan como en game maker 8.0 o 8.1 o anteriories, si estas revisando el archivo en la carpeta donde estas haciendo el juego, dentro del project, no te saldra nada, lo unico que el hace desde esa carpeta es leer datos en caso de que no existan en la carpeta de appdata del juego, todos eso se guarda en el directorio (si es win7) c:/user/(tu usuario)/appdata/(nombre del juego).

de todas maneras la manera mas rapida de llegar hay es colocar "appdata" en ejecutar de windows.

revisa primero eso y despues dinos.
189
Preguntas y respuestas / Re:Subir archivo hosting
Noviembre 09, 2015, 07:10:57 PM
Cita de: kostra en Noviembre 09, 2015, 06:30:50 PM
me plasma un mensaje en blanco

una pregunta... la última parte del tuto ese, lo de:
var url_upload = "http://www.gamegeisha.net/gms_upload.php";
var fname = "myini.ini";
var f = file_text_open_read(fname);
var fcont = "";
while (!file_text_eof(f)) {
  fcont += file_text_read_string(f) + chr(13) + chr(10);
  file_text_readln(f);
}
file_text_close(f);
   
ah_upload = http_post_string(url_upload, 'fname=' + url_encode(filename_name(fname)) + '&fcont=' + url_encode(fcont));


en qué evento va? porque no dice nada o no lo veo y no me queda claro, entonces he probado tanto en HTTP como en una tecla como digamos, para "llamarlo"

si te fijas ese codigo es un ejemplo completo(te le puse anotaciones en español)


var url_upload = "http://www.gamegeisha.net/gms_upload.php"; //url a la que se subira el archivo
var fname = "myini.ini"; //el nombre del archivo
var f = file_text_open_read(fname); //se abre el archivo a subir para leerlo
var fcont = ""; //se crea la variable donde se guardara el contenido del mismo
//desde aqui
while (!file_text_eof(f)) {
  fcont += file_text_read_string(f) + chr(13) + chr(10);
  file_text_readln(f);
}
file_text_close(f);
//hasta aqui se va leyendo cada linea del archivo y se cierra el archivo   
ah_upload = http_post_string(url_upload, 'fname=' + url_encode(filename_name(fname)) + '&fcont=' + url_encode(fcont)); //esto sube el archivo a tu php con las dos variables que este toma
/*
a url_upload(http://www.gamegeisha.net/gms_upload.php)
sube o envia la siguiente informacion como variables superglobales en post(la informacion no se ve en el link):
fname = nombre del archivo codificado
fcont= el contenido del archivo codificado
*/


entonces este codigo esta completo, y es el que deberias de colocar dentro de tu ejecutor sin absolutamente mas nada dentro del codigo de game maker.

esto va dentro de tu php
<?php
  
//CORS header
  
header("Access-Control-Allow-Origin: *");

  
//Capture parameter
  
$fname $_POST['fname']; //nombre del archivo que recibira como variable superglobal en modo post
  
$fcont $_POST['fcont']; // contenido del archivo

  
//Write the file
  
if ($f fopen("uploads/$fname"'w')) {
    
fwrite($f$fcont);
    
fclose($f);
    echo 
"OK";
  }
//esto basicamente crea el archivo con el nombre que le diste, luego lo escribe y al final lo cierra
  
else {
    echo 
"FAIL";//esto solo ocurre si el archivo no tiene nombre, o la informacion se envia incorrectamente
  
}
?>


entonces con solo estas dos cosas deberia de funcionar, el primero en el gatillador de la accion y el segundo en tu php, esto es para subir el archivo, para descargarlo tendrias que usar el http_get_file

se me olvidaba, en el mensaje que te mostrara no coloques directamente el mensaje a mostrar, ponle que muestre el result para saber exactamente que te sale, otra cosa si usas 000webhost, que me parece eso por el editor de php que mostraste, ellos creo que no permiten ni subir ni descargar archivos a sus servidores, solo te permite abrir paginas y ya, te lo digo porque ya yo lo intente.
190
pues para comenzar necesitarias dos variables global, una con el anterior mayor puntaje y otra con el puntaje actual, entonces que cuando el actual sea mayor que anterior se le asigna el valor actual al anterior tambien, sino no hace nada.

ya con los dos global tendrias que hacer por codigo o sprite un cuadro en mediod del room o la view, atravez de un evento draw dibujas en las posiciones deseadas los puntajes, la decoracion y demas te lo dejo a ti.
191
Preguntas y respuestas / Re:Subir archivo hosting
Noviembre 09, 2015, 04:01:29 PM
¿es muy necesario subir el archivo al hosting? si lo que necesitas es subir informacion al hosting, como highscore o un save, pudieras usar php y mysql, guardas la informacion atraves de una consulta insert y la sacas atravez de una select, esto lo puedes hacer con php para que despues interprete los datos y los sacas por un http_get como string, luego en el evento async http guardas el result en una variable y despues puedes hacer lo que quieras con esa informacion, ya sea explotarla si son varias cosas y cosas asi.
192
Preguntas y respuestas / Re:Parar Sprite
Noviembre 09, 2015, 03:44:23 AM
si tus formas estan en un mismo sprite simplemente usa un image_speed = 0 dentro del codigo que usas para gatillar la detencion, esto hara que se detenga en el image_index que tenga en ese momento, ahora para la comprobacion simplemente puedes usar el mismo image_index que tienen los objetos y compararlos. ojo esto solo funcionaria de esta manera si tu sprite tiene un solo frame por figura.

seria algo asi

dentro del objeto
image_speed = 0
figura_seleccionada = 1 //esto es un control para que puedas resetar el nivel


dentro de un objeto controlador principal

if obj1.figura_seleccionada = 1 && obj2.figura_seleccionada = 1 && obj3.figura_seleccionada = 1
{
   if obj1.image_index = obj2.image_index && obj2.image_index = obj3.image_index
     {
          //tu codigo
     }
   else
     {
          //codigo para resetar, esto lo puedes hacer como quieras, desde destruir instancias y crear nuevas hasta ejecutar una alarma, te lo dejo a tu imaginacion
     }
}


esta seria una forma facil de hacerlo, ahora bien como dije anteriormente esta solo sirve si estas usando sprite en que cada figura sea un solo frame, pero como iria muy rapido te dire que la variable image_speed tambien puede ser puesta como 0.1,0.2,0.3.......,1,.....infinito (no te recomiendo numeros grandes, esta es una variable por decirlo asi de porcentaje donde 1 es 100%) asi que para que valla rapido o lento solo pon numeros menores o mayores a 1
193
como dije en una pregunta anterior yo soy usuario del game maker 8, pero adquiri el studio para probarlo ya que permite exportar a muchos formatos, ya comprendi lo de donde se guardan las cosas, pero ahora mi problema es a la hora de cargarlos. por los momentos solo he estado trabajando con sprites e imagenes, pero imagino que mi problema afectara a cualquier otro tipo de cargado externo de archivos.

el problema es el siguiente, al cargar una imagen externa por medio de la funcion add_sprite en el evento create y tratar de dibujarla en el evento draw no la dibuja.

aqui coloco las lineas de codigos que use para probar estas funciones:
create
spr_sprite = add_sprite("imagen.png",1,1,0,0,0)
draw
draw_sprite(spr_sprite,0,x,y)


la imagen esta en el include files

incluso, para descartar que la imagen no estubiera en la carpeta, coloque esta linea de codigo en el create antes del add_sprite

if !file_exists("imagen.png")
show_message("no carga la imagen");


espero su pronta respuesta.
194
Cita de: penumbra en Enero 08, 2015, 01:54:32 AM
Es porque GMS trabaja en modo sandboxed, por lo que ya no se permite guardar en cualquier lugar del disco duro, sólo en ubicaciones específicas según el sistema operativo.

http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/file%20system%20limits.html

http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/directory_create.html
gracias por tu respuesta, por lo que puedo entender de los enlaces que me envias, yo puedo leer desde el bundle o directorio del juego, pero guardar, editar, crear solo en el appdata del juego, entonces por eso me esta dando problemas a la hora de cargar, pero no al guardar, porque esta cargando los archivos desde el bundle o directorio del juego pero los esta guardando en el appdata, por ende, no hay nada en el bundle.

¿estoy en lo correcto?
195
Preguntas y respuestas / variable working_directory
Enero 08, 2015, 01:47:26 AM
yo tengo un proyecto personal en el que estado trabajando en game maker 8 :GM8:, este funciona muy bien, sin embargo hace unas semanas he podido adquirir el game maker studio :GMS: y he exportado mi proyecto, como ya me advirtio el programa al exportar puede haber codigo que deje de funcionar, la cosa es que ya logre arreglar la mayoria de los problemas de codigo, sin embargo todavia no logro arreglar las lineas de codigo que me permiten guardar cosas del juego en la carpeta en que se ejecuta el juego. he colocado el ya de diferentes maneras el codigo para generar carpetas y archivos dentro de la carpeta del juego y siempre los crea en la appdata de los archivos temporales(no estoy ejecutando el juego en prueba, cree un ejecutable y eso es lo que abro).

aqui esta una de las lineas de codigo que me esta dando problemas:

directory_create(working_directory+"\saves");
lo he colocado de varias maneras, tales como estas:

directory_create(working_directory+"/saves");
directory_create(working_directory+"saves");
directory_create("\saves");
directory_create("saves");


el problema no solo es a la hora de crear archivos, tambien es a la hora de leerlos.

espero su pronta ayuda con este problema que me he encontrado.