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

166
Preguntas y respuestas / Re:Ayuda con stat[#,#]
Febrero 03, 2012, 09:40:05 PM
Aparentemente estas fuera de los limites de la variable 'stat' , estoy un poco confundido con lo que tratas de hacer, si me pudieras facilitar un poco de información te podría ayudar mas.

Aunque ahora que lo pienso, según lo que entendí creas un array multidimensional, con 3 campos en el primero y 100 campos en el segundo (también podrías usar un for)


//Te debería hacer lo mismo
for (a=0;a<=100;a+=1){
    stat[1,a]="";
    stat[2,a]="";
    stat[3,a]="";
}


y luego con la parte del stat:

stat[2,codigo] = get_string("¿Que quieres escribir?"," ");

Cabe destacar que:


  • 'código' debe ser un numero entre 0 y 100
  • Es posible que tu error este en la parte de repeat(100) a+=1, ya que no usas {} solo te esta tomando la primera instruccion


Espero que me hayas entendido. Saludos
167
Ah? tienes... copy paste de lo que te copie arriba, esta en  :GM8:

Saludos :) .

168
Solo para aclarar ;)

Es verdad que cuando a?ades el evento de Draw, se ignora el sprite que tu hayas a?adido, sin embargo, si tu a?ades una "mascara de colision" entonces funcionara perfectamente, como te dije a mi me funciono.


Cuando digo mascara de colisi?n, no me refiero al sprite si no a esto:



De todos modos si ya lo resolviste, esta genial.


Saludos 8)
169
Simplemente a?ade el mismo sprite como mascara de colisi?n, y listo la mascara tambi?n rotara con el sprite y lograras tu colisi?n.


A mi me funciono.


Saludos.
170
No le? tu c?digo (mucho) pero igual dices que no funciona, as? que har? uno nuevo (que ya prob?):

[gml]
//EVENTO STEP
if (keyboard_check_pressed(vk_left)){
    dirtogo = 180;
}

if (keyboard_check_pressed(vk_up)){
    dirtogo = 90;
}

if (keyboard_check_pressed(vk_right)){
    if (dirtogo == 270){ dirtogo = 360; exit; } //Cuando va de 270 a 0
    dirtogo = 0;
}

if (keyboard_check_pressed(vk_down)){
    if (direction == 0){ direction = 356; } //Esto para cuando va de 0 a 270
    dirtogo = 270;
}
[/gml]

[gml]
//EVENTO STEP
/*Variables:
dirtogo = direction; //Direcci?n a la que va a girar
*/

if (dirtogo < direction){ direction -= 4; } //4 es la velocidad de giro

if (dirtogo > direction){ direction += 4; }

if (abs(direction-dirtogo)<=4){ //cuando este cerca, se detiene
    direction = dirtogo;
    if (dirtogo = 360){ dirtogo = 0; } //Caso especial cuando va de 270 a 0
}
[/gml]

Y por ultimo si quieres
[gml]
//EVENTO STEP
image_angle = direction;
[/gml]



Cualquier cosa avisas.

Saludos.
171
estoy casi seguro que ese problema es de teclado.... necesitar?as conseguirte un teclado de gamer, pero considerando que no le puedes pedir eso a tus jugadores, lo mejor seria buscar una combinaci?n que no se trabe.


Saludos.
172
Preguntas y respuestas / Re: Draw nombre
Enero 11, 2012, 03:44:31 PM
debes dibujar ese texto en las coordenadas relativas a las de el personaje, por ejemplo:

[gml]//Suponiendo que el objeto del jugador se llame "obj_Player"
draw_text(obj_Player.x,obj_Player.y-16,global.name);
//Debes modificar lo de obj_Player.x,obj_Player.y-16
//para adaptarlo a tus necesidades y a donde lo quieras poner[/gml]

EDIT: cabe mencionar que esto va en alg?n evento "Draw"


Cualquier cosa avisas.

