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

1
Pues siguiendo la idea del código que encontraste y lo que menciono [user]BssString[/user] haz esto...

Event Create
[gml]
//Modo de lectura, letra o numero
onlyNumb = false;// false = todo; true = solo numeros
[/gml]
Aqui activas el modo si cambias false por true solo te leera numeros

Event Step o Draw ( cualquiera de los sirve, pues, se ejecutan en cada frame, lo ideal es draw, ya que, ya tienes un evento ahi )
[gml]
if( keyboard_check_pressed( vk_anykey ) && onlyNumb ){
      keyboard_string = string_digits( keyboard_string );
}
[/gml]
Aqui detecta cuando se pulsa un tecla, si es asi, ejecuta el codigo dentro que solo deja los numeros...

Espero te ayude : D
2
Disculpa puedes poner el error que te aparece  :), me refiero lo que aparece en la consola
3
Agregando los 100 dolares que pagas se pueden recuperar despues de que tu juego venda algo asi como 1000 copias.
pequeño dato*.
4
Pues solo se podia desde la version que estaba en steam(que ya sacaron) y se podia publicar en la workshop , era asi segun tengo entendido.
Si quieres publicar un juego en steam , antes se ocupaba steam green light pero ahora no estoy seguro si se habilito "steam direct" que es lo mismo ~~ busca mas en la pag de valve :v o steam
5
Preguntas y respuestas / Re:Letra Blanca
Julio 17, 2017, 09:31:39 AM
Quizas cambias el color al blanco en alguna linea y no preestableces denuevo al color negro
6
Preguntas y respuestas / Re:Sistema de inventario
Junio 28, 2017, 04:36:52 AM
Pues basta con crear un objeto que controle el inventario ~~ aunque tambien puedes hacerlo directamente desde el jugador. Aunque por lo que veo estas buscando una manera un tanto compleja de crear un simple inventario, veras para hacer un sistema de inventario lo que debes hacer es primero preestablecer un tipo de lista de modo que a cada objeto le asignes una 'id' , luego al 'recoger' un item basta con simplemente guardar 'id' del objeto.

Por ejemplo si tenemos una lista donde:
"
1=manzana
2=piña
3=pera
"
Entonces al colicionar con una manzana se guardara la id de la manzan en 'x' slot

Posterior si quieres tener el tipico dibujo del item que tienes en el slot 'x'  simplemente debes dibujar un sprite dependiendo de la 'id' en el slot 'x' y ya.
Mmm... espero lo entiendas ~~ es bastante mas simple de lo que parece hacer un inventario . En fin esto es todo, luego intentare subir un ejemplo si puedo ~~ estoy un poco ocupado  :'(... suerte
7
Bastaria con hacer un "if" en el evento de collision con el jugador

En el enemigo. Collision con el jugador
"
If(obj_jugador.y < y){
    ///muere el enemigo
}else{
    ///muere el jugador
}
"
Y aqui un simple ejemplo en el que se comparara las coordenadas y del jugador y del enemigo, si la y del jugador es menor que la y del enemigo podriamos decir que el jugador esta mas arriba y lo mismo al contrio si es mayor(jugador) estara debajo ...
El "obj_jugador" es el nombre del objeto que sera el jugador, digo por como dices no sabes mucho para que entiendas algunos detalles importantes ~~
En fin espero haberte ayudado suerte
8
Puede ser porque para detener el jugador tienes la funcion "nokey" que es cuando no se presiona niguna tecla. En resumen este evento no se ejecutara a menos que no haya ninguna tecla presionada. Asi que de este modo al moverte y presionar cualquier otra tecla simplemente no se detendra el jugador ya que segun lo tienes no debe haber ninguna tecla presionada.
Para arreglarlo solo haz un evento de 'key released' que es cuando dejas de presionar una tecla ~~ ahi ejecuta el codigo(se puede hacer de muchas formas ve la que te acomode mas).
En fin suerte
9
Preguntas y respuestas / Re:dudirigilla :(
Mayo 07, 2017, 11:23:15 PM
pues claro aunque hay varias formas que puedes ocupar.

*puedes ver respectivamente su posicion dependiendo de sus coordenas por ejemplo si tenemos un cuadrado de 6 de ancho y esta en 'x' 10, sabemos que entre 10,16 se encuentra  entonces tenemos que ver si la 'x' de nuestro mouse es mayor o igual a 10 pero menor o igual 16, de esta forma ver si es que esta en nuestra 'area' de collision, y lo mismo se aplica en y.

*ahora tenemos varias funciones en gamemaker para detectar respectivas collisiones, puedes usar 'instance_position' o 'position_meeting' la primera te sirve por si necesitas su id, en caso de no necesitarla basta con las segunda.
puedes ver estas funciones( y muchas otras )en la pagina de yoyogames.

aqui te dare un ejemplo:
"
if( position_meeting(mouse_x,mouse_y,all) ){
    ///aqui estaria el codigo de lo que pasaria si collisiona~~
}
"
el color rojo estaria el nombre o id del obj que quieres verificar
10
creo que copiaste mal ~~( aunque creo no estoy seguro no conosco el codigo) estas aplicando la fuerza horizontal en vez de la vertical
"if (place_meeting(x, y + sign(intVX), objBlock))" (se encuentra en las ultimas lineas)
deberias poner(lo que esta en rojo) intVY
11
ha~ bueno... a mi me ha funcionado lo probe ~~ el problema es que no entiendes el codigo revisalo... solo estas copiando el codigo

es lo mismo que antes puse bueno suerte...
12
Cita de: Naitsabes0 en Mayo 07, 2017, 12:06:44 AM
Cita de: wilodxd en Mayo 06, 2017, 10:48:03 PM
~~ ehm cambia eso por 'surface_reset_target(surf)' hay varios otros escritos...
y en draw rectangle es asi 'draw_rectangle(0,0,view_wview,view_hview,0);'
pff vamos pequeños detalles :P
e intenta entender el codigo , la idea es aprender como funciona no hacer copy/paste.

Vale estudie este código y lo deje así:

obj_Oscuridad
CREATE:
///Plana para dibujar
globalvar surf;
surf = surface_create(view_wview,view_hview);

STEP
///Oscuridad
//Plana de color negro
surface_set_target(surf);
draw_set_color(c_black);
draw_rectangle(0,0,view_wview,view_hview,0);
surface_reset_target();

//Objeto que ilumina
surface_set_target(surf);
draw_set_blend_mode(bm_subtract);
//aqui puede poner el sprite de alguna 'luz'
draw_sprite_ext(spr_Luz,0,x,y,5,5,45,c_white,0.2)
draw_circle(x-view_xview,y-view_yview,32,0);
surface_reset_target();

DRAW
///Dibuja la surface
if(surface_exists(surf)){
    draw_surface(surf,view_xview,view_yview);
}else{
    surf = surface_create(view_wview,view_hview);
}

obj_Personaje
DRAW
//para que se vea el personaje.
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,
image_yscale,image_angle,image_blend,image_alpha)

