AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez
 

 Sauter des lignes dans un script de quête [Résolu]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
niicoslash
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
niicoslash


Masculin Age : 26
Inscrit le : 05/10/2010
Messages : 72

Sauter des lignes dans un script de quête [Résolu] Empty
MessageSujet: Sauter des lignes dans un script de quête [Résolu]   Sauter des lignes dans un script de quête [Résolu] Icon_minitimeDim 13 Nov 2011 - 15:42

Bonsoir, je voudrais sauter des ligne pour pouvoir mettre une sorte de Tableau "Récompense" avec les récompense en dessous mais je n'ai aucune idée comment sauter des lignes, esy-ce-que vous avez trouvé comment fait-on ?

Voici le script en question :

Code:
# =============================================================================
#                Omegas7's Ultimate Quest System Script.
# =============================================================================
#  Author: Omegas7.
#  Traduction : Shyno19
#  Version: 3.0 (Final).
#  My Site: baseomega.forumer.com
# =============================================================================
#  Cette version finale est livré avec une meilleure mise en page à la recherche,
# Une zone de configuration plus personnalisable, etc ..
# ================================================= ============================
#> Caractéristiques
#> Créer des quêtes facilement dans le script.
#> Une quête travaille avec une variable
#> Tâches illimité pour chaque quête! (Fonction de défilement)
#> Icônes incomplets et complets.
#> Définir le fond et les graphismes HUD pour votre propre style de menu!
#> Vous pouvez utiliser des images pour chaque quête!
#> La description de chaque quête.
# Support> variable! Afficher les valeurs des variables pour les quêtes complexes!
#> Des catégories pour tous, complètes et quêtes INCOMPLET.
#> Ajoute automatiquement "Quête terminée», contrairement aux anciennes versions.
#> Changez la taille des polices.
#> Beaucoup d'options de personnalisation, vérifiez ci-dessous.
# ================================================= ============================
# Instructions:
#
# Merci d'utiliser ce script.
# Tout d'abord, nous allons créer une nouvelle quête pour notre jeux.
# Ci-dessous, dans la région de configurations, vous trouverez les
# [ESPACE CREATION QUEST]. Pour créer votre propre quête, vous devrez
# Besoin d'ajouter un peu de code. Voici le modèle de base:
#
#    QUÊTES[ID] = ['Nom', VAR, IconA, IconB, 'Image']
#    TÂCHES[ID] = ['Fais ceci', 'Et cela »,« Et ce']
#    DESCRIPTION[ID] = ['Ceci est une formidable »,« quête de noobs']
# ID sera votre numéro d'identification de quête.
# Donc si vous avez obtenu 20 quêtes, votre nouvelle quête d'identité sera de 21.
#'Nom'  est ... Le nom de la quete. Assurez-vous qu'il soit entre guillemets exemple "Trop de Slime, tu le Slime".
# "VAR" est l'ID de la variable , qui contrôle cette quête.
# "IconA" est le numéro de l'icône imcomplet.
# "IconB" est le numéro de l'îcone complète.
# "Image"  est le nom de l'image affichée sur le dessus de votre quête. exemple "nomdevotreimage"
# Vous pouvez ne mettre aucune image en ne mettant rien. exemple ""
#
# Les tâches seront le tableau contenant tous les trucs de choses à faire de la
# Quête. Chaque tâche est une chaîne, entre guillemets "".
# Chaque tâche, est séparé par une virgule.
# Vous pouvez avoir des tâches illimitée (la fenêtre va devenir scrollable).
# Vous pouvez mettre \ v [id] pour montrer des variables dans vos tâches!
#
#DESCRIPTION DES TÂCHES . Juste que ce sera la description
# Étant représenté dans le menu principal de la quête.
# Chaque élément est une ligne de texte.
# =============================================================================

