Bienvenido a Open Games Community

Únete ahora para acceder a todas nuestras funciones. Una vez que te registres e inicies sesión, podrás crear temas, responder a hilos existentes, valorar la reputación de otros miembros y muchísimo más. Además, es rápido y totalmente gratuito; ¿a qué esperas?

Tutorial Configurar Store en el Cliente

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
Hola a todos,

Hoy veremos como configurar el store dentro del cliente, el cual, puede cambiar items, bless u otros por Tibia Coins.

Si deseamos añadir una nueva categoría lo primero que haremos es muy simple, nos iremos debajo de la categoría deseada, que queremos que aparezca, si es la ultima linea, entonces debajo del todo, y entraremos una nueva categoría:

EL fichero se encuentra en: data/modules/gamestore/gamestore.lua

Os dejaré un modelo ejemplo aqui en el tema para descargar con la categoría ya preparada, pero primero lean como funciona:


Lo siguiente sera la explicación, mas abajo tendréis la plantilla que copiar y pegar para facilitar,

Este primer paquete, corresponde a la categoría, en este caso hemos copiado el del tournament:

{
icons = { "Category_Tournament.png" },
name = "Tournament",
rookgaard = true,
subclasses = {"Tickets", "Exclusive Offers"},
},

Cambiaremos "Tickets" y "Exclusive Offers", por los nombres de categoría que queremos, ejemplo: "Weapons" y "Armors"
Rookgaard = true, significa que un player en rookgaard podrá ver esa categoría.
Name= El nombre de su categoría en este caso "Items"
icons= "Category_tournament.png" , son los iconos que se encuentran en la carpeta store, si deseáis cambiarlo, buscar los nombres ahi dentro

Luego, pondremos la sub categoría "Tickets" en nuestro caso "Weapons" y la sub categoría "Exclusive Offers" en nuestro caso "Armors" justo debajo:

