Jump to content

Ayuda con los arrays


Elite™

Recommended Posts

Buenas me gustaria haria hacer 2 dos arrays uno para la experencia y otro para el yang. Y que den un valor del array al azar.

 

Queria hacerlo con estos valores:

 

Exp:

300

800

1500

2500

4300

 

Yang:

1000

2000

3000

4000

5000

 

¿alguien que me eche una mano?

 

 

Link to comment
Share on other sites

Toma, con la información que facilitas no puedo hacer más:

quest array begin	state start begin		when [ITEM].use begin			tabla={			[1]={300,800,1500,2500,4300},			[2]={1000,2000,3000,4000,5000}			}			chat(tabla[1][number(1,5)].." Exp")			chat(tabla[2][number(1,5)].." Yang")		end	endend

Cambias [iTEM] por el vnum de tu item(Recuerda que el item tenga type 18 en la base de datos).

 

Salu2.

Link to comment
Share on other sites

No entendi , explicame más

Nose como explicarme pero te voy a poner un ejemplo en el post que creo Keko sobre los arrays puso uno que es el siguiente.

 

say("Te voi a dar un arma aleatoria")say("")local items = {{160,2},{161,1},{162,3}}local arma = select ("OK" , "Cerrar")if arma == 2 then return endpc.give_item2(items[math.random(1,table.getn(items))][1],items[math.random(1,table.getn(items))][2])Bien, ahora en este caaso el juego nos va a dar un arma aleatoria, porque hemos incluido la funcion math.random dentro del array. Tal y como la hemos puesto:[math.random(1,table.getn(items))]Nos dara un resultado que puede estar entre 1 y el numero de subcategorias que tiene la tabla items.-----------------------------------------------------------------------------------------------------------------------------------------------------------------(table.getn(nombretabla)) es una función muy útil que devuelve el número maximo de elementos que tiene una tabla simple o de subcategorias de una compuesta)-----------------------------------------------------------------------------------------------------------------------------------------------------------------Por lo tanto tal y como esta configurada la quest buscara primero la subcategoría, que sera el número aleatorio, y después irá a la posicion dentro de ella que le hemos dicho (1 para la id y 2 para la cantidad)

 

Lo que quiero es hacer lo mismo para los puntos de experiencia y yang. Y que sean aleatorios con la funcion math.random

Link to comment
Share on other sites

Espero mis +1

quest exp_yang begin	state start begin		when 2900.use begin		say_title(" "..pc.get_name().." ")		say("Hola , este item te ofrece darte una")		say("Cantidad de yang y experiencia para ti.")		say_reward("Quieres recibirla")		local exp = {300,800,1500,2500,4300}		local yang = {1000,2000,3000,4000,5000}		local s = select ("OK" , "Cerrar")		if s == 2 then		return		end		pc.give_exp2(exp[math.random(1,5)])		pc.changegold(yang[math.random(1,5)])		chat("Haz recibido "..exp([math.random(1,5)]).." de Experiencia.")		chat("Haz recibido "..yang([math.random(1,5)]).." de Yang.")		end	endend
Link to comment
Share on other sites

Toma, con la información que facilitas no puedo hacer más:

quest array begin	state start begin		when [ITEM].use begin			tabla={			[1]={300,800,1500,2500,4300},			[2]={1000,2000,3000,4000,5000}			}			chat(tabla[1][number(1,5)].." Exp")			chat(tabla[2][number(1,5)].." Yang")		end	endend

Cambias [iTEM] por el vnum de tu item(Recuerda que el item tenga type 18 en la base de datos).

 

Salu2.

pepineitor , por que el "number" deberia ser math.random no ?

Link to comment
Share on other sites

Otro como pacificador ya ¬¬

	    local exp = {300},{800},{1500},{2500},{4300}		local yang = {1000},{2000},{3000},{4000},{5000}		pc.give_exp2(exp[math.random(1,5)])		pc.changegold(yang[math.random(1,5)])		chat("Has recibido "..exp([math.random(1,5)]).." de Experiencia.")		chat("Has recibido "..yang([math.random(1,5)]).." de Yang.")

Que no hagais un array con mas dentro si no hace falta!!!!! (Aparte de que lo hiciste mal)

local exp = {300},{800},{1500},{2500},{4300}local yang = {1000},{2000},{3000},{4000},{5000}
local exp = {300,800,1500,2500,4300}local yang = {1000,2000,3000,4000,5000}

Y entonces asi esto si que te ira

pc.give_exp2(exp[math.random(1,5)])

Del otro modo seria asi

pc.give_exp2(exp[math.random(1,5)][1])
Link to comment
Share on other sites

  • Dilong locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...