Pues la verdad no me sale. Incluso busque en san Google y no encontré esa funciona nisiquiera en el manual http://docs.yoyogames.com/source/dadiospice/002_reference/strings/index.html . De todas maneras me parece que tu error tambien parece estar en i=0 dentro de tu for. Porque esa posicion no existe. Ademas ese for deberia ser <= porque si no es asi la última posicion no se tomara en cuenta. Entonces para resumir me parece que tu problema son una serie de errores.
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.
62
Preguntas y respuestas / Re:Desactivar el z buffer para un fragmento de código
Enero 11, 2016, 12:38:25 AM
pues quisas no estes activando bien el z_buffer, revisa bien esa parte de tu codigo, porque lo unico que modifica eso es d3d_set_zwriteenable(false/true), intenta esto, en la parte donde si funciona trata de dibujar esas texturas, si no hay problema en esa parte entonces el problema se encuentra en donde tu desactivas y activas otra vez el z_buffer, de todas maneras puedes probar el culling, no se si sera el problema, pero e visto errores parecidos cuando el culling esta desactivado.
63
Preguntas y respuestas / Re:Error con sistema de encriptación
Enero 11, 2016, 12:31:15 AM
pues a mi me parece que el problema radica en que tu key no tiene la misma longitud que tu string a encriptar/desencriptar, tu script "string_ord_at", el que no vi antes, entiendo que te da el valor de char de una letra en la posicion x del string, entonces en tu bucle tu le sumas la misma posicion de ambos string, la key y el string a codificar/decodificar, esto no tiene problema hasta que a tu key se le acaban las letras, yo te sugeriria que hicieras lo siguiente, suma todo los valores de tu key en un solo valor y eso es lo que le restaras/sumaras a cada posicion de tu string a codificar/decodificar.
en cualquier caso "string_ord_at" no es una funcion, es un script, y necesitariamos verla para tener una vision mas amplia de tu script codificador y ver donde esta el error.
en cualquier caso "string_ord_at" no es una funcion, es un script, y necesitariamos verla para tener una vision mas amplia de tu script codificador y ver donde esta el error.
64
Preguntas y respuestas / Re:sprite con 6 imagenes caiga del cielo de 1 en 1 imagen
Enero 10, 2016, 05:04:01 PM
deja ver si entiendo.
se crea el objeto en la posicion tal, inmediatamente este empieza a caer, con una imagen fija de la fruta del momento, una vez choca con el piso vuelve a la posicion inicial con la siguiente fruta y realiza la misma operacion.
basandome en que tienes un "suelo" llamado obj_suelo puedes hacer lo siguiente
[gml]
//en el create del objeto fruta
fruta=0;
pix=x;//guardamos la posicion inicial tanto en x como en y para devolverlo despues a esta posicion, es una buena costumbre el hacer esto de esta forma porque asi puedes poner este objeto donde sea en el room y siempre ira al inicion donde fue creado y no a una posicion fija en la que todos los objetos apareceran en la segunda caida
piy=y;
image_speed=0;//esto es para "congelar" el sprite
v_caida=4;//esta es la velocidad con la que caera, puede ser cualquier numero, solo te recuerdo que esta velocidad es la cantidad de pixeles que se desplasara por step, y que hay 30 steps por segundo normalmente (a menos que lo cambies).
//dentro de colision con el obj_suelo
instance_create(x,y,obj_explosion)//esto es suponiendo que tu explosion es un objeto
x=pix;//devolvemos la fruta a donde fue creada
y=piy;
if fruta < (image_number-1)//si fruta es menor al numero de subimagenes del sprite asignado al objeto
fruta++;//sumamos 1 a fruta
else//sino
fruta=0;//ponemos en 0 a fruta
image_index=fruta;//asignamos el valor de fruta a image_index
//en step
y+=v_caida;
[/gml]
el codigo de arriba puede ser condensado aun mas, quitando fruta y colocando directamente image_index, pero lo deje asi para que entendieras mejor, de todas maneras te lo deje bastante comentado para que entiendas que hace cada linea de codigo, ademas de eso te dejo una serie de tutoriales hechos por nuestro compañero kostra para comprender la logica de programacion.
http://www.comunidadgm.org/articulos/%28tutorial%29-gml-para-tontos-comprender-a-programar-d/
http://www.comunidadgm.org/articulos/%28tutorial%29-gml-para-tontos-2-pereza-y-mi-programa-con-flou/
http://www.comunidadgm.org/articulos/%28tutorial%29-gml-para-tontos-3-desvariando-con-variables/
se crea el objeto en la posicion tal, inmediatamente este empieza a caer, con una imagen fija de la fruta del momento, una vez choca con el piso vuelve a la posicion inicial con la siguiente fruta y realiza la misma operacion.
basandome en que tienes un "suelo" llamado obj_suelo puedes hacer lo siguiente
[gml]
//en el create del objeto fruta
fruta=0;
pix=x;//guardamos la posicion inicial tanto en x como en y para devolverlo despues a esta posicion, es una buena costumbre el hacer esto de esta forma porque asi puedes poner este objeto donde sea en el room y siempre ira al inicion donde fue creado y no a una posicion fija en la que todos los objetos apareceran en la segunda caida
piy=y;
image_speed=0;//esto es para "congelar" el sprite
v_caida=4;//esta es la velocidad con la que caera, puede ser cualquier numero, solo te recuerdo que esta velocidad es la cantidad de pixeles que se desplasara por step, y que hay 30 steps por segundo normalmente (a menos que lo cambies).
//dentro de colision con el obj_suelo
instance_create(x,y,obj_explosion)//esto es suponiendo que tu explosion es un objeto
x=pix;//devolvemos la fruta a donde fue creada
y=piy;
if fruta < (image_number-1)//si fruta es menor al numero de subimagenes del sprite asignado al objeto
fruta++;//sumamos 1 a fruta
else//sino
fruta=0;//ponemos en 0 a fruta
image_index=fruta;//asignamos el valor de fruta a image_index
//en step
y+=v_caida;
[/gml]
el codigo de arriba puede ser condensado aun mas, quitando fruta y colocando directamente image_index, pero lo deje asi para que entendieras mejor, de todas maneras te lo deje bastante comentado para que entiendas que hace cada linea de codigo, ademas de eso te dejo una serie de tutoriales hechos por nuestro compañero kostra para comprender la logica de programacion.
http://www.comunidadgm.org/articulos/%28tutorial%29-gml-para-tontos-comprender-a-programar-d/
http://www.comunidadgm.org/articulos/%28tutorial%29-gml-para-tontos-2-pereza-y-mi-programa-con-flou/
http://www.comunidadgm.org/articulos/%28tutorial%29-gml-para-tontos-3-desvariando-con-variables/
65
Preguntas y respuestas / Re:sprite con 6 imagenes caiga del cielo de 1 en 1 imagen
Enero 09, 2016, 06:54:15 PM
cuanto dura en el "aire" el objeto? es un valor que cambia o es constante? porque lo digo, porque si quieres que mientras este en el aire repdrodusca el sprite una sola vez abarcando todo el tiempo que esta en el aire, tienes que varios calculos. primero tienes que hallar el tiempo que esta en el aire en step, luego con ese valor tienes que asignar que en ese periodo se reprodusca el sprite que seria
[gml]
image_speed=(image_number/tiempo_en_step_de_caida)
[/gml]
con eso tu objeto adaptaria la speed al tiempo que estaria en el aire, pero como dije antes tienes que calcular el tiempo que estara en el aire, para eso necesitas saber la velocidad de desplasamiento y la altura en el momento en que empieza a caer.
pero para decirte como hacer eso necesitaria mas informacion, como la que ya re dije arriba, si la altura es fija o variable, el brinca o cae de un risco. ese tipo de cosas.
[gml]
image_speed=(image_number/tiempo_en_step_de_caida)
[/gml]
con eso tu objeto adaptaria la speed al tiempo que estaria en el aire, pero como dije antes tienes que calcular el tiempo que estara en el aire, para eso necesitas saber la velocidad de desplasamiento y la altura en el momento en que empieza a caer.
pero para decirte como hacer eso necesitaria mas informacion, como la que ya re dije arriba, si la altura es fija o variable, el brinca o cae de un risco. ese tipo de cosas.
66
Preguntas y respuestas / Re:Enviar variable a correo electronico
Enero 09, 2016, 05:23:28 PM
amigo, hacerlo directamente desde el gm es imposible, la unica forma de hacer eso que tu dices es usando php, no voy a explicarlo todo porque ya niu hizo un tutorial con todos los temas respondidos con la misma pregunta XD. lo que si te dire es que lo que tienes que buscar en san google es como enviar correo desde un php, ya que esto no es algo abarcado en ese tutorial, solo abarca la parte de enviar y recibir datos a un servidor php desde el gm y sql.
ps: no hay manera de hacerlo sin php, a juro necesitas php.
ps: no hay manera de hacerlo sin php, a juro necesitas php.
67
Preguntas y respuestas / Re:Detector de objetos inexistentes
Enero 07, 2016, 03:53:36 PM
despues de crear los zombis(solo despues porque si se ejecuta antes pasa al siguiente room antes de crear nada)
[gml]
if !instance_exists(obj_zombi)
room_goto(room)
[/gml]
[gml]
if !instance_exists(obj_zombi)
room_goto(room)
[/gml]
68
Preguntas y respuestas / Re:Conseguir premios cada 24 hrs
Enero 06, 2016, 09:21:21 PM
eso se puede hacer de varias formas, la cuestion es como lo quieres hacer.
basicamente eso necesita 2 partes, el reloj y un almacen del momento en que se dio el ultimo regalo.
para las 2 se pueden usar medios externos como internos.
externos: por internet, puedes ver la hora y almacenar cosas en una base de datos
internos: puedes ver la hora local de la maquina que corra el juego y almacenar en un ini, por ejemplo, la ultima vez que se dio el regalo.
tambien puedes hacer un hibrido, un reloj online pero almacenamiento local, y alrevez.
como te dije, la cuestion es como lo quieres hacer, lo mas simple es hacerlo todo interno, ya que te ahorras programar php y bases de datos, pero es hackeable. lo mismo alrevez, puedes hacerlo inhackeable pero es mas codificacion, php/sql.
basicamente eso necesita 2 partes, el reloj y un almacen del momento en que se dio el ultimo regalo.
para las 2 se pueden usar medios externos como internos.
externos: por internet, puedes ver la hora y almacenar cosas en una base de datos
internos: puedes ver la hora local de la maquina que corra el juego y almacenar en un ini, por ejemplo, la ultima vez que se dio el regalo.
tambien puedes hacer un hibrido, un reloj online pero almacenamiento local, y alrevez.
como te dije, la cuestion es como lo quieres hacer, lo mas simple es hacerlo todo interno, ya que te ahorras programar php y bases de datos, pero es hackeable. lo mismo alrevez, puedes hacerlo inhackeable pero es mas codificacion, php/sql.
69
Preguntas y respuestas / Re:Efecto desvanecer en texto
Enero 06, 2016, 09:00:28 PM
puedes usar la funcion draw_text_colour
[gml]
//en tu draw
draw_text_colour(x, y, "hola", c_black, c_black, c_black, c_black, alpha);
[/gml]
y para asignarle el valor a alpha puedes usar tu codigo reemplazando image_alpha por alpha o cualquier otra variable.
http://docs.yoyogames.com/source/dadiospice/002_reference/drawing/drawing%20text/draw_text_colour.html
[gml]
//en tu draw
draw_text_colour(x, y, "hola", c_black, c_black, c_black, c_black, alpha);
[/gml]
y para asignarle el valor a alpha puedes usar tu codigo reemplazando image_alpha por alpha o cualquier otra variable.
http://docs.yoyogames.com/source/dadiospice/002_reference/drawing/drawing%20text/draw_text_colour.html
70
Preguntas y respuestas / Re:¿Cómo "conectar" un objeto creado por un script al valor devuelto por el mismo?
Enero 05, 2016, 02:40:51 AM
niu precisamente por eso te digo que un return no se puede hacer de un objeto a un script, solo alrevez, ademas los script no son objetos, por lo que no le podemos asignar un valor si no lo pasamos por argumentos o las variables que utiliza ya las creas en el objeto que llama al script antes de la llamada
lo unico que se me ocurre es algo asi
[gml]
//dentro del script
resultado = argument0
if resultado =0
{
instance_create(obj_pregunta)
exit;
}
if resultado = 1
{
//lo que sea que aga con el 1
exit;
}
if resultado = 2
{
//lo que sea que aga con 2
exit;
}
//dentro del objeto que hace la llamada
script(0)
//dentro del obj_pregunta
if pregunta = 1
script(1)
if pregunta = 2
script(2)
[/gml]
lo unico que se me ocurre es algo asi
[gml]
//dentro del script
resultado = argument0
if resultado =0
{
instance_create(obj_pregunta)
exit;
}
if resultado = 1
{
//lo que sea que aga con el 1
exit;
}
if resultado = 2
{
//lo que sea que aga con 2
exit;
}
//dentro del objeto que hace la llamada
script(0)
//dentro del obj_pregunta
if pregunta = 1
script(1)
if pregunta = 2
script(2)
[/gml]
71
Preguntas y respuestas / Re:¿Cómo "conectar" un objeto creado por un script al valor devuelto por el mismo?
Enero 05, 2016, 02:16:23 AM
ok, creo que ya te entiendo, quieres guardar el resultado del script (lo que escoja la persona) en "resultado"
bueno en primer lugar te tengo que decir que necesitas si o si un return, en segundo es necesario parar la ejecucion del codigo completamente, como lo hace un get_string. porque? porque el return retorna el valor final entonces si no hay nada que retornar pues error si no declaraste y si la declaraste te envia el valor declarado.
te explico el return con el siguiente script de como debe de ser mas o menos el funcionamiento de get_string
[gml]
//dentro del get_string
/*el codigo que crea la caja de texto y lee el resultado*/
if boton=1
resultado = texto_en_pantalla
return resultado
//dentro del objeto
variable = get_string("asdas","")
/*a variable se le asigna el valor del return que dentro del script es resultado*/
[/gml]
habiendo establecido el funcionamiento del return con respecto a tu pregunta deberias de hacerlo directamente desde el script, no desde otro objeto. ya que hasta donde se no hay manera de asignarle un valor retornado de un objeto a un script, solo de script a objeto/script
entonces seria algo asi
[gml]
//script1
resultado=script2
//script2
variable ="cualquier cosa"
return variable
[/gml]
esto asigna a "resultado" el valor de "variable"
bueno en primer lugar te tengo que decir que necesitas si o si un return, en segundo es necesario parar la ejecucion del codigo completamente, como lo hace un get_string. porque? porque el return retorna el valor final entonces si no hay nada que retornar pues error si no declaraste y si la declaraste te envia el valor declarado.
te explico el return con el siguiente script de como debe de ser mas o menos el funcionamiento de get_string
[gml]
//dentro del get_string
/*el codigo que crea la caja de texto y lee el resultado*/
if boton=1
resultado = texto_en_pantalla
return resultado
//dentro del objeto
variable = get_string("asdas","")
/*a variable se le asigna el valor del return que dentro del script es resultado*/
[/gml]
habiendo establecido el funcionamiento del return con respecto a tu pregunta deberias de hacerlo directamente desde el script, no desde otro objeto. ya que hasta donde se no hay manera de asignarle un valor retornado de un objeto a un script, solo de script a objeto/script
entonces seria algo asi
[gml]
//script1
resultado=script2
//script2
variable ="cualquier cosa"
return variable
[/gml]
esto asigna a "resultado" el valor de "variable"
72
Preguntas y respuestas / Re:¿Cómo "conectar" un objeto creado por un script al valor devuelto por el mismo?
Enero 05, 2016, 01:43:01 AM
no te comprendo XD
tienes un script que crea un show question o un objeto que es creado por el script?
de todas maneras no podrias hacer algo como lo que te dije arriba? lo de asignarle un id al objeto creado y que a partir de ese id el objeto llame al script con un argumentx
y si el show_question es desde el mismo script usa una condicion en la respuesta que realice la llamada al script.
tienes un script que crea un show question o un objeto que es creado por el script?
de todas maneras no podrias hacer algo como lo que te dije arriba? lo de asignarle un id al objeto creado y que a partir de ese id el objeto llame al script con un argumentx
y si el show_question es desde el mismo script usa una condicion en la respuesta que realice la llamada al script.
73
Preguntas y respuestas / Re:¿Cómo "conectar" un objeto creado por un script al valor devuelto por el mismo?
Enero 05, 2016, 01:10:46 AM
niu no comprendo muy bien tu pregunta, esta parte
me hace pensar que tienes mas de un script que crea el mismo objeto, por decir script1(), script2().
siendo este el caso seria tan facil como colocar desde el mismo script un identificador del script. me explico
[gml]
//dentro del script 1
obj=instance_create(obj_pregunta,x,y)
with obj
{
llamada = 1
}
//dentro del script 2
obj=instance_create(obj_pregunta,x,y)
with obj
{
llamada = 2
}
//dentro del obj_pregunta
if //lo que sea que gatille la pregunta
{
switch(llamada)
{
case 1:
script1();
break;
case 2:
script2();
break;
}
}
[/gml]
no se si esto solucione tu pregunta porque de verdad no la entendi muy bien. XD
ps: niu el icono del tema
Cita de: NiuWeb en Enero 05, 2016, 12:47:43 AM
Donde el_script_xd() es el script que crea este objeto pregunta, y debería dar el valor a la variable respuesta dependiendo de la elección tomada por el usuario. Si, prácticamente lo mismo a un show_question()
me hace pensar que tienes mas de un script que crea el mismo objeto, por decir script1(), script2().
siendo este el caso seria tan facil como colocar desde el mismo script un identificador del script. me explico
[gml]
//dentro del script 1
obj=instance_create(obj_pregunta,x,y)
with obj
{
llamada = 1
}
//dentro del script 2
obj=instance_create(obj_pregunta,x,y)
with obj
{
llamada = 2
}
//dentro del obj_pregunta
if //lo que sea que gatille la pregunta
{
switch(llamada)
{
case 1:
script1();
break;
case 2:
script2();
break;
}
}
[/gml]
no se si esto solucione tu pregunta porque de verdad no la entendi muy bien. XD
ps: niu el icono del tema
74
Preguntas y respuestas / Re:problema con juego de memoria
Enero 02, 2016, 05:10:13 PM
trabaja con las id de los cartas y variables globales, asignando a las variables globales el valor de la id de las cartas abiertas en el momento.
75
Preguntas y respuestas / Re:Diferentes texturas en proyecto 3D. ¿Eficiente?
Enero 01, 2016, 09:05:30 PM
pues te digo que en carga externa de archivos no e tenido problemas hasta ahora, estoy trabajando en un juego didactico, en el que tengo 2000 sprite diferentes, de los que solo necesito 20 por juego, entonces obviamente es una estupides el cargar esos 2000 sprites, ademas estos sprites no se cargan por "hojas" ya que la carga es random, puedo tener cargado el 1 el 300 el 450 y el 2000. entonces te digo que el cargado externo no es que sea malo, sino que tienes que recordar que cuando dejes de usarlo tienes que borrarlo, otra cosa el cargado externo de archivos tiene diferentes resultados por platafarmo, yo probe el cargado externo con el modulo html5 y se puede ver como van cargando los sprites mientras se cargan XD, aveces quedan cortados, y el cargado externo en audio no sirve para nada en html5.
otra cosa todavia esta soportado el cargado externo de audio/sonido, pero tiene limitaciones, solo pueden ser .ogg y tienes que usar las funciones que te dije en el mensaje anterior, porque el sound_add si fue eliminado.
otra cosa todavia esta soportado el cargado externo de audio/sonido, pero tiene limitaciones, solo pueden ser .ogg y tienes que usar las funciones que te dije en el mensaje anterior, porque el sound_add si fue eliminado.