Sujet n°3647
Posté par Ze Rayquaza le 28 Avr - 16:59 (2009)
Titre : [Tuto] Changement de forme
Voici un tuto qui permet de faire en sorte que les pokémons puissent changer de forme (SHAYMIN, GIRATINA...)
Je vais le faire sur un cas concret : GIRATINA
Toutes les modifications à faire sont sur le script Pokemon_Custom.

1ère Etape : Graphisme.

Il faut les graphismes de la nouvelle forme. Il FAUT les nommer XXX_xx (XXX = ID du pokemon et xx = numero de la forme.)

2ème Etape : Script

Giratina change de forme si il tient l'orbe Platine, il faut ajouter derrière :
 
Spoiler
# -----------------------------------------------------------------
#  Objet tenu, changement de forme
# -----------------------------------------------------------------
    def item_hold=(item_id)
      @item_hold = item_id
      if name == "DEOXYS"
        @form = 5 if item_id == 1
        @form = 0 if item_id != 1
      end
Ceci :
     if name == "GIRATINA"
        @form = 0 # Forme "Normale"
        @form = 1 if item_id == 344 # Forme origine, ID objet Orbe Platine
         statistic_refresh
      end

@form est le numéro de la forme et item_id l'id de l'objet orbe platine

 le statistic_refresh sert à regénérer les stat du pokémon, nous verrons cela plus tard
Il faut ensuite ajouter tout de suite derrière :
Spoiler
# --------------------------------------------------------------------
# Changement de Type
# --------------------------------------------------------------------
def type1
if name =="GIRATINA"
        return 14 if @form == 0
        return 14 if @form == 1
      else
        @type1
      end
    end
def type2
if name == "GIRATINA"
        return 15 if @form == 0
        return 15 if @form == 1
      else
        @type1
      end
    end

Mais, allez vous me dire, GIRATINA ne change pas de type ! C'est vrai, mais si l'on n'ajoute pas ces lignes de codes, il peut se retrouver de type SPECTRE SPECTRE

au lieu de SPECTRE DRAGON
 Ensuite, le changement de stat : GIRATINA change de stats de base quand il change de forme : son attaque passe de 100 à 120 et inversement.
il faut donc ajouté entre le changement de DEOXYS des lignes de codes comme ceci :

Spoiler
alias temp_base_atk base_atk
    def base_atk
     if name == "DEOXYS"
      return 180 if @form == 1
      return 70 if @form == 2
      return 95 if @form == 4
    end
    if name == "GIRATINA"
         return 100 if form == 0
         return 120 if form == 1
    end
       temp_base_atk
   end
   
    alias temp_base_dfe base_dfe
    def base_dfe
      if name == "DEOXYS"
        return 20 if form == 1
        return 160 if form == 2
        return 90 if form == 4
      end
      if name == "GIRATINA"
         return 120 if form == 0
         return 100 if form == 1
      end     
      temp_base_dfe
    end
   
    alias temp_base_spd base_spd
    def base_spd
      if name == "DEOXYS"
        return 150 if form == 1
        return 90 if form == 2
        return 180 if form == 4
      end
      temp_base_spd
    end
   
    alias temp_base_ats base_ats
    def base_ats
      if name == "DEOXYS"
        return 180 if form == 1
        return 70 if form == 2
        return 95 if form == 4
      end
      if name == "GIRATINA"
         return 100 if form == 0
         return 120 if form == 1
      end
      temp_base_ats
    end
   
    alias temp_base_dfs base_dfs
    def base_dfs
      if name == "DEOXYS"
        return 20 if form == 1
        return 160 if form == 2
        return 90 if form == 4
      end
      temp_base_dfs
    end

Maitenant, vous creez un objet orbe platine, et, quand vous le donnez à giratina, il change de forme et de Stats

Si vous avez des questions n'hésitez pas.

Posté par PiVa le 28 Avr - 17:49 (2009)
Balise code et spoiler !

C'est pas mal dit donc ! Je verrais si j'inclus =)

Posté par bibiantonio le 17 Mai - 10:23 (2009)
ça va beaucoup me servir ^^ merci =)

