µLua DS - Forum officiel | Official forum Forum Index

µ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   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Lire écrire et sauvegarder une table Lua

 
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Divers -> Autour de µLua
Previous topic :: Next topic  
Author Message
spectrenoir06


Offline

Joined: 13 Jan 2012
Posts: 184
Localisation: Paris

PostPosted: Mon 13 May 2013 - 23:06    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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 ?


Back to top
Visit poster’s website
Publicité






PostPosted: Mon 13 May 2013 - 23:06    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Mon 13 May 2013 - 23:11    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website
Papymouge
Modérateur

Offline

Joined: 10 May 2009
Posts: 693
Localisation: Vittel (88)

PostPosted: Mon 13 May 2013 - 23:37    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
geeker


Offline

Joined: 23 Dec 2012
Posts: 363

PostPosted: Tue 14 May 2013 - 16:23    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website
Reylak
Administrateur

Offline

Joined: 24 Nov 2008
Posts: 2,838
Localisation: Toulouse

PostPosted: Tue 14 May 2013 - 20:24    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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 !


Back to top
Visit poster’s website MSN Skype
spectrenoir06


Offline

Joined: 13 Jan 2012
Posts: 184
Localisation: Paris

PostPosted: Tue 14 May 2013 - 20:48    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Tue 14 May 2013 - 20:51    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website
geeker


Offline

Joined: 23 Dec 2012
Posts: 363

PostPosted: Wed 15 May 2013 - 09:34    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website
Thomas99


Offline

Joined: 12 Apr 2012
Posts: 142
Localisation: Le forum.

PostPosted: Wed 15 May 2013 - 12:23    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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/


Back to top
Visit poster’s website
spectrenoir06


Offline

Joined: 13 Jan 2012
Posts: 184
Localisation: Paris

PostPosted: Wed 15 May 2013 - 21:33    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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

Back to top
Visit poster’s website
geeker


Offline

Joined: 23 Dec 2012
Posts: 363

PostPosted: Thu 16 May 2013 - 16:27    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Thu 16 May 2013 - 18:10    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

geeker wrote:
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 ...


Back to top
Visit poster’s website
geeker


Offline

Joined: 23 Dec 2012
Posts: 363

PostPosted: Thu 16 May 2013 - 18:21    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website
thermo_nono
Modérateur

Offline

Joined: 31 Dec 2008
Posts: 2,415
Localisation: La Géhenne

PostPosted: Thu 16 May 2013 - 19:13    Post subject: Lire écrire et sauvegarder une table Lua Reply with quote

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


Back to top
Visit poster’s website MSN
Display posts from previous:   
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Divers -> Autour de µLua All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group