Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

261 connectés actuellement

29184202 visiteurs
depuis l'ouverture

4467 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Le Comptoir Du clickeur

ConsoleFun

Eclipso

Hellsoft

Tous nos partenaires

Devenir
partenaire



Jusqu'à 9 choix dans un message

Dépasse la limite des 4 choix dans les messages du système par défaut.

Script pour RPG Maker XP
Ecrit par catskart (Erwill)
Publié par Erwill (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Salut.
Vous savez, RPG Maker XP limite les choix dans les messages, jusqu'à 4 choix.
Mon script servira a repousser cette limite à 9 choix, ne l'utilisez seulement si vos choix dépasse les 4.

Comment ça marche ?

Dans votre évènement, après le dialogue ou quelque chose, vous créez une commande "Insérer un script..." et vous allez mettre ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
$Nombredechoix = X
$Choix1 = "Choix 1"
$Choix2 = "Choix 2"
$Choix3 = "Choix 3"
$Choix4 = "Choix 4"
$Choix5 = "Choix 5"
$Choix6 = "Choix 6"
$Choix7 = "Choix 7"
$Choix8 = "Choix 8"
$Choix9 = "Choix 9"
$Annulation = true/false
$Affichageargent = true/false
$scene = Scene_9.new



$Nombredechoix = X : Il permet de mettre le Nombre de choix disponible.
(Minimum 4 et Maximum 9)
$ChoixX = Y : Il permet de mettre un mot ou une phrase (Y) dans le choix conserné (image.
$Annulation : -True : on autorise le joueur à annuler. -False : on interdit le joueur à annuler.
$Affichageargent : -True : on affiche l'argent qu'on a. -False : on affiche pas l'argent qu'on a.

/!\ Rajoutez bien "Attendre 1 frame" après le script dans l'évent pour éviter d'avoir des bugs.

Une fois le choix sélectionné, il sera stocké dans une variable, 0 pour l'annulation, 1 pour le 1er choix, 2 pour le 2ème choix, etc...
Dans le script ci-dessous vous pouvez paramétrer dans quel variable le choix sera enregistré.

il ne reste plus qu'à mettre les commandes d'évent "Si la varable "Choix enregistré" est égale à = X"

Voilà Voilà, maintenant le script (à nommer "Scene 9" :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#==============================================================================
# ** Scene_9 -- Par Catskart
#------------------------------------------------------------------------------
#  Ce script permet de repousser la limite de choix de rpg maker jusqu'à 9
#  Choix, à utiliser uniquement lorsque vous voulez mettre plus de 4 choix
#==============================================================================
 
# Le numéro correspond à la Variable qui va stocker votre choix.
 
Enregistrementduchoix = 1
 
class Scene_9
  def main
    @character = RPG::Sprite.new
    @sprite = Spriteset_Map.new
    s1 = $Choix1
    s2 = $Choix2
    s3 = $Choix3
    s4 = $Choix4
    s5 = $Choix5
    s6 = $Choix6
    s7 = $Choix7
    s8 = $Choix8
    s9 = $Choix9
    if ($Nombredechoix >= 9)
    @command_window = Window_Command.new(192, [s1, s2, s3, s4, s5, s6, s7, s8, s9])
    elsif ($Nombredechoix == 
    @command_window = Window_Command.new(192, [s1, s2, s3, s4, s5, s6, s7, s8])
    elsif ($Nombredechoix == 7)
    @command_window = Window_Command.new(192, [s1, s2, s3, s4, s5, s6, s7])
    elsif ($Nombredechoix == 6)
    @command_window = Window_Command.new(192, [s1, s2, s3, s4, s5, s6])
    elsif ($Nombredechoix == 5)
    @command_window = Window_Command.new(192, [s1, s2, s3, s4, s5])
    elsif ($Nombredechoix <= 4)
    @command_window = Window_Command.new(192, [s1, s2, s3, s4])
    end
    @command_window.x = 80
    
    # Pour que se soit Calibrer avec l'emplacement du message.
    
    case $game_system.message_position
      when 0  # up
    @command_window.y = 16
      when 1  # middle
    @command_window.y = 160
      when 2  # down
    @command_window.y = 304
      end
    @command_window.width = 480
    @command_window.height = 160
    
    # Si le message est transparent.
    
      if $game_system.message_frame == 0
      @command_window.opacity = 160
    else
      @command_window.opacity = 0
    end
    @command_window.z = 9998
    if ($Affichageargent == true)
    @gold_window = Window_Gold.new
    @gold_window.x = 400
      case $game_system.message_position
      when 0  # up
    @gold_window.y = 384
      when 1  # middle
    @gold_window.y = 32
      when 2  # down
    @gold_window.y = 32
  end
  
    # Si le message est transparent.
    
        if $game_system.message_frame == 0
    @gold_window.opacity = 160
    else
    @gold_window.opacity = 0
    end
      end
    Graphics.transition(3)
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @sprite.dispose 
    @character.dispose
      if ($Affichageargent == true)
    @gold_window.dispose
    end
    end
  #C * Frame Update
  def update
    #A Update command window
      @character.update
      @sprite.update 
        if ($Affichageargent == true)
      @gold_window.update
      end
      @command_window.update
    #T If B button was pressed
    if Input.trigger?(Input::B)
      if ($Annulation == true)
      #S Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      #K Switch to menu screen
      $game_variables[Enregistrementduchoix] = 0
      $scene = Scene_Map.new
    else
      end
      return
    end
    #A If C button was pressed
    if Input.trigger?(Input::C)
      #RT Branch by command window cursor position
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 1
        $scene = Scene_Map.new
      when 1
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 2
        $scene = Scene_Map.new
      when 2
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 3
        $scene = Scene_Map.new
      when 3
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 4
        $scene = Scene_Map.new
      when 4
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 5
        $scene = Scene_Map.new
      when 5
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 6
        $scene = Scene_Map.new
      when 6
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 7
        $scene = Scene_Map.new
      when 7
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 8
        $scene = Scene_Map.new
      when 8
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = 9
        $scene = Scene_Map.new
      end
      return
    end
  end
end




Petites astuces :

- Si vous voulez mettre le nom d'un héro dans un choix, il suffis de mettre : $game_actors[ID].name
(ID correspondant au numéro du héro.)
- N'utilisez ce script seulement si vous avez besoin d'afficher 5 choix ou plus, si dans le choix il y en a 4 ou moins, utiliser le système traditionnel.

Inconvénient :

- Lorsque vous enclenchez les 8 choix, tous les events s’arrêtent le temps que vous choisissiez.
- On ne peut pas modifier les couleurs dans les choix.




kanatos - posté le 06/08/2015 à 15:26:06 (293 messages postés)

❤ 0

cute rabbit

Merci, ça va m'être vachement utile :)


Roi of the Suisse - posté le 18/04/2023 à 16:25:31 (29764 messages postés) - honor -

❤ 0

Alerte neige !

Pourquoi il y a un gros case/when à la fin ? Il ne suffirait pas d'écrire ?:

Portion de code : Tout sélectionner

1
2
3
        $game_system.se_play($data_system.decision_se)
        $game_variables[Enregistrementduchoix] = @command_window.index + 1
        $scene = Scene_Map.new


:pense

L'essentialisme c'est quand ta voiture a un moteur essence. | Es-tu une star ? | Kujira no Hara | Polaris 03 | Planète Glutko

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers