TheCapn Posted February 27, 2014 Share Posted February 27, 2014 Salut, Depuis que je commence à coder sur MTA, les setElementData et getElementData me sont apparus comme l'incontournable pour gérer des données. Les tables m'ont toujours emmerdées sur LUA, à tort peut être. Mais est-ce que les ElementData bouffent beaucoup de ressources ? Link to comment
Moderators Citizen Posted February 27, 2014 Moderators Share Posted February 27, 2014 Salut Abraham, Tout dépends de ce que tu entends par "gérer les données". Les Element Datas sont des variables attribués à un élément spécifique. Ils ne remplacent en aucun cas les tableaux ! Donc en général, on utilisera un Element Data lorsque la donnée que l'on veut stocker à un lien fort avec l'élément sur lequel on veut le stocker. Ainsi, pour stocker l'XP d'un joueur par exemple, on préférera utiliser un Element Data qui aura pour nom "XP" par exemple. Pour récupérer l'XP du joueur, un simple getElementData sur ce joueur suffit et ça tiens en une ligne. Un autre avantage, c'est que les données enregistrées sur un élément seront automatiquement détruites lorsque cet élément sera détruit (déconnexion dans le cas d'un joueur) libérant ainsi de la RAM pour d'autres variables ou pour le reste du système (je parle ici du serveur/pc qui héberge le serveur MTA). Avec un tableau, il faudrait faire du code supplémentaire afin de supprimer à la main les données référencé par un élément qui n'existe plus. Mais est-ce que les ElementData bouffent beaucoup de ressources ? La réponse est non, les ressources utilisées par ces fonctions sont presque insignifiantes. Et si l'Element Data n'as pas besoin d'être accessible pour le client, on peut également précisé de ne pas la synchroniser avec ce dernier grâce au 4ème arguement optionel du setElementData. En conclusion, les Element Datas sont vivement conseillés lorsqu'il s'agit de stocker des données personnelles à un élément. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now