µLua DS - Forum officiel | Official forum Index du Forum

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Lire écrire et sauvegarder une table Lua

 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Divers -> Autour de µLua
Sujet précédent :: Sujet suivant  
Auteur Message
spectrenoir06


Hors ligne

Inscrit le: 13 Jan 2012
Messages: 184
Localisation: Paris

MessagePosté le: Lun 13 Mai 2013 - 23:06    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

Voila je travail sur un jeu est je voulais savoir si quelqu'un connais une solution simple pour sauvegarder une table dans un fichier en Lua

je m'explique mon jeu possède un fichier data.lua qui est lue pour obtenir plein d'info
Lire écrire et sauvegarder une table Lua
http://pastebin.com/EFq5cbfA

Mon idée est de faire un programme graphique sur ordi pour éditer facilement et rapidement les propriété de chaque id

Donc lire et modifier cette table,

Donc faut t'il un lib spécial si oui laquelle ou es-ce que lua à des fonctions pour cela ?


Revenir en haut
Visiter le site web du posteur
Publicité






MessagePosté le: Lun 13 Mai 2013 - 23:06    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Lun 13 Mai 2013 - 23:11    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

J'utilise le JSON personnellement.

J'sais pas si c'est la meilleure solution, mais je trouve ça propre, bien qu'un peu "lourd".

En tapant "json lua" sur Google tu devrais trouver. (Ou ici)

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Lun 13 Mai 2013 - 23:37    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

pas besoin de lib, tu utilise les fonctions sur les fichiers en sauvegardant soit case par case, soit ligne par ligne. 
les fonctions utile sont la : http://www.lua.org/manual/5.1
table io et file.
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Mar 14 Mai 2013 - 16:23    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

Si c'est une table 2D tu peux aussi utiliser INI.save() ou bien:
Code:


save = io.open("save.txt", 'w')
for n, v in pairs(table) do
 save:write("\n"..n..":"..v)
end
save:close()


Si il n'y a qu'une dimension.

Par contre pour lire, faut pas me demander ^^
EDIT: OMG un minecraft (je pense) ! Pour lire, il faut faire dofile("fichier") mais pour écrire ...
Perso je te conseille plus les fichiers .INI, ce sera beaucoup plus simple à utiliser et à modifier .
Ou bien, si tu veux "crypter" ton fichier, tu peux faire un truc perso, qui écrit d'une manière "bizare" dans le fichier .

Bonne chance !
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Mar 14 Mai 2013 - 20:24    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

Avec une boucle qui passe sur ta table et le système des fichiers INI inclus à µLua ça passe tout seul pour ton truc.
Attention éventuellement aux problèmes de type (ces fonctions traitent des Strings donc si tu as des nombres faut pas oublier les conversions).

JSON c'est cool mais pour une table aussi simple je pense que c'est inutile de recourir à un truc aussi lourd en effet.
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
spectrenoir06


Hors ligne

Inscrit le: 13 Jan 2012
Messages: 184
Localisation: Paris

MessagePosté le: Mar 14 Mai 2013 - 20:48    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

J'ai deja utiliser json pour la communication réseau (table json sur serveur http) je vais regarder pour ini que j'ai déjà piquer de microlua mais je pense pas que sa marche avec les fonctions
    

  1.  
  2. data.tab[54] = {
  3.         type = "block",
  4.         name = "tronc",
  5.     pass = false,
  6.     dig = function()
  7.         steve.map:settile(x,y,0,2)
  8.         steve:additem(54,1)
  9.     end,
  10. }


Revenir en haut
Visiter le site web du posteur
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Mar 14 Mai 2013 - 20:51    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

Et non en effet ça ne fonctionne pas pour les fonctions.

Et c'est sur que le JSON est un peu "extrême", même si super-facile d'utilisation, et ça te permet de lire ta table facilement hors-lua.

Enfin, moi je l'utilise pour ce genre de tables :

