Va-nu-pieds Lv.4
Age : 26 Inscrit le : 05/10/2010 Messages : 72
| Sujet: Sauter des lignes dans un script de quête [Résolu] Dim 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 |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Sauter des lignes dans un script de quête [Résolu] Dim 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. |
|
Va-nu-pieds Lv.4
Age : 26 Inscrit le : 05/10/2010 Messages : 72
| Sujet: Re: Sauter des lignes dans un script de quête [Résolu] Dim 13 Nov 2011 - 16:55 | |
| Oui, c'est exactement ce que je voulais, merci |
|