D'ailleurs, quelle est la différence entre setflag, les setvars et autres joyeusetés complexes ? (car les tutos de script en parlent, mais ils servent à quoi précisément, car ils les cite sans expliciter particulièrement leur utilité et fonction (sans vouloir accuser personne, hein ! les tutos sont bien faits, je demande juste des explications supplémentaires))
(j'ai trouvé pour mon problème précédent, simple problème de re-chargement de la map)
(merci !)
Topic d'aide en tout genre Rom-hacking
Mewtwo2207
- Membre
- 28 posts
steakfrite
- Membre
- 842 posts
16 juin 2013, 17:24
un flag peut faire correspondre la valeur 0 ou 1
une variable peut faire correspondre une infinité de valeurs
en gros
-le flag 0x200 prends la valeur 1 lorsque la commande setflag 0x200 est utilisé, par defaut on a 0
-la variable, par définition peut varier (tout comme le flag d'ailleurs ><") mais on peut lui donner n'importe quelle valeur et n'est donc pas limité aux valeurs 0 ou 1 ( setvar 0x4050 0x4F par exemple)
une variable peut faire correspondre une infinité de valeurs
en gros
-le flag 0x200 prends la valeur 1 lorsque la commande setflag 0x200 est utilisé, par defaut on a 0
-la variable, par définition peut varier (tout comme le flag d'ailleurs ><") mais on peut lui donner n'importe quelle valeur et n'est donc pas limité aux valeurs 0 ou 1 ( setvar 0x4050 0x4F par exemple)
Unifag
- Membre
- 883 posts
16 juin 2013, 17:27
Dis toi que les flag permettent d'éviter qu'un événement se répète et sont enregistré dans la sauvegarde.
Alors que les vars sont limité dans le temps, il permettent de stocker une information sur une durée courte et ne sont donc pas enregistré dans la sauvegarde, d’ailleurs leur valeur est souvent amener a changer.
Tu verra qu'il sont utilisé pour faire des choses totalement différente.
Alors que les vars sont limité dans le temps, il permettent de stocker une information sur une durée courte et ne sont donc pas enregistré dans la sauvegarde, d’ailleurs leur valeur est souvent amener a changer.
Tu verra qu'il sont utilisé pour faire des choses totalement différente.
Baitot
- Membre
- 491 posts
16 juin 2013, 17:38
Mais j'ai aussi vu avec Elite Map que le tile était détérioré, même défoncer.
Donc maintenant, j'aimerai savoir comment modifier un tile sans Advance Map ?
Merci
J'sais pas si je confonds avec un autre bug similaire, mais si non, t'as niqué ta map. Une bonne gestion des offset empêché le problème et repointer la map en changeant les dimensions devraient arranger ca. Sinon, je sais pas.Non. J'ai redimensionner la map avec Elite Map ; mais aucun changement.
Mais j'ai aussi vu avec Elite Map que le tile était détérioré, même défoncer.
Donc maintenant, j'aimerai savoir comment modifier un tile sans Advance Map ?
Merci
Mewtwo2207
- Membre
- 28 posts
16 juin 2013, 18:06
Donc la valeur du flag est permanent ? Et le nombre de flag est limité ou pas ? Ils correspondent à un évènement particulier ? (ou alors je confonds avec les special ...).
Donc on met une valeur dans une variable avec setvar, et on teste avec if + goto. On peut récupérer la valeur d'une variable ? (ou alors c'est inutile ?)
Dans setvar 0x4050 0x4F ; 4050 et 4F correspondent à quoi respectivement ? Offset et valeur ?
J'ai un problème encore avec le scripting ! Je m'essaye au wildbattle de sainior, je change les offsets pour que cela fonctionne, je copie colle :
Merci !
Donc on met une valeur dans une variable avec setvar, et on teste avec if + goto. On peut récupérer la valeur d'une variable ? (ou alors c'est inutile ?)
Dans setvar 0x4050 0x4F ; 4050 et 4F correspondent à quoi respectivement ? Offset et valeur ?
J'ai un problème encore avec le scripting ! Je m'essaye au wildbattle de sainior, je change les offsets pour que cela fonctionne, je copie colle :
Code: [Sélectionner]
'---------------
#org 0x820000
lock
faceplayer
setwildbattle 0x8F 0x5A 0x0
checksound
cry 0x8F 0x2
pause 0x28
waitcry
setflag 0x305
setflag 0x861
setflag 0x138
waitstate
clearflag 0x861
release
end
Et le jeu freeze ! Alors je me demande si cela ne vient pas (comme ce matin ...) de l'ID du personnage. Mais, je ne comprends pas ce que celui-ci représente. Quelqu'un peut-il m'aider pour le freeze ? Et m'expliquer à quoi correspond l'ID du personnage ? Ou alors ces infos sont-elles présentes quelque part sur le site ? (je n'ai pas trouvé ...)Merci !
hremeraude
- Membre
- 11384 posts
16 juin 2013, 18:11
Advance map obligatoire pour modifier un tile ^^'
J'sais pas si je confonds avec un autre bug similaire, mais si non, t'as niqué ta map. Une bonne gestion des offset empêché le problème et repointer la map en changeant les dimensions devraient arranger ca. Sinon, je sais pas.Non. J'ai redimensionner la map avec Elite Map ; mais aucun changement.
Mais j'ai aussi vu avec Elite Map que le tile était détérioré, même défoncer.
Donc maintenant, j'aimerai savoir comment modifier un tile sans Advance Map ?
Merci
Advance map obligatoire pour modifier un tile ^^'
Baitot
- Membre
- 491 posts
Mewtwo2207
- Membre
- 28 posts
16 juin 2013, 18:33
N° du personnage, ça correspond à ce qui est affiché sur advance map ? Et ... le setflag, ça empêchera que ça se reproduise ? ???
Eh ! Baitot! Tu as édité ! ???
Eh ! Baitot! Tu as édité ! ???
Baitot
- Membre
- 491 posts
16 juin 2013, 18:40
Oui car je n'ai pas testé ce script...
Normalement il n'y a aucun problème mais on sait jamais, je ne voudrai pas te donner de mauvaises informations.
Normalement il n'y a aucun problème mais on sait jamais, je ne voudrai pas te donner de mauvaises informations.
Unifag
- Membre
- 883 posts
16 juin 2013, 18:43
Pour les variable oui on peut récupérer sa valeur, mais il faut faire attention car beaucoup de choses peuvent modifié cette valeur. Par exemple les trainerbattle utilise certaines variable. Tu ne pourra par exemple pas récupérer sa valeur d'un script à l'autre car elle peut avoir changer. Sa peut sembler assez restrictif mais des fois c'est bien utile.
setvar 0x4050 0x4F
Dans cette exemple le 0x4050 correspond au numéro de la variable et 4F c'est le contenu que tu lui attribue.
Donc maintenant, j'aimerai savoir comment modifier un tile sans Advance Map ?Tu peux modifier un tile avec UnLz-gba ou encore avec NSE, même si c'est pas très pratique dans le cas de UnLz-gba.
Donc la valeur du flag est permanent ? Et le nombre de flag est limité ou pas ? Ils correspondent à un évènement particulier ? (ou alors je confonds avec les special ...).La valeur du flag est permanente oui, mais on peut quand même la modifié. Oui le nombre de flag est limitée, même si je sais pas a combien. Pour ce qui est de correspondre à un événement: non, enfin sa dépend de l'utilisation que tu en fais, par exemple si c'est pour éviter qu'un script se répète on peut dire qu'il est propre a un événement car tu ne l'utilisera que dans se script, mais si par exemple tu veux que le joueur n'est pas accés a certaines zones temps qu'il n'a pas battu "machin", et bien dans après le combat avec machin tu mettra un setflag et dans d'autre script tu mettra check flag pour vérifier si il l'a battu ou non.
Donc on met une valeur dans une variable avec setvar, et on teste avec if + goto. On peut récupérer la valeur d'une variable ? (ou alors c'est inutile ?)
Dans setvar 0x4050 0x4F ; 4050 et 4F correspondent à quoi respectivement ? Offset et valeur ?
Pour les variable oui on peut récupérer sa valeur, mais il faut faire attention car beaucoup de choses peuvent modifié cette valeur. Par exemple les trainerbattle utilise certaines variable. Tu ne pourra par exemple pas récupérer sa valeur d'un script à l'autre car elle peut avoir changer. Sa peut sembler assez restrictif mais des fois c'est bien utile.
setvar 0x4050 0x4F
Dans cette exemple le 0x4050 correspond au numéro de la variable et 4F c'est le contenu que tu lui attribue.
Baitot
- Membre
- 491 posts
16 juin 2013, 18:46
J'ai déjà essayé avec UnLz-GBA mais je n'ai rien trouvé... je testerai NSE plus tard.
Mewtwo2207
- Membre
- 28 posts
16 juin 2013, 18:51
Ok, donc les variables sont des objets ultra protégés à ne pas toucher.
Ah ! Mais oui ! Les flags ne sont pas propres à un script puisqu'ils sont en mémoire, on peut les réutiliser dans tous les scripts qu'on veut du moment qu'on a le flag correspondant !
Merci Unifag pour tes lumières !
PS: quelqu'un peut-il m'aider ? ??? : J'ai un problème encore avec le scripting ! Je m'essaye au wildbattle de sainior, je change les offsets pour que cela fonctionne, je copie colle :
Merci !
Ah ! Mais oui ! Les flags ne sont pas propres à un script puisqu'ils sont en mémoire, on peut les réutiliser dans tous les scripts qu'on veut du moment qu'on a le flag correspondant !
Merci Unifag pour tes lumières !
PS: quelqu'un peut-il m'aider ? ??? : J'ai un problème encore avec le scripting ! Je m'essaye au wildbattle de sainior, je change les offsets pour que cela fonctionne, je copie colle :
Code: [Sélectionner]
'---------------
#org 0x820000
lock
faceplayer
setwildbattle 0x8F 0x5A 0x0
checksound
cry 0x8F 0x2
pause 0x28
waitcry
setflag 0x305
setflag 0x861
setflag 0x138
waitstate
clearflag 0x861
release
end
Et le jeu freeze ! Alors je me demande si cela ne vient pas (comme ce matin ...) de l'ID du personnage. Mais, je ne comprends pas ce que celui-ci représente. Quelqu'un peut-il m'aider pour le freeze ? Et m'expliquer à quoi correspond l'ID du personnage ? Ou alors ces infos sont-elles présentes quelque part sur le site ? (je n'ai pas trouvé ...)Merci !
Unifag
- Membre
- 883 posts
16 juin 2013, 18:57
Pour ton scripte je ne peut pas t'aider, mais par contre tu a fais une confusion pour les variables, on peut les utiliser sans soucis et c'est même très pratique, il faut juste faire attention a certaine commandes comme les spécials ou les trainerbattle qui modifie ces variables, mais temps qu'il n'y a pas ce genre de commande entre ton setvar et sont utilisation pas de souci (et si jamais c'est le cas il suffit de bien choisir la variable que tu utilise). Mais le jour où tu aura besoin des variables je te conseils d’expérimenter par toi même et au besoin venir demander de l'aide ici.
Mewtwo2207
- Membre
- 28 posts
16 juin 2013, 19:01
Avant de m'y attaquer, il faut que j'arrive à faire des scripts sans besoin de variables qui sont potables ! =D
Myst
- Membre
- 1870 posts
16 juin 2013, 19:17
J'ai jamais aimé le wildbattle du tuto, il est prise de tête pour pas grand chose. Celui que je te passe est mieux.Code: [Sélectionner]'---------------
#org 0xE3D28A
lock
faceplayer
msgbox 0x8E3D2B6 MSG_SIGN '"Un Kirlia sauvage apparaît !"
cry 0x189 0x0
pause 0x28 'pas obligatoire du tout
wildbattle 0x189 0x8 0x0
hidesprite LASTTALKED
fadescreen 0x1
fadescreen 0x0
setflag 0xl'id de ton poké a régler sur a map
release
end
'---------
' Strings
'---------
#org 0xE3D2B6
= Un Kirlia sauvage apparaît !
Si t'as une question sur une commande, vas'y.
hugodu78130
- Membre
- 54 posts
16 juin 2013, 19:23
bonjour
j'aurais aimer savoir si il était possible dans pokemon emeraude de modifier les paroles de la mère du héros au tout début du jeux (juste au momants de sortir du camion) parcque sur A-map je trouve pas de script, quand je clic sur le sprite de la maman et sur ouvrir script ya rien a part les paroles quelle dis quand elle est assis sur la chaise dans la maison
j'aurais aimer savoir si il était possible dans pokemon emeraude de modifier les paroles de la mère du héros au tout début du jeux (juste au momants de sortir du camion) parcque sur A-map je trouve pas de script, quand je clic sur le sprite de la maman et sur ouvrir script ya rien a part les paroles quelle dis quand elle est assis sur la chaise dans la maison
hugodu78130
- Membre
- 54 posts
16 juin 2013, 19:24
a dsl je coupe la parole ... continuer ..
steakfrite
- Membre
- 842 posts
16 juin 2013, 19:25
C'est un level script accessible via l'onglet Header
hugodu78130
- Membre
- 54 posts
16 juin 2013, 19:30
a wai merci j'ai trouver .. et juste ... aussi l'intro de début du jeux .. quand le prof séko il parle elle est dans level script aussi ?
hremeraude
- Membre
- 11384 posts
16 juin 2013, 19:31
Je rechercherais des tiles d'arbre, herbe ou autre choses en tous genre pour ma hack rom,
Palette utilisée :
Votre tile doit comporter uniquement ces couleurs (pas forcément toute)
Merci ^^'
Palette utilisée :
Votre tile doit comporter uniquement ces couleurs (pas forcément toute)
Merci ^^'
steakfrite
- Membre
- 842 posts
16 juin 2013, 19:32
Nop, tu peux modifier ces dialogues grâce à l'exa ou plus simpliement avec le logiciel Advance text dispo sur PL
a wai merci j'ai trouver .. et juste ... aussi l'intro de début du jeux .. quand le prof séko il parle elle est dans level script aussi ?
Nop, tu peux modifier ces dialogues grâce à l'exa ou plus simpliement avec le logiciel Advance text dispo sur PL
hugodu78130
- Membre
- 54 posts
16 juin 2013, 19:33
okay jvai aller voir merci mec
Mewtwo2207
- Membre
- 28 posts
16 juin 2013, 19:46
Donc, tout le combat est dans wildbattle. Cela ne se poursuit pas tant que le combat est pas fini. hidesprite LASTTALKED, on supprime le dernier sprite auquel on a parlé. Mais je ne comprends pas fadescreen , ni setflag , on choisit l'ID qu'on veut ? (yé comprend rien, enfin si, mais pas la fin !)
Le seul problème de ton code, c'est que pour le scripteur fainéant, on doit écrire une partie strings ! (je déconne hein, c'est super sympa de ta part ! )
Edit : et ça représente quoi ce fichu ID du personnage ? *se tape la tête contre le mur*
Edit_2: Ahem, comment dire ... je me suis gouré en recopiant à la main et j'ai mis un setflag à la place d'un spécial ? Ce qui explique que ça ne fonctionne pas ... N'empêche, je trouve plus simple ton code myst, y a moins de commande dont on se demande d'où elle sorte ... (car les 2 setflags suivis du special dans le code de sainior j'y comprends qué pouic, il les explique pas ...) ; (donc mes interrogations tiennent toujorus ... )« Modifié: 16 juin 2013, 19:54 par Mewtwo2207 »
J'ai jamais aimé le wildbattle du tuto, il est prise de tête pour pas grand chose. Celui que je te passe est mieux.Code: [Sélectionner]'---------------
#org 0xE3D28A
lock
faceplayer
msgbox 0x8E3D2B6 MSG_SIGN '"Un Kirlia sauvage apparaît !"
cry 0x189 0x0
pause 0x28 'pas obligatoire du tout
wildbattle 0x189 0x8 0x0
hidesprite LASTTALKED
fadescreen 0x1
fadescreen 0x0
setflag 0xl'id de ton poké a régler sur a map
release
end
'---------
' Strings
'---------
#org 0xE3D2B6
= Un Kirlia sauvage apparaît !
Si t'as une question sur une commande, vas'y.
Donc, tout le combat est dans wildbattle. Cela ne se poursuit pas tant que le combat est pas fini. hidesprite LASTTALKED, on supprime le dernier sprite auquel on a parlé. Mais je ne comprends pas fadescreen , ni setflag , on choisit l'ID qu'on veut ? (yé comprend rien, enfin si, mais pas la fin !)
Le seul problème de ton code, c'est que pour le scripteur fainéant, on doit écrire une partie strings ! (je déconne hein, c'est super sympa de ta part ! )
Edit : et ça représente quoi ce fichu ID du personnage ? *se tape la tête contre le mur*
Edit_2: Ahem, comment dire ... je me suis gouré en recopiant à la main et j'ai mis un setflag à la place d'un spécial ? Ce qui explique que ça ne fonctionne pas ... N'empêche, je trouve plus simple ton code myst, y a moins de commande dont on se demande d'où elle sorte ... (car les 2 setflags suivis du special dans le code de sainior j'y comprends qué pouic, il les explique pas ...) ; (donc mes interrogations tiennent toujorus ... )
hremeraude
- Membre
- 11384 posts
16 juin 2013, 19:56
Dans advance map en dessous de l'offset t'as ID de personnage si tu met 0550 à l'ID et bah tu met setflagx0550
Mewtwo2207
- Membre
- 28 posts
16 juin 2013, 19:57
Mais tu choisis celui que tu veux ?
Et quoi correspond l'ID ?
Et quoi correspond l'ID ?
hremeraude
- Membre
- 11384 posts
16 juin 2013, 19:58
Oui tu met ce que tu veux mais perso je met entre 200 et 700 x)
Myst
- Membre
- 1870 posts
16 juin 2013, 20:03
entre 200 et 2FF c'est des flags libres.
Mewtwo2207
- Membre
- 28 posts
16 juin 2013, 20:23
Merci !
Et fadescreen qu'est-ce que cela fait ?
Et comment savoir quelle ID mettre à un personnage ?
« Modifié: 16 juin 2013, 20:24 par Mewtwo2207 »
Et fadescreen qu'est-ce que cela fait ?
Et comment savoir quelle ID mettre à un personnage ?
Myst
- Membre
- 1870 posts
16 juin 2013, 20:28
Fadescreen, ca actualise l’écran avec un écran noir pour la transition.
L'id tu choisis dans l’intervalle 200-2FF mais ne choisis jamais 2 fois le même.
L'id tu choisis dans l’intervalle 200-2FF mais ne choisis jamais 2 fois le même.
Baitot
- Membre
- 491 posts
16 juin 2013, 20:31
Ça sert à faire un écran fondu (Noir/Normal ; Normal/Noir ; Blanc/Normal ; Normal/Blanc) :
0x3 fait fondre l'écran au normal jusqu'à un écran blanc.
0x2 fait l'inverse de 0x3
0x1 fait fondre l'écran au normal jusqu'à un écran noir.
0x0 fait l'inverse de 0x1
0x3 fait fondre l'écran au normal jusqu'à un écran blanc.
0x2 fait l'inverse de 0x3
0x1 fait fondre l'écran au normal jusqu'à un écran noir.
0x0 fait l'inverse de 0x1