module OMEGAS7
  module QUEST
    # =========================================================================
    #  Configuration Options.
    # =========================================================================
   
    # Exit returns to MAP or to MENU?
    EXIT_TO = "MENU"
    # If MENU, then, what slot will it appear on? (Counting from 0)
    MENU_RETURN_SLOT = 7
   
    # Background and HUD graphics, both in system folder.
    BACKGROUND = 'QUEST BG'
    HUD = 'QUEST HUD'
   
    # Tasks prefix and icon spacing (spaces before the quest name for the icon).
    TASKS_PREFIX = "> "
    ICON_SPACING = "    "
   
    # Main menu quests and task lines font sizes:
    QUESTS_FONT_SIZE = 13
    TASKS_FONT_SIZE = 16
   
    # Category Icon Indexes.
    # [All,Completed,Incompleted]
    CATEGORY_ICONS = [353,321,273]
   
    # =========================================================================
    QUESTS = []              # Don't edit.
    TASKS = []                # Don't edit.
    DESCRIPTIONS = []        # Don't edit.
    # =========================================================================
   
    QUESTS[0] = ['  Livré à domicile !.',141,273,321,'']
    TASKS[0] = ['Prendre la caisse.          (\v[149])','Rapporte la caisse à Joe.                            (\v[150])',
    'Retourner voir le capitaine.',]
    DESCRIPTIONS[0] = ['Livrer la caisse chez Joe, le barman : Récompense: Aucune']
   
    QUESTS[1] = ['  Mais où sont-il ? ',1,273,321,'']
    TASKS[1] = ['Tuer Les 3 Gardes Noires.  (\v[3])','Chercher  l"objet du  capitaine.    (\v[2])','Passez dans le portail !']
    DESCRIPTIONS[1] = ['Le Bokail est attaqué !
    Chercher la capitaine et les marins pour avoir un coup de main !']
  end
end



class Omega_Quest < Scene_Base
  include OMEGAS7::QUEST
  def initialize
    @index = 0
    @mode = 0
    @empty_list = true
    create_background
    create_quest_list
    create_quest_commands
    create_quest_description
    create_category
    create_information
  end
  def create_background
    @background = Sprite_Base.new
    @background.bitmap = Cache.system(BACKGROUND.to_s)
    @background.z = 50
    @hud = Sprite_Base.new
    @hud.bitmap = Cache.system(HUD.to_s)
    @hud.z = 60
  end
  def create_quest_list
    @list = []
    @list[0] = []
    @list[1] = []
    @list[2] = []
    for i in 0...QUESTS.size
      if $game_variables[QUESTS[i][1].to_i].to_i > TASKS[i].size
        @list[0][i] = [QUESTS[i][0].to_s,true,i]
        @list[1][i] = [QUESTS[i][0].to_s,true,i]
      elsif $game_variables[QUESTS[i][1].to_i].to_i > 0
        @list[0][i] = [QUESTS[i][0].to_s,false,i]
        @list[2][i] = [QUESTS[i][0].to_s,false,i]
      end
    end
    @list[0].compact!
    @list[1].compact!
    @list[2].compact!
    @list.compact!
    if @list[0].empty?
      @empty_list = true
    end
  end
  def create_quest_commands
    create_quest_list
    @command_window = Window_Quest_Command.new(250,@list[@mode])
    @command_window.y = 90
    @command_window.x = 12
    @command_window.opacity = 0
    @index = @command_window.index
  end
  def create_quest_description
    @window_description = Window_Base.new(280,80,250,170)
    @window_description.contents.font.size = QUESTS_FONT_SIZE
    @window_description.opacity = 0
    refresh_description
  end
  def refresh_description
    @window_description.contents.clear
    if @list[@mode][@command_window.index][2] != nil
      for i in 0...DESCRIPTIONS[@list[@mode][@command_window.index][2]].size
        txt = DESCRIPTIONS[@list[@mode][@command_window.index][2]][i].to_s
        @window_description.contents.draw_text(0,18*i,260,18,txt.to_s)
      end
    end
  end
  def update
    @command_window.update
    @category.update
    if @mode != @category.index
      @mode = @category.index
      @command_window.dispose
      create_quest_commands
      refresh_description
    end
    if @index != @command_window.index
      @index = @command_window.index
      refresh_description
    end
    if Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] != nil
      @background.dispose
      @hud.dispose
      @command_window.dispose
      @window_description.dispose
      @category.dispose
      @information.dispose
      $scene = Omega_Quest_View.new(@list[@mode][@command_window.index][2])
    elsif Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] == nil
      Sound.play_buzzer
    end
    if Input.trigger?(Input::B)
      finish
    end
  end
  def create_category
    @category = Window_Categories_Command.new(180)
    @category.opacity = 0
    @category.x = -6
    @category.y = 40
  end
  def create_information
    @information = Window_Base.new(544-250,416-120,250,120)
    @information.opacity = 0
    @information.contents.font.size = 16
    if @empty_list == true
      @information.contents.draw_text(0,0,250,24,"Nombre total de quêtes: 0")
    else
      @information.contents.draw_text(0,0,250,24,"Nombre total de quêtes: " + @list[0].size.to_s)
    end
    @information.contents.font.color = Color.new(0,255,0)
    @information.contents.draw_text(0,24,250,24,"Quêtes achevées: " + @list[1].size.to_s)
    @information.contents.font.color = Color.new(255,167,0)
    @information.contents.draw_text(0,48,250,24,"Quêtes inachevées: " + @list[2].size.to_s)
  end
  def finish
    @background.dispose
    @hud.dispose
    @command_window.dispose
    @window_description.dispose
    @category.dispose
    @information.dispose
    case EXIT_TO
    when "MENU"
      $scene = Scene_Menu.new(MENU_RETURN_SLOT)
    when "MAP"
      $scene = Scene_Map.new
    end
  end
end