Posté par Pαlвσlѕку le 17 Mai - 11:00 (2009)
Attention !
Le changement de stat ne s'applique pas dans les combats !

Sinon, je pense que ça va me servir.

Posté par Denis Bros le 20 Mai - 09:50 (2009)
Ze Rayquaza tu as oublier la defence spécial de la form de giratina

voici ce que tu as oublier corrige le

Code:
      if name == "GIRATINA"
        return 120 if form == 0
        return 100 if form == 20
      end

Posté par Ze Rayquaza le 27 Mai - 19:31 (2009)
Pablosky >> Qu'entend-tu par :
Citation:
Le changement de stat ne s'applique pas dans les combats

Denis Bros >> Ah bon? Erreur d'étourderie sans doute. Merci pour la remarque !



Posté par Denis Bros le 1 Juin - 12:27 (2009)
bon c'est vrai que je n'est pas tester donc je ne pouvai pas le savoir mais on ma prevenu et en y repancent c'est vrai que l'orsque j'ai changer la forme de shaymin les state n'on pas changer c'est pour sa que j'ai eu un doute.

Posté par Pαlвσlѕку le 1 Juin - 19:43 (2009)
Ce ne sont sans doute pas les même variables qui sont utilisées dans les combats et en dehors. Krosk, tu l'as programmé comment ce système ?

Posté par Miatshan le 24 Juil - 15:39 (2009)
je sais pas pourquoi sa marche paz

Posté par Sphinx le 24 Juil - 16:27 (2009)
sois plus précis ^^' qu'est-ce qui ne marche pas ?

Posté par Miatshan le 25 Juil - 21:05 (2009)
je donne l oorbe et rien ne se passe

Posté par Sphinx le 26 Juil - 08:58 (2009)
l'orbe ? ca aurait du faire quelque chose :? Va falloir que tu sois BEAUCOUP plus précis... Les seules orbes que je connaisse, ce sont les orbes rouge et bleue de RSE, et leur seul effet c'est de faire apparaitre les légendaires... Bref, rien à voir avec le sujet donc.

Posté par Miatshan le 26 Juil - 10:49 (2009)
l orbe platiné je donne a giratina et il ne change pas de forme

Posté par Denis Bros le 7 Aoû - 07:02 (2009)
sphinx tu l'as mis ou la pris en charge des forme des type et des stat

Posté par Sphinx le 7 Aoû - 07:29 (2009)
=) ici : ./4683-[Script]-Méthode-set_types.htm

Posté par maror le 9 Juin - 15:52 (2010)
ça marche pas : sa me met "POKEMON_CUSTOM ? 358 SYNTAXE error" enfin un truc comme ça

Posté par Aurel190 le 8 Déc - 15:02 (2011)
J'ai un probleme : je ne vois absolument pas de différence quand Giratina porte l'objet ou quand il ne le porte pas...

Posté par Mercury le 19 Jan - 07:35 (2014)
Aurel190 a écrit:
J'ai un probleme : je ne vois absolument pas de différence quand Giratina porte l'objet ou quand il ne le porte pas...


Moi aussi je ne voit pas la différence entre celui avec l'objet et celui sans

Posté par Redder le 25 Jan - 11:56 (2014)
Tu sais ce que c'est le nécropost?
Et bah t'en a fait un bien beau.

Posté par Arceus2003 le 9 Mar - 18:49 (2014)
Moi il y a quelque chose que je trouve bizarre:
par exemple dans PSP4G+ il y a des battlers de pikachu spéciaux mais si on fait cette technique,
on aura notre pikachu spéciale mais si l'adversaire en a un il sera de la même forme ou je me trompe ?
Merci d'avance !

Posté par Schneitizel le 9 Mar - 21:19 (2014)
Arceus2003 a écrit:
Moi il y a quelque chose que je trouve bizarre:
par exemple dans PSP4G+ il y a des battlers de pikachu spéciaux mais si on fait cette technique,
on aura notre pikachu spéciale mais si l'adversaire en a un il sera de la même forme ou je me trompe ?
Merci d'avance !


Je vois pas pourquoi, sauf si tu donne le meme pikachu spécial a l'adversaire