Saludos
173
Preguntas y respuestas / Re: Duda sobre giro axis "X" d3d
Diciembre 30, 2011, 04:05:04 AM
as? es, pero si has seguido los ejemplos del 3d donde se pone:

[gml]d3d_set_projection(x1,y1,z1,x2,y2,z2,0,0,1);
//La parte del 0,0,1[/gml]

entonces el eje que te ayudaria seria el z:

[gml]d3d_transform_add_rotation_z(direction);
//En el ejemplo de cirberman cambia el x por z
[/gml]

Pero todo esto depende de la orientaci?n de tu auto.

Saludos.
174
Hola, necesitas separar el dinero para poderlo contar, mira: (espero que sepas de c?digo)

[gml]if (dinero >= 1000){ //Verificamos si tenemos mas de 1000 piesas de dinero
    var oro, plata; //Creamos 2 variables temporales (opcional)

    oro = floor(dinero/1000); //Obtenemos la cantidad de piesas de oro dividiendo el dinero entre 1000 y aproximando su valor al entero menor mas cercano (ej: 1500/1000 = 1.5 --> el entero menor mas cercano es 1 --> la cantidad de monedas de oro)
    plata = dinero-(oro*1000); //Ahora para obtener la plata restamos de el dinero total la cantidad de oro por mil (ej: 1500-(1*1000) = 500 --> la cantidad de monedas de plata)

    //lo que sigue es para mostrar un texto, pero aqu? debes poner como quiere que se muestre...
    draw_text(16,16,"usted tiene: "+string(oro)+" monedas de oro y: "+string(plata)+" monedas de plata.");
}
[/gml]

Espero que me hayas entendido.


Saludos
175
lo que tienes que hacer es que en el evento de tecla derecha, compruebe si esta presionando la izquierda y viceversa:

[gml]//Evento keypress right
if (keyboard_check(vk_left)){ sprite_index = spr_Quieto; exit; } //Esto comprueba si esta presionando la tecla izquierda en el evento del derecho, y si es as? le da el sprite "spr_Quieto" y deja de ejecutar

x += 4;
sprite_index = spr_Caminar;
image_xscale = 1;
...
[/gml]

[gml]//Evento keypress left
if (keyboard_check(vk_right)){ sprite_index = spr_Quieto; exit; } //Esto comprueba si esta presionando la tecla derecha en el evento del izquierdo, y si es as? le da el sprite "spr_Quieto" y deja de ejecutar

x -= 4;
sprite_index = spr_Caminar;
image_xscale = -1;
...
[/gml]


Saludos.
176
Preguntas y respuestas / Re: Paso de GM7 a GM8 Dudas....
Diciembre 12, 2011, 03:44:59 PM
Hola elvis, aqu? te lo explico:

[gml]
random_range(x1,x2); //Escoje un numero aleatorio en un rango x1 y x2, ej: un numero aleatorio entre 5 y 13 ser?a random_range(5,13).

IRandom(x); //Funci?n aleatoria pero que devuelve valor entero, cuando usas random o random_range, tienes la opci?n de obtener 5.8 por ejemplo... con esta funci?n solo obtienes un numero entero 5

irandom_range(x1,x2); //Supongo que lo has captado... combina las 2 anteriores

mouse_wheel_up/down //Evento que ocurre cuando el usuario mueve la rueda del rat?n arriba o abajo...

set_application_title(title); //Coloca el titulo a la aplicaci?n, es decir, si tu ejecutable se llama "juego.exe" pero quieres que el juego se llame distinto usas esto, y veras que la aplicaci?n ahora se llama distinto.

file_text_eoln(); //Cuando estas trabajando con texto esto te dice si se ha llegado al final de una linea (puedes usarlo para cargar nombres de los que no sabes cuanto van a medir)...

disk_size(unit); //Te devuelve el tama?o del disco en bytes ej 'C' -> 1000000000000 bytes.

disk_free(unit); //Indica cuanto espacio tiene libre el disco en bytes

