pues le estoy siguiendo con el personaje principal, y ps me sucede algo raro, se supone que inicialmente debes de tener cero de municion, al momento de que el personaje haga colision con dijo objeto este se destruye y la municion se eleva+1, y hasta ese momento no pasa nada por que la pistola=false, al momento de chocar contra otro objeto la pistola=true, entonces se ejecuta el comando y se dispara la municion, y todo bien, pero no pasa nada al momento de chocar con otro objeto de ammo ammo=+1, y si choco con dos mas solo dispara una vez.
en resumen al momento de colisionar con dos objetos ammo, solo puedo disparar una municion, si "agarro" 5 municiones, solo puedo hacer un disparo.
Citarchocar con otro objeto de ammo ammo=+1, y si choco con dos mas solo dispara una vez.
ahi estas diciendo que ammo=1.. lo correcto para agregar uno es:
ammo+=1
mmm pues aun sigo con lo mismo, en donde se va a poner el ammo+=1, en el vento de crear el objeto? o en donde?
al iniciar declaro como ammo=0, eso trendra que ver?
Hola:
No me toca a m? dec?rtelo, porque no soy moderador, pero el t?tulo de tu pregunta no da una idea de lo que quieres, entonces la gente no se motiva a leerlo.
Por l?gica debes declarar en CREATE la variable ammo con la cantidad de balas que desees (en la ROOM tambi?n se puede declarar variables).
Luego, hay dos opciones, que la variable decrezca (si disparas, pues la variable se reduce a menos ammo) y lo otro es que le sumes, si as? lo deseas.
Ahora, la pregunta d?nde le sumas o le quitas depende de lo que quieres hacer: si al presionar ENTER dispara una unidad de ammo, entonces en este evento KEY PRESS + ENTER le pondr?s ammo-=1
Luego en STEP, si quieres q se recargue solo, decides cu?nta ammo le sumas y si de forma relativa o no. Podr?as poner un trozo de c?digo que diga ammo=ammo+5 que equivale a ammo+=5. O una condici?n: if global.ammo<10, ammo+=5...
Suerte, var?n.
en el objeto personaje.
en el evento crate del personaje declaro la variable
ammo=0;
en el evento cuando el personaje hace colicion con la recarga.
ammo+=1;
en el evento pressxkey
if ammo>0
{
if not place_free(x,y+1) and sprite_index=pres_up and facing='right' {sprite_index=lanza_objeto;{if knife=true instance_create(x-3,y-18,cuchillo);};ammo=-1};
if not place_free(x,y+1) and sprite_index=pres_up2 and facing='left' {sprite_index=lanza_objeto2;{if knife=true instance_create(x-3,y-18,cuchillo2);};ammo=-1};;
}
en el objeto ammo.
en el evento crate declaro nuevamente
ammo=0;
en el evento de colision contra el personaje
ammo+=1;
destryuo el objeto ammo
para lanar el objeto cuchillo no hay problema, el problema es lo de el ammo.
si lo que deseas es restar 1 al valor de ammo tienes que usarlo asi cambia esto ammo=-1; por esto ammo-=1;
no creo q el gm acepte valores negativos, talvez me equivoque, lo q podr?as hacer es controlar con un if dicha funci?n, saludos XD XD XD
Lo que estas haciendo es sumar una bala al objeto ammo :'(
Lo que deverias hacer es sumarle una bala al personaje, pone esto en el evento de colision con el personaje:
instance_destroy()
with(other)ammo+=1
borra el evento create del objeto ammo que no te sirve para nada
Cita de: 3dgeminis en Abril 12, 2010, 11:38:13 PM
Lo que estas haciendo es sumar una bala al objeto ammo :'(
Lo que deverias hacer es sumarle una bala al personaje, pone esto en el evento de colision con el personaje:
instance_destroy()
with(other)ammo+=1
borra el evento create del objeto ammo que no te sirve para nada
creo q el c?digo ser?a, espero no me equivoque:
with(objeto_bala){instance_destroy()}
Objeto_personaje.ammo+=1
saludos XD XD XD