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

211
  Saludos makero Samigabacho:

  No te preocupes por este código. Primero aprende el código básico general, que es más fácil, luego con una breve explicación entenderás este...   ;D

PD: te puse los "scripts" en el mensaje anterior..
212
  Saludos makero Samigabacho:


  Disculpa la demora.  :-[

   Acá te dejo un "script" para cargar todo un fichero de BD creado con el "GM Database Support". Para que funcione solo lo debes llamar y pasarle como argumento una cadena de caracteres compuesta por el nombre del fichero y su extensión.  Por ejemplo: "basedatos.txt"

Luego, en el objeto desde el cual llamas al "script", se crean unos "arrays":
* Un "array" bidimensional, cuyo nombre es el argumento pasado al "script", que contiene información de todas las tablas de la forma:
  basedatos.txt[0,0] = cantidad total de tablas,  [0,1] = nombre de tabla,  [0,2] = cantidad total de filas, [0,3] = cantidad total de columnas
[1,0]= nada, [1,1] = nombreTabla_1, [1,2] = 6, [1,3] = 2,
[1,0]= nada, [1,1] = nombreTabla_2, [1,2] = 4, [1,3] = 5,
[1,0]= nada, [1,1] = nombreTabla_3, [1,2] = 3, [1,3] = 10,

* Un "array" bidimensional para cada tabla. El nombre de este "array" es el nombre de la tabla, por ejemplo: "nombreTabla_1[2,1]", de la forma:

nombreTabla_1[0,0] = nada, [0,1] = nombre_columna_1, [0,2] = nombre_columna_2, [0,3] = nombre_columna_3
[1,0] = nombre_fila_1, [1,1] = valor, [1,2] = valor, [1,3] = valor,
[2,0] = nombre_fila_2, [2,1] = valor, [2,2] = valor, [2,3] = valor,
[3,0] = nombre_fila_1, [3,1] = valor, [3,2] = valor, [3,3] = valor,


Puedes aceder a los nombre de cada tabla, la cantidad de columnas y filas en el primer "array". Los nombres de cada fila, columna, así como sus valores en lños "arrays" creados para cada tabla.

Parece complicado, pero es sencillo una vez lo comprendes. Tienes todo organizado y listo para usarse.

Esta versión del "script" solo carga fichero sin encriptar, la hice ayer por la tarde. El Lunes te traigo la de "guardar" y luego le agregamos la función de "enciptar - desencriptar".

  Cualquier duda pregunta. No estaré el fin de semana, pero el Lunes nos podemos ver (escribir.)  :-[

Disculpa por las molestias causadas y hasta la próxima.  ;D   

Edito:  Se me olvidaba el adjunto. Suerte que Mgbu me lo recordó... :-[ 
213
Makero Samigabacho:


  Por lo que necesitas de realizar acciones en ciertos momentos, te recomiendo que leas algo sobre los "time lines". Aun que no hay nada que no se pueda hacer con las "alarms".

  En la página de "yoyogames", en la sección de "tutoriales" hay un "tutorial" muy completo paso a paso sobre como hacer un juego "shooter". En dicho "tutorial" tocan elementos como los "time lines", "alarms" y otros muy necesarios para comprender y dominar el GM. Claro, ellos asumen que pasaste el primer "tutorial".

  Mi recomendación es que sigas el "tutorial", si no tienes problemas con el inglés, y verás que muchas de esas preguntas estarán más que respondidas.   :D

   Link a yoyogames: aquí 

  Disculpa la demora en la respuesta...  ;D 
214
  Saludos makero Samigabacho:


  El primer segmento de código parece mío, pero el segundo definitivamente no. Yo jamás he usado "grids" (cuadrículas).  :-\

  ¡Qué alegría! Vi en tu perfil que tenemos la misma edad.   XD

  Permíteme hacer una pregunta: ¿Cuando hablas de que estás verde, cuán verde estás? Lo digo para orientarte mejor. Si son tus primeros pasos en GM deberías primero seguir ciertos "tutoriales" antes de emprender el camino de hacer tu propio juego. Parece más lento, pero en realidad es mucho más rápido.  :-[

  Espero respuesta compañero de años...  ;D 
215
  Saludos makero Samigabacho:


  El "script" "cargar" que el makero Mgbu te envió es capaz de "cargar" un fichero de base de datos creado con el "GM Database Support" y lo transforma en un objeto con muchos "arrays". Cada "array" se covierte en una tabla de la base de datos y el nombre de cada "array" será el prefijo "tb_" más el nombre de la tabla que representa, osea "tb_nombretabla".

  Si tienes en la BD una tabla llamada "saturno", el "array" creado dentro del objeto será "tb_saturno".

Una vez que quieras salvar la base de datos completa utiliza el "script" "grabar" y le pasas como argumento el nombre del objeto base de datos que has estado utilizando en tu juego. Esto creará un fichero de texto con todos los datos en él.

El problema es que estos "scripts" son viejos y fueron una prueba para lograr algo mejor. Estoy trabajando en los "scripts" mejorados. Estos viejos pueden traer problemas ya que al guardar no seleccionan el fichero BD para escribir la salva en el.

Te prometo para el lunes traerte los "scripts" actualizados.

  Gracias por la atención prestada y disculpen las molestias ocasionadas.   ;D 
216
Saludos makero Samigabacho:


  El "GM DATABASE SUPPORT V3.1.1" genera un fichero de texto pero la forma de guardar las tablas (filas y columnas) es distinto, propio. Este proyecto, "DBMaker", que nos presenta el makero calio guarda en un ".txt" una estructura existente en GM llamada "grid" (cuadrícula). Para guardarla y cargarla utiliza funciones existentes también en GM  "ds_grid_write(nombre_grid)" y "ds_grid_read(nombre_grid)" que sen encargan de escribir toda esa estructura en formato texto a la manera del GM.

No se si me estaré saliendo del tema, pero aclaro  que "GM DATABASE SUPPORT V3.1.1" necesita "scripts" propios para leer y guardar los datos en los ficheros textos, pero es capaz de guardar varias tablas con sus respectivos nombres, las filas y las columnas de las tablas pueden ser de tamaños irregulares, presenta algoritmos de encriptación y decriptación para los datos, etc.

Este "DBMaker" es una buena opción, fácil de usar para los makeros principiantes y sin mucha complicación a la hora de implementarlo en nuestros proyectos.  8)

¡Enhorabuena calio!   XD

Una sugerencia sería si alguien pudiera hacer un editable en otras versiones de GM ya que muchos makeros no podrán aprender de su código por tener versiones previas.   :-[

Gracias por la atención prestada y disculpen las molestias ocasionadas.  ;D 
217
Preguntas y respuestas / Re:Como hacer efecto de desliz
Septiembre 24, 2012, 05:34:17 PM
Saludos makero megaluizer:


  Para lograr que el personaje continúe un movimiento hay mucha maneras.

  En casos de que le movimiento sea horizontal puedes utilizar la variable "hspeed", en ella se guarda la velocidad de desplazamiento horizontal del objeto en cuestión. Si colocas valores positivos en esta variable el objeto se desplazará hacia la derecha y con valores negativos se desplazará hacia la izquierda. Recuerda que si el valor es cero, el objeto no se desplazará en la línea horizontal.

En caso de que quieras darle direcciones distinta a la horizontal en los movimientos de desplazamientos podrías utilizar la función "motion_set" que recibe dos parámetros:
1 - la dirección del movimiento que debe darse como un número entero que indica el grado de inclinación (derecha cero 0, arriba noventa 90, izquierda ciento ochenta 180, abajo dos cientos setenta 270)
2 - la velocidad del movimiento que debe darse como un número entero que en caso de ser negativo se mueve en igual dirección pero en sentido contrario

Hay muchas maneras de hacerlo, debes experimentar y ver cual se acomoda más a lo que quieres lograr.

  Gracias por la atención prestada y disculpe las molestias ocasionadas.  ;D 
218
Noticias / Re:Nuevos cambios en el perfil de usuario
Septiembre 21, 2012, 10:31:58 PM
Saludos Makeros:

  Tengo unas preguntas a cerca del nuevo sistema de puntuación.

  ¿Cuantos puntos tengo para otorgar? Hace unos días otorgué siete (7) puntos entre dos temas y me quedé sin la posibilidad de seguir otorgando... No se que habrá pasado.

  En caso de que la cantidad de puntos a otorgar esté limitada, ¿cómo sería dicha limitación? ¿Diaria, mensual, por temas "posteados"?

  ¿Los puntos que otorgo no disminuyen los puntos ganados?

  Disculpen pero tengo interés en saber como funcionan. Ya los estamos usando y no se han explicado del todo.

  Disculpen las molestias ocasionadas y hasta la próxima.  ;D
219
  Saludos Makero Marron121:


  Disculpa, pero luego de la pregunta sobre los "triggers" me han quedado dudas y no se si deba exponerlas aquí.  :-[

  He intentado en casa escribir algunos "trigger" sencillos y me topé con un problema: no logro crear un "trigger" que responda a las entradas de teclado. Lo he intentado ya de varias formas, incluso copiando el texto que aparece en el artículo de Maitreya y me da error.  Link al artículo de Maitreya   

  La versión que utilizo es GM8 registrado  :GM8:  no se si tendré algo mal o falta algo por explicar...Creo que el tema no debería darse por cerrado pues no abarca la solución a la pregunta.  :-[

  Muchas gracias por la atención prestada y disculpen las molestias ocasionadas.  ;D
220
  Saludos makero Marron121:

  No estoy seguro, pero los "trigger" no son necesarios para realizar esa operación. Como bien dice el makero SALVADOR, puedes poner el código en el evento "step" de algún objeto y funcionará.

  Los trigger son un misterio aun sin resolver... :o     broma XD


  No los he usado, he resuelto con lo básico por eso te recomiendo lo mismo que el makero SALVADOR.  :D

   disculpa las molestias ocasionadas y hasta la próxima.   ;D
221
Preguntas y respuestas / Re:[AYUDA] Comparar frecuencias
Septiembre 11, 2012, 09:25:34 PM
  Saludos Makeros:

Makero Texic, si pudieras contactarme para enviarme vía correo esa dll.  XD

No logro encontrar la descarga por ninguna parte...  :-[

  Gracias amigo.
222
Preguntas y respuestas / Re:Donde esta el error?
Julio 23, 2012, 05:41:32 PM
  Saludos Makero Mr.Dudas:

  Creo saber cual es el problema.   8) 


Citarglobal.fnn += 1
global.fen=global.fn +  string(global.fnn) + string(global.fe);

  Primero a global.fnn le adicionas un entero (int) y en la línea siguiente le agregas una cadena de caracteres (string). No es lo mismo cambiar el valor de una variable que agregarle valores de distintos tipos. Esto causa problemas.  :-[

  Casualmente este fin de semana me pasó. Debe escoger el tipo de dato que vas a utilizar en esa variable, pero no puedes tratar a su valor primero como entero y luego agrarle una cadena de caracteres.  8)

  Mi opinión debes crear dos variables una que guardará el valor en (string) y la otra en (int). Siempre puedes convertir de uno al otro, pero nunca agregarle uno al otro.  :-[

  Espero que te sirva de ayuda... ;D   
223
Preguntas y respuestas / Re:Seguimiento PERFECTO?
Julio 20, 2012, 11:03:24 PM
Cita de: SobacoEnLlamas en Julio 20, 2012, 02:20:06 PM
emmm... bueno ya solucioné mi problema de una manera extraña... contestad si queréis por si alguno ve el tema y le interesa... pero ya no me hace falta disculpen xDD

Lo que hice fue cambiar el sprite del player por el sprite del objeto que le sigue y el sprite del player a la vez (que no colisionan) y cambiar la mask del sprite nuevo este... ya sé que es muy raro y nadie se enterará de porqué, pero me fue PERFECTO esto jaja xD
  Saludos Makero SobacoEnLlamas:

   La solución que yo encontré al mismo problema fue dibujar el objeto en coordenadas relativas al objetivo a seguir.  Me explico, el objeto a seguir, en su evento "draw" dibuja al perseguidor. De esta manera no se retrasa ni un píxel...  ;D

   Espero te sirva de algo...

PD: ... ¡¡¡Buen nombre de perfil!!! XD
224
Preguntas y respuestas / Re:Ayuda en saltar
Julio 19, 2012, 04:49:12 PM
  Saludos makero  Mr.Dudas:

  Puedes colocar una variable como contador y chequearla antes de saltar nuevamente.

  Un ejemplo de como se puede hacer:

  * creas una variable "salto_posible = 0" en el "create" del objeto personaje.
  * antes de saltar preguntas con "if" si la variable es igual a cero, en caso de que sí lo sea saltas. Le colocas un valor distinto de cero a "salto_posible" :
   
  if(salto_posible == 0)
  {
         // saltas
         salto_posible = 150;  // colocas la variable en 150
  }

 
*  en el evento "steps" empiezas a decrementar en uno a la variable "salto_posible" cada "step":

if(salto_posible > 0)
  {
         salto_posible -= 1;  // decrementas la variable hasta cero
  }


  nota: ¿Por qué el valor de 150? Cada segundo se llama al evento "step" 30 veces. Si quieres que sean cinco segundos antes del próximo salto, multiplico 5 segundos por 30 "steps" y me da un total de 150 "steps" en 5 cinco segundos. En caso de que quieras otro lapso de tiempo debes calcularlo.

  Espero te sirva de algo... ;D

225
Cita de: Maitreya en Julio 06, 2012, 05:25:04 AM
Es igual a como funciona la seccion de juegos online, es un aplet de java pero no conozco el codigo.

  Saludos makeros:

  Pues sería super interesante de aprender cómo se raliza.  XD
  Tengo la misma duda, si algún moderador fuera tan amable de explicarlo...  :-[ 

  Gracias!  ;D