Page 1 sur 1

[Script DeSmuME] PATH

Posté : jeu. 5 nov. 2015 21:19
par Ankeraout
PATH
Prama's Advanced Tweaking Heaven

I - Présentation :
Dans le cadre du projet Phoebe j'avais codé un script qui permettait d'abord d'afficher des informations sur la void, puis un autre qui permettait de faire un bout de chemin en autonomie (programmable). J'ai décidé de combiner ces scripts et de les donner afin que vous, tweakers, puissiez en profiter pour faire vos propres recherches dans la void. Il est compatible avec toutes les versions de Pokémon 4G, à savoir Pokémon Diamant, Perle, Platine, Heart Gold et Soul Silver, dans toutes les régions (FR/EU/US/JP).
Ce script est open-source, n'hésitez pas à jeter un oeil au code source si vous êtes curieux, et sachez que toute suggestion ou critique constructive vis à vis de ce script sera la bienvenue, étant donné que je pense qu'on peut ajouter plein de choses.

II - Coder vos propres extensions :
Sachez que j'ai codé ce script de façon à ce que vous puissiez intégrer facilement tout ce que vous voulez coder ! Si vous savez coder en LUA, vous pouvez créer ce que j'appelle un "module", qui peut être chargé par le script.
Pour cela, il faut faire quelques trucs :

1ère étape : Créer un fichier lua
Cela peut paraître évident mais votre fichier devra contenir au moins :
- une fonction (que vous appellerez comme vous le voulez), qui sera exécutée à chaque frame de jeu
- cette ligne de code (en fin de fichier) :

Code : Tout sélectionner

path_module_register("nom de votre module", votre_fonction)
2ème étape : Charger votre fichier
Le fichier ne se chargera évidemment pas tout seul et pour le charger il faut simplement ajouter une ligne dans le fichier path.lua, juste après tous les "dofile" :

Code : Tout sélectionner

dofile("nom_de_votre_fichier.lua")
Et voilà ! Votre module devrait fonctionner !
Il n'y a théoriquement pas de limite au nombre de modules que vous pouvez coder pour le script, donc faites vous plaisir ! Vous pouvez également enregistrer plusieurs fonctions d'un même fichier en tant que module, si nécessaire.

3ème étape : Créer vos propres options dans le menu
Pour créer un sous-menu, vous devez utiliser cette instruction :

Code : Tout sélectionner

fld = path_menu_addItem("nom du sous-menu", 0, nil) -- 0 signifie que le parent est le menu principal, nil signifie que cet item est un sous-menu
Une fois votre sous-menu créé, vous pouvez y ajouter des items qui peuvent appeler une fonction avec ce code :

Code : Tout sélectionner

path_menu_addItem("nom de l'item", fld, fonction) -- fld = parent, ici le parent est le sous-menu créé plus haut.
où évidemment fonction est le nom de votre fonction sans les parenthèses.

ATTENTION : Faites attention de ne pas réutiliser les noms des variables du script (path_*), et de ne pas utiliser l'instruction gui.register()

III - Fonctionnalités :
GUI (gui.lua) :
C'est le script qui affiche des données sur l'écran supérieur :

Code : Tout sélectionner

CENTP = La centerpiece, votre point de départ dans la void
LOCID = L'ID de localisation actuelle (http://bit.ly/1CXCPwO)
MATRX = L'ID de la matrice de la centerpiece, détermine la seconde localisation en partant vers le haut dans la void pour la téléportation
POS X = Votre position X dans le monde
POS Y = Votre position Y dans le monde
Il affiche également les touches sur lesquelles vous appuyez sur l'écran inférieur.

RUN (run.lua) :
C'est le script qui permet de faire un chemin en autonomie.
Pour l'utiliser, vous devez d'abord modifier la table path_path_original au tout début du fichier en utilisant l'aide au-dessus.
Ensuite vous n'avez plus qu'à vous positionner à votre point de départ dans le jeu, et à démarrer le script dans le menu. Le trajet commencera lorsque vous aurez quitté le menu. Pendant ce temps, vous pouvez évidemment faire autre chose !
Si jamais vous rencontrez un souci, vous pouvez réinitialiser le script dans le menu.
Il est censé détecter et contourner les murs tout seul.

