Hola buenas. Estoy haciendo una muestra de datos de seleccion, funcionaba bien, pero al tocar los codigos para hacerlo mas facil y que no haya tanto codigo repetido intente mejorarlo...y no encuentro el error xD.

Bueno, tengo en el evento create varias variables:

// Centro Urbano //
global.edificionombre1 = 'Centro Urbano';
global.edificiosprite1 = spr_centrourbanocara;
global.edificiocomida1 = 150;
global.edificiooro1 = 250;
// Granja //
global.edificionombre2 = 'Cultivo';
global.edificiosprite2 = spr_centrourbanocara;
global.edificiocomida2 = 25;
global.edificiooro2 = 275;

global.catalogonombre = 'Vacio';
global.catalogosprite = 0;
global.catalogooro = 0;
global.catalogocomida = 0;
global.catalogoseleccion = 0;


La de dos objetos, y unas que indica que valor tiene la seleccion (catalogonombre, etc) y catalogoseleccion indica cual debe mostrar(cual esta seleccionada).

El evento de cambiar el catalogoseleccion no lo pongo porque cambia el numero perfectamente. Ahora es el momento de dibujar los datos, para eso uso un switch y un if.

DRAW:
switch(global.catalogoseleccion) {
//- Centro Urbano -//
case 1 : global.catalogonombre = global.edificionombre1; global.catalogosprite = global.edificiosprite1; global.catalogooro = global.edificiooro1; global.catalogocomida = global.edificiocomida1;
//- Granja -//
case 2 : global.catalogonombre = global.edificionombre2; global.catalogosprite = global.edificiosprite2; global.catalogooro = global.edificiooro2; global.catalogocomida = global.edificiocomida2;
}

if global.catalogoseleccion != 0 {
draw_sprite(spr_hud4,0,412,480)
draw_set_color(c_black);
draw_set_font(pixelfont2);
draw_sprite(global.catalogosprite,-1,view_xview+440,view_yview+515)
draw_sprite(spr_hud5,-1,view_xview+466,view_yview+482)
draw_text(view_xview+469,view_yview+486,'Alimento : '+string(global.catalogocomida));
draw_text(view_xview+469,view_yview+496,'Oro : '+string(global.catalogooro));
draw_text(view_xview+420,view_yview+561,string(global.catalogonombre))
}


Lo que intento es que si catalogoseleccion = 1 pues los valores de catalogo se igualen a los de edificio1 y lo mismo en el caso 2, igualo todos los valores, despues en mostrar uso un if para que si no es igual a 0(sin seleccion) pues se muestre la plantilla con las debidas variables.

Bueno, el error es que pulse lo que pulse solo se ve el numero 2 (probado en debug que catalogoseleccion cambia).

¿Que se me esta pasando?

Heemmm...Te falta cerrar los dos case con break.

Jajajaj era eso, que error de novato...hago lo dificil y lo facil no xD