Topic d'aide en tout genre Rom-hacking

Pages: 1 ... 253 254 255 256 257 [258] 259 260 261 262 263 ... 291

Unifag

  • Membre
  • 883 posts
13 août 2017, 01:02
.

Edit suite au déplacement de Guitoh: J'aurais du tilter aussi... Je garde mon pendu sous le coude pour une prochaine fois ^^

J'en profite, ça ne serait pas mieux de retirer "recrutement" du titre du sujet? Ça incite probablement certains à recruter alors qu'ils n'ont aucune expérience de rh.
« Modifié: 13 août 2017, 01:18 par Unifag »

Guitoh

  • Membre
  • 5981 posts
13 août 2017, 01:08
ah merde, nan là c'est ma faute, j'ai fait la modération qu'à moitié, il était pas dans la bonne section ^^'

chapi-mignon

  • Membre
  • 18 posts
13 août 2017, 09:57
Bonjour a tous. Voila ma situation, pour ma HR jai besoin qu'un PNJ vienne me voir (applymovement) quil me parle (msgbox) et quil reparte (autre applymovement) j'ai donc scripter, je compile sur XSE, je sauvegarde sur A-map, jusque la tout se passe bien. Et lors de la phase de test le jeux freeze, il faut savoir que comme evenement jai mis une petite case Vertre avec un S dedans.

ci joint mon scripte

Spoiler
'---------------
#org 0x3B3F04
lock
applymovement 0x3 0x8710EA9
waitmovement 0x0
msgbox 0x87115D2 MSG_FACE '"Bonjour [player].\pSa y est tu com..."
applymovement 0x3 0x8711C38
release
end


'---------
' Strings
'---------
#org 0x7115D2
= Bonjour [player].\pSa y est tu comment ton périple.\nOh mais tu es accompagné d'un\lPOKEMON, il sera la pour te\lprotéger.\pOh pardon, je m'apelle SALVATORE,\ntu sais [player], je t'ai connu quand tu\létait tout petit. Aussi jeune que\lton POKEMON. Il faut que tu le\lprotege du mieux que tu peux.\pJe dois m'en aller [player], mais ne\nt'en\lfais pas nous nous reverrons tôt\lou tard. En attendant prend soin\lde toi et de ton POKEMON. Au\lrevoir...


'-----------
' Movements
'-----------
#org 0x710EA9
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xA 'Step Left (Very Slow)
#raw 0xFE 'End of Movements

#org 0x711C38
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xB 'Step Right (Very Slow)
#raw 0xFE 'End of Movements



savez vous d'ou peut venir mon erreur ?
« Modifié: 13 août 2017, 13:32 par Yago »

Mickey`

  • Membre
  • 2746 posts
13 août 2017, 12:41
Elle peut venir encore une fois du fait que tu n'as pas lu correctement le tuto.

Dans A-Map, quand tu cliques sur ta case verte, à droite, dans "Numéro de var", met un var libre, par exemple 4040. Ton jeu ne freezera plus.

chapi-mignon

  • Membre
  • 18 posts
13 août 2017, 16:22
Mickey, avec ton accord je souhaiterai pouvoir ouvrir ta hack-rom (eclat pourpre) sur A-map pour jeter un coup d'oeuil a tes script afin de voir se qui ne vas pas dans les mien. Mais par respect je te demande ton accord ainsi que celui de myst

Mickey`

  • Membre
  • 2746 posts
13 août 2017, 16:45
Tu ne pourras pas l'ouvrir...

chapi-mignon

  • Membre
  • 18 posts

Guitoh

  • Membre
  • 5981 posts
13 août 2017, 17:11
il l'a protégé pour qu'on puisse pas l'ouvrir dans A-map, pour pas qu'on puisse piquer son taff

crackerwood

  • Membre
  • 14 posts
