Jump to content

poner % de caida de objetos


mrsanty

Mensajes recomendados

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

Enlace para comentar
Compartir en otros sitios

  • 1 month later...
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

 

Enlace para comentar
Compartir en otros sitios

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

 

Enlace para comentar
Compartir en otros sitios

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...