MAP (map.lua) :
Ce petit script permet d'afficher où vous êtes sur le logiciel pokémontre map (8), ce qui est pratique si vous avez besoin d'une carte en direct pour vous repérer dans fake sinnoh.

FSTP (fstp.lua) :
C'est un script qui vous permet de vous téléporter d'un fake sinnoh à l'autre.

LOADLINE (loadline.lua) :
Ce script affiche en temps réel les lignes de chargement. Vous pouvez même choisir le mode de vue du jeu (2D pour les bâtiments/localisations interior, 3D pour les exteriors).

TWEAK (tweak.lua) :
Ce script permet de tweaker à votre place pour créer la void de la pokémontre. Il vous suffit de vous positionner juste en bas à gauche d'un croisement de lignes de chargement, et de l'activer dans le menu en choisissant un des patterns proposés ( SLOW = vélo lent, FAST = vélo rapide). Appuyez ensuite sur L pour quitter le menu, et vous verrez votre personnage tweaker !

IV - Téléchargements :
Dernière version
Version actuelle : Release 1.2.2 (04/10/2016)

Archives
:!: Il est recommandé de toujours utiliser la dernière version car elle peut fixer des bugs importants.

Re: Script pour la recherche dans la void

Posté : jeu. 5 nov. 2015 23:18
par Guerdi
Je précise que les scripts lua peuvent être lu avec DeSmuMe.

Re: Script pour la recherche dans la void

Posté : ven. 6 nov. 2015 07:23
par Cyb
Je précise également que cela ne peut marcher que sous la version Windows de Desmume, la version Mac (portée par un utilisateur) crash dès l'ouverture d'une void et rend l'utilisation des scripts inutile.

Donc pour ceux qui ont un mac : Bootcamp pour passer sous Windows est la (seule ?) solution.

Re: Script pour la recherche dans la void

Posté : sam. 7 nov. 2015 13:31
par Ankeraout
Il y a une version officielle pour mac de la 0.9.11 : ici
Elle semble être officielle, donc peut être qu'elle ne crash pas ?

Re: Script pour la recherche dans la void

Posté : sam. 7 nov. 2015 19:10
par Guerdi
C'est vrai que c'est bizarre si ça ne marche pas :)

Re: Script pour la recherche dans la void

Posté : sam. 7 nov. 2015 19:38
par ISSOtm
L'efficacité de ces scripts n'est pas à prouver, même en cas de crash / corruption du jeu, y'a pas de lézard : ça fonctionne !
Si vous ne me croyez pas, voici : Image

Aucun bug à déplorer, simplement ne désactivez pas le "Advanced Bus-Level Timing" (dans Emulation Options), ça fait sauter des frames et le script est moins efficace.

Re: Script pour la recherche dans la void

Posté : mar. 10 nov. 2015 09:21
par Guerdi
ISSOtm a écrit :y'a pas de lézard
:? :?:

Re: Script pour la recherche dans la void

Posté : mer. 11 nov. 2015 21:23
par Cyb
benjamindu11 a écrit :Il y a une version officielle pour mac de la 0.9.11 : ici
Elle semble être officielle, donc peut être qu'elle ne crash pas ?
Cette version officielle ne prend RIEN (sic :( ) en charge, hormis le lancement d'une rom et quelques paramètres (de mémoire, je l'ai désinstallé dans les 10 minutes qui suivent). Sur Mac, une seule solution : Passez sur Windows / Sortez moi une solution de votre chapeau ! (oui ça fais deux :noel:)

Re: Script pour la recherche dans la void

Posté : ven. 13 nov. 2015 17:28
par Guerdi
Après ça doit bien exister des émulateurs Windows pour Mac non ?

Re: Script pour la recherche dans la void

Posté : ven. 13 nov. 2015 22:26
par Ankeraout
Tout comme il y a Wine pour Linux, je vois effectivement pas pourquoi personne ne se serait penché sur le cas de Mac.