13 août 2017, 20:13
Bonjour à tous.
Voilà depuis quelques mois je me suis mis au rom hacking.  J'ai réussi à faire quelques truc grâce au site. Mais il y a une chose que je trouve pas.
Je travaille sur emeraude et je voulais ajouterune partie kanto un peu comme à l'époque or argent cristal. J'ai cherché pendant des jours et je ne trouve pas de tuto. J'ai bien trouvé comment modifier la world map mais je voudrais juste en faire une autre qui quand on arrive à kanto elle s'affiche. J'ai essayé avec l'objet carte dans item editor mais papa dans le jeu refuse que je l'ouvre. j'aurais voulu à d efault qu'elle soit dans le pokenav le faire en objet mais rien à faire. J'ai vu qu'avec advance map on pouvais ajouter des world map dans toute feu ou vert feuille. Mais avec émeraude aucune option pour ca.
Si quelqu'un pouvait m'orienter s'il vous plait.
Bonne soirée

Arnik

  • Membre
  • 1812 posts
13 août 2017, 20:15
Non, ce n'est pas possible. Du moins, pas sans des connaissances beaucoup plus avancées.

Veille à poser tes questions dans le Topic d'aide en tout genre épinglé plus haut dans la section, merci.

crackerwood

  • Membre
  • 14 posts
13 août 2017, 20:30
Bon bah merci quand même. Et désolé j'ai pas fais attention aux sujets épinglés. J'y vellerais la prochaine fois.

Deeeeeerp

  • Membre
  • 12 posts
14 août 2017, 05:07
Bonjour! J'espère que je peux poster ici, je suis un peu nouveau.

Donc voilà, y'a beaucoup de temps j'avais travaillé sur une rom-hack, et puis bon des choses sont arrivé et je l'ai laissé derrière. Maintenant que je la reprends, je fais mes recherche pour fixer des trucs pas trop gros, mais il y a une chose fatal qui m'énèrve vraiment.

L'erreur avec la BLUE SCARF.

Dès que le dresseur adversaires à un pokémon endormis, il se met à utiliser 4 BLUE SCARF qui ne font rien, peu importe si le dresseur utiliste des potions en combat. J'ai essayé de le remplacer par un LEMOSHAKE (litérallement la même chose qu'une LEMONADE) et rien n'y va non plus, et je suis un peu embrouyé.
-> Pas si petite image
Spoiler

J'ai essayé de faire des recherche et je n'y trouve absolument rien.
Et voilà aussi, comme vous pouvez voir, les deux objets sont absolument pareil. (À gauche ma rom, et à droite une rom vierge.)
-> Comparaison
Spoiler

À ce point, c'est juste énnervant. Pourais-je avoir la solution de ce problème entièrement? C'est à dire, les dresseurs utilise des object de façon naturel? Même si je résous le LEMOSHAKE, ça ne change que les dresseurs ne l'utiliseront que lorsque leur pokémon sont endormis...
« Modifié: 14 août 2017, 05:08 par Deeeeeerp »

Unifag

  • Membre
  • 883 posts
14 août 2017, 12:36
Cette objet n'est pas prévu pour être porté par l'IA, c'est pour ça qu'il l'utilise étrangement, c'est probablement vraie pour d'autres objets.

L'IA pour savoir quel sera l'effet d'un objet (soin hp/status/stats/etc) se réfère à une table située à l'adresse 0x0824cd0c, le premier objet est celui d'id 0xD, soit la potion.
J'ai un doute sur la taille de la table, peut-être qu'elle fini à l'adresse 0x0824cf13, peut-être un peu plus loin, mais comme le reste c'est des 00 ça a peu d'importance où elle fini exactement.

Je t'épargne les détails mais ce qui se passe pour l'objet d'id 255 (blue scarf) c'est qu'il va lire une donnée hors de cette plage, et finir par penser que la bluescarf soigne le statut.

Si tu veux étendre cette table pour donner le comportement voulu aux objets d'id supérieurs à 8E (qui ne sont pas prévu pour être utilisés par l'ia en l'état) libre à toi
de l'étendre. Une entrée à 00000000 dans la table fera que l'ia ignorera cette objet en combat.