Resultado: ¿Colores invertidos  :o? no es lo que estoy buscando, pero se ve interesante  :).


Sin embargo se veo muy lejos a lo que estoy buscando desde que empece este post  :(.


jaajjajaja ops ~~
aqui
"

//Objeto que ilumina
surface_set_target(surf);
draw_set_blend_mode(bm_subtract);
//aqui puede poner el sprite de alguna 'luz'
draw_sprite_ext(spr_Luz,0,x,y,5,5,45,c_white,0.2)
draw_circle(x-view_xview,y-view_yview,32,0);
draw_set_blend_mode(bm_normal);///esta linea ~~ debes restablecer el 'blend'
surface_reset_target();

"
13
Cita de: yeyo en Mayo 06, 2017, 10:37:51 PM
Gracias lo probare!! :D

tambien necesito que cuando estes en dicho refugio y des click sobre un perro este desaparezca de la room y disminuya 1 del limite de perros que debe tener la room ya que dicho refugio tendrá un limite de 10 perros.

por ejemplo:
digamos que tengo el refugio lleno de perros (osea tengo 10 perros en el) cuando de click en uno este perro desaparece y el numero de perros de la room baja a 9 por lo que ese perro ya no esta en la room pero para no destruirlo debo hacer algo llamado pooling (cosa que no se bien como hacer) y que cuando en la room anterior se destruya otro perro aparezca ese decimo perro en el refugio


:-[ disculpa pero no acabo de enter muy bien la idea
14
~~ ehm cambia eso por 'surface_reset_target(surf)' hay varios otros escritos...
y en draw rectangle es asi 'draw_rectangle(0,0,view_wview,view_hview,0);'
pff vamos pequeños detalles :P
e intenta entender el codigo , la idea es aprender como funciona no hacer copy/paste.
15
Cita de: agujakp0 en Abril 28, 2017, 05:48:50 AM
Gracias por el dato geminis :D
Y wilodxd me podrias dar un ejemplo de como emplear la ds_grid en mi codigo?
es que ya lo intente y no me salio nada bien , no estoy muy familiarizado con las ds_grid :'(
perdon por la tardanza, he estado ocupado  :-X y luego cuando tuve tiempo se callo la pagina y no encontre el tema...
en fin si sabes como funciona una grid te seria facil entender pero en caso que no lo explico un poco ~~
las grid basicamente son "arrays 2d" esto tambien puedes verlo como una seria de casillas donde tenemos columnas y filas

algo asi ~~ bien, ahora de esta forma podemos rellenarlo como queramos con numeros o letras pero preferible numero ~~
por ejemplo asi

entonces de esta forma podemos identificar que 0 es el 'vacio', 2 es el 'pasto' y 1 es la 'tierra'.
bien este es un ejemplo pequeño ahora debes escalarlo

como antes en otro post ya te habia dicho primero debes hacerlo aqui en la grid luego crearlo a partir de aqui
por ejemplo ir verificando en [0,0] que segun la img 2 seria '0'  y seguir revisandolo todo una por una, o en [0,2] que es '2' o basicamente 'pasto' etc etc.
pensando que debes crear una grid por cada chunk podras guardar 'x' e 'y' del bloque y ademas el bloque que es
asi evitando guardar tantos datos en una lista y tener que buscarlo cada vez que necesitemos esto datos.

bien espero que hayas entendido, suerte :P