Sergioks Posted November 20, 2016 Share Posted November 20, 2016 Buenas. Estoy haciendo un sistema de inventario para un DayZ completamente hecho por mi (optimizado, sin ninguna guia de codigo de otras versiones). Por ello, quiero aplicar un sistema de inventario nuevo, dejando de lado los elementData's. Entonces, mi duda es la siguiente: ¿Que seria mejor para guardar los items del usuario? Una tabla SQLite? local db = dbConnect("sqlite", "inventory.db") dbExec(db, "CREATE TABLE IF NOT EXISTS Inventory(player, itemName, itemUniCode)") O una tabla normal? items = {} --- function giveItem(player, itemName) local itemUniCode = math.random(0, 99999999) table.insert(items, {player, itemName, itemUniCode}) end Cabe destacar que en parte quiero hacer un sistema de Inventarios parecido al de Paradise RolePlay. Es decir, que no aparezca por ejemplo: Agua (3), si no 3 iconos de agua en el dxPanel de Inventario que estoy desarrollando ((el cual esta finalizado, solo resta esto)). Un saludo y gracias de antemano! Link to comment
Simple0x47 Posted November 20, 2016 Share Posted November 20, 2016 Vale te diria que reestructures tu pregunta. Piensa que el primer método sirve para algo y el segundo sirve para otra cosa. El primero sirve para almacenarlo de una forma "permanente" que no se vacie al reiniciar el script. El segundo sirve para acceder de forma directa y optimizada sin hacer tanto dbQuery. O sea que tienes que usar los dos. Link to comment
Sergioks Posted November 20, 2016 Author Share Posted November 20, 2016 Si, me di cuenta mientras hacia el procedimiento guiandome de la wiki . Soy nuevo en la cosa de tablas, siempre hacia era accountData's de las cosas por este estilo.. gracias igual. Link to comment
MTA Team 0xCiBeR Posted November 22, 2016 MTA Team Share Posted November 22, 2016 Usa tablas temporales Lua, en lo posible server-side para evitar hackeos, y luego puedes almacenar en SQLite. Te recomiendo igual para almacenar utilizar MySQL por su posibilidad de embeberlo en otros lenguajes posteriormente. Un ejemplo de algo que hice para un servidor es un inventario en linea de tu personaje donde te logueabas en la pagina web del servidor y podías ver tu inventario así como también comprar items online. Saludos y mucha suerte. Link to comment
Chainsaw Posted November 22, 2016 Share Posted November 22, 2016 4 hours ago, .:CiBeR:. said: Usa tablas temporales Lua, en lo posible server-side para evitar hackeos, y luego puedes almacenar en SQLite. Te recomiendo igual para almacenar utilizar MySQL por su posibilidad de embeberlo en otros lenguajes posteriormente. Un ejemplo de algo que hice para un servidor es un inventario en linea de tu personaje donde te logueabas en la pagina web del servidor y podías ver tu inventario así como también comprar items online. Saludos y mucha suerte. Cuando se compraban items online qué pasaba si al mismo tiempo estabas conectado en el servidor mirando el inventario? tengo ciertas dudas sobre eso acá en mta porque no he visto nada referente a sockets. Link to comment
Simple0x47 Posted November 22, 2016 Share Posted November 22, 2016 Si el inventario está abierto y no se hace un query para actualizar los items, no se vera el nuevo item hasta que se haga otro select. Link to comment
MTA Team 0xCiBeR Posted November 23, 2016 MTA Team Share Posted November 23, 2016 Ademas podes hacer algo tan simple como un sistema de correos, donde el usuario debe ir a un correo para recojer sus items. La otra es simplemente no permitir las compras online mientras estas conectado al servidor. Link to comment
Recommended Posts