{
icons = { "Category_Tickets.png" },
parent = "Tournament",
name = "Tickets",
rookgaard = true,
offers = {
{
icons = { "Tournament_Restricted.png" },
name = "Restricted Tournament Ticket",
price = 100,
itemtype = 2160,
count = 1,
coinType = GameStore.CointType.Tournament,
},
},
-- Exclusive Offers
}, {
icons = { "Category_ExclusiveOffers.png" },
name = "Exclusive Offers",
parent = "Tournament",
rookgaard = true,
state = GameStore.States.STATE_NONE,
offers = {
{
icons = { "Cerberus_Champion.png" },
name = "Cerberus Champion",
price = 100,
itemtype = 2160,
count = 1,
description = "{info} usable by all characters of the account\n{speedboost}\n\n<i>A fierce and grim guardian of the underworld has risen to fight side by side with the bravest warriors in order to send evil creatures into the realm of the dead. The three headed Cerberus Champion is constantly baying for blood and using its sharp fangs it easily rips apart even the strongest armour and shield.",
type = GameStore.OfferTypes.OFFER_TYPE_MOUNT,
coinType = GameStore.CointType.Tournament,
},

Tenemos entonces las dos sub categorías añadidas, ahora, debajo de la primera "Ticket" en nuestro caso "Weapons" , aparece "Tournament_Restricted.png" que sera entonces la imagen ubicada en el store images de la web, el nombre, el precio ( en Tibia Coins )
Y luego coinType= GameStore.coinType.Tournament , para que se cambie a Tibia Coin, tan simplemente borraremos esta linea en cada bloque que la veremos.

Luego debajo vemos el Exclusive Offers, la siguiente categoria, la que seria "Armors" , y podemos ver el Cerebrus, aqui lo mismo cambiaremos la imagen, el precio, la ID que corresponde al itemID, la descripcion asi bien que de nuevo borraremos la linea coinType entera, para que accepte el TibiaCoin.
En la parte type=GameStore.offerTypes.OFFER_TYPE_MOUNT, remplazaremos el MOUNT por ITEM.

No nos olvidamos de cerrar el paquete al final con:

Aquí tenéis una plantilla lista y limpia con el ejemplo:

{
icons = { "Category_Tournament.png" },
name = "Items",
rookgaard = true,
subclasses = {"Weapons", "Armor"},
},
{
icons = { "Category_Tickets.png" },
parent = "Tournament",
name = "Weapons",
rookgaard = true,
offers = {
{
icons = { "Tournament_Restricted.png" },
name = "Restricted Tournament Ticket",
price = 100,
itemtype = 2160,
count = 1,
description = "{info} Descripcion del item.",
type = GameStore.OfferTypes.OFFER_TYPE_ITEM,
},
},
}, {
icons = { "Category_ExclusiveOffers.png" },
name = "Armor",
parent = "Tournament",
rookgaard = true,
state = GameStore.States.STATE_NONE,
offers = {
{
icons = { "Cerberus_Champion.png" },
name = "Item Nombre",
price = 100,
itemtype = 2160,
count = 1,
description = "{info} Descripcion ITEM.",
type = GameStore.OfferTypes.OFFER_TYPE_ITEM,
},
},
},

Si queréis añadir mas items, basta en copiar cada vez el mismo bloque y añadirlo debajo de cada item:

{
icons = { "Cerberus_Champion.png" },
name = "Item Nombre",
price = 100,
itemtype = 2160,
count = 1,
description = "{info} Descripcion ITEM.",
type = GameStore.OfferTypes.OFFER_TYPE_ITEM,
},

Si vais a utilizar , ejemplo, productos para craft o cualquier cosa, que son items que se pueden STACK, como los crystal coins, los recursos etc, en vez de
OFFER_TYPE_ITEM, pondréis OFFER_TYPE_STACKABLE.
 

Adjuntos

  • gamestore.rar
    27,7 KB · Visitas: 41
Última edición:
S

shorybla

Invitado
broder tienes algun video donde sales explicando mas detallado
yo por ejemplo pongo
{
icons = { "Category_Tournament.png" },
name = "Items",
rookgaard = true,
subclasses = {"Weapons", "Armor"},
},
casi al ultimo del archivo el scryipt completo y me tira error al abrir el servidor
aqui te dejo una foto haber si estoy haciendo las cosas bien o mal1641945917864.png
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
broder tienes algun video donde sales explicando mas detallado
yo por ejemplo pongo
{
icons = { "Category_Tournament.png" },
name = "Items",
rookgaard = true,
subclasses = {"Weapons", "Armor"},
},
casi al ultimo del archivo el scryipt completo y me tira error al abrir el servidor
aqui te dejo una foto haber si estoy haciendo las cosas bien o malVer archivo adjunto 1585


Aquí te dejo adjunto el fichero, reemplazarlo y obtendrás:


10.png
 
Última edición:
D

dark0cz

Invitado
en este tengo un problema, no me aparecen los iconos de la store, unicamente de los items ya baje la carpeta store con las imagenes pero no le hayo a la explicacion para modificar el config.php jeje, help please @Alex
1675664150418.png1675664203148.png
1675664233430.png1675664259893.png
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
en este tengo un problema, no me aparecen los iconos de la store, unicamente de los items ya baje la carpeta store con las imagenes pero no le hayo a la explicacion para modificar el config.php jeje, help please @Alex
Ver archivo adjunto 3278Ver archivo adjunto 3279
Ver archivo adjunto 3280Ver archivo adjunto 3281

Config.php linea 822 del notepad:
Parrafo: /////SHOP//////
Indica: 'imageServer' => 'localhost/items/'
En image server, dependiendo si estas Online o en local, en linea indicaras tu IP+/Nombre carpeta, si es en local, basta poner localhost/nombrecarpeta.
 

ADM Tibioso

Miembro
Registrado
1 Abr 2024
Mensajes
1
Puntuación de reacción
0
Puntos
73
Ubicación
mexico
hola yo tengo una duda o problema y quisiera saber si se puede arreglar y es que los items al comprar cosas x ejemplo las runas,armas ,armaduras etc. se van al store imbox y no se pueden pasar a la backpack
 

Adjuntos

  • Captura de pantalla 2025-08-10 192302.png
    Captura de pantalla 2025-08-10 192302.png
    38,1 KB · Visitas: 4

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
hola yo tengo una duda o problema y quisiera saber si se puede arreglar y es que los items al comprar cosas x ejemplo las runas,armas ,armaduras etc. se van al store imbox y no se pueden pasar a la backpack

Hola,
Depende del servidor, pero los que hay por aqui 12.72 -13x los items que van al store inbox se pueden sacar, pero no volver a poner.
Si es mas alto y es canary, reportalo en su github.
 

ATENASMYTOS

Miembro
Registrado
5 Jul 2026
Mensajes
4
Puntuación de reacción
0
Puntos
8
Config.php linea 822 del notepad:
Parrafo: /////SHOP//////
Indica: 'imageServer' => 'localhost/items/'
En image server, dependiendo si estas Online o en local, en linea indicaras tu IP+/Nombre carpeta, si es en local, basta poner localhost/nombrecarpeta.
BUJEN DIA A MI ME PASA LO MISMO PERO CON UN ITEM QUE EDITE (BOTAS VIP) YA ESTAN EN EL STORE, YA SE COMPRAN, YA SE USAN (SI FUNCIONAN) PERO NO SE VE ESE ITEM EN EL STORE YA TIENE SU NOMBRE YA ESTA EN LA CARPETA CORRESPONDIENTE LA EXTENSION PNG Y EL TAMAÑO 64X64 PERO esa carpeta Config.php LA CUAL INDICAS ES LA QUE ESTA EN LA CARPETA HTDOCS ESA LINEA NO ESTA
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
BUJEN DIA A MI ME PASA LO MISMO PERO CON UN ITEM QUE EDITE (BOTAS VIP) YA ESTAN EN EL STORE, YA SE COMPRAN, YA SE USAN (SI FUNCIONAN) PERO NO SE VE ESE ITEM EN EL STORE YA TIENE SU NOMBRE YA ESTA EN LA CARPETA CORRESPONDIENTE LA EXTENSION PNG Y EL TAMAÑO 64X64 PERO esa carpeta Config.php LA CUAL INDICAS ES LA QUE ESTA EN LA CARPETA HTDOCS ESA LINEA NO ESTA

Hola,

El item, dices 64x64, tiene que ser 32x32 el item, teoricamente.
El item lo indicas por el itemID correspondiente como en items.xml, en la carpeta. Y al agregar ese item, deberia mostrarte el item image en tu juego.

El config.lua, del servidor hay una parte del Store, que indicas store = "images", < images significa que tu carpeta en tu web se llama "images" para el shop, si se llama shop, cambiale el nombre.
 

ATENASMYTOS

Miembro
Registrado
5 Jul 2026
Mensajes
4
Puntuación de reacción
0
Puntos
8
GRACIAS POR TU PRONTA RESPUESTA. SERA ESTA LA SECCION QUE INDICAS??
-- Store
-- NOTE: storeCombinedCoins = true uses transferable coins first, then regular coins for store purchases.
-- NOTE: When storeCombinedCoins = false, storeCoinType selects which coin type is used (0 = regular, 1 = transferable).
coinPacketSize = 25
coinImagesURL = "http://" .. ip .. "/images/store/"
storeCombinedCoins = true
storeCoinType = 0

DEBO DE SUPONER QUE ESTA SECCION CONTROLA LA STORE DELA PAGINA WEB? O LA STORE QUE SE MANEJA EN LA INTERFAZ DEL CLIENTE? MI PROBLEMA COMO TAL POR LOS MOMENTOS ES LA STORE DEL CLIENTE.
ADJUNTO IMAGEN


PARTE DEL CODIGO DEL ITEM EN EL ARCHIVO (gamestore.lua) UBICADO EN EL DIRECTORIO (C:\Users\DIOGENES BRICEÑO\Desktop\NUEVO PROYECTO\data\modules\scripts\gamestore)

{
icons = { "Category_Boosts.png" },
name = "Boosts",
rookgaard = true,
state = GameStore.States.STATE_NONE,
offers = {
{
icons = { "36725.png" },
name = "Stamina Extension",
price = 10,
id = 36725, -- ID de la poción
description = "Drinking this potion fully restores stamina. Cooldown: 20 hours.",
type = GameStore.OfferTypes.OFFER_TYPE_ITEM,
rookgaard = true,
},
{
icons = { "XP_Boost.png" },
name = "XP Boost",
price = 30,
id = 65010,
description = "<i>Purchase a boost that increases the experience points your character gains from hunting by 50%!</i>\n\n{character}\n{info} lasts for 1 hour hunting time\n{info} paused if stamina falls under 14 hours\n{info} can be purchased up to 5 times between 2 server saves\n{info} price increases with every purchase\n{info} cannot be purchased if an XP boost is already active",
type = GameStore.OfferTypes.OFFER_TYPE_EXPBOOST,
},
},
},
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
GRACIAS POR TU PRONTA RESPUESTA. SERA ESTA LA SECCION QUE INDICAS??
-- Store
-- NOTE: storeCombinedCoins = true uses transferable coins first, then regular coins for store purchases.
-- NOTE: When storeCombinedCoins = false, storeCoinType selects which coin type is used (0 = regular, 1 = transferable).
coinPacketSize = 25
coinImagesURL = "http://" .. ip .. "/images/store/"
storeCombinedCoins = true
storeCoinType = 0

DEBO DE SUPONER QUE ESTA SECCION CONTROLA LA STORE DELA PAGINA WEB? O LA STORE QUE SE MANEJA EN LA INTERFAZ DEL CLIENTE? MI PROBLEMA COMO TAL POR LOS MOMENTOS ES LA STORE DEL CLIENTE.
ADJUNTO IMAGEN


PARTE DEL CODIGO DEL ITEM EN EL ARCHIVO (gamestore.lua) UBICADO EN EL DIRECTORIO (C:\Users\DIOGENES BRICEÑO\Desktop\NUEVO PROYECTO\data\modules\scripts\gamestore)

{
icons = { "Category_Boosts.png" },
name = "Boosts",
rookgaard = true,
state = GameStore.States.STATE_NONE,
offers = {
{
icons = { "36725.png" },
name = "Stamina Extension",
price = 10,
id = 36725, -- ID de la poción
description = "Drinking this potion fully restores stamina. Cooldown: 20 hours.",
type = GameStore.OfferTypes.OFFER_TYPE_ITEM,
rookgaard = true,
},
{
icons = { "XP_Boost.png" },
name = "XP Boost",
price = 30,
id = 65010,
description = "<i>Purchase a boost that increases the experience points your character gains from hunting by 50%!</i>\n\n{character}\n{info} lasts for 1 hour hunting time\n{info} paused if stamina falls under 14 hours\n{info} can be purchased up to 5 times between 2 server saves\n{info} price increases with every purchase\n{info} cannot be purchased if an XP boost is already active",
type = GameStore.OfferTypes.OFFER_TYPE_EXPBOOST,
},
},
},

Hola,

Si es bien esa parte del config que maneja las imágenes del cliente.

Por lo cual tu imagen será 36725.png que debe de estar ubicada dentro de la carpeta que está en tu web / 32 creo si me acuerdo bien , si no cambiaste nada sería store/32 , en caso prueba y copia esa imagen en cada carpeta y mira en el cliente.
 

ATENASMYTOS

Miembro
Registrado
5 Jul 2026
Mensajes
4
Puntuación de reacción
0
Puntos
8
muy buenos dias muy agradecido por tomarte tiempo para atenderme ante esta situacion! y en cuanto a lo que sugieres solo me falta colocarle el nombre en aleman le coloque diferentes nombres los ubique en diferentes carpetas y nada sinceramente no es que sea mal de morir porque hasta los momentos todo a funcionado bien solo que ese detalle no me deja dejar de pensar en eso me siento incomodo al no encontrar logica! tanto que llegue al extremo de consultar con la ia y nada ni con sus respuestas se soluciona! me agradaria solucionar por motivos de estetica y presentacion de la store a nivel del cliente
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
muy buenos dias muy agradecido por tomarte tiempo para atenderme ante esta situacion! y en cuanto a lo que sugieres solo me falta colocarle el nombre en aleman le coloque diferentes nombres los ubique en diferentes carpetas y nada sinceramente no es que sea mal de morir porque hasta los momentos todo a funcionado bien solo que ese detalle no me deja dejar de pensar en eso me siento incomodo al no encontrar logica! tanto que llegue al extremo de consultar con la ia y nada ni con sus respuestas se soluciona! me agradaria solucionar por motivos de estetica y presentacion de la store a nivel del cliente
Vale no me fijé veo el error,

Dijiste https:// ip <— aquí está el error no es ip sino que nombre de dominio ejemplo https://opengamescommunity.com/ imágenes / store
 

ATENASMYTOS

Miembro
Registrado
5 Jul 2026
Mensajes
4
Puntuación de reacción
0
Puntos
8
AMIGO EL LINK ERA PARA QUE VIERAS UNA IMAGEN QUE TE COMPARTI AQUI EN EL FORO ES UNA IMAGEN HOSTEADA
:D:D
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.641
Puntos
707
AMIGO EL LINK ERA PARA QUE VIERAS UNA IMAGEN QUE TE COMPARTI AQUI EN EL FORO ES UNA IMAGEN HOSTEADA
:D:D
Si pero esta linea

Código Lua:
coinImagesURL = "http://" .. ip .. "/images/store/"

Tiene que ser url nombre y no ip en tu config.lua del servidor y luego para test haces = localhost/images y lo verás enseguida si funciona o no
 
shape1
shape2
shape3
shape4
shape5
shape6
Arriba