Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

Partagez
 

 [XP] Pourvoir mettre jusqu'à 9 choix dans un message.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
catskart
Chevalier (niveau 1)
Chevalier (niveau 1)
catskart

Messages postés : 79
Date d'inscription : 03/11/2013
Jauge LPC :
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 891527140044 / 10044 / 100[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 8915271400


[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Empty
MessageSujet: [XP] Pourvoir mettre jusqu'à 9 choix dans un message.   [XP] Pourvoir mettre jusqu'à 9 choix dans un message. EmptyDim 23 Nov 2014 - 23:09

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 :
Code:

$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é (X).
$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" :

Code:
#==============================================================================
# ** 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, tout les évents s’arrêtent le temps que vous choisissiez.
- On ne peux pas modifier les couleurs dans les choix.
Revenir en haut Aller en bas
Jin
Ancien staffeux
Ancien staffeux
Jin

Masculin
Messages postés : 8557
Date d'inscription : 08/12/2010
Jauge LPC :
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 891527140069 / 10069 / 100[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 8915271400

G 1 petit zizi Very Happy
Nn C pa vré Sad
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Membre15
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Partag10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Travai10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Event-10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Altrui10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Riche_10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Couhil10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Nain_p11
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Connar10


[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Empty
MessageSujet: Re: [XP] Pourvoir mettre jusqu'à 9 choix dans un message.   [XP] Pourvoir mettre jusqu'à 9 choix dans un message. EmptyDim 23 Nov 2014 - 23:19

Pourquoi se limiter à 9 choix ?
Pourquoi pas créer un array avec un boucle for qui liste tout les choix ?
Si c'est un soucis d'affichage, il suffit de faire un scroll.

Sinon c'est cool d'avoir plus de 4 choix. Même si 9 choix ca fait déjà beaucoup x)

Aller te voilà avec 5pts lpdm en plus
Revenir en haut Aller en bas
Zexion
Administrateur
Administrateur
Zexion

Masculin
Messages postés : 6228
Date d'inscription : 04/01/2012
Jauge LPC :
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 891527140097 / 10097 / 100[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 8915271400

[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Membre15
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Event-10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Altrui10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Action10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Travai10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Collec10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Collec11
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Collec12
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Staffe11
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Dessin10


[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Empty
MessageSujet: Re: [XP] Pourvoir mettre jusqu'à 9 choix dans un message.   [XP] Pourvoir mettre jusqu'à 9 choix dans un message. EmptyLun 24 Nov 2014 - 0:13

Merci pour le partage, ce genre de script est toujours utile. Smile
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 891527140080 / 10080 / 100[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 8915271400

[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Altrui10
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Script10


[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Empty
MessageSujet: Re: [XP] Pourvoir mettre jusqu'à 9 choix dans un message.   [XP] Pourvoir mettre jusqu'à 9 choix dans un message. EmptyLun 24 Nov 2014 - 0:53

Ce script est super mal fichu...
Des globales ($var) de partout, et un lancement de scene pour afficher une fenêtre de choix ?!
On sort de la map ?!
En jeu, ça donne une fenêtre qui s'affiche et qui freeze toute la map... ce que les messages et les choix de rm ne font pas !
Tout

En plus, il manque des trucs ici, donc le script renverra une erreur :
Code:
elsif ($Nombredechoix ==
(J'ai rajouté le 8 et la parenthèse).

EDIT : Désolé, c'est le forum qui considère "8 )" comme un smiley même dans le code ! C'est donc la faute à Forumactif !

En gros, c'est buggé, mal fait, mal pensé et complètement à jeter, vu que d'autres scripts existent qui utilisent les choix de rm ou en tout cas des trucs mieux faits. -_-

Désolé d'être aussi cinglant mais c'est plus un exercice de débutant (ce qui n'est pas en soi un défaut, on commence tous par là) qu'un script à utiliser, encore moins à partager.

Et je ne parle même pas de la mise en forme et de l'utilisation de clochard (le clochard étant l'utilisateur, pas l'auteur).

Il faut que tu pratiques encore avant de t'attaquer au système de message de RPG Maker XP. C'est un système labyrinthique et mal fichu à la base, mais ta solution n'aide pas.
Revenir en haut Aller en bas
http://saleth.fr
Clémengrenage
Chevalier (niveau 4)
Chevalier (niveau 4)
Clémengrenage

Masculin
Messages postés : 122
Date d'inscription : 06/08/2013
Jauge LPC :
[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 891527140025 / 10025 / 100[XP] Pourvoir mettre jusqu'à 9 choix dans un message. 8915271400


[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Empty
MessageSujet: Re: [XP] Pourvoir mettre jusqu'à 9 choix dans un message.   [XP] Pourvoir mettre jusqu'à 9 choix dans un message. EmptyJeu 4 Déc 2014 - 12:34

C'est vrai qu'il faudrait mieux mettre une variable dans le script permettant de modifier plus facilement le nombre de choix.
C'est vrai que 4 choix peuvent suffire.
Ce qui serait donc peut être mieux au final, c'est qu'il faudrait faire un script permettant d'agrandir le nombre de caractère que l'on peut mettre dans chaque choix (Car les choix peuvent aussi être une très grande phrase), et je pense que ça serait basique pour un débutant ! Wink
Revenir en haut Aller en bas
https://www.facebook.com/Clément Dubet
Contenu sponsorisé




[XP] Pourvoir mettre jusqu'à 9 choix dans un message. Empty
MessageSujet: Re: [XP] Pourvoir mettre jusqu'à 9 choix dans un message.   [XP] Pourvoir mettre jusqu'à 9 choix dans un message. Empty

Revenir en haut Aller en bas
 
[XP] Pourvoir mettre jusqu'à 9 choix dans un message.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Choix dans un ordre
» Mettre le temps dans votre jeux
» [XP]icones pour le choix d'action dans un combat.
» [VX-ACE]Code dans les Message.
» mettre un temp a un objet

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker XP :: Système-
Sauter vers: