Jump to content

[R]Cambiar piedras contra perlas


Croqueta

Recommended Posts

Les pongo la quest q ise, ella cambia piedras contra perlas, si uno lo qiere usar .

el pescador solo muenstra las perlas q se puede cambiar con la cantidad q uno tiene

por ejemplo->

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

tengo en mi invetario solo 100 piedras

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

el pescador solo enseña la perla blanca y la perla azul por q la perla blanca cuesta 50 piedras y la azul 100 la roja cuesta 200 y es mas de lo q tengo, por eso no lo enseña.

Pienso q les guste la quest, mucho gusto: Noa

quest cambia_piedra begin    state start begin        when 9009.chat."Cambiar Piedras" begin            say_title(mob_name(npc.get_race()))            say()            say("Qieres Cambiar piedras contra perlas?")            if select("Si","No")==2 then return end            local tabelle=cambia_piedra.cambia()            local menu,cost=tabelle[1],tabelle[2]            local menu_namen={}            for i=1,table.getn(menu) do                table.insert(menu_namen,item_name(menu[i]))            end            table.insert(menu_namen,"Cerrar")            say_title(mob_name(npc.get_race()))            say()            if table.getn(menu)==0 then                say("Tienes q tener minimo 50 piedras")                say()                return            end            say("Vamos a ver q te puedeo dar")            local auswahl=select_table(menu_namen)            if auswahl==table.getn(menu_namen) then return end            say_title(mob_name(npc.get_race()))            say()            say("Qieres cambiar "..cost[auswahl].." contra "..menu_namen[auswahl].." ?")            say()            if select("Cambiar","Cerrar")==2 then return end            say_title(mob_name(npc.get_race()))            say()            say("resivistes")            say_item_vnum(menu[auswahl])            say("")            pc.remove_item(27990,cost[auswahl])            pc.give_item2(menu[auswahl],1)        end        function cambia()            local steine= pc.count_item(27990)            --[Presio]=Item,            local a={[50]=27992,                    [100]=27993,                    [200]=27994,                    }            local menu,cost={},{}            for _,i in pairs(a) do                if steine >=_ then                    table.insert(menu,i)                    table.insert(cost,_)                end            end            table.sort(menu)            table.sort(cost)            return {menu,cost}        end    endend  
Link to comment
Share on other sites

 

no se a q te refieres sorry

Tio lo que me referia era para que te salgan las opciones dependiendo del lvl, por ejemploLv. 50 te salga solo perla blanca

Lv. 100 te salga perla blanca y azul

Lv. 250 te salga erla blanca, azul y roja

a esto me referia pero que no sean perlas sino armas o otras cosas. Sepodria??

Link to comment
Share on other sites

local item_name={	[10]='Espada+0',	[11]='Espada+1',	[12]='Espada+2',	[13]='Espada+3',	[14]='Espada+4',	[15]='Espada+5',	[16]='Espada+6',	[17]='Espada+7',	[18]='Espada+8',	[19]='Espada+9',}local a={	[50]={10,11,12},	[100]={13,14,15},	[200]={16,17,18,19},}lvl=100print("Con el nivel "..lvl)print("Puedes cambiar")print()for index,tabla in pairs(a) do	if lvl>=index then		for i=1,table.getn(tabla) do			print(item_name[tabla[i]])		end	endend

 

Output:

>lua -e "io.stdout:setvbuf 'no'" "lol.lua" Con el nivel 100Puedes cambiarEspada+3Espada+4Espada+5Espada+0Espada+1Espada+2>Exit code: 0
 

es posible, ise un ejemplo

Link to comment
Share on other sites

  • 5 years later...
hace 15 horas, Lord Ahriman - 3D Modeler dijo:

soy nuevo en quest, si copio y pego la quest asi como esta, funcionara? esta todo en la misma linea…

El lenguaje Lua no tiene la propiedad de identación, o sea, que ignora si está tabulada o no, por lo que puedes usarla así pero tendrías que arreglarle partes donde hay palabras pegadas como "endend" 
Te recomiendo siempre identar todo el código para que puedas editarlo cómodamente si prefieres.


Toma, te regalo mi quest.

Esta quest es configurable, es decir, puedes agregar las perlas que quieras con su respectivo valor en trozos de piedra. Puedes agregar perlas doradas, moradas, plateadas, etc. tan solo agregándolas en las listas.

Como siempre, haré una descripción de cómo funciona: si el jugador tiene el mínimo de trozos de piedra para comprar la perla de menos valor, le mostrará las perlas que puede cambiar y les aparecerá el nombre con la cantidad de trozos a cambiar. En este caso:

Si tienes 100 trozos te aparecerá:

Perla Blanca (50 trozos)

Perla Azul (100 trozos)

Si tienes 200 trozos te aparecerá:

Perla Blanca (50 trozos)

Perla Azul (100 trozos)

Perla Roja (200 trozos)

Si tienes 88 trozos de piedra te aparecerá:

Perla Blanca (50 trozos)

 

Y ya, el resto solo elimina los trozos correspondientes y te da la perla correspondiente, una sola.

 

(Nota: es posible que al copiar este código aparezcan signos de interrogación al final de alguna línea, solo quítalos)
 

--Camilo Martínez
--Discord: Camilo#0869
quest cambiar_trozos_piedra begin
	state start begin
		function info()
			return {
				["item"] = 27990,
				["perlas"] = {27992, 27993, 27994},
				["valor"] = {50, 100, 200},
			}
		end
		when 9009.chat."Cambiar Trozos de Piedra" begin
			local s = cambiar_trozos_piedra.info()
			local tabla_menu, tabla_perlas, tabla_valor = {}, {}, {}
			local cantidad = pc.count_item(s.item)
			if cantidad < s.valor[1] then setskin(0) syschat("No tienes suficientes "..item_name(s.item)) return end
			for i = 1, table.getn(s.perlas) do
				local perlas_desc = table.getn(s.perlas)-i+1
				if cantidad/s.valor[perlas_desc] >= 1 then
					for j = 1, perlas_desc do
						tabla_perlas[j] = s.perlas[j]
						tabla_valor[j] = s.valor[j]
						tabla_menu[j] = item_name(s.perlas[j]).." ("..s.valor[j].." trozos)"
					end
					break
				end
			end
			table.insert(tabla_menu, "Cerrar")
			say_title(mob_name(npc.get_race()))
			local sel = select_table(tabla_menu)
			if sel == table.getn(tabla_menu) then return end
			pc.remove_item(s.item, tabla_valor[sel])
			pc.give_item2(tabla_perlas[sel])
			syschat("Cambio realizado")
		end
	end
end  

 

Link to comment
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.

  • Recently Browsing   0 members

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