class Omega_Quest_View < Scene_Base
  include OMEGAS7::QUEST
  def initialize(id)
    @font_size = 16
    @line_height = 18
    @id = id
    @limit_y = 0
    draw_picture if QUESTS[@id][4] != nil
    set_tasks
    create_window
    refresh_window
  end
  def draw_picture
    @picture = Sprite_Base.new
    @picture.bitmap = Cache.system(QUESTS[@id][4].to_s)
    @picture.x = (544/2) - (@picture.width/2)
    @picture.z = 250
  end
  def set_tasks
    @tasks = []
    for i in 0...TASKS[@id].size
      if $game_variables[QUESTS[@id][1]].to_i >= i + 1
        @tasks[i] = TASKS[@id][i].to_s
      end
    end
    if $game_variables[QUESTS[@id][1]].to_i > TASKS[@id].size
      @tasks.push('Quête achevée')
    end
  end
  def create_window
    height = @line_height * @tasks.size + 32
    y = 0
    if @picture != nil
      y += @picture.height
      @limit_y = @picture.height
    end
    @window = Window_Base.new(0,y,544,height)
  end
  def refresh_window
    @window.contents.clear
    @window.contents.font.size = @font_size
    @display = []
    for i in 0...@tasks.size
      @display[i] = @tasks[i].clone
      @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
      @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
      @window.contents.draw_text(0,i * @line_height,500,@line_height,TASKS_PREFIX.to_s + @display[i].to_s)
    end
  end
  def update
    if Input.press?(Input::DOWN) && ((@window.y + @window.height) > 416)
      @window.y -= 3
    elsif Input.press?(Input::UP) && (@window.y < @limit_y)
      @window.y += 3
    end
    if Input.trigger?(Input::B)
      @picture.dispose if @picture != nil
      @window.dispose
      $scene = Omega_Quest.new
    end
  end
end


class Window_Quest_Command < Window_Selectable
  include OMEGAS7::QUEST

  attr_reader  :commands

  def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
    @commands = commands
    @empty = false
    if @commands.empty?
      @commands[0] = ["Pas de quêtes.",false]
      @empty = true
    end 
    if row_max == 0
      row_max = (@commands.size + column_max - 1) / column_max
    end
    super(0, 0, width, row_max * WLH + 32, spacing)
    @item_max = commands.size
    @column_max = column_max
    self.contents.font.size = TASKS_FONT_SIZE
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end

  def draw_item(index, enabled = true)
    spacing = ICON_SPACING.to_s
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    self.contents.clear_rect(rect)
    self.contents.font.color = Color.new(255,0,0)
    self.contents.font.color.alpha = enabled ? 255 : 128
    if @empty == false
      if @commands[index][1] == true
        self.contents.font.color = Color.new(0,255,0)
        draw_icon(QUESTS[@commands[index][2]][3].to_i,rect.x,rect.y)
      else
        self.contents.font.color = Color.new(255,0,0)
        draw_icon(QUESTS[@commands[index][2]][2].to_i,rect.x,rect.y)
      end
    elsif @empty == true
      spacing = ""
    end
    self.contents.draw_text(rect, spacing + @commands[index][0].to_s)
  end
end

class Window_Categories_Command < Window_Selectable
  include OMEGAS7::QUEST

  attr_reader  :commands

  def initialize(width, column_max = 3, row_max = 1, spacing = 32)
    super(0, 0, width, row_max * WLH + 32, spacing)
    @commands = ['','','']
    @item_max = commands.size
    @column_max = column_max
    @icons = CATEGORY_ICONS
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end

  def draw_item(index, enabled = true)
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    self.contents.clear_rect(rect)
    draw_icon(@icons[index],rect.x,rect.y)
  end
end


Dernière édition par niicoslash le Dim 13 Nov 2011 - 16:56, édité 1 fois
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 32
Inscrit le : 29/07/2009
Messages : 7841

Sauter des lignes dans un script de quête [Résolu] Empty
MessageSujet: Re: Sauter des lignes dans un script de quête [Résolu]   Sauter des lignes dans un script de quête [Résolu] Icon_minitimeDim 13 Nov 2011 - 15:49

Mets

DESCRIPTIONS[1] = ['Le Bokail est attaqué !', 'Chercher la capitaine et les marins pour avoir un coup de main !']

Ca devrait marcher.
Revenir en haut Aller en bas
niicoslash
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
niicoslash


Masculin Age : 26
Inscrit le : 05/10/2010
Messages : 72

Sauter des lignes dans un script de quête [Résolu] Empty
MessageSujet: Re: Sauter des lignes dans un script de quête [Résolu]   Sauter des lignes dans un script de quête [Résolu] Icon_minitimeDim 13 Nov 2011 - 16:55

Oui, c'est exactement ce que je voulais, merci Smile
Revenir en haut Aller en bas
Contenu sponsorisé




Sauter des lignes dans un script de quête [Résolu] Empty
MessageSujet: Re: Sauter des lignes dans un script de quête [Résolu]   Sauter des lignes dans un script de quête [Résolu] Icon_minitime

Revenir en haut Aller en bas
 

Sauter des lignes dans un script de quête [Résolu]

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Ajout d'une commande dans le script de quête [RESOLU]
» Bloquer un personnage dans l'équipe ( avec script PHS) [résolu]
» [Résolu][Script] Script de quete de Yamazaki
» Insertion de script dans les messages [resolu]
» [RÉSOLU] Intégrer script dans le déplacement d'un event ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forumactif.com