TUTORIEL • DARKSCRIPT3

Tutoriel rapide - DarkScript3

DarkScript3 sert à modifier la logique “scriptée” du jeu (events, triggers, flags, etc.). Ici je te montre la méthode propre : préparer tes fichiers dans ton projet, ouvrir le bon .dcx, comprendre les bases et éviter les crashs.

Astuce : clique sur les images pour les zoomer.

• PRÉPARATION

Trouver le dossier event du jeu

Dans un premier temps, rends-toi dans le dossier de ton jeu. Comme tu l’as décompressé avec UXM, tu devrais avoir les mêmes fichiers. Va dans le dossier event.

DarkScript3 - Dossier event du jeu
• FICHIERS À PRENDRE

Ne prends que ce dont tu as besoin

Pour l’exemple, je prends : common.emevd.dcx, common_func.emevd.dcx et m10_01_00_00.emevd.dcx. Ici, m10_01_00_00 correspond à la Chapel of Anticipation (comme vu dans le guide Smithbox).

Si tu veux modifier une seule map, tu n’as pas forcément besoin de reprendre common et common_func. (Mais dans la pratique, les garder sous la main aide souvent à comprendre comment tout s’imbrique.)

DarkScript3 - Fichiers .emevd.dcx sélectionnés

Créer le dossier event dans ton projet

Va ensuite dans le dossier de ton projet. Crée un nouveau dossier et appelle-le event.

ATTENTION : il faut l’appeler event en minuscules. Si tu mets Event (E majuscule), ça ne fonctionnera pas.

Puis colle dedans les fichiers dont tu as besoin, par exemple : D:\Steam\steamapps\common\ELDEN RING\Game\eventD:\Modding\TUTO\event Copier tes fichiers .emevd.dcx dans ton projet (dossier event).

DarkScript3 - Dossier event dans le projet
• OUVRIR DANS DARKSCRIPT3

Open… mais ouvre le bon fichier

Ouvre DarkScript3 et clique sur Open.

ATTENTION : ouvre bien le .dcx depuis ton projet (ex : D:\Modding\TUTO\event). Si tu ouvres depuis le dossier Steam, tu risques de casser ton jeu et provoquer des crashs.

DarkScript3 - Menu Open
DarkScript3 - Choisir un .emevd.dcx du projet

Une fois le fichier choisi, clique sur Elden Ring.

DarkScript3 - Choisir Elden Ring
• COMPRENDRE LES BASES

Les $InitializeEvent(0, xxxxxxxx)

Je sais que ça peut faire peur au début, mais c’est plutôt bien rangé chez FromSoftware. Tout en haut, tu verras souvent des lignes du type : $InitializeEvent(0, 10012682);

Pense “simple” : InitializeEvent = “au lancement / quand la map charge, le jeu enregistre quels scripts doivent tourner”. Le nombre (ex : 10012682) est l’ID d’un event (un script) défini plus bas dans le fichier sous la forme $Event(10012682, ...).

En gros :

  • $InitializeEvent(..., ID) = “lance / active l’event ID
  • $Event(ID, ...) = “le contenu de l’event ID (le script)”
  • Donc si tu cherches ce que fait un InitializeEvent : cherche l’$Event avec le même ID.
DarkScript3 - InitializeEvent et Event ID
• ERREURS

Si tu te trompes, pas de panique

Si tu fais une erreur, DarkScript3 te prévient avec un message. Ça arrive tout le temps quand on débute. Corrige, sauvegarde, et reteste.

DarkScript3 - Message d'erreur

Méthode safe : fais une seule modif → sauvegarde → teste → seulement ensuite passe à la suivante.

• COMMON_FUNC

common_func.emevd.dcx : les “fonctions” partagées

Ici je te montre common_func.emevd.dcx. C’est lui qui gère beaucoup d’évènements “fonction” réutilisés partout dans le jeu. Exemple : certains comportements génériques (dont des logiques de téléportation) passent par là.

Idée simple : common_func = une “boîte à outils” globale. Plein de maps appellent ces events “communs” au lieu de réécrire la logique à chaque fois. Si tu vois un ID comme 90005605, ce n’est pas “magique” : c’est juste un event commun réutilisé.

DarkScript3 - common_func.emevd.dcx exemple
• COMMON

common.emevd.dcx : checks / logique globale

Pour finir, un exemple de ce que fait common.emevd.dcx : il sert souvent de “check” global (conditions, états, progression, etc.). Ici, par exemple, il peut vérifier le nombre de runes majeures que possède le joueur.

DarkScript3 - common.emevd.dcx exemple de check

Rappel : travaille toujours dans ton projet (pas dans Steam), fais des sauvegardes, et évite les gros changements d’un coup.