ola bueno estoy haciendo un sistema de cartas en el que tengo una carta X con 10 puntos de ataque y 9 de vida, y una carta Y con 8 puntos de ataque y 8 de vida.
como hago mediante un codigo que la carta X por tener mayor ataque destruya a la carta Y por tener menor vida??
suponiendo que cada carta es una instancia de un objeto diferente.
evento de ataque (argument0 ataca a argument1)
[gml]argument1.vida-=argument0.ataque;
if argument1.vida<=0 {with (argument1) {instance_destroy();}[/gml]
podr?as dar m?s datos? las cartas pertenecen a un mismo objeto? o son instancias de diferentes objetos?
Estoy deacuerdo con Ciberman. Pero por si las dudas, si quieres que solo se destruya cuando el ataque es mayor a la vida pero no que le vaya restando a la vida... algo as? como yugioh
if(argument1.vida<argument0.ataque)
{
with (argument1)
instance_destroy();
}
gracias ciberman es justo lo que buscaba, el problema que tengo ahora es que al tener por ejemplo 100 cartas tendria que tener argument1 argument2 argument3..... y para el scrpt tendria que poner
argument1.vida-=argument2.ataque
argument1.vida-=argument3.ataque
argument1.vida-=argument4.ataque
argument1.vida-=argument5.ataque
argument1.vida-=argument6.ataque
y asi para el caso de que "pelee" con una carta "X"
Cita de: Fede en Diciembre 04, 2010, 10:31:44 PM
gracias ciberman es justo lo que buscaba, el problema que tengo ahora es que al tener por ejemplo 100 cartas tendria que tener argument1 argument2 argument3..... y para el scrpt tendria que poner
argument1.vida-=argument2.ataque
argument1.vida-=argument3.ataque
argument1.vida-=argument4.ataque
argument1.vida-=argument5.ataque
argument1.vida-=argument6.ataque
y asi para el caso de que "pelee" con una carta "X"
No, justamente para eso sirve "argumentX", cuando tu crees un Script, puedes llamarlo desde otro lugar y indicar sus argumentos. Si tu al script anterior lo llamas "Combatir", puedes, desde otro script, llamar a combatir escribiendo [gml]Combatir(atacante,defensor);[/gml] (Atacante corresponder?a a argument0 y defensor a argument1 y siempre se haria el calculo con los dos valores indicados al llamar el script, que pueden ser diferentes cada vez.
Espero haber ayudado ^^