Aller au contenu

[Résolu]LUA] Insérer une nouvelle entrée dans une table stockée dans une Variable Globale


Messages recommandés

Posté(e) (modifié)

Bonjour,

 

Ma problématique actuelle est longue à expliquer, mais pourtant simple. Du moins, je pense!

Si des fois le titre de ce sujet devait ne pas être assez clair, je vais tenter de l'expliquer simplement ci-dessous.

 

Admettons que cette table soit stockés dans une VG de la HC2 :

local table = {{1,"entrée 1",10},{2,"entrée 2",20},{3,"entrée 3",30},{4,"entrée 4",40}};

Je recherche un moyen simple d'insérer une nouvelle entrée au sein de cette table (via une scène de la HC2), pour que cette table stockée dans la VG soit la suivante :

local table = {{1,"entrée 1",10},{2,"entrée 2",20},{3,"entrée 3",30},{4,"entrée 4",40},{5,"entrée 5",50}};

Avec les procédures d'encodage/décodage json, je suis un peu perdu et n'arrive pas à faire quelque chose de fonctionnel...

 

J'ai également quelques questions concernant les tables en LUA :

- L'incrémentation automatique des clés d'une table continue-t'il logiquement même si les premières clés/valeurs sont supprimées?

- Combien d'entrées une table est-elle capable de contenir? Et quel est l'effet d'une très grande table sur notre HC2 lorsque celle-ci est parcourue?

- Existe-t-il un moyen simple de limiter le nombre d'entrées d'une table? Par exemple, limiter à 50 entrées. Une fois ce nombre atteint, l'ajout d'une nouvelle entrée supprimerait l'entrée de la clé la plus petite.

 

N'hésitez pas à me dire si jamais mes questions nécessitent davantage d'informations/exemples pour aider à la compréhension.

Modifié par J3R3M
Posté(e) (modifié)

Le principe est "simple" : tu lis la variable, tu décodes le json pour avoir un beau tableau LUA et enfin tu le reencode savant de le stocker à nouveau dans la variable. 

Pour limiter le nombre d'entrées dans la table, il y a une fonction LUA qui te retournes la taille de la table, et si dépasse ta limite, tu supprimes la première entrée. 

 

Modifié par jojo
  • Like 1
Posté(e)
il y a 15 minutes, pepite a dit :

Un exemple, un exemple ;-) 

je n'ai plus de HC2, sinon mon copain Google a pleins d'exemples (n'est-ce d'ailleurs pas toi qui nous avaient présentés ?)

Posté(e)

Merci de ces réponses, c’est donc aussi « simple » que je le pensais. Disons qu’il n’y a pas plus simple en procédure :-)

Pour compter les entrées d’un tableau, je n’utilise pas la fonction LUA associée mais # devant la variable contenant celui-ci, ça fonctionne à merveille!

×
×
  • Créer...