[Tuto][GBA] Apprendre à Scripter en static.

Pages: 1 [2] 3 4 5 6

-S@M-

  • Membre
  • 5367 posts
17 août 2010, 13:01
C'est possible de faire un echangepokemon ? Comme dans RBJ, un Electrode contre un Raichu par ex :)

oui c'est possible:

Code: (Script d'echangepokémon) [Sélectionner]
'---------------
#org 0x16F62A
lock
faceplayer
setvar 0x8008 0x0
call 0x81A76D6
checkflag 0x248
if 0x1 goto 0x816F69C
msgbox 0x81A446A MSG_YESNO '"Je cherche un [buffer1].\pTu veux ..."
compare LASTRESULT 0x0
if 0x1 goto 0x816F684
call 0x81A76E6
compare 0x8004 0x6
if 0x4 goto 0x816F684
call 0x81A76F2
comparevars LASTRESULT 0x8009
if 0x5 goto 0x816F68E
call 0x81A7702
msgbox 0x81A44C2 MSG_KEEPOPEN '"Merciiii!"
setflag 0x248
release
end

'---------------
#org 0x1A76D6
copyvar 0x8004 0x8008
special2 LASTRESULT 0xFC
copyvar 0x8009 LASTRESULT
return

'---------------
#org 0x16F69C
msgbox 0x81A44CC MSG_KEEPOPEN '"Il est cool mon [buffer2], hein?"
release
end

'---------------
#org 0x16F684
msgbox 0x81A449D MSG_KEEPOPEN '"Bon[.]\nTant pis[.]"
release
end

'---------------
#org 0x1A76E6
special 0x9F
waitstate
lock
faceplayer
copyvar 0x800A 0x8004
return

'---------------
#org 0x1A76F2
copyvar 0x8005 0x800A
special2 LASTRESULT 0xFF
copyvar 0x800B LASTRESULT
return

'---------------
#org 0x16F68E
bufferpokemon 0x0 0x8009
msgbox 0x81A44AC MSG_KEEPOPEN '"Mais c'est pas un [buffer1]!"
release
end

'---------------
#org 0x1A7702
copyvar 0x8004 0x8008
copyvar 0x8005 0x800A
special 0xFD
special 0xFE
waitstate
lock
faceplayer
return


'---------
' Strings
'---------
#org 0x1A446A
= Je cherche un [buffer1].\pTu veux l'échanger\ncontre un [buffer2]?

#org 0x1A44C2
= Merciiii!

#org 0x1A44CC
= Il est cool mon [buffer2], hein?

#org 0x1A449D
= Bon[.]\nTant pis[.]

#org 0x1A44AC
= Mais c'est pas un [buffer1]!

EDIT T@gekiss: Met les script dans une balise code, la prochaine fois, de façon a ce que ça ne rentre pas en coalition avec le texte. :boogyfr:
« Modifié: 17 août 2010, 15:00 par T@gekiss »

Retrosasu

  • Membre
  • 27186 posts
17 août 2010, 13:01
Merci, mais tu devrais mettre ça dans les balises code, ça rendrait mieux =)

Sainior

  • Membre
  • 6362 posts
17 août 2010, 18:38
Ah ben merci, ça m'évitera du travail  :baffan:

-S@M-

  • Membre
  • 5367 posts
17 août 2010, 18:49
par contre les buffer je sais pas d'ou ca vient... ce sont des variables?

Sainior

  • Membre
  • 6362 posts
17 août 2010, 19:02
Dans les messages ? C'est le nom du héros ([buffer1]), d'un Pokémon,..

-S@M-

  • Membre
  • 5367 posts
17 août 2010, 19:03
je sais mais comment on change le contenu des buffers, ca je sais pas

Sainior

  • Membre
  • 6362 posts
17 août 2010, 19:04
Personellement, je me casse pas la tête, j'en met pas :/

-S@M-

  • Membre
  • 5367 posts
17 août 2010, 19:07
pour créer des échange ce serait cool...

Max

  • Membre
  • 12928 posts
20 août 2010, 21:05
excellent, tout y est
Bravo a toi

