Formation GLua · Garry's Mod · en français

Code tes
propres
addons

Zéro prérequis. Tu lis une leçon courte, tu codes directement dans le navigateur, et la console te répond comme dans le jeu. Douze chapitres plus tard, ton métier de mineur RP tourne sur un vrai serveur.

Aucun logiciel à installer pour coder : tout tourne dans ton navigateur.

1-- Ta première commande de chat2hook.Add("PlayerSay", "CosmosMineur_Mine", function(ply, texte)3    if texte == "!mine" then4        print(ply:Nick() .. " cherche la mine")5        ply:ChatPrint("La mine est au nord de la ville.")6        return ""7    end8end)
SERVEURCLIENT
Kaze cherche la mine
3/3 tests réussis

Une séance type

25 minutes,
4 étapes

Exemple : chapitre 02, leçon « Les hooks ».

  1. 01
    Lire la leçonUn hook, c'est une sonnette : tu demandes au jeu de te prévenir quand un joueur parle, meurt ou se connecte.
  2. 02
    Coder la commande !minehook.Add("PlayerSay", "CosmosMineur_Mine", function(ply, texte)
  3. 03
    Tester dans le monde simuléFais écrire « !mine » à Zorg_77 dans le chat simulé, regarde la réponse arriver dans la console SERVEUR.
  4. 04
    Vérifier« 3 tests sur 4 passent » : le quatrième te dit quelle ligne corriger.

Le programme

12 chapitres,
un seul addon

Les chapitres se débloquent un par un. Du chapitre 2 au chapitre 11, chacun finit par un chantier qui ajoute une pièce à ton métier de mineur.

  1. 01

    Introduction

    Pourquoi cette formation, tes outils, le wiki et l'IA bien utilisée.

  2. 02

    Mise en place

    Les bases du GLua : variables, tables, fonctions, hooks, et ton premier addon.

  3. 03

    Améliorer son code

    Indentation, nommage, table globale : du code qu'on relit sans peine.

  4. 04

    Fonctions importantes

    print, Color, IsValid, les librairies math, table et string, GetEyeTrace.

  5. 05

    Synchroniser son code

    Faire parler le serveur et les clients avec la librairie net.

  6. 06

    Stocker des données

    JSON, fichiers, SQL : garder l'inventaire entre deux redémarrages.

  7. 07

    Optimiser son code

    Ce qui coûte vraiment sur un serveur mono-thread, et ce qui ne vaut pas la peine.

  8. 08

    Sécuriser son code

    Valider ce qu'envoie le client, bloquer le net-spam et les injections SQL.

  9. 09

    User Interface

    Dessiner un HUD, construire des menus Derma qui s'adaptent à l'écran.

  10. 10

    Interaction moteur

    Entités, SWEP, particules, Nextbot, PVS et PAS.

  11. 11

    Notions avancées

    HTTP, 3D2D, RenderTarget, trigonométrie, matrices et stencils.

  12. 12

    Applications concrètes

    HUD, chatbox, Snake 2D, puis l'export de cosmos_mineur.

Le fil rouge

Le chantier :
mineur RP

Un filon, une pioche, un inventaire sauvegardé, un vendeur, un HUD. À la fin, tu télécharges ton addon en .zip et tu le poses dans le dossier addons de ton serveur.

cosmos_mineur/
addon.json
lua/
autorun/sh_cosmos_mineur.luach. 02
cosmos_mineur/sh_config.luach. 02 · 07
cosmos_mineur/sv_minage.luach. 04
cosmos_mineur/sv_inventaire.luach. 05 · 06
cosmos_mineur/sv_vente.luach. 08
cosmos_mineur/cl_hud.luach. 09
entities/ent_filon/init.luach. 10 · 11
weapons/weapon_pioche.luach. 10

Première ligne
dans 2 minutes

Commencer le chapitre 1