D'ailleurs je me suis rendu compte en cherchent ça que l'IA ne peut utiliser que son objet 1 sur le premier pokémon. L'objet 1 et 2 pour le deuxième. L'objet 1, 2, et 3 pour le 3ème. Etc.


Edit: Je viens de me rendre compte que t'utilise la version US, alors que les offsets que j'ai données sont pour la version FR... Je te trouve les offsets US tous à l'heure
Edit2: La table est à l'adresse 082528BC sur la version US
« Modifié: 14 août 2017, 13:22 par Unifag »

Deeeeeerp

  • Membre
  • 12 posts
15 août 2017, 01:20
Eyyy merci bien d'avoir répondu!

Je ne suis pas trop sûr de tous, là.

J'utilise un hex editor (GoldFinger) à 082528BC (C'est bien 2528BC, non?) et je trouve EC.

Je comprends bien le lien avec 8E, c'est la sitrus berry, la dernière qui peut soigner, et j'imagine que pour l'étendre, je n'ai qu'a mettre FF à la place, mais je ne le trouve pas vraiment. Pardonne moi d'être con, pourrais-tu me guider? Je ne suis pas le plus habile avec les hex editors.

Et d'ailleurs, saurais-tu d'òu exactement viens le problème? Je préfère quand même le régler entièrment plutôt que d'utiliser des détours... Parce que bon, comme j'ai dis, même si le LEMOSHAKE il marche, ça va pas changer que les dresseurs ne vont l'utiliser que quand leur pokémon font dodo.

Merci encoure et bonne journée!  :)

Unifag

  • Membre
  • 883 posts
15 août 2017, 13:13
L'IA connaît 6 types d'objets:
  • - L'objet Guérison
  • - Soin pv
  • - Soin statut
  • - Boost statistique
  • - Empêche la réduction des stats
  • - Autres
Bien qu'il soit possible pour un objet d'être décrit de plusieurs types la vérification est faite dans l'ordre de la liste ci-dessus. Un nouvelle objet qui boosterais les stats et soignerais quelques pv serait donc perçu par l'IA uniquement comme un soin.

La table

Il existe une table de pointeurs qui se trouve à l'adresse 0x0824cd0c pour BPRF (0x082528bc pour BPRE). La table termine à l'adresse 0x0824cf93 BPRF (0x08252B44 BPRE) Les données pointées décrivent le type de l'objet.
Remarque: BPRF = version FR de rouge feu. BPRE = version US de rouge feu
Cette table ne contient pas tous les objets du jeu.
L'IA n'est pas supposé porter des pokéball, donc les pokéball ne sont pas dans la table, pour rappel les pokéballs sont les objets d'indices 0x1 à 0xC. La table commence donc à l'objet d'ID 0xD. La table est ensuite ordonnée par id croissant.
Le dernier objet supposé être utilisable par un pokémon est la baie enigma d'id 0xAF.
Tout objet dont l'id est hors de la plage 0xD-0xAF n'est donc pas pris en charge par l'IA. Et sont comportement peut donc être étrange quand équipé d'un de ces objets, comme pour le foulard bleu (id:0xFF).

Pour donner un comportement aux objets d'id supérieur à 0xAF il faut donc repointer et étendre la table.

Une entrée

00000000 au lieu du pointeur fera que l'IA ignorera cette objet. En suivant le pointeur on trouve 6 bytes par entrée. Je vais appeler cette liste de byte E, E[0] est le 1er byte, E[4] est le 5eme byte. Voilà comment sont lus ces bytes pour déterminer le type d'objet.
- Si E[4] & 0x04 != 0 alors c'est un soin pv
- Si E[3] & 0x3F != 0 alors c'est un soin de statut
- Si E[0] & 0x3F != 0 alors c'est un boost de statistique
- Si E[1] != 0 alors c'est un boost de statistique
- Si E[2] != 0 alors c'est un boost de statistique
- Si E[3] & 0x80 != 0 alors c'est une prévention de réduction des stats
- Sinon c'est autre

