Jump to content
Sign in to follow this  
mrsanty

poner % de caida de objetos

Recommended Posts

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

Share this post


Link to post
Share on other sites
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

 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...