Topic d'aide en tout genre Rom-hacking
hremeraude
- Membre
- 11384 posts
30 mars 2015, 20:48
D'ailleurs y'a pas moyen que je quémande une alpha/beta/whatever ? :x
Mickey`
- Membre
- 2746 posts
30 mars 2015, 20:55
Ahah non désolé ! Mais c'est pour bientôt maintenant...
hremeraude
- Membre
- 11384 posts
30 mars 2015, 21:21
le problème, c'est que je pense qu'on a pas la même définition de "bientôt" ^^
Mickey`
- Membre
- 2746 posts
30 mars 2015, 22:31
Beh c'est sur qu'on va pas le sortir demain. Mais vu la quantité de travail au total, on est proche de la fin.
On préfère sortir un travail complet et fini entièrement plus tard, plutôt qu'un projet incomplet/non fini et bâclé trop rapidement.
On préfère sortir un travail complet et fini entièrement plus tard, plutôt qu'un projet incomplet/non fini et bâclé trop rapidement.
Tédam
- Membre
- 409 posts
31 mars 2015, 22:14
Bonsoir
J'aimerais savoir si l'IA est à 0 dans A-Trainer, les attaques sont au hasard ou alors elles sont choisi pour ne pas être efficace?
J'aimerais savoir si l'IA est à 0 dans A-Trainer, les attaques sont au hasard ou alors elles sont choisi pour ne pas être efficace?
yago58
- Invité
31 mars 2015, 22:33
Au hasard
Elles sont choisies selon le niveau du poké.
Elles sont choisies selon le niveau du poké.
Tédam
- Membre
- 409 posts
31 mars 2015, 22:46
Tu veux dire que plus le niveaux de mon poké est haut plus les attaques seront mieux sélectionné?
« Modifié: 31 mars 2015, 22:48 par Tdam01 »
yago58
- Invité
31 mars 2015, 23:17
Pas du tien, je t'explique avec un ex plus parlant =>
Tu es bien sur une rom 3g, je crois ? dans ce cas lis ce qui suit =>
Imagine tu rencontre un roucoups sauvage niveau 21, il aura comme attaque :
Jet De Sable = niv 5
Tornade = niv 9
Vive-Attaque = niv 13
Cyclone = niv 20
C'est pareil pour les pokémon des dresseurs si l'IA est à 0
Tu es bien sur une rom 3g, je crois ? dans ce cas lis ce qui suit =>
Imagine tu rencontre un roucoups sauvage niveau 21, il aura comme attaque :
Jet De Sable = niv 5
Tornade = niv 9
Vive-Attaque = niv 13
Cyclone = niv 20
C'est pareil pour les pokémon des dresseurs si l'IA est à 0
Tédam
- Membre
- 409 posts
31 mars 2015, 23:36
Ah, j'ai mal compris se que tu m'expliquais, mais j'utilise des attaques personnalisé avec A-T donc je ne suis pas concerné par ça.
La raison pour laquelle je posais cette question, c'est que j'ai inséré une routine pour créer un "reverse battle" comme dans X Y.
Mais je n'avais pas pensé que le poké adverse utiliserai la table des type d'origine, du coup il utilise constamment des attaque pas très efficace si je met 255 dans l'IA.
La raison pour laquelle je posais cette question, c'est que j'ai inséré une routine pour créer un "reverse battle" comme dans X Y.
Mais je n'avais pas pensé que le poké adverse utiliserai la table des type d'origine, du coup il utilise constamment des attaque pas très efficace si je met 255 dans l'IA.
yago58
- Invité
31 mars 2015, 23:43
Là c'est problématique, parce que A-T n'a que les moves classiques en mémoires.
Ceci dit je connais pas assez le GBA pour te dire quoi faire, donc je vais laisser la place à un pro du GBA.
Ceci dit je connais pas assez le GBA pour te dire quoi faire, donc je vais laisser la place à un pro du GBA.
Mickey`
- Membre
- 2746 posts
01 avril 2015, 12:39
Faudrait voir le code ASM pour voir comment les attaques sont choisies.
Si le code fait juste un check sur le rapport entre les deux types, il suffit de modifier cette routine pour que si on est "reverse battle", les rapports soient "inversés". Dans ce cas, le jeu utilisera les attaques en prenant en compte le rapports inversés. Mais ça serait l'idéal que ça fonctionne comme ça.
Si le code fait juste un check sur le rapport entre les deux types, il suffit de modifier cette routine pour que si on est "reverse battle", les rapports soient "inversés". Dans ce cas, le jeu utilisera les attaques en prenant en compte le rapports inversés. Mais ça serait l'idéal que ça fonctionne comme ça.
Tédam
- Membre
- 409 posts
02 avril 2015, 13:19
Comme tu le sais je ne connais pas encore assez l'asm.
J'ai utiliser une routine que j'ai trouver sur PC et modifié pour version FR.
Mais dans la routine j'ai du inseré un flag, et lorsqu'il est actif je crois que la table des types est lu d'une autre façon.
Donc je pense que l'IA ne doit pas être lié a cette table.
Je posterai se soir cette routine pour que tu vois.
J'ai utiliser une routine que j'ai trouver sur PC et modifié pour version FR.
Mais dans la routine j'ai du inseré un flag, et lorsqu'il est actif je crois que la table des types est lu d'une autre façon.
Donc je pense que l'IA ne doit pas être lié a cette table.
Je posterai se soir cette routine pour que tu vois.
Mickey`
- Membre
- 2746 posts
02 avril 2015, 17:41
Ouais, comme ça c'est assez difficile ^^'
Tédam
- Membre
- 409 posts
02 avril 2015, 19:01
Voilà la routine c'est pour version RF US celle la!
Et il faut modifier 00 49 08 47 XX XX XX 08 a 01E770« Modifié: 02 avril 2015, 19:05 par Tdam01 »
Ouais, comme ça c'est assez difficile ^^'
Voilà la routine c'est pour version RF US celle la!
Spoiler
Code: [Sélectionner]
.align 2
.thumb
.thumb_func
push {r4, r5, lr}
mov r4, r0
mov r0, #0x02
lsl r0, #0x8
mov r1, #0x3D
add r0, r1
bl FlagCheck
cmp r0, #0x0
beq End
cmp r4, #0x0
beq SuperEffective
cmp r4, #0x5
beq SuperEffective
cmp r4, #0x14
beq Ineffective
b End
SuperEffective:
mov r4, #0x14
b End
Ineffective:
mov r4, #0x5
End:
ldr r5, .damageAddr
ldr r0, [r5, #0x0]
mul r0, r4
ldr r1, .returnAddr
bx r1
FlagCheck:
ldr r2, .flagAddr
bx r2
.align 2
.returnAddr: .word 0x0801e77d
.flagAddr: .word 0x0806e6d1
.damageAddr: .word 0x02023d50
.end
Et il faut modifier 00 49 08 47 XX XX XX 08 a 01E770
Mickey`
- Membre
- 2746 posts
02 avril 2015, 19:30
Bah en fait, la routine en elle-même (celle que tu as postée), tu as bien réussi à l'adapter aux versions françaises, non ?
Tédam
- Membre
- 409 posts
02 avril 2015, 20:46
oui elle fonctionne bien avec RF et emeraude
Hisoka2308
- Membre
- 49 posts
02 avril 2015, 21:25
Bonsoir,
En premier lieu, là je fais au plus vite donc s'il y a une section "présentation", j'irai demain promis ^_^.
Je travaille actuellement sur un projet de rom hacking grâce à vos tutos et pour lesquels je vous remercie tous.
Je rencontre un petit problème lorsque je veux implanter un dresseur dans une map, alors que je suis pleinement vos tutoriels à la lettre :/
voilà :
J'ai essayer d'ajouter dans la ligne 4 un "0x6" comme la plupart des autres dresseurs du jeu (officiels) j'arrive à quelque chose dans le jeux mais après l'animation du dresseur qui vient sur moi et là, la rom met "crashing image"
Si quelqu'un peut m'expliquer d'où peut venir le problème cela serait fortement apprécié x) (j'ai redémarré sur une rom vierge aussi et rien n'y fait)
j'en profite aussi pour éclaircir un petit détail :/
dans la section event de l' A.map, à droite il y a n° du script, ID dresseur, visibilité, etc.... mais je n'arrive pas à voir en quoi consiste la partie "mouvement" (à ne pas confondre avec l'info mouvement ^^) :/
Voilà j'espère vraiment que vous pourrez m'aider à palier à ce problème et vous remercie de l'attention que vous porterez à ma demande (çà fait trop lettre de motivation désolé x) )
Bonne soirée à tous.
« Modifié: 02 avril 2015, 22:20 par Hisoka2308 »
En premier lieu, là je fais au plus vite donc s'il y a une section "présentation", j'irai demain promis ^_^.
Je travaille actuellement sur un projet de rom hacking grâce à vos tutos et pour lesquels je vous remercie tous.
Je rencontre un petit problème lorsque je veux implanter un dresseur dans une map, alors que je suis pleinement vos tutoriels à la lettre :/
voilà :
J'ai essayer d'ajouter dans la ligne 4 un "0x6" comme la plupart des autres dresseurs du jeu (officiels) j'arrive à quelque chose dans le jeux mais après l'animation du dresseur qui vient sur moi et là, la rom met "crashing image"
Si quelqu'un peut m'expliquer d'où peut venir le problème cela serait fortement apprécié x) (j'ai redémarré sur une rom vierge aussi et rien n'y fait)
j'en profite aussi pour éclaircir un petit détail :/
dans la section event de l' A.map, à droite il y a n° du script, ID dresseur, visibilité, etc.... mais je n'arrive pas à voir en quoi consiste la partie "mouvement" (à ne pas confondre avec l'info mouvement ^^) :/
Voilà j'espère vraiment que vous pourrez m'aider à palier à ce problème et vous remercie de l'attention que vous porterez à ma demande (çà fait trop lettre de motivation désolé x) )
Bonne soirée à tous.
yago58
- Invité
02 avril 2015, 21:30
Liens invalides
Pour ce qui est de la présentation, elle n'est pas obligatoire sur le forum.
Pour ce qui est de la présentation, elle n'est pas obligatoire sur le forum.
hremeraude
- Membre
- 11384 posts
02 avril 2015, 21:32
Mais si ils sont valides, plus petit aurait été mieux mais bon on fait avec
Mais si ils sont valides, plus petit aurait été mieux mais bon on fait avec
yago58
- Invité
02 avril 2015, 21:37
Merci, j'ai remplacé les siennes comme ça.
Hisoka2308
- Membre
- 49 posts
02 avril 2015, 22:23
Merci Yago et Rémerod pour vos remarques.
Je me suis attardé un peu plus sur ces images et finalement j'ai pu les mettre plus grandes et sous spoiler afin d'éviter de ralentir la page. ^^
Je me suis attardé un peu plus sur ces images et finalement j'ai pu les mettre plus grandes et sous spoiler afin d'éviter de ralentir la page. ^^
Mickey`
- Membre
- 2746 posts
02 avril 2015, 22:39
Et donc ce que tu veux c'est quoi ? Je ne comprends plus le problème si ça marche ^^
@Hisoka2308 : pour te répondre, déjà, sur le message d'erreur, tu vois qu'il y a écrit "(...) à la ligne 4". Or, la ligne 4, ce n'est pas celle du trainer, mais celle du message ! C'est un problème que je connais bien... Télécharge le XSE de Pokemon-Legendary, ça marchera
Pour la case "Mouvement", il me semble que ça influe sur le nombre de pas qu'un PNJ peut faire.
oui elle fonctionne bien avec RF et emeraude
Et donc ce que tu veux c'est quoi ? Je ne comprends plus le problème si ça marche ^^
@Hisoka2308 : pour te répondre, déjà, sur le message d'erreur, tu vois qu'il y a écrit "(...) à la ligne 4". Or, la ligne 4, ce n'est pas celle du trainer, mais celle du message ! C'est un problème que je connais bien... Télécharge le XSE de Pokemon-Legendary, ça marchera
Pour la case "Mouvement", il me semble que ça influe sur le nombre de pas qu'un PNJ peut faire.
hremeraude
- Membre
- 11384 posts
02 avril 2015, 22:42
désolé michel, faut lire ce que tu dis XSE, en l’occurrence, ici ligne 4, t'as rien mis entre "" (m'enfin c'est automatique normalement).
et sinon tes offsets sont trop proches, change-les
« Modifié: 02 avril 2015, 22:51 par Rémerod »
et sinon tes offsets sont trop proches, change-les
Mickey`
- Membre
- 2746 posts
02 avril 2015, 22:48
Osef de ça, y a rien à mettre, XSE le met automatiquement. Ce qui est après le ' n'est qu'un commentaire.
hremeraude
- Membre
- 11384 posts
02 avril 2015, 22:51
Ouais, et sinon offset trop proches (j'avais oublié de précisé lol)
« Modifié: 02 avril 2015, 22:53 par Rémerod »
Mickey`
- Membre
- 2746 posts
02 avril 2015, 23:00
Tu te rattrapes... Mais tu as tout à fait raison sur ce coup !
hremeraude
- Membre
- 11384 posts
02 avril 2015, 23:03
Bah nan mais j'avais édité, mais t'as répondu avant lol
Hisoka2308
- Membre
- 49 posts
02 avril 2015, 23:07
La question pour les offset semble bonne car j'ai pu avoir mon personnage, mais comme j'avais échanger des offset par étourderie c'est bien passé sauf que le message que dit le dresseur après le combat ne s'affiche pas mais le combat et les 2 autres textes fonctionnent :/
j'ai bien écarté les offset cette fois-ci :
bhin la ligne 4 reste encore agaçante...:/ avec le même code erreur que tout à l'heure. ^^ J'ai eu un faux espoir. x)
sinon,
« Modifié: 02 avril 2015, 23:29 par Hisoka2308 »
j'ai bien écarté les offset cette fois-ci :
Citer
'---------------
#org 0x317E10
trainerbattle 0x0 0x357 0x0 0x831B4F9 0x831C499
msgbox 0x8E4AD88 MSG_NORMAL '""
'---------
' Strings
'---------
#org 0x31B4F9
= Je t'ai vu sauver le professeur.\nJe veux tester ta force...
#org 0x31C499
= Je vois...\nTon pokemon et toi êtes très\lproches.
#org 0xE4AD88
= Bonne chance dans ton périple.
bhin la ligne 4 reste encore agaçante...:/ avec le même code erreur que tout à l'heure. ^^ J'ai eu un faux espoir. x)
sinon,
Citer
Pour la case "Mouvement", il me semble que ça influe sur le nombre de pas qu'un PNJ peut faire.non justement , c'est visibilité qui permet de faire çà ^_^ il n'y a que certains pnj dans le jeu qui ont des "mouvements" et encore ce ne sont pas des dresseurs :/
hremeraude
- Membre
- 11384 posts
02 avril 2015, 23:36
msgbox 0xE4AD88 MSG_NORMAL
remplace la ligne 4 par ça, y'a pas le 8 avant l'offset
remplace la ligne 4 par ça, y'a pas le 8 avant l'offset
Hisoka2308
- Membre
- 49 posts
03 avril 2015, 04:17
toujours pas le code erreur est toujours présent. :/