Code:
{
   "extra":[
      {
         "y":5,
         "x":1,
         "available":true,
         "destination":{
            "y":5,
            "x":24,
            "name":"0-0"
         },
         "type":"warp"
      },
      {
         "y":6,
         "x":1,
         "available":true,
         "destination":{
            "y":6,
            "x":24,
            "name":"0-0"
         },
         "type":"warp"
      },
      {
         "y":7,
         "x":1,
         "available":true,
         "destination":{
            "y":7,
            "x":24,
            "name":"0-0"
         },
         "type":"warp"
      },
      {
         "y":8,
         "x":1,
         "available":true,
         "destination":{
            "y":8,
            "x":24,
            "name":"0-0"
         },
         "type":"warp"
      },
      {
         "y":15,
         "x":16,
         "name":"Grand-père Mouge",
         "available":true,
         "id":"NPC.0-1.01",
         "actions":{
            "chat":[
               {
                  "requirements":{
                     "questIsNotSet":"Q.0-1.01"
                  },
                  "text":"Salut petit nouveau ! Comment-va ? Ca te dirait de commencer ta première quête ?"
               },
               {
                  "requirements":{
                     "questStepMinOf":{
                        "Q.0-1.01":2
                     }
                  },
                  "text":"Je pense ne plus rien avoir à t\'apprendre."
               }
            ]
         },
         "type":"npc"
      },
      {
         "y":11,
         "x":19,
         "name":"Le jeune Reylak",
         "available":true,
         "id":"NPC.0-1.02",
         "actions":{
            "chat":[
               {
                  "requirements":{
                     "questStepMaxOf":{
                        "Q.0-1.01":1
                     }
                  },
                  "text":"Bonne journée, n\'est-ce pas ?"
               },
               {
                  "requirements":{
                     "questIsCleared":"Q.0-1.01"
                  },
                  "text":"Allez, qu\'est-ce que tu attends ?"
               }
            ]
         },
         "type":"npc"
      }
   ]
}


Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Mer 15 Mai 2013 - 09:34    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

C'est quoi ces ":" partout ? On utilise pas des "=" normalement ? Et pourquoi les noms de variables sont entre "" ? C'est JSON qui fait ça ou c'est pas du Lua ?
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
Thomas99


Hors ligne

Inscrit le: 12 Avr 2012
Messages: 141
Localisation: Le forum.

MessagePosté le: Mer 15 Mai 2013 - 12:23    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

Ce n'est pas du Lua, c'est du JSON.
_________________
Publié : ctrµLua, Candran
A publier : TCPDebugger, FastShell
A finir : µPortal, LLUL, µStore, serveur wifis, microlua.js, d'autres trucs
Mon site \o/


Revenir en haut
Visiter le site web du posteur
spectrenoir06


Hors ligne

Inscrit le: 13 Jan 2012
Messages: 184
Localisation: Paris

MessagePosté le: Mer 15 Mai 2013 - 21:33    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

et donc pour les fonction existe t'il un solution ?

Revenir en haut
Visiter le site web du posteur
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Jeu 16 Mai 2013 - 16:27    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

une fonction, c'est une string compilée .
si tu fais:
Code:

file = io.open("fonctions.txt")
mafonction = file:read()
f = loadstring(mafonction)
f()
file:close()


Tu peux sauvegarder des fonction et même les modifier avec un PC !
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Jeu 16 Mai 2013 - 18:10    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

geeker a écrit:
Et pourquoi les noms de variables sont entre "" ?

Dans une table, tu peux très bien utiliser des strings en tant que clés.

Pour ce qui est de la fonction, je crois que tu ne réponds qu'à une partie de la question Geeker : on ne sais toujours pas comment passer une fonction en texte je crois x)

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Jeu 16 Mai 2013 - 18:21    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

Ben, si on garde les fonctions (en temps que texte) dans un fichier, il suffit de lire ce fichier pour la refaire XD par contre, si tu veux faire un système de sauvegarde de RAM (via _G) il faut trouver un autre moyen ...
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Jeu 16 Mai 2013 - 19:13    Sujet du message: Lire écrire et sauvegarder une table Lua Répondre en citant

je suis peut être à côté de la plaque... quand j'ai fais "UFO Trajectory maker", j'ai utilisé des variables de type string qui contenaient les instructions en µlua de la fonction qui était enregistée dans un fichier ".lua"... ensuite il suffisait pour lancer cette fonction, de l'ouvrir avec un "dofile" et de lancer la fonction. 
(inutile d'essayer ce vieux programme, je crois qu'il ne tourne plus sur les dernières versions)


mais il est possible que je n'ai pas bien saisi la question.  Mr. Green
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 03:49    Sujet du message: Lire écrire et sauvegarder une table Lua

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Divers -> Autour de µLua Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com