mrsanty Publicado 15 de Febrero del 2020 Reportar Compartir Publicado 15 de Febrero del 2020 hola a todos, les cuento estoy usando los files akron2 con source y binaro, y e notado que los mob no tiran los item de mejora, para no liarme con el mob_drop_item etc etc.. decidi hacer esta pequeña quest. el problema que tengo es que el drup es fija. es decir si mato a un perro este me drupea siempre estos objetos y. yo quiero que sea alatorio y que no caigan tan seguido. no soy muy bueno creando quest aun. quest drop begin state start begin when kill with not npc.is_pc() begin if number(1,4) == 1 then items={ {30093,1},{30094,1},{30095,1},{30096,1} } for i = 1, table.getn(items) do game.drop_item(items[1],items[2]) end end end end end Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
NazoX Publicado 18 de Marzo del 2020 Reportar Compartir Publicado 18 de Marzo del 2020 Quote quest drops_nazox begin state start begin when kill with not npc.is_pc() and pc.get_level() >= 1 begin local drop = {1954,70102,25040,71021,80003,80004,50513,70102,72301,72310,39030,27051,27051,27051,27004,27004,27004,27004,10,10,10,20,30,40,50,60,11210,30157,15,12,21,35,22,42,44,55,61,62,71,80,50} local aleatorio = math.random(1,49) local prob = number(1, 270) if prob <= 5 then game.drop_item_with_ownership(drop[aleatorio],1) end end end end Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
caanmasu Publicado 18 de Marzo del 2020 Reportar Compartir Publicado 18 de Marzo del 2020 Para los ítems de mejora es 100% recomendable usar el mob_drop_item.txt, ya si no te funciona es otra cosa pero me parece raro que no funcione, algo estás haciendo mal xD Para usar la probabilidad debes tener en cuenta que if number(1, 10) == 1 then Esto significa que se toma un número (pseudoaleatoriamente) del 1 al 10 N = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} y si cae el 1, entonces entrará a la condición. Es decir que las probabilidades son 1/10 = 0,1 = 10%, de 10 perros que mates te dropeará 1 (puede que sí, puede que no). Si quieres personalizar la probabilidad de drop haz esto: Para poner 1% de drop: if number(1, 100) == 1 then 1/100 = 0,01 = 1% de probabilidades Para poner 0.1% de drop: if number(1, 1000) == 1 then 1/1000 = 0,001 = 0,1% de probabilidades Y así vas viendo el patrón. Nota: solo funciona este patrón con 1. Luego si quieres poner el 2% de drop: if number(1, 100) <= 2 then Dice que si el número cae entre 1 y 2 va a entrar a la condición, o sea que hay 2/100 = 1/50 = 0.02 = 2% de probabilidades Si quieres poner 20% de drop aplica el patrón del 1% así: if number(1, 10) <= 2 then Ya sabiendo esto, si quieres poner 3.5% de drop: if number(1, 1000) <= 35 then 0.25% de drop: if number(1, 10000) <= 25 then Nota: se puede comparar con cualquier conjunto de números ya que number() crea números al azar con distribución uniforme. Así que puedes poner == 1, == 100, == 40 o cualquier número que esté en el rango. Una forma de hacer esto más fácil es tomar de referencia el (1, 100) como el 1% y si quieres aumentar las probabilidades debes quitar ceros. En cambio si quieres disminuir las probabilidades debes aumentar los ceros. (1, 10) == 1 -> 10% (1, 100) == 1 -> 1% (1, 1000) == 1 -> 0.1% (1, 10000) == 1 -> 0.01% (1, 100000) == 1 -> 0.001% Después para variar los porcentajes simplemente comparas con <= poniendo el dígito. Ejemplo para el 25 (1, 100) <= 25 -> 25% (1, 1000) <= 25 -> 0.25% (1, 10000) <= 25 -> 0.025% Si quieres que el perro te bote algo con probabilidad de drop del 0,15% se hace así: quest drop begin state start begin when kill with not npc.is_pc() begin if number(1, 1000) <= 15 then -- 0.15% items={ {30093,1},{30094,1},{30095,1},{30096,1} } for i = 1, table.getn(items) do game.drop_item(items[1],items[2]) end end end end end Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.