Jump to content
Sign in to follow this  
caanmasu

[QUEST] Encontrar el id de un objeto a partir del nombre

Recommended Posts

Hola a todos de nuevo

Hoy les traigo una nueva quest creada por mí. Me gusta crear cosas nuevas, originales, y de gran calidad.

Esta vez es una herramienta administrativa que será muy útil para los admins, GMs…

 

Lean todo, incluso el encabezado de la quest, ahí están las especificaciones con sus vulnerabilidades.

A mí me funciona, espero que también te funcione 🙂

 

Vídio random:

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

 

 

quest_functions

get_items_without_plus_zero

 

questlib.lua

function get_items_without_plus_zero(items)
	for i = 1, table.getn(items) do
		if string.find(items[i], "+0") then
			local str = string.gsub(items[i], "+0", "")
			items[i] = str
		end
	end	
	return items
end

 

buscar_id_item.quest

--[[	QUEST
Quest creada por Camilo Martínez
Consiste en obtener el ID de un objeto
a partir del nombre en una búsqueda.

Especificaciones:
1. Solo a los GMs les aparecerá el botón
"Buscar ID ítem" en las misiones. 
2. Al darle clic al botón, aparecerá
un cuadro con un input() donde se digitará
una palabra para buscar el objeto. Luego aparecerá
una lista de objetos y cuando selecciones uno,
te mostrará en letras rojas el nombre y el id.
3. Si el objeto es +0, +1, +2... se mostrará
el nombre solo y el id de ese objeto +0.

Notas:
2. Al digitar la palabra, omite el nivel del ítem (+0, +1...)
No sensible a las tildes ni mayúsculas/minúsculas, así que
escribe con confianza :)
3. Hago una consulta en la base de datos de la
tabla player.item_proto donde recojo los ítems que contengan
 la palabra y además no terminen en un
número del 1 al 9. Tomo el número 0 al final para el
conjunto de equipos (+0, +1, +2...) y así mostrar solo uno
para mejorar la búsqueda y evitar muchas páginas.
(Si tienes un objeto llamado por ejemplo Llave1 
o Llave2 no aparecerá)
4. Restringido a 47 botones (8 botones por página y en la
última página 7 botones). Más botones en la búsqueda bugea el pj.
6. Agregar la función:
get_items_without_plus_zero
En el questlib.lua y quest_functions
7. Reportar cualquier error
Que aprovechen la quest :)
Discord: Camilo#0869
--]]

quest buscar_id_item begin
	state start begin

		when letter with pc.is_gm() begin
			send_letter("Buscar ID ítem")
		end

		when button or info begin
			say_title("Buscar ID ítem")
			say("[ENTER]Escribe una palabra que tenga el nombre")
			say("del ítem. No escribas +1, +2, +3...")
			local nombre_item = input()
			if nombre_item == "" then return end
			local items = mysql_query("SELECT vnum, locale_name FROM player.item_proto WHERE (UPPER(CONVERT(locale_name USING latin1)) LIKE '%"..nombre_item.."%' and locale_name NOT REGEXP '.*[1-9]+' );")
			local tam = table.getn(items)
			if tam == 0 then syschat("No hay coincidencias") end 
			local items, id  = items.locale_name, items.vnum
			items = get_items_without_plus_zero(items)
			table.insert(items, "Cerrar")
			if tam > 47 then
				syschat("Sé más específico con tu búsqueda")
				return
			end
			local sel = select_table(items)
			if sel != tam+1 then
				say_size(350, 250)
				say_title("Resultados:[ENTER][ENTER]")
				say_item_vnum(id[sel])
				say_reward(items[sel]..": "..id[sel])
				syschat(items[sel]..": "..id[sel])
			end
		end
	end
end

 

 

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

Share this post


Link to post
Share on other sites
hace 1 hora, Clonidina dijo:

no tienes una guia para agregar esa tabla de bonus al lado del inventario ?

 

no amigo pero igual puedes tomarlo de inventorywindow.py del locale

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...