Cette table est utilisé pour d'autres fonctionnalités du jeu, mais je n'ai pas creusé lesquels, car ça prend du temps. Il reste bien des bits d'une entrée à identifier, mais ils n'affectent pas l'IA donc ne m’intéressait pas pour répondre à la question initial.


La notion de repointer doit se trouver dans certains tutos (ici par exemple), mais grosso modo il faut depuis l’éditeur hexa copier la table pour la placer à un endroit vierge (avec plein de 0xff), agrandir la table avec des 00. Et retrouver tous les bc282508 pour les remplacer par XXXXXX08 où XXXXXX est ta nouvelle adresse "retourné".

Et ou 082528bc sera 2528bc dans ton éditeur hexa.

Si il y a des points que tu ne maîtrise pas n'hésite pas à poser la question.
« Modifié: 15 août 2017, 15:42 par Unifag »

Mickey`

  • Membre
  • 2746 posts
15 août 2017, 14:36
Très intéressant Uni ! Tu avais fait ces recherches quand tu avais pour projet de refaire l'IA ?

Unifag

  • Membre
  • 883 posts
15 août 2017, 15:41
Ça vient de là, c'est d'ailleurs la première chose que j'ai recommencé.
J'ai localisé la majorité des routines que j'aurais à détourner.
Mais faire une IA qui se rapproche du comportement d'un joueur strat c'est loin d'être trivial. D'autant que je ne suis pas joueur strat. Il faudra que je la test sur showdown avant pour voir ce que ça peut valoir.
Donc ça avance lentement, voir pas xD

Et je viens de découvrir le rh en C. Du-coup j'ai mis le reste en stand-by et je vais faire un genre de navi-dex pour voir les pokémons actuellement dans la zone pour m'initier au rh en C. Mais je bloque sur l'affichage... Ton menu start gorgeous tu l'as fait un C? J'avoue que je suis très intéressé de savoir comment tu l'as fait :)

Mickey`

  • Membre
  • 2746 posts
15 août 2017, 15:59
Yes, c'est fait en C, mais c'est pas vraiment viable en fait. On va voir ça en privé :)

yago58

  • Invité
15 août 2017, 16:00
Un bot en rh, mdr, ça c'est cool.

Dark22

  • Membre
  • 16 posts
15 août 2017, 17:57
Bonjour à tous,

Je viens chercher un peu d'aide concernant un event en NDS (heartgold précisement).

Voila, je fais actuellement différents tests sur cette rom et j'arrive à insérer un légendaire avec script, sprite ect et tout fonctionne bien à une chose près : quelle que soit l'issue du combat, on peut le répéter (que l'on perde, gagne ou qu'on attrape la pokemon...) à priori ce serait un problème de flag mais à confirmer, quelqu'un en sait-il plus pour m'indiquer la marche à suive pour rendre le combat possible une seule fois.

Si besoin, je peux c/c le script mais il est plutôt long et le tout se fait en 2 script et 4 fonctions au total donc sinon par MP pour ceux qui seraient susceptibles des m'aider ?

Chris02100

  • Membre
  • 14 posts
15 août 2017, 18:00
Salut.

Je suis entrain de modifié un rom : Rouge feu , Je vais sur AdvanceMap et quand je veut modifié un script , je clique sur ouvrir un script sa me dit : A whole new scripting experience a cessé de fonctionner et sa me le fait à chaque fois quelqu'un pourrait me dire si il y a une solution s'il vous plait

Merci.

Unifag

  • Membre
  • 883 posts
15 août 2017, 18:15
Salut.

Je suis entrain de modifié un rom : Rouge feu , Je vais sur AdvanceMap et quand je veut modifié un script , je clique sur ouvrir un script sa me dit : A whole new scripting experience a cessé de fonctionner et sa me le fait à chaque fois quelqu'un pourrait me dire si il y a une solution s'il vous plait