gamemaker_version; //Indica la version del game maker en un valor entero, para la version 8.0 son desde la 800 hasta la 809 y para la version 8.1 desde la 810 hasta la 819
[/gml]

Saludos
177
Supongo que es para un RPG...

1.Ahora, la pregunta es, mientras le hablas te quedas quieto como en el rpgmaker y hasta que presiones la tecla vuelves a la normalidad?

2. O el simplemente te mira te lo dice, pero puedes estar normal?

--------------------------

Si es la primera, debes tener una variable con tu enemigo: "estado" en el que diga: "caminando" o "hablando" etc... luego cuando presionas 'Z' cambia de "caminando" a "hablando" y cuando termine la conversaci?n, vuelve a "caminando"... Luego en el script de caminar que tengas, debes poner el condicional al principio:

[gml]//Por ejemplo si no es caminando, entonces no ejecuta....
if (estado != "caminando"){ exit; }[/gml]

Funciona igual para el personaje, para evitar que se mueva mientras habla
----//----

Y si es la segunda opcion, es lo mismo, pero el estado de "caminando" lo puedes activar con una alarma.




Espero haberme hecho entender :-[

--
Saludos
178
Preguntas y respuestas / Re: Movimiento lateral Top-View
Diciembre 06, 2011, 06:16:33 PM
Cita de: MaanuRP en Diciembre 06, 2011, 06:12:54 PM
Si si, eso lo probe, pero cuando llega al final de room (Que la camara ya no se movera mas) el movimiente vuelve a ser circular.

Esto significa que eso solo se puede hacer en 3D? (O solo este metodo sirve para 3D)

Pues si no te quieres complicar la vida creando las vistas tu mismo... Entonces es sugerible que lo hagas en 3D, puedes usar la vista ortogonal y ya con eso lo sigues teniendo en 2D pero eliminando el factor de las vistas.


Saludos.
179
Preguntas y respuestas / Re: Movimiento lateral Top-View
Diciembre 06, 2011, 06:08:53 PM
Cita de: MaanuRP en Diciembre 06, 2011, 06:35:24 AM
Acabo de ver algo que no me gusto.

Yo uso: direction = point_direction(x,y,mouse_x,mouse_y) para que dispare y se mueva para el mouse, creo que eso esta bien.

Pero con ese script el personaje no se mueve a la derecha o a la izquierda, sino que rota alrededor de ese punto. Lo que yo queria era que vaya para la derecha o para la izquierda pero recto.

O el script se usa de otra manera, o yo estoy equivocado al usar direction = point_direction(x,y,mouse_x,mouse_y).

Porque cuando se juegan juegos en 3D, el personaje no rota con respecto a su objetivo, sino que se mueve a la derecha o a la izquierda.

En que, de todo lo que dije, estoy equivocado? xD

Gracias a todos por la ayuda!

Eso suele pasar cuando la vista esta quieta, ya que no se puede mover con el personaje y mucho menos con el mouse...

Para arreglar eso, tienes que hacer que la vista no se pare nunca y que siempre este en la misma posici?n (relativa) al personaje.

Es algo muy l?gico lo que te pasa: el personaje se mueve y vuelve a mirar al mouse, y por eso gira en torno a el, por que siempre lo mira.


Saludos
180
Hola de nuevo... Ver?s las rotaciones en Game Maker son un asunto un tanto delicado... Pero si lo que necesitas es que rote solo en el eje Y entonces es f?cil....

Mira, el primer brazo (el superior que mide 20) lo giras en torno a su punto de (-20) para que gire en (como si fuera el hombro), luego para articular el codo:

giras el inferior que mide 10 en su punto (-10) y luego lo mueves y lo giras en torno al brazo (-20)

Esto solo funciona cuando es en una direcci?n, porque si son mas, entonces tendr?s que pelear con otro asunto ;)

Te dejo un ejemplo :GM8: para que le heches un vistazo y me avises.


Saludos