Abraham Posted March 15, 2014 Report Posted March 15, 2014 Bonjour à tous, Aujourd'hui, je vais vous présenter rapidement le langage LUA (Lune en portugais). Dans cette partie, nous verrons juste les considérations d'ordre général, puis dans les prochains tutoriels, je vous expliquerai le fonctionnement de ce langage. I - L'histoire du Lua Lua été créé en 1993. C'est un langage conçu pour pouvoir être embarqué au sein d'applications afin de de pouvoir optimiser celles-ci. Lua (qui signifie Lune en portugais) a été créé par Luis Henrique de Figueiredo, Roberto Ierusalimschy et Waldemar Celes (appartenant au groupe de recherche TeCGraf).Lua a été écrit en langage C ANSI strict, c'est pourquoi il est compatible avec une très grande variété de systèmes. Il s'intègre parfaitement dans la plus part des projets écrits en C. C'est un langage notamment très apprécié pour les interfaces de jeu (le plus connu étant World of Warcraft) mais aussi pour Garry's Mod ou Far Cry. Il est aussi utilisé pour réaliser la plus part des jeux sur DS (avec le microLua). (Source : http://wikipedia.lua/wiki/Lua) II - Les moteurs Lua Ce qu'il faut savoir, c'est que vous ne pourrez développer que très rarement des programmes en LUA seulement, puisque ce n'est pas un langage assez puissant pour qu'il puisse se suffire à lui même. De ce fait, il vous faudra l'intégrer dans un projet, et je vais vous en présenter rapidement deux (les seuls que je connaisse), à ce jour. Eluna Engine (sur World of Warcraft) : C'est par celui-là que j'ai commencé. C'est en fait un moteur que vous pouvez installer facilement sur Trinity Core (j'essaierai de vous passer quelques tutoriels vidéos très bien foutus). Il vous permet, grâce à sa simplicité, de changer presque toute l'interface du jeu (à savoir les cosmétiques, le comportement des PNJ's, les boites d'affichage etc ...) sans pour autant toucher au core du serveur (qui est plus compliqué à gérer puisque écrit en C++). Cependant, attendez vous à avoir moins de possibilité qu'en modifiant le core. Mais ne vous trompez pas, j'ai réussi à faire des choses sympa avec Eluna tel un système de levier qui ouvre une grille lorsqu'il est activé, un système de connexion élaboré (et oui, Eluna gère les bases de données ! ) Bref, Eluna propose pas mal de possibilités, mais avec une documentation qui laisse à désirer puisque incomplète sur certains points. Multi Theft Auto (que j'utilise en ce moment) est en réalité un mod qui permet de jouer en ligne avec d'autres joueurs (impossible de base sur GTA SAN ANDREAS) tout en offrant la possibilité au développeur de créer son serveur de A à Z sans aucun script prédéfini. Et devinez quoi ? Le moteur est en Lua. Pour le coup, la documentation est géniale, la communauté assez altruiste ce qui vous permet d'obtenir rapidement une réponse. MTA gère aussi bien les interfaces GUI que la connexion à la base de données et est d'autant plus puissant qu'il gère aussi bien le côté client (client-side) que le côté serveur (server-side) ce qui vous permet d'économiser des performances de votre serveur dédié. En bref, Lua est un langage très sympa qui s'intègre parfaitement à certains projets en proposant une alternative aux langages plus compliqué. Je n'ai pas stipulé le fait que vous pouvez tester vos petits scripts sur le site officiel de Lua (cf. annexes)III - Annexes Lua * Site officiel de Lua : http://lua.org * Testez vos scripts : http://lua.org/demo.html Eluna Engine * Installer Eluna Engine : http://www.youtube.com/watch?v=8wGHf7FbhSw * Documentation : http://wiki.emudevs.com/doku.php?id=eluna * Github du projet : https://github.com/ElunaLuaEngine/Eluna/wiki/Installation-&-Updating Multi Theft Auto * Site officiel : http://mtasa.com/ * Documentation : http://wiki.mtasa.com Voilà, d'autres tutoriels arriveront pour vous présenter plus en profondeur ce langage. 4 Quote
vfrz Posted March 15, 2014 Report Posted March 15, 2014 Merci de la présentation, ce langage m'a toujours intéressé mais je ne m'y suis jamais lancé ! Quote
Azad Posted March 15, 2014 Report Posted March 15, 2014 Merci de ta présentation / introduction au LUA. +1 Rep. Quote
Soulalex Posted March 15, 2014 Report Posted March 15, 2014 Merci pour cette présentation très instructive Quote
AlexMog Posted May 25, 2014 Report Posted May 25, 2014 A SAVOIR: tu as cité ici des variétés qui utilisent le LUA, sauf que le LUA n'est pas du tout utilisé dans WoW (hors serveurs privés, je parle ici de WoW officiel). WoW utilise des librairies externes pour gérer les IA et les adaptations serveur (le serveur n'étant qu'un core qui load les librairies => Plus performant que le LUA => Un seul chargement => Pas d'interprétation => Tous les développeurs crée leur "brique" et le core les lie en les chargant.) Le LUA est très souvent utilisé pour les IA, ou encore la gestion onRun. Je m'explique: le LUA est un langage de script utilisé dans plusieurs programmes. Celui-ci est principalement apprécié car le programme n'a pas forcémment besoin d'être re-démarré pour lire les fichiers. Du côté serveur, il est donc très appréciable. Ensuite, comment il foncitonne? En LUA, vous pouvez utiliser tout ce qui vous passe par l'espris (héoui, c'est du scripting interprété par votre exécutable) et donc, gérer les objets du core par exemple. Le "core" (donc, le logiciel qui va utiliser le LUA) va donc appeller des fonctions du LUA (que vous aurez programmé en LUA) exactement comme des fonctions dans son propre langage! Ce qui permet de faire énormément de choses! Voilà, j'espère que vous vous y intéresserez. Je travaille sur un projet qui pourrait vous faire apprécier le LUA, mais chut, je le publierais peut être . Cordialement, Alexmog. Quote
Azad Posted June 1, 2014 Report Posted June 1, 2014 Pour World Of Warcraft, ce qui intéresse le plus sont les serveurs privés, et dedans le LUA est extrêmement utilisé. C'est très intéressant par ailleurs. J'aurais aimé faire quelques tutoriels, mais Melinyel ne tape plus dans l'émulation Wow. Quote
Soulalex Posted June 6, 2014 Report Posted June 6, 2014 J'ai toujours pensé que les addons de wow étaient dev en lua car parfois on a des erreurs lua quand un addon n'est pas compatible. Quote
Azad Posted June 6, 2014 Report Posted June 6, 2014 Pas faux. Les erreurs arrivent pas "souvent", mais "très souvent" ! Quote
Gota Posted August 18, 2014 Report Posted August 18, 2014 (edited) Pour World Of Warcraft, ce qui intéresse le plus sont les serveurs privés, et dedans le LUA est extrêmement utilisé. C'est très intéressant par ailleurs. J'aurais aimé faire quelques tutoriels, mais Melinyel ne tape plus dans l'émulation Wow. C'est bien dommage ça m'aurai été utile pour mon apprentissage du LUA (J'ai finit le SQL. RPZ) Edited August 18, 2014 by Gota Quote
Azad Posted August 21, 2014 Report Posted August 21, 2014 Danalieth commencait aussi à s'intéresser au LUA. Où l'as-tu eu appris ? Site du Zéro ? Quote
Danalieth Posted August 22, 2014 Report Posted August 22, 2014 Pour World Of Warcraft, ce qui intéresse le plus sont les serveurs privés, et dedans le LUA est extrêmement utilisé. C'est très intéressant par ailleurs. J'aurais aimé faire quelques tutoriels, mais Melinyel ne tape plus dans l'émulation Wow. Tu peux faire quelques tutoriels tu sais ! Je t'y encourage même Azadounet Bon, ok, Melinyel ne fait plus dans l'émulation Wow, mais toi et moi connaissons un forum qui le fait, lui ! Allez, je t'y attends gredin ! Quote
Azad Posted August 23, 2014 Report Posted August 23, 2014 Ce n'est temporairement plus mon centre d'intérêt, je n'ai plus trop de temps à consacrer à des tutoriels sur l'émulation, désormais. (Bien tenté, Dana). Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.