Aller au contenu

Abraham
 Share

Recommended Posts

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.

 

  • Upvote 4
Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

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)

Modifié par Gota
Lien vers le commentaire
Partager sur d’autres sites

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 :D

 

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 ! :P

Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Vous avez collé du contenu avec mise en forme.   Supprimer la mise en forme

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Chargement
 Share

×
×
  • Créer...