roucou20

  • Membre
  • 373 posts
24 août 2010, 00:32
très bon tuto ,trés complet en plus je trouve.

-S@M-

  • Membre
  • 5367 posts
27 août 2010, 10:57
ok. pour mettre un pokémon en cache, c'est bufferpokemon iNumeroDuBuffer-1 iNumeroDuPoke

si vous avez besoin d'aide pour un script, je suis là ;)

Light-Angel

  • Membre
  • 1610 posts
30 août 2010, 09:04
C'est bien d'apprendre à créer un message mais le personnage une fois obtenu n'a pas d'offset
et donc je lui en assigne 1 de libre et j'ouvre le script je fais le message et pour le 2è offset je vais dans FSE je fais:rechercher après.
Ensuite je copie celui qui apparaît je le met avant: MSG-.... et après:0x(2è offset collé ici sans espace avec le x) je compile le tout je vais dans advance map; je réouvre le script et ça me donne ça:

'---------------
#org 0xE41279
buffertrainerclass 0xDB 0x100
copyvarifnotzero 0x0 0x10
loadbytefrompointer 0x0 0x110203
nop
nop
nop
nop
comparebanktofarbyte 0xC1 0x2D8081D
nop
nop
end
« Modifié: 30 août 2010, 09:07 par giratino »

Sainior

  • Membre
  • 6362 posts
30 août 2010, 11:34
Normal. Dans FSF, tu as pris de petits offset, qui sont quasi-identiques en plus. Donc, dans bytes, au lieu de 64, tu met au moins 500. Puis, dans intervalle de recherche, tu met 16. Tu cherche deux offset, tu les mets, et ça marche.

Light-Angel

  • Membre
  • 1610 posts
30 août 2010, 12:00
Non ça me refait pareil :baffan:

-S@M-

  • Membre
  • 5367 posts
30 août 2010, 13:17
mais putain utilise des offsets dynamiques!

Sainior

  • Membre
  • 6362 posts
30 août 2010, 13:33
Non ça me refait pareil :baffan:

Alors, reprend d'autres offsets, ou aggrandi encore (1000, 2000, 2500,...), jusqu'à ce que ça marche...

Light-Angel

  • Membre
  • 1610 posts
30 août 2010, 15:10
J'ai mis 2000 (bytes ont eu besoin)
Et une fois le perso placé qui regarde aux alentours
Je lui colle l'offset 1er de FSF.
J'ouvre le script ça me marque ça est-ce normal?
'---------------
#org 0x7105B8
nop1
addvar 0x0 0x3
gotostdif 0x0 0x3
end



Non c'est bon j'ai trouvé la source de mon problème et c'est réglé
FSF me sortait des offset mais en dessous du 1er et moi j'ai cru qu'ils étaient aux dessus
donc je copiait le même à chaque fois :fail: :fail: :fail:
Excusez moi  :education:
Maintenant j'attaque l'autre script; celui des warps.


Edit boogyfr : Double-post corrigé.
« Modifié: 30 août 2010, 21:32 par Boogyfr »

Sainior

  • Membre
  • 6362 posts
31 août 2010, 15:43
Edit du 31/08/2010 : Nouveau script + ajout des mouvements Emeraude.

Light-Angel

  • Membre
  • 1610 posts
31 août 2010, 15:51
Merci :winner:.

Super simple et super utile

PS: j'ai remarqué que dans le advance map que j'ai le warp s'affichent et je dois juste mettre le bank et le numéro de la carte ou je veux aller c'est trop cool
« Modifié: 31 août 2010, 21:36 par giratino »

Sainior

  • Membre
  • 6362 posts
31 août 2010, 21:50
Nan, mais c'est normal --' Ce que j'ai mis dans ce tuto, c'est pour la suite d'un script, quand tu ne contrôles pas ton personnage. Un warp (pas le script), c'est utilisable seulement quand tu contrôles le personnage.

Light-Angel

  • Membre
  • 1610 posts
31 août 2010, 22:10
Ah ok :fail: parce c'est ça que j'ai compris dans l'approche et ton message non plus je ne comprend pas

Sainior

  • Membre
  • 6362 posts
