Topic d'aide en tout genre Rom-hacking
hremeraude
- Membre
- 11384 posts
18 juin 2017, 21:57
Y'a pas d'erreurs dans ton script, télécharge autre part XSE, il déconne pour le coup
Minirock
- Membre
- 84 posts
18 juin 2017, 22:13
Effectivement je suis passé de la 1.10 à la 1.11 et maintenant ça compile.
Par contre en jeu toujours aucun effet
Par contre en jeu toujours aucun effet
hremeraude
- Membre
- 11384 posts
18 juin 2017, 22:16
Quand tu parles au personnage, ça fait rien ?
Minirock
- Membre
- 84 posts
18 juin 2017, 22:21
Non, j'ai juste un petit bip mais rien qui s'affiche.
hremeraude
- Membre
- 11384 posts
18 juin 2017, 22:26
Change d'offset, ils sont trop petits.
Quand tu le compiles au final tu as :
En d'autre termes, ça ne fais rien
Quand tu le compiles au final tu as :
Code: [Sélectionner]
'---------------
#org 0x349098
lock
faceplayer
checkflag 0x201
if 0xF goto 0x3490B200
signmsg
En d'autre termes, ça ne fais rien
Minirock
- Membre
- 84 posts
18 juin 2017, 22:27
Oui d'ailleurs ça c'était une de mes interrogations, comment je sais combien d'offset d'écart je dois prendre ? Parce que je prend toujours 5 ou 6 offset plus loin mais apparemment c'est pas suffisant...
Et en effet c'est bien ce que j'obtiens.
Et en effet c'est bien ce que j'obtiens.
Mickey`
- Membre
- 2746 posts
18 juin 2017, 22:30
Eh c'est pas méchant mais y a un gros tuto épinglé dans la section sur la gestion des offsets, c'est pas que mais faudrait chercher par toi-même un minimum...
hremeraude
- Membre
- 11384 posts
18 juin 2017, 22:31
J'ai compiler pour voir ce qui n'allais pas, normal qu'on ait la même chose x)
Utilise FSF pour trouver les offset, tu mets genre 150 octets requis et genre 10 en intervalle, et là ça devrais marcher
Utilise FSF pour trouver les offset, tu mets genre 150 octets requis et genre 10 en intervalle, et là ça devrais marcher
Minirock
- Membre
- 84 posts
19 juin 2017, 00:42
Tu as raison, je devrais regarder un peu plus le contenu du forum
Effectivement du coup après modification ça fonctionne bien.
Par contre, deux "bugs" avec le script que j'ai testé.
1- L'objet reste même après avoir été pris, donc en gros je me retrouve avec une team de 6 azumarill si je clique 6 fois sur oui...
--> Bon ça c'est pas vraiment un bug, c'est plutôt que j'ai pas vraiment cherché encore, mais j'imagine qu'il doit juste falloir rajouter une config pour que l'event soit faisable une seule fois et qu'il disparaisse.
2- Si je prend le pokemon avant le choix du premier pokemon au labo de chen, alors mon onglet pokemon n’apparaît pas dans le menu...je suis obligé d'aller récupérer le pokemon là bas pour faire apparaître l'onglet du menu (le pokemon récupéré en revanche est bien dedans).
--> Et là c'est tout de suite beaucoup plus gênant car à la base je cherche surtout à faire ce script pour le choix du starter. Du coup je me demandais s'il n'existait pas un event pré-défini pour activer le menu pokemon justement.
=======================================================================
Sinon...pour éviter certaines questions inutiles à l'avenir, est-ce qu'il existe une page sur le forum qui recense tous les tutos existant ? Genre comme un sommaire ou une table des matières ?
Merci à vous encore
Citer
Eh c'est pas méchant mais y a un gros tuto épinglé dans la section sur la gestion des offsets, c'est pas que mais faudrait chercher par toi-même un minimum...
Tu as raison, je devrais regarder un peu plus le contenu du forum
J'ai compiler pour voir ce qui n'allais pas, normal qu'on ait la même chose x)
Utilise FSF pour trouver les offset, tu mets genre 150 octets requis et genre 10 en intervalle, et là ça devrais marcher
Effectivement du coup après modification ça fonctionne bien.
Par contre, deux "bugs" avec le script que j'ai testé.
1- L'objet reste même après avoir été pris, donc en gros je me retrouve avec une team de 6 azumarill si je clique 6 fois sur oui...
--> Bon ça c'est pas vraiment un bug, c'est plutôt que j'ai pas vraiment cherché encore, mais j'imagine qu'il doit juste falloir rajouter une config pour que l'event soit faisable une seule fois et qu'il disparaisse.
2- Si je prend le pokemon avant le choix du premier pokemon au labo de chen, alors mon onglet pokemon n’apparaît pas dans le menu...je suis obligé d'aller récupérer le pokemon là bas pour faire apparaître l'onglet du menu (le pokemon récupéré en revanche est bien dedans).
--> Et là c'est tout de suite beaucoup plus gênant car à la base je cherche surtout à faire ce script pour le choix du starter. Du coup je me demandais s'il n'existait pas un event pré-défini pour activer le menu pokemon justement.
=======================================================================
Sinon...pour éviter certaines questions inutiles à l'avenir, est-ce qu'il existe une page sur le forum qui recense tous les tutos existant ? Genre comme un sommaire ou une table des matières ?
Merci à vous encore
Mickey`
- Membre
- 2746 posts
hremeraude
- Membre
- 11384 posts
19 juin 2017, 00:46
Pour corriger ton script, je te laisse chercher, je pense que tu trouveras tout seul en testant, mais il me semble que dans le goto... il faut mettre aussi le setflag à l'offset en question.
La table des tutos, oui elle existe, elle est épinglée dans la section.
Pour le menu pokémon, il y a des flags pour ça.
setflag 0x82F
setflag 0x829
setflag 0x828
L'un débloque le Pokédex, l'autre le menu Pokémon et le dernier les chaussures de sport, je sais lequel correspond auquel par contre...
Pour mon script du starter, j'ai les trois dedans, du coup c'est pratique !
La table des tutos, oui elle existe, elle est épinglée dans la section.
Pour le menu pokémon, il y a des flags pour ça.
setflag 0x82F
setflag 0x829
setflag 0x828
L'un débloque le Pokédex, l'autre le menu Pokémon et le dernier les chaussures de sport, je sais lequel correspond auquel par contre...
Pour mon script du starter, j'ai les trois dedans, du coup c'est pratique !
Arnik
- Membre
- 1812 posts
19 juin 2017, 00:53
82F, c'est les chaussures de sport. Les deux autres sont pour le dex et "Pokédex" ajouté au menu.
Mickey`
- Membre
- 2746 posts
19 juin 2017, 00:56
(et toutes ces questions ont leur réponse dans des tutos dédiés)
Minirock
- Membre
- 84 posts
19 juin 2017, 22:01
Je comprends pas trop en fait...parce que sur mon script si j'ai bien compris le checkflag 0x201 sert à s'assurer que l'event ne se déroule qu'une fois...ce pourquoi à la fin on va faire un setflag 0x201.
Sauf que après la compilation mon setflag est enlevé...donc ça doit pas être bon ;(
Sauf que après la compilation mon setflag est enlevé...donc ça doit pas être bon ;(
Code: [Sélectionner]
#include stditems.rbh
#include stdpoke.rbh
'---------------
#org 0x349098
checkflag 0x201
lock
faceplayer
if 0x1 goto 0x83490D3
msgbox 0x83490DD MSG_YESNO '"Pokémon?"
release
compare LASTRESULT 0x1
if 0x1 goto 0x83490E7
msgbox 0x83490F1 MSG_NORMAL '"A plus!"
release
end
'---------------
#org 0x3490D3
msgbox 0x83490FB MSG_NORMAL '"Bien?"
release
end
'---------------
#org 0x3490E7
givepokemon PKMN_AZURILL 0x5 ITEM_NONE 0x0 0xE0E400BB 0xE9
[color=red]setflag 0x201[/color] //ne marche pas
'---------
' Strings
'---------
#org 0x3490DD
= Pokémon?
#org 0x3490F1
= A plus!
#org 0x3490FB
= Bien?
Mickey`
- Membre
- 2746 posts
19 juin 2017, 22:05
N'oublie pas le end à la fin du script, dans chaque section
Hum, tu as assez d'espace libre à cet offset ?
Hum, tu as assez d'espace libre à cet offset ?
Minirock
- Membre
- 84 posts
19 juin 2017, 22:21
Pour le flag 201 ? Probablement pas, j'ai juste repris celui du tuto en pensant qu'il était forcément égal à cette valeur...mais je peux tenter de changer en mettant un offset plus classique peut-être.
Sinon j'ai tenté le flag supposé donner le menu pokemon au même endroit, et pareil il n'est pas accepté après compilation.
Le end...je l'ai mis aussi mais encore une fois effacé à la compilation ;(
N'oublie pas le end à la fin du script, dans chaque section
Hum, tu as assez d'espace libre à cet offset ?
Pour le flag 201 ? Probablement pas, j'ai juste repris celui du tuto en pensant qu'il était forcément égal à cette valeur...mais je peux tenter de changer en mettant un offset plus classique peut-être.
Sinon j'ai tenté le flag supposé donner le menu pokemon au même endroit, et pareil il n'est pas accepté après compilation.
Le end...je l'ai mis aussi mais encore une fois effacé à la compilation ;(
hremeraude
- Membre
- 11384 posts
19 juin 2017, 22:26
#org 0x3490E7
setflag 0x201
givepokemon 0x5E 0x5 0x0
release
end
msgbox 0x83490DD MSG_YESNO '"Pokémon?"
release
Le release n'a rien à faire là.
Et pourquoi :
#include stditems.rbh
#include stdpoke.rbh
« Modifié: 19 juin 2017, 22:38 par hremeraude »
setflag 0x201
givepokemon 0x5E 0x5 0x0
release
end
msgbox 0x83490DD MSG_YESNO '"Pokémon?"
release
Le release n'a rien à faire là.
Et pourquoi :
#include stditems.rbh
#include stdpoke.rbh
Mickey`
- Membre
- 2746 posts
19 juin 2017, 22:37
Hep hep, tu confonds un peu tout là. Quand tu utilises setflag, tu donnes un numéro de flag à écrire, en gros un index (toi qui fait du développement, ça devrait te parler), tu mets la variable "flag201" à true. L'offset, c'est une adresse à laquelle tu écris tes données. Cette adresse peut être comparée (pour simplifier) à un pointeur dans un langage de programmation traditionnel.
Donc, quelque soit le numéro du flag choisi, il n'y a aucun rapport avec l'offset. Ma question était : est-ce que à l'adresse 0x3490E7 (partie du script ou tu veux mettre le setflag) tu as assez de place pour écrire tes lignes de script ? (Réponse en spoiler)
Tu vois un peu le truc des offsets comme ça marche ? C'est un peu relou au début, c'est un habitude à prendre
@hremeraude : L'ordre ne change rien, le problème sera toujours le même pour les autres commandes.
Quand aux #include au début, ils sont indispensables pour utiliser les noms des Pokémon, objets, etc. directement dans le script (de tête, l'include est fait automatiquement en mode Avancé, c'est pour ça qu'on n'a pas besoin de l'écrire nous-même, mais à la décompilation, XSE l'inclut automatiquement).
Donc, quelque soit le numéro du flag choisi, il n'y a aucun rapport avec l'offset. Ma question était : est-ce que à l'adresse 0x3490E7 (partie du script ou tu veux mettre le setflag) tu as assez de place pour écrire tes lignes de script ? (Réponse en spoiler)
Réponse
Rien qu'à la vue du script, on peut déjà dire que tu n'as pas suffisamment d'espace libre à cet offset pour écrire ce bout de script :
Tu utilises l'offset 0x3490E7. On regarde la document du givepokemon dans XSE, elle nous indique qu'il faut 15 octets pour l'utiliser (15 = 0xF).
Donc 0x3490E7 + 0xF = 0x3490F6.
Or, à l'offset 3490F1 (donc avant 3490F6), tu écris le texte "A plus!". Comme XSE compile dans l'ordre des lignes, le message est compilé après ton setflag. Donc les données du message écrasent celles du setflag, c'est-à-dire que ton setflag n'est jamais réellement présent dans ta ROM.
Au moment de décompiler le script, XSE tente d'interpréter le message stocké à 0x3490F1 comme une commande, mais cela provoque logiquement une erreur. Donc il n'affiche pas cette commande puisque ça n'en est pas une, et tu te retrouves avec un script vide pour cette partie.
Tu utilises l'offset 0x3490E7. On regarde la document du givepokemon dans XSE, elle nous indique qu'il faut 15 octets pour l'utiliser (15 = 0xF).
Donc 0x3490E7 + 0xF = 0x3490F6.
Or, à l'offset 3490F1 (donc avant 3490F6), tu écris le texte "A plus!". Comme XSE compile dans l'ordre des lignes, le message est compilé après ton setflag. Donc les données du message écrasent celles du setflag, c'est-à-dire que ton setflag n'est jamais réellement présent dans ta ROM.
Au moment de décompiler le script, XSE tente d'interpréter le message stocké à 0x3490F1 comme une commande, mais cela provoque logiquement une erreur. Donc il n'affiche pas cette commande puisque ça n'en est pas une, et tu te retrouves avec un script vide pour cette partie.
Tu vois un peu le truc des offsets comme ça marche ? C'est un peu relou au début, c'est un habitude à prendre
@hremeraude : L'ordre ne change rien, le problème sera toujours le même pour les autres commandes.
Quand aux #include au début, ils sont indispensables pour utiliser les noms des Pokémon, objets, etc. directement dans le script (de tête, l'include est fait automatiquement en mode Avancé, c'est pour ça qu'on n'a pas besoin de l'écrire nous-même, mais à la décompilation, XSE l'inclut automatiquement).
hremeraude
- Membre
- 11384 posts
19 juin 2017, 22:41
Ha, j'savais pas, mais : givepokemon 0x5E 0x5 0x0
reste moins prise de tête je trouve...
Et c'est pas une question d'ordre ou pas, il met un release en plein milieu du script principal et à la fin de ce même script
Au final, j'sais pas si ça gêne ou pas, mais c'est inutile dans tous les cas
« Modifié: 19 juin 2017, 22:44 par hremeraude »
reste moins prise de tête je trouve...
Et c'est pas une question d'ordre ou pas, il met un release en plein milieu du script principal et à la fin de ce même script
Citer
'---------------
#org 0x349098
checkflag 0x201
lock
faceplayer
if 0x1 goto 0x83490D3
msgbox 0x83490DD MSG_YESNO '"Pokémon?"
release
compare LASTRESULT 0x1
if 0x1 goto 0x83490E7
msgbox 0x83490F1 MSG_NORMAL '"A plus!"
release
end
Au final, j'sais pas si ça gêne ou pas, mais c'est inutile dans tous les cas
Mickey`
- Membre
- 2746 posts
19 juin 2017, 22:46
Yep c'est inutile mais tu peux en mettre 50, ça fera pas buguer ton jeu. Par contre, le givepokemon prend obligatoirement 6 paramètres...
Minirock
- Membre
- 84 posts
19 juin 2017, 22:50
Ah oui je comprends mieux ou en tout cas je crois comprendre mieux^^...en fait j'avais fais un raccourcis entre ce langage de script et l'ARM...je voyais plus les offset comme une adresse pour stocker une instruction, de sorte que ça ne m'aurais absolument pas gêné de dire début du script à l'offset 50 et fin du script à l'offset 30 ^^
EN fait faut plutôt voir la première partie comme un main assez gros et donc prévoir assez de place....et à l'intérieur on remplit en sautant avec les goto.
Bon et bien j'aurais quelques autres tests à faire^^
EN fait faut plutôt voir la première partie comme un main assez gros et donc prévoir assez de place....et à l'intérieur on remplit en sautant avec les goto.
Bon et bien j'aurais quelques autres tests à faire^^
hremeraude
- Membre
- 11384 posts
19 juin 2017, 22:57
j'étais pas un 0x0 *3 près
mais j'sais pas, son givepokemon j'le trouve bizarre
Yep c'est inutile mais tu peux en mettre 50, ça fera pas buguer ton jeu. Par contre, le givepokemon prend obligatoirement 6 paramètres...
j'étais pas un 0x0 *3 près
mais j'sais pas, son givepokemon j'le trouve bizarre
Mickey`
- Membre
- 2746 posts
19 juin 2017, 23:02
Oui il faut trois zéros pour les trois derniers paramètres, ça vient de la décompilation, cf mon spoiler au-dessus, flemme de réexpliquer
hremeraude
- Membre
- 11384 posts
19 juin 2017, 23:07
ha oui ok d'accord, j'pensais que c'était de base x)
Drent
- Membre
- 2 posts
21 juin 2017, 18:20
Bonjour,
Je suis à la recherche d'une rom hack pokemon. J'y ai joué il y a quelques années, et je voulais voir si elle était maintenant terminée. Mais pas moyen de remettre la main dessus, je ne me souviens pas du nom. Peut-être que vous verrez de laquelle il s'agit.
C'était une hack basée sur la version émeraude, rubis ou saphir. L'un des starters était Tortipouss. Les méga évolutions étaient disponibles. Je me souviens que la map avait été modifiée et que l'on pouvait trouver des herbes sauvages à Rosyères, dans lesquelles on pouvait trouver des Togepi, notamment, ainsi que des Gobou/Arcko sur la route en allant vers Clémenti-Ville.
C'est tout ce dont je me souviens. Ça fait peu, mais avec de la chance l'un de vous arrivera à reconnaitre cette rom
Sinon, auriez vous une rom à me recommander, dans laquelle on peut trouver au moins les 5 première Gen avec tous les pokémons de celle-ci, et terminée à 100%. Et jouable en multi, car j'aime bien jouer avec un ami de temps à autre pour faire quelques combats. Pas besoin d'ajouts majeurs en dehors de ceux là.
On avait trouvé Cloud White 1 très bon, mais le multi ne fonctionne pas, il y a une erreur =/ Le 2 et le 3 ne sont pas encore terminé apparemment.
Merci d'avance pour votre aide !
Je suis à la recherche d'une rom hack pokemon. J'y ai joué il y a quelques années, et je voulais voir si elle était maintenant terminée. Mais pas moyen de remettre la main dessus, je ne me souviens pas du nom. Peut-être que vous verrez de laquelle il s'agit.
C'était une hack basée sur la version émeraude, rubis ou saphir. L'un des starters était Tortipouss. Les méga évolutions étaient disponibles. Je me souviens que la map avait été modifiée et que l'on pouvait trouver des herbes sauvages à Rosyères, dans lesquelles on pouvait trouver des Togepi, notamment, ainsi que des Gobou/Arcko sur la route en allant vers Clémenti-Ville.
C'est tout ce dont je me souviens. Ça fait peu, mais avec de la chance l'un de vous arrivera à reconnaitre cette rom
Sinon, auriez vous une rom à me recommander, dans laquelle on peut trouver au moins les 5 première Gen avec tous les pokémons de celle-ci, et terminée à 100%. Et jouable en multi, car j'aime bien jouer avec un ami de temps à autre pour faire quelques combats. Pas besoin d'ajouts majeurs en dehors de ceux là.
On avait trouvé Cloud White 1 très bon, mais le multi ne fonctionne pas, il y a une erreur =/ Le 2 et le 3 ne sont pas encore terminé apparemment.
Merci d'avance pour votre aide !
hremeraude
- Membre
- 11384 posts
21 juin 2017, 18:46
La DS tu peux jouer en local en réseau, c'est juste en wifi (le service wifi nds et wii a fermé).
La hack dont tu parles, connais pas, http://www.pokemontrash.com/club/rom-hacking/pokemon-emeraude-hack-pokemon-6g/
Ce que tu cherches, y'avait ça, mais elle est plus en ligne ici, peut-être tu la trouveras autre part..
Sinon tu as Thunder Yellow, Eclat Pourpre, Light Platinium....
La hack dont tu parles, connais pas, http://www.pokemontrash.com/club/rom-hacking/pokemon-emeraude-hack-pokemon-6g/
Ce que tu cherches, y'avait ça, mais elle est plus en ligne ici, peut-être tu la trouveras autre part..
Sinon tu as Thunder Yellow, Eclat Pourpre, Light Platinium....
Arnik
- Membre
- 1812 posts
22 juin 2017, 12:48
Une requête de tuto sur comment insérer le split phys/spec 4G dans une rom RF(et autres éventuellement) fr.
Mickey`
- Membre
- 2746 posts
22 juin 2017, 14:31
C'est une terrible merde, y a rien qui a été fait pour les ROMs françaises je crois... Je m'étais basé sur les patchs US (disponibles sur PC) et modifié "à la volée" des données en ASM mais je saurais pas t'aider plus, désolé...
hremeraude
- Membre
- 11384 posts
22 juin 2017, 17:53
Bah tu pourrais faire tourner ce que t'as fait pour EP ? x)
Mickey`
- Membre
- 2746 posts
22 juin 2017, 19:35
Nop justement c'est ce que je veux dire, j'ai rien gardé de précis, c'était du bricolage en live.