Hola hace un tiempo pregunté sobre como hacer armas desbloqueables,de ahi hasta estos dias hice varios cambios,en aquel momento utilizaba un switch de armas y la rueda del mouse para ir cambiandolas mientras jugaba el nivel pero decidi cambiar ese metodo y creé un parent para el player y 4 personajes,un jugador con un arma cada uno,asi que tengo el de la glock,el de la ak7,el de la springfield y el de la spas12,cuando cliqueo en tal o cual arma me lleva directo al room y juego,pero me parece mas interesante y mas desafiante que el usuario solo pueda arrancar con la pistola y que cuando cliquee sobre las otras 3 armas no pase nada y no vaya al room,sino que cuando alcance cierta cantidad de puntos en el juego pueda ir desbloqueandolas a las demas armas,no tengo la menor idea de como llevar a cabo eso,y obviamente una vez que esten desbloqueadas quiero que ya queden asi y no que se tornen bloqueadas de nuevo,alguien que pueda ayudarme?



Yo realice algo parecido, te explico como lo hice:
Hice un juego de naves y al empezar te salían las naves para seleccionarlas. La inicial con su sprite y el resto bloqueadas con su sprite negro. Cada una es un objeto con una variable booleana (0 ó 1) iniciada en 0. Cuando se cumpla cierto objetivo esa variable booleana pasa de 0 a 1 y mediante un condicional cambias el sprite por el sprite "a color" y permites que al clickar sobre el utilices esa nave.

Cita de: adri_zgz en Diciembre 15, 2014, 01:39:52 PM
Yo realice algo parecido, te explico como lo hice:
Hice un juego de naves y al empezar te salían las naves para seleccionarlas. La inicial con su sprite y el resto bloqueadas con su sprite negro. Cada una es un objeto con una variable booleana (0 ó 1) iniciada en 0. Cuando se cumpla cierto objetivo esa variable booleana pasa de 0 a 1 y mediante un condicional cambias el sprite por el sprite "a color" y permites que al clickar sobre el utilices esa nave.

esa es una buena idea,ahora estuve probando lo mismo pero no me funciona,por ejemplo probé con la ak47 y en create puse la variable play en 0 y en step puse que si el score es igual o superior a 1000 play pasa a 1 y en el evento left pressed puse si play es 1 me lleva al room del juego con esa arma pero no funciona,tu objetivo para desbloquear la nave en que evento lo tenes puesto?

Cita de: sketch_turner en Diciembre 15, 2014, 04:37:44 PM
Cita de: adri_zgz en Diciembre 15, 2014, 01:39:52 PM
Yo realice algo parecido, te explico como lo hice:
Hice un juego de naves y al empezar te salían las naves para seleccionarlas. La inicial con su sprite y el resto bloqueadas con su sprite negro. Cada una es un objeto con una variable booleana (0 ó 1) iniciada en 0. Cuando se cumpla cierto objetivo esa variable booleana pasa de 0 a 1 y mediante un condicional cambias el sprite por el sprite "a color" y permites que al clickar sobre el utilices esa nave.

esa es una buena idea,ahora estuve probando lo mismo pero no me funciona,por ejemplo probé con la ak47 y en create puse la variable play en 0 y en step puse que si el score es igual o superior a 1000 play pasa a 1 y en el evento left pressed puse si play es 1 me lleva al room del juego con esa arma pero no funciona,tu objetivo para desbloquear la nave en que evento lo tenes puesto?

O podes hace que no sea visible, y que cuando alcance cierto nivel:

if (nivel >= x){
    visible=true;
}
Zenkro-.

#6 Diciembre 15, 2014, 06:42:32 PM Ultima modificación: Diciembre 15, 2014, 07:00:36 PM por Fabrizon_02

personajed = 0;
if personajed = 1
//nose lo que vos quieras por ejemplo : show_message("desbloqueaste ell personaje");

if personajed = 2
//lo mismo que antes;
///y asi segui

if //Nose, lo que vos quieras
personajed +=1;

//para verificar si se puede usar algo qe no se desbloqueó
if personajed >=1
show_message("cargando para usar el personaje")
     else
show_message("no podés usar el personaje")

les comento,luego de darle a play en el menu uno va al menu de seleccion de arma que a la vez seria seleccion de personaje,por ahora son 4 armas y en el menu cada una tiene su sprite con el dibujo,puse visible=true solo en la pistola y en las demas puse visible=false,asi que no se ven,en el evento step puse esto:

if(score>=100){
visible=true;
}

y en left pressed:

if(visible=true){
room_goto(level1);
}

pero cuando obtengo esos 100 puntos y vuelvo al menu todo sigue igual,solo la pistola esta visible y no se que hacer ni cual es la falla

fijate que ese objeto pueda acceder al valor de la variable score, es decir, la variable score tenes que hacerla global asi: global.score=0
y desp usarla siempre con el global antes, asi podes acceder desde cualquier objeto. if global.score=300 {visible=true}

Cita de: vitito93 en Diciembre 15, 2014, 11:53:22 PM
fijate que ese objeto pueda acceder al valor de la variable score, es decir, la variable score tenes que hacerla global asi: global.score=0
y desp usarla siempre con el global antes, asi podes acceder desde cualquier objeto. if global.score=300 {visible=true}

hola intenté lo que decis pero no me funciona,me aparece este error:

FATAL ERROR in
action number 1
of  Step Event0
for object obj_ak_select:

############################################################################################
VMError!! Occurred - Push :: Execution Error - Variable Get -5.score(103, 0)
at gml_Object_obj_ak_select_Step_0 (line 1) - if global.score=100{
############################################################################################

yo inicialicé la variable en el create del jugador,esta mal eso?

#10 Diciembre 16, 2014, 02:34:51 AM Ultima modificación: Diciembre 16, 2014, 02:37:46 AM por Clamud
No debes usar la palabra "global" con "score" porque de por si es una variable global. Tal vez hay un objeto que inicializa su valor cuando entras a la room de selección, usa el modo debug para ver el valor de las variables en cada momento, es muy útil para encontrar errores.

Yo tenia varias variables globales que guardaban el highscore de cada nivel, y si ese highscore superaba un numero que yo especificase, desbloqueba la nave. Prueba algo asi. Es un proyecto que deje a medias porque al cambiar de ordenador lo borre... U.u Pero funcionaba.

como diria homero me estoy volviendo chango XD no le encuentro la vuelta a esto,es verdad lo del score lo tengo controlado desde un archivo ini que maneja el score y el highscore,deberia fijarme como hacer lo que vos decis adri,ahora estaba creando un sistema que sí funciona y es desbloqueandolos con codigos,ahora el tema de los codigos no se como hacerlos aparecer en determinados momentos en el juego como pistas para el jugador,y sino estaria en lo mismo que charlabamos,llegar a cierto numero y que aparezca una pista,o como reptile en mortal kombat no se