31 août 2010, 22:36
Warp dans un script : On l'utilise et on le place dans un script (les petits verts). Il permet de "téléporter" le personnage où on le souhaite. On n'utilise pas de warp "normal", parce que le personnage, durant l'exécution d'un script ne peut être contrôlé, donc, il ne peut pas marcher sur le warp "normal".

Warp "normal" (les petits violets): Lorsqu'on marche dessus on est téléporté à une autre map (sans blague). Il ne s'active que lorsqu'on marche dessus, donc quand on contrôle le personnage.

Capiche ?

Light-Angel

  • Membre
  • 1610 posts
01 septembre 2010, 09:59
Yes sir  :castor: Je vois donc comme dans le passage du prof chen qui te ramène dans son labo au début? là on ne contrôle pas le perso.

C'est ça?

Sainior

  • Membre
  • 6362 posts

zugoent

  • Membre
  • 76 posts
01 septembre 2010, 10:07

Zugoent : on ne peut pas choisir le genre du Pokémon. Il est possible qu'ils soient shiney, pour cela, il faut utiliser Shinyzer (logiciel), et insérer un script spécial dans le Wildbattle ou le GivePokémon (je l'ai pas en tête, je te tiendrai au courant :))


dsl de ma réponse tardive. J'ai deja utiliser shinyzer mais niveau scriptouille je suis une vrai brèle donc si tu trouve sa m'arrange  :you:

Sainior

  • Membre
  • 6362 posts
01 septembre 2010, 10:09
Tiens, en attendant : :you:

Clique sur le you.

Light-Angel

  • Membre
  • 1610 posts
04 septembre 2010, 19:44
Tiens j'ai le script clean d'un mart

Sans offset
'---------------
#org 0x
special 0x187
compare LASTRESULT 0x2
if 0x1 goto 0x8
lock
faceplayer
preparemsg 0x8 '"Bonjour!\nJe peux vous aider?"
waitmsg
pokemart 0x8
msgbox 0x8 MSG_KEEPOPEN '"A la prochaine!"
release
end

'---------------
#org 0x
release
end


'---------
' Strings
'---------
#org 0x
= Bonjour!\nJe peux vous aider?

#org 0x
= A la prochaine!


'-----------
' MartItems
'-----------
#org 0x
#raw word 0x
#raw word 0x
#raw word 0x
#raw word 0x
#raw word 0x
#raw word 0x
#raw word 0x
#raw word 0x
#raw word 0x

Enfin si c'est ça (après les offsets je ne sait pas)

Avec offsets
'---------------
#org 0x16A708
special 0x187
compare LASTRESULT 0x2
if 0x1 goto 0x81A6509
lock
faceplayer
preparemsg 0x81A4D3B '"Bonjour!\nJe peux vous aider?"
waitmsg
pokemart 0x816A730
msgbox 0x81A3D02 MSG_KEEPOPEN '"A la prochaine!"
release
end

'---------------
#org 0x1A6509
release
end


'---------
' Strings
'---------
#org 0x1A4D3B
= Bonjour!\nJe peux vous aider?

#org 0x1A3D02
= A la prochaine!


'-----------
' MartItems
'-----------
#org 0x16A730
#raw word 0x4
#raw word 0xD
#raw word 0xE
#raw word 0x12
#raw word 0x11
#raw word 0xF
#raw word 0x55
#raw word 0x56
#raw word 0x0

En esperant que ce soit utile  :golden:

Sainior

  • Membre
  • 6362 posts
04 septembre 2010, 20:10
Ah ben tiens, merci, ça m'évitera de tout monter de toute pièce  :haulas:

zugoent

  • Membre
  • 76 posts
04 septembre 2010, 20:22
Tiens, en attendant : :you:

Clique sur le you.

J'y avait deja été et marlheuresement je sais pas si c'est moi mais je n'ai pas réussi :/ je dois être un boulet  :you: :you: :you:

Sainior

  • Membre
  • 6362 posts
04 septembre 2010, 20:23
T'avais pas réussi quoi exactement ?

Pages: 1 [2] 3 4 5 6    En haut ↑