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

61
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.
62
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
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.
64
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/
65
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.
66
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.
67
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]
68
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.
69
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
70
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]
71
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"
72
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.
73
niu no comprendo muy bien tu pregunta, esta parte

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
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
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.