Buenas! Quisiera saber como hacer para que cuando mate un enemigo suelte "x" objeto a ser posible con porcentajes.
Por ejemplo mato a un enemigo y entre lo que puede soltar esta.. poción hp, poción mp y oro.
Poción hp -> 20%
Poción mp -> 10%
Oro -> 80%
Entonces seria que mas o menos (ya sabéis que los % tampoco son 100% reales) la poción de hp caería al matar 5 enemigos aproximadamente, la de mp le costaría un poco mas caer y el oro prácticamente saldría al matar todos los enemigos. Esto es simplemente un ejemplo de lo que me gustaría conseguir, si es posible claro. Podéis usar esos nombres por ejemplo para hacerme el código luego yo ya lo retocare!
Os dejo mi código, el problema de mi código es que cae un objeto 100%, vamos que matas al enemigo y Siempre te cae un objeto, cosa que lo que yo quiero es que caiga un objeto al azar (pero que uno tenga mas prioridad que otro) o que no suelte nada.
choose(instance_create(x,y,choose(obj_pocionhp,obj_pocionmp,obj_pocionvelocidad,obj_pocionprueba)),instance_destroy())
Muchas gracias de antemano, un saludo! :)
a = irandom(10)
if a=7{creo pocion}
if a>=8{creo espada}
if a<=4{creo el item con mas posibilidades}
algo asi tendrias que hacer.
Cita de: zHeMaa en Diciembre 02, 2014, 10:31:18 PM
choose(instance_create(x,y,choose(obj_pocionhp,obj_pocionmp,obj_pocionvelocidad,obj_pocionprueba)),instance_destroy())
Eso debería ser
[gml]
randomize()
instance_create(x, y, choose(obj_pocionmp,obj_pocionhp,obj_pocionhp, obj_oro, obj_oro, obj_oro, obj_oro) )
instance_destroy()
[/gml]
Muchísimas gracias, me funcionan las 2 correctamente! El problema del código de vitito93 es que me funciona, pero no lo acabo de entender 100%..
Y para que no caiga ningun objeto, porque por ejemplo lo del Oro en mi juego no lo tengo añadido, lo he quitado y solo he dejado:
instance_create(x, y, choose(obj_pocionmp,obj_pocionhp,obj_pocionhp))
Para hacer que no caiga nada que debo hacer?
Graciaas! :)
Esto:
[gml]
objeto = choose( obj_pocionmp, obj_pocionhp, noone );
if( objeto != noone ) instance_create( x,y, objeto );
[/gml]
En la sección de scripts hay otros ejemplos de selección con probabilidad.
Al final he creado un objeto llamado obj_nada que básicamente esta vació, y lo he añadido entre los demás quedando algo así:
instance_create(x, y, choose(obj_pocionhp,obj_pocionhp,obj_pocionmp,obj_pocionmp,obj_nada,obj_nada,obj_nada,obj_nada,obj_nada))
Muchísimas gracias a todos por responder!
Un saludo!
Jaja es una manera complicada de hacerlo, pero sirve.