Anzo Posted August 5, 2016 Share Posted August 5, 2016 Estoy tratando de hacer un script que al comprar un skin se te guarde en una gridlist y tu más adelante si quieres cambiarte el skin, pues, te lo cambias. Mi duda es si es mejor usar tablas para hacer esto o usar una base de datos. Por si hay que usar MySQL o esas cosas raras para mi , sería bueno si me dijeran un ejemplo o me pasaran algún sitio web o tutorial de como usarlo para entenderlo mejor. Link to comment
Tomas Posted August 5, 2016 Share Posted August 5, 2016 Creo que tienes un mal concepto de lo que hacen las tablas. Tienes que utilizar algun software de guardado como MySQL, MariaDB, etc. Link to comment
Anzo Posted August 5, 2016 Author Share Posted August 5, 2016 Creo que tienes un mal concepto de lo que hacen las tablas. Tienes que utilizar algun software de guardado como MySQL, MariaDB, etc. Pensé que cuando el jugador compre el skin se podía usar un table.insert, pero no sé. (aunque se que usar esto no me guardara al reiniciar el script, o eso creo...) Tengo una pregunta, SQlite es lo mismo que MySQL? en la sección de inglés hay un tutorial sobre usar SQlite, y quería saber si SQlite puede hacer lo mismo que MySQL. Link to comment
Tomas Posted August 5, 2016 Share Posted August 5, 2016 Creo que tienes un mal concepto de lo que hacen las tablas. Tienes que utilizar algun software de guardado como MySQL, MariaDB, etc. Pensé que cuando el jugador compre el skin se podía usar un table.insert, pero no sé. (aunque se que usar esto no me guardara al reiniciar el script, o eso creo...) Tengo una pregunta, SQlite es lo mismo que MySQL? en la sección de inglés hay un tutorial sobre usar SQlite, y quería saber si SQlite puede hacer lo mismo que MySQL. No. Son dos aplicaciones distintas que funcionan bajo SQL, como MariaDB, o ApacheSQL Link to comment
aka Blue Posted August 6, 2016 Share Posted August 6, 2016 Puedes almacenar el contenido de una tabla de un script en un fichero txt, no es imposible, pero para eso, mejor usa MySQL y te ahorras dolores de cabeza. Link to comment
Anzo Posted August 6, 2016 Author Share Posted August 6, 2016 Puedes almacenar el contenido de una tabla de un script en un fichero txt, no es imposible, pero para eso, mejor usa MySQL y te ahorras dolores de cabeza. Bueno, tendré que leer sobre MySQL para entender como funciona, gracias. Link to comment
Anzo Posted August 6, 2016 Author Share Posted August 6, 2016 ¿Cuál es la mejor forma de hacerlo? con elementData o con MySQL? Link to comment
Discord Moderators AlexTMjugador Posted August 6, 2016 Discord Moderators Share Posted August 6, 2016 Usa SQLite, MySQL o cualquier otro programa o método que escriba información en el disco duro para guardar datos que deben de perdurar aún tras reiniciar el servidor (debes de hacer esto si quieres que la selección de skin se recuerde para siempre). Usa tablas, datos de elementos y variables en general cuando guardes información volátil, que no necesita ser usada en futuros reinicios del servidor (haz esto si la selección de skin tiene carácter no permanente en el tiempo, porque va asociada a una selección de equipo o similares motivos). En general, es más eficiente usar variables y triggerClient/ServerEvent para este fin, pero dependiendo de la situación los datos de elementos pueden ser más sencillos e igual de eficientes. Sobre la pregunta que haces de SQLite, en efecto no es lo mismo que MySQL, pero se puede usar para un fin similar: guardar información en bases de datos, usando lenguaje SQL. La principal diferencia entre SQLite y MySQL radica en que el primero guarda todo lo relativo a una base de datos en un archivo, no está diseñado para ser concurrente, no requiere de un servidor y admite bases de datos de hasta 140 TB (que pueden limitarse por el sistema operativo a un valor menor como 4 GB), mientras que el segundo requiere de un servidor para funcionar, es concurrente y no tiene un límite de tamaño tan definido. MySQL es más fácil de mantener una vez que se configura su servidor, pero SQLite está diseñado específicamente para ser usado en aplicaciones como el servidor de MTA y, al no usar un servidor web, realiza su trabajo bastante más rápido, de manera más segura y no requiere configuración previa. La página web de SQLite usa su propio producto y explica cuándo debes (y no debes) usar SQLite, frente a alternativas como MySQL. Link to comment
Anzo Posted August 7, 2016 Author Share Posted August 7, 2016 Quisiera aprender a usar SQLite, pero hay unas cosas que no entiendo... dbConnect Se usa para crear la base de datos? Pero cómo hago para ''manejar'' esa base de datos? ._., luego que la creo con dbConnect no sé que más hacer. Si yo quiero que se guarden las skin que compres en una gridlist, más o menos que tengo que hacer con la db? En la wiki dice que hay que crear una tabla, pero en esa tabla que tengo que poner? Espero me puedan ayudar. Link to comment
Enargy, Posted August 7, 2016 Share Posted August 7, 2016 Quisiera aprender a usar SQLite, pero hay unas cosas que no entiendo...dbConnect Se usa para crear la base de datos? Pero cómo hago para ''manejar'' esa base de datos? ._., luego que la creo con dbConnect no sé que más hacer. Si yo quiero que se guarden las skin que compres en una gridlist, más o menos que tengo que hacer con la db? En la wiki dice que hay que crear una tabla, pero en esa tabla que tengo que poner? Espero me puedan ayudar. Hechale un vistazo a dbExec y dbQuery, que son los que vas a tener que usar para hacer lo que quieres. Link to comment
Anzo Posted August 7, 2016 Author Share Posted August 7, 2016 Quisiera aprender a usar SQLite, pero hay unas cosas que no entiendo...dbConnect Se usa para crear la base de datos? Pero cómo hago para ''manejar'' esa base de datos? ._., luego que la creo con dbConnect no sé que más hacer. Si yo quiero que se guarden las skin que compres en una gridlist, más o menos que tengo que hacer con la db? En la wiki dice que hay que crear una tabla, pero en esa tabla que tengo que poner? Espero me puedan ayudar. Hechale un vistazo a dbExec y dbQuery, que son los que vas a tener que usar para hacer lo que quieres. Gracias por eso, luego veo como funcionan. Ahora principalmente lo que necesito es saber como hacer que al comprar una skin se te ponga en otra gridlist la skin comprada, alguna idea de como podría hacerlo? (mientras tanto iré leyendo lo de dbExec y dbQuery, por que la verdad no sé ni como empezar para que la skin que compres se mande a otra gridlist.) Link to comment
Enargy, Posted August 8, 2016 Share Posted August 8, 2016 Quisiera aprender a usar SQLite, pero hay unas cosas que no entiendo...dbConnect Se usa para crear la base de datos? Pero cómo hago para ''manejar'' esa base de datos? ._., luego que la creo con dbConnect no sé que más hacer. Si yo quiero que se guarden las skin que compres en una gridlist, más o menos que tengo que hacer con la db? En la wiki dice que hay que crear una tabla, pero en esa tabla que tengo que poner? Espero me puedan ayudar. Hechale un vistazo a dbExec y dbQuery, que son los que vas a tener que usar para hacer lo que quieres. Gracias por eso, luego veo como funcionan. Ahora principalmente lo que necesito es saber como hacer que al comprar una skin se te ponga en otra gridlist la skin comprada, alguna idea de como podría hacerlo? (mientras tanto iré leyendo lo de dbExec y dbQuery, por que la verdad no sé ni como empezar para que la skin que compres se mande a otra gridlist.) Al comprar la skin, añades una nueva row a la otra gridlist con guiGridListAddRow y le colocas el nombre con guiGridListSetItemText del item que está seleccionado en esa gridlist (usando guiGridListGetItemText). Link to comment
Anzo Posted August 8, 2016 Author Share Posted August 8, 2016 Al comprar la skin, añades una nueva row a la otra gridlist con guiGridListAddRow y le colocas el nombre con guiGridListSetItemText del item que está seleccionado en esa gridlist (usando guiGridListGetItemText). Ok, ya se crea la row en la otra gridlist, pero con cada skin que compro siempre aparece el nombre de ''Swag Boy'' y no el nombre que le puse a cada skin. Dejare la parte cuando se compra la skin (no es el código completo): skins = { {"Military Girl",15000 ,304,"+1 Health"}, {"COP Polin", 19000 ,267,"+1 Health"}, {"Swag Boy", 30000,271,"+2 Health"}, } addEventHandler("onClientGUIClick", resourceRoot, function() if source == buySKinButton then local row, column = guiGridListGetSelectedItem(skinsGridList) if ( row ~= guiGridListGetRowCount ( skinsGridList ) and column ~= 0) then local model = guiGridListGetItemData(skinsGridList, row,1) local precioSkin = tonumber(guiGridListGetItemData(skinsGridList, row, price)) local money = getPlayerMoney(localPlayer) if money >= precioSkin then triggerServerEvent("Skin", localPlayer, model,precioSkin) outputChatBox("You have bought a skin for: "..precioSkin.."") --ESTA ES LA PARTE CUANDO AÑADO LA ROW local raw = guiGridListAddRow(gridTusSkins) for _,k in ipairs(skins) do guiGridListSetItemText(gridTusSkins, raw,1,k[1], false,false) end else outputChatBox("You don't have money") end end end end) Link to comment
Tomas Posted August 8, 2016 Share Posted August 8, 2016 for _,k in ipairs(skins) do local raw = guiGridListAddRow(gridTusSkins) guiGridListSetItemText(gridTusSkins, raw,1,k[1], false,false) end Link to comment
Anzo Posted August 8, 2016 Author Share Posted August 8, 2016 for _,k in ipairs(skins) do local raw = guiGridListAddRow(gridTusSkins) guiGridListSetItemText(gridTusSkins, raw,1,k[1], false,false) end Con eso aparecen todos los nombres de los skin en la otra grid al comprar solo un skin Link to comment
Recommended Posts