hola cuanto tiempo!!
ya se que este tema ya lo e preguntado antes pero este caso es un poco diferente, yo hace tiempo preguntaba sobre como hacer powers up pero por lo que yo preguntaba era para hacer un objeto que apareciera cuando mataras a un zombie pero yo ahora quiero saber como haria un power up que me de velocidad durante un tiempo cuando mi personaje colisione con el.
Hola Sr.Mojon
Depende de tu script de movimiento.
Te explicaré como hacer que al tocar una mejora, dupliques tu velocidad durante 6 segundos. Tu debes adaptar el código a tus condiciones, a tus variables y a tus necesidades
Te recomiendo hacer lo siguiente:
En el create event, declarar una variable
mejora_velocidad = false
En el objeto player, evento de colusión con la mejora
mejora_velocidad = true //activa la variable "mejora_velocidad"
alarm(0) = room_speed*6 //crea una alarma de 6 segundos
with other instance_destroy() //destruye el objeto mejora
En el step event, debes incluir este código a tu script de movimiento
spd = 6 //la velocidad que sea que uses de forma normal
If mejora_velocidad = true {spd = 12} //la velocidad que quieras cuando hayas pillado la mejora
Sólo funcionará si tu script de movimiento usa una variable "spd" para moverte
En Alarm0 eliminas la bonificación de la mejora
mejora_velocidad = false
Saludos
jajaja nunca lo pense hacer asi lo voy a intentar
me sale in error en el objeto juegador cuando colisiona con el power up en la linea dos me dice "unknown function or script alarm"
Hola Sr.Mojon
Sí, ha sido error mio, la función alarma la escribí con paréntesis redondo y era el cuadrado
Usa:
alarm[0] = bla bla
Y debería funcionar (obviamente cambiando el "bla bla" por lo que realmente va jajaja).
Es que escribí el código desde mi celu sin probarlo antes, sorry
Saludos
jaja XD el codigo funciona bien pero cuando agarro el power up el efecto nunca se va
Hola Sr.Mojon
Para eso es que pusimos la alarma, es la encargada de desactivar la bonificación, quizás la configuraste mal.
Cuando tocas la mejora, deberías tener incluido este código
alarm[0] = room_speed*6 //crea una alarma de 6 segundos
En el evento ALARMA 0 debes desactivar la variable
mejora_velocidad = false //O como quiera que le hayas puesto a la variable
Con ese código desactivas la variable de mejora, entonces tu STEP EVENT debe usar la velocidad normal en vez de la velocidad mejorada.
Saludos
gracias Bss Strng