Junio 26, 2011, 05:24:20 PM Ultima modificación: Junio 27, 2011, 11:55:03 AM por loko17
Buenas aqui estoy de nuevo (que peasado..) esta vez con un problemilla que seguro es sencillo como todos pero me trae de cabeza solucionarlo.
El problema es que cuando tengo varios "enemigos" muertos y clickeo en 1 cuerpo deveria abrir el loot de solo 1 "enemigo" pero digamos que abre todos los que estan en el mismo lugar , si hay varios cuerpos pero separados todo funciona bien , asi que atribuyo a que tiene que ver con el evento del raton cuando los sprites estan amontonados.

[gml]instance_create(x,y,obj_argo_loot_young)
instance_destroy()[/gml]

Que necesitaria para que solo habra 1 por click aunque esten varios amontonados.

Info extra: estoy usando un engine de inventario,loot ect de una persona y no comprendo todo el codigo , asi que no se si tambien podria estar el problema por hay.

Gracias de antemano.

#1 Junio 26, 2011, 05:35:00 PM Ultima modificación: Junio 26, 2011, 05:50:59 PM por brunoxzx
En que evento y objeto tienes el c?digo con el que creas los loots?.


Edit: bueno en realidad lo que yo har?a seria poner esto en step de un objeto que este en todos los rooms
[gml]

if mouse_check_buttom_pressed(mb_left){
if instance_position(mouse_x,mouse_y,enemigo_muerto){
instance_create(x,y,obj_argo_loot_young)}}
[/gml]

El codigo que puse hay esta en "Left Released" en cada uno de los enemigos solo que cada uno para un loot/drop diferente.
Creo que con eso seguira sucediendo lo mismo ya que si hay varios "enemigos muertos" en el mismo x,y todos crearan el obj que controla el loot/drop individual al mismo tiempo (luego pruevo en un rato que ahora me tengo que ir).
Algo para que cuando haga "left released" solo detecte los objetos 1 por 1 y no abrea todos , de todos modos estoy espeso aqui ahora hehe en un rato cuando prueve eso te digo si funciona o haver si se me ocurre algo.
GRacias compi.

Bueno despues de un par de horas peleandome con el dichoso problema ya parece estar solucionado , no se si me dara problemas mas adelante pero de momento funciona.
Gracias por el codigo , aunque no funciono me dio la idea para terminar con esto :
[gml]if mouse_check_button_released(mb_left){
if instance_position(mouse_x,mouse_y,obj_parent_loot) {
if obj_parent_loot.object_index=argo_dead_young {instance_create(x,y,obj_argo_loot_young) with (argo_dead_young.id) instance_destroy()}
else
if obj_parent_loot.object_index=argo_dead_adult {instance_create(x,y,obj_argo_loot_adult) with (argo_dead_adult.id) instance_destroy()}
}}[/gml]