Merci.
Télécharge XSE à partir d'ici : https://www.pokemon-legendary.com/downloads/logiciels_GBA/index.html

Chris02100

  • Membre
  • 14 posts
15 août 2017, 19:02
Sa fonctionne niquel je te remercis beaucoup

Deeeeeerp

  • Membre
  • 12 posts
16 août 2017, 00:30
@Unifag merci encore de me soutenir!

Déjà, il y a le fait que le blue scarf s'utilise même si je n'équipe aucun objet au dresseur (Pas de potion, rien) donc j'suis pas trop sûr que ça va rouler...

Ensuite, une question rapide: je ne suis pas trop sûr à propos des offset du type 0x082528BC. D'habitude, je ne vois que des adresses du genre 0xFFAABB etc, avec uniquement 6 chiffre/nombre, et donc, je ne suis vraiment pas trop sûr comment je suis censé utiliser ça sur Gold Finger pour rechercher l'adresse.... j'ai essayé 0x2528BC mais ça ne semble pas être ça...


(Question complètement hors-sujet: quelqu'un connaît l'adresses du mot POKéMON dans le menu start, dans BPRE?)

Chris02100

  • Membre
  • 14 posts
16 août 2017, 00:34
Salut.

Je recherche des personne sachant scripter et mapper me mp pour plus d'informations

Merci!

Arnik

  • Membre
  • 1812 posts
16 août 2017, 00:47
@Deeeeeerp Nope mais en recherchant hexadécimalement le mot dans la rom, tu devrais le trouver éventuellement.

Unifag

  • Membre
  • 883 posts
16 août 2017, 00:48
@Unifag merci encore de me soutenir!

Déjà, il y a le fait que le blue scarf s'utilise même si je n'équipe aucun objet au dresseur (Pas de potion, rien) donc j'suis pas trop sûr que ça va rouler...

Ensuite, une question rapide: je ne suis pas trop sûr à propos des offset du type 0x082528BC. D'habitude, je ne vois que des adresses du genre 0xFFAABB etc, avec uniquement 6 chiffre/nombre, et donc, je ne suis vraiment pas trop sûr comment je suis censé utiliser ça sur Gold Finger pour rechercher l'adresse.... j'ai essayé 0x2528BC mais ça ne semble pas être ça...

T’inquiète pas je te promet que ça va marcher si la table est correctement étendu ^^ Si besoin on fera ça pas à pas.

Et oui tu peux retirer le 08 dans ce cas, donc l'offset 0x082528BC correspond à 0x2528BC dans ton éditeur hexa. Je n'aurais pas dus mettre le 08 partout dans mon message ça peut inciter à l'erreur.
Le début de la table ressemble à ça sur la version EN :
Spoiler
EC 26 25 08 F3 26 25 08 F9 26 25 08 FF 26 25 08
donc si tu tombe la dessus c'est que t'es au bon endroit

Salut.

Je recherche des personne sachant scripter et mapper me mp pour plus d'informations

Merci!
Je sais mapper et scripter, plus d'infos stp
« Modifié: 16 août 2017, 00:51 par Unifag »

Chris02100

  • Membre
  • 14 posts
16 août 2017, 01:35
Unifag je decale privé

Metazoaire

  • Membre
  • 1 posts
16 août 2017, 15:21
Bonjour,
J'aurais aimé savoir ou on peut avoir des Scripts des pokemon Légendaire pour faire des pokemon event et avoir le pokedex national pour les version vert feuille et émeraude.
Mais aussi pourquoi le systeme jour/nuit et saison ne fonction pas avec le format cia des rom gba.

Mickey`

  • Membre
  • 2746 posts
16 août 2017, 15:31
Tu vas vite aller lire les topics épinglés toi.

Pages: 1 ... 253 254 255 256 257 [258] 259 260 261 262 263 ... 291    En haut ↑