|
| Auteur | Message |
---|
Invité Invité
| Sujet: [VX] Script de fusion Dim 25 Mar 2012 - 12:51 | |
| Bonjour. Bon étant donné que j'avais fait les explications de ce script par mp, je vais le transférer sur cette page pour que vous le comprenez bien. =) Demande: Un script de fusion qui permet de faire fusionner deux personnages pour en obtenir un autre. Le personnage créer commencera toujours au niveau 1, ce qui suit vient du mp que j'avais envoyé. ####### Le menu ressemble à ça. (c'est fait à l'arrache) - Spoiler:
L'icône avec le ? est pris directement sur l'iconset (tu comprendras mieux par la suite). On note une série de ????? grisée et une autre série blanche, voilà l'explication: La partie grisée signifie que le joueur ne possède aucun monstre pour exécuté une certaine fusion. La partie blanche signifie que le joueur possède au moins un monstre sur les deux requis, donc si je me déplace sur la partie ????? blanche, j’obtiens ça: - Spoiler:
Je sais qu'il me faudra donc un Bobo de niveau 10, pour l'autre djinn requis ça reste encore un mystère. ###################### Je sais qui me faut maintenant un bobo et un tourniquet de niveau 10 pour cette fusion, (je monte donc leurs niveaux) voilà mes deux djinns sont maintenant niveau 10, la fenêtre ressemble maintenant à ça - Spoiler:
Note: J'ai mi les statistiques car j'ai fait un montage depuis mon PHS et j'avais un peu la flemme de le virer, donc pour l'affichage des stats ce n'est pas une obligation. Les étoiles: C'est la puissance du djinn, perso j'ai fait ça avec la classe du héros, enfin j'ai mis les ID des icons pour qu'il soit visible dans le jeu, tu verras par toi-même. L'oeuf qui apparait à gauche de Starcloy: Ici ce n'est pas une icône, je me sert du character de face. J'utilise le SBS Kaduki donc en combat je me sers uniquement des templates _1,_2 et _3 celui de base ne me sert qu'a faire apparaitre l'oeuf qui désigne le rang du djinn: disciple, mentor etc ... ###################### Une fois la fusion faite, une étoile apparait à droite du nom pour donner un indice au joueur sur les fusions qui à réalisés durant sa partie. - Spoiler:
###################### Autre info: Les djinns sont gérés à l'aide d'un objet, si je créais un Starcloy, j'obtiens l'objet Starcloy, donc il faudra faire en sorte que le joueur obtient l'objet une fois la fusion réalisé et aussi pouvoir retirer l'objet des deux autres espèces car Bobo et Tourniquet ne font plus partie de l'équipe donc ses deux objets n'ont plus lieu d'être dans l'inventaire. Ordre pour la fusion: Quand la fusion est faite, on retire dans l'ordre les deux djinns qui permettent de réalisé la fusion, ici Bobo et Tourniquet, puis on ajoute l'autre par la suite avec la possibilité de le renommer, car si Bobo et Tourniquet font partie de l'équipe du joueur, ça serait le désordre, enfin je pense que tu m'as compris. x) Une variable: J'utilise une variable qui donne des infos sur le nombre de fusion que le joueur à réalisé et surtout pour une quête, si le joueur réalise 10 fusions il obtient un objet, donc il faudra pouvoir définir une variable qui augmente de 1 à chaque fois que le joueur fait une fusion. Si tu as des questions n'hésite pas, pareil si il y a des choses qui te paraissent assez chiant à faire, on pourra peut-être s'en passer. - Spoiler:
[img][/img]
|
| | | Xavioo Chevalier Mage (niveau 4)
Messages postés : 466 Date d'inscription : 24/12/2011 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Dim 25 Mar 2012 - 15:01 | |
| Ça n'a pas rapport avec le script mais je pense que si on fusionne deux niveau 10, notre fusion devrait être niveau dix, après c'est comme tu vois. Sinon j'espère que tu vas trouver un ou des volontaires; il faut pas abandonner ce projet! |
| | | Invité Invité
| Sujet: Re: [VX] Script de fusion Dim 25 Mar 2012 - 18:18 | |
| Merci pour ton soutient Xavioo. =) Pour les fusions on repart au niveau 1, perso je préfère. |
| | | lidenvice Ancien staffeux
Messages postés : 1955 Date d'inscription : 18/10/2011 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Mer 18 Avr 2012 - 12:13 | |
| petit nécropost pour te demander: Est ce que une modif de ce script là pourrait suffire: - Code:
-
#=============================================================== # ? [VX] ? Mix Skill System ? ? #-------------------------------------------------------------- # ? De Woratana [woratana@hotmail.com] # ? Thaiware RPG Maker Community # ? Crée le : 25/05/2008 # ? Version: 1.1 # ? Traduction Française : Blockade #-------------------------------------------------------------- # ? Fonctionnalités : # - Combine 2 sort ou plus pour obtenir de nouveaux sort(s) # - Choisissez les héros qui peuvent/ne peuvent utiliser chaque recette # - Pour choisir juste a sectionner les nouveaux sort, ou enlever certains mis par erreur # - Facilement personnalisable #-------------------------------------------------------------- # ? Comment l'utiliser : # - Appeler la scène : Scene_MixSkill grâce à la fonction d'appel : # $scene = Scene_Mixskill.new #=================================================================
#============================================================= # ** Constants Initialization (NE PAS ÉDITER CETTE PARTIE !) ** #------------------------------------------------------------- class Skill_Recipe attr_accessor :result, :skills, :user, :nonuser, :replace end class Scene_Mixskill < Scene_Base RECIPE = [] #============================================================= #============================================================= # ** [SETUP] SCENE MIXSPELL WINDOWS & TEXTS #------------------------------------------------------------- ACTOR_LIST_WIDTH = 172 # Largeur de la fenêtre de la liste des héros TOP_WINDOW_TEXT = 'Fusion de sort ' # Texte affiché en haut de la fenêtre au début TOP_WINDOW_TEXT_WITH_ACTOR = 'Fusion de sort pour : {name}' # Texte affiché, après avoir choisi son héros, utiliser {name} pour le nom du héros BOTTOM_WINDOW_TEXT_ACTOR = 'Choissisez un Héros.' # Texte affiché, quand un joueur a à choisir un héros pour fusionner ses sorts MIX_BUTTON = 'Démarrer la fusion !' # Bouton de la fusion MIX_BETWEEN = '---------------------------' # Texte entre le résultat de la fusion et les sorts choisis EXIT_BUTTON = 'Sortie' # Bouton de sortie dans la liste des héros SE_FOUND_RECIPE = 'Chime1' # L'effet sonore joué quand le joueur trouve une bonne recette SE_FOUND_RECIPE_VOLUME = 80 # Volume de l'effet sonore SE_MIXED = 'Chime2' # L'effet sonore, quand les sort sont fusionnés SE_MIXED_VOLUME = 80 #============================================================= =begin #============================================================= # ** [SETUP] Fusion de sort, recettes #------------------------------------------------------------- # .: RECIPE TEMPLATE :. #------------------------------------------------- data = Skill_Recipe.new data.skills = [ID du sort, ID du sort, ...] data.result = [ID du sort ID du sort, ...] data.replace = true (or) false data.user = [ID du héros, ID du héros, ...] data.nonuser = [ID du héros, ID du héros, ...] RECIPE << data #------------------------------------------------- # * data = Skill_Recipe.new: Crée une nouvelle recette. # * data.skills: Sort que vous avez à fusionner pour obtenir un nouveau # Vous devez avoir au moins 2 sort dans data.skills (ou la recette ne marchera pas). # * data.result: Sort(s) obtenu lors de la fusion des sort précédents( ligne d'au dessus) # Vous pouvez avoir un sort ou plus dans data.result # * data.user: Héros qui peuvent utiliser cette recette (Mettez 0 pour tout les les héros). # * data.nonuser: Héros qui ne peuvent pas utiliser cette recette. # Vous n'avez pas à utiliser data.nonuser si vous n'avez pas mis 0 pour data.user # Mettez [] si vous ne l'utilisez pas. # ** TIP: Quand le script vérifie, le héros qui peut utiliser chaque recette # Il vérifie d'abord les ID des héros qui non pas inclus dans data.nonuser d'abord . # Ensuite, il vérifie les ID des héros inclus dans data.user (ou) data.user (recettes) # inclus l0 (utilisable pour tous les héros). # # Par conséquent vous pouvez créer une recette qui marche pour tout les héros sauf pour les 2 et 3 # avec les configuration de data.user et data.nonuser comme cela : # data.user = [0] # data.nonuser = [2, 3] # * data.replace = true (or) false: Si vous voulez, quand vous fusionnez les sorts, que les sorts d'origine soit # effacés mettez true sinon mettez false # * RECIPE << data: Ajoute la recette dans la base de donnée #------------------------------------------------------------- =end #============================================================= data = Skill_Recipe.new data.skills = [9,12,13,14] data.result = [83] data.user = [0] data.nonuser = [6] data.replace = false RECIPE << data data = Skill_Recipe.new data.skills = [5 , 2, 10] data.result = [78] data.user = [1] data.nonuser = [] data.replace = true RECIPE << data data = Skill_Recipe.new data.skills = [36 , 37] data.result = [84] data.user = [0] data.nonuser = [1] data.replace = false RECIPE << data data = Skill_Recipe.new data.skills = [71 , 73, 75, 67, 61] data.result = [82] data.user = [6] data.nonuser = [] data.replace = true RECIPE << data data = Skill_Recipe.new data.skills = [82 , 84, 78, 83] data.result = [85] data.user = [0] data.nonuser = [] data.replace = true RECIPE << data data = Skill_Recipe.new data.skills = [85 , 37] data.result = [88, 87] data.user = [6] data.nonuser = [1] data.replace = true RECIPE << data data = Skill_Recipe.new data.skills = [12, 14,85] data.result = [88,86] data.user = [1] data.nonuser = [6] data.replace = true RECIPE << data #============================================================= def start super create_menu_background @help1 = Window_Help.new @help2 = Window_Help.new @help2.y = Graphics.height - @help2.height @sk = Window_MS_Skill.new(0, @help1.height, Graphics.width/2, Graphics.height - (@help1.height*2)) @sk.help_window = @help2 @sk_chosen = Window_MS_SkillList.new(@sk.width, @sk.y + @help1.height, @sk.width, @sk.height - @help1.height) @act_list = Window_MS_ActorList.new(ACTOR_LIST_WIDTH) @act_list.x = (Graphics.width - @act_list.width) / 2 @act_list.y = (Graphics.height - @act_list.height) / 2 @winmix = Window_Command.new(@sk.width, [MIX_BUTTON]) @winmix.x = @sk.width @winmix.y = @help1.height runstep(0) end def update super if @act_list.active @act_list.update if Input.trigger?(Input::C) @act_list.visible = @act_list.active = false case @act_list.define[@act_list.index] when 'exit' Sound.play_cancel $scene = Scene_Map.new else runstep(1) end elsif Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new end elsif @sk.active @sk.update if Input.trigger?(Input::C) if @sk_chosen.skills.include?(@sk.skill) Sound.play_cancel return end Sound.play_decision @sk_chosen.skills << @sk.skill refresh_chosen_data elsif Input.trigger?(Input::B) runstep(4) elsif Input.trigger?(Input::RIGHT) runstep(2) end elsif @winmix.active @winmix.update if Input.trigger?(Input::C) runstep(5) elsif Input.trigger?(Input::LEFT) runstep(3) elsif Input.trigger?(Input::B) runstep(4) end end end def terminate super @act_list.dispose @sk_chosen.dispose @sk.dispose @help1.dispose @help2.dispose dispose_menu_background end def refresh_chosen_data @sk.chosen = @sk_chosen.skills @sk_chosen.skills.uniq! @sk.chosen.uniq! data_mixable = spell_mixable(@sk_chosen.skills) @sk_chosen.result = data_mixable[0] @sk_chosen.result -= @sk.actor.skills @sk_chosen.replace = data_mixable[1] RPG::SE.new(SE_FOUND_RECIPE, SE_FOUND_RECIPE_VOLUME).play if !@sk_chosen.result.empty? @winmix.draw_item(0, !@sk_chosen.result.empty?) @sk_chosen.refresh @sk.refresh end def spell_mixable(chosen) skills = [] chosen.each {|i| skills << i.id if i.is_a?(RPG::Skill) } RECIPE.each_index do |r| next if RECIPE[r].nil? or RECIPE[r].skills.size < 2 or RECIPE[r].skills.size != skills.size or RECIPE[r].skills.sort != skills.sort next if RECIPE[r].nonuser.include?(@sk.actor.id) if RECIPE[r].user.include?(@sk.actor.id) or RECIPE[r].user.include?(0) result = RECIPE[r].result result_skills = [] result.each {|i| result_skills << $data_skills[i] unless $data_skills[i].nil? } return [result_skills, RECIPE[r].replace] end end return [[], true] end def runstep(id) case id when 0 @sk.visible = @sk.active = false @sk_chosen.visible = @sk_chosen.active = false @act_list.active = @act_list.visible = true @winmix.visible = @winmix.active = false @help1.set_text(TOP_WINDOW_TEXT, 1) @help2.set_text(BOTTOM_WINDOW_TEXT_ACTOR, 1) when 1 Sound.play_decision @act_list.active = @act_list.visible = false @sk.visible = @sk.active = true @sk_chosen.visible = true @sk_chosen.active = false @winmix.visible = true @winmix.active = false @winmix.index = -1 @sk.set_actor(@act_list.define[@act_list.index]) @help1.set_text(TOP_WINDOW_TEXT_WITH_ACTOR.gsub(/\{name\}/i){@sk.actor.name}, 1) @sk_chosen.clear @winmix.draw_item(0, !@sk_chosen.result.empty?) when 2 if @sk_chosen.result.empty? Sound.play_cancel else Sound.play_decision @winmix.index = 0 @winmix.active = true @sk.active = false @sk_lastindex = @sk.index @sk.index = -1 end when 3 Sound.play_decision @winmix.index = -1 @winmix.active = false @sk.active = true @sk.index = @sk_lastindex when 4 if @sk_chosen.skills.empty? Sound.play_decision runstep(0) else Sound.play_cancel @sk_chosen.skills.pop refresh_chosen_data end when 5 if @sk_chosen.result.empty? Sound.play_cancel else RPG::SE.new(SE_MIXED,SE_MIXED_VOLUME).play actor = @sk.actor ingrad = @sk_chosen.skills result = @sk_chosen.result ingrad.each {|i| actor.forget_skill(i.id) } if @sk_chosen.replace result.each {|i| actor.learn_skill(i.id) } runstep(1) end end end end
#============================================================================== # ** Window_MS_Skill #============================================================================== class Window_MS_Skill < Window_Selectable attr_accessor :chosen, :actor def initialize(x, y, width, height) super(x, y, width, height) @column_max = 1 @chosen = [] @data = [] self.index = 0 end
def skill return @data[self.index] end
def refresh @data = [] for skill in @actor.skills @data.push(skill) if skill.id == @actor.last_skill_id self.index = @data.size - 1 end end @item_max = @data.size create_contents for i in 0...@item_max draw_item(i) end end def set_actor(actor) @actor = actor @chosen = [] self.index = 0 refresh end
def draw_item(index) skill = @data[index] return if @chosen.include?(skill) rect = item_rect(index) self.contents.clear_rect(rect) if skill != nil rect.width -= 4 draw_item_name(skill, rect.x, rect.y) end end
def update_help @help_window.set_text(skill == nil ? '' : skill.description) end end
#============================================================================== # ** Window_MS_SkillList #============================================================================== class Window_MS_SkillList < Window_Selectable attr_accessor :result, :skills, :replace def initialize(x, y, width, height) super(x, y, width, height) clear end
def refresh self.contents.clear @data = @result + [Scene_Mixskill::MIX_BETWEEN] + @skills @item_max = @data.size for i in 0...@item_max draw_item(i) end end
def draw_item(index, enabled = true) rect = item_rect(index) self.contents.clear_rect(rect) skill = @data[index] rect.width -= 4 if skill.is_a?(RPG::Skill) draw_icon(skill.icon_index, rect.x, rect.y, enabled) self.contents.font.color = @result.include?(skill) ? system_color : normal_color self.contents.draw_text(rect.x + 24, rect.y, rect.width-24, WLH, skill.name) else self.contents.font.color = normal_color self.contents.draw_text(rect.x, rect.y, rect.width, rect.height, skill, 1) end end def clear @result = [] @skills = [] @replace = true refresh end
def cursor_movable? return false end end
#============================================================================== # ** Window_MS_ActorList #============================================================================== class Window_MS_ActorList < Window_Command attr_reader :define def initialize(width) commands = [] @define = [] $game_party.members.each do |i| commands << i.name @define << i end commands << Scene_Mixskill::EXIT_BUTTON @define << 'exit' super(width, commands) end end
|
| | | Invité Invité
| Sujet: Re: [VX] Script de fusion Jeu 26 Avr 2012 - 22:37 | |
| Je pense à trop. =/ Enfin j'ai un ami qui s'occupe de ce script, il l'avait déjà commencé auparavant mais son disque dur à planté, mais maintenant il est de nouveau fonctionnel donc il s'en occupe. =) |
| | | Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Jeu 26 Avr 2012 - 22:48 | |
| Ce pourrait il que Garruk nous revienne plus fort ? =) |
| | | Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Jeu 26 Avr 2012 - 23:14 | |
| Comme un Super Saiyen, quand tu frôles la mort tu reviens encore plus fort. [/Danna-K]
Tu dis ca encore une fois, je te brûle les yeux avec de la moutarde ! |
| | | Dhamma Metta Chevalier Dragon (niveau 5)
Messages postés : 1897 Date d'inscription : 22/06/2011 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Ven 27 Avr 2012 - 18:17 | |
| Auteur du texte rouge: Il s'en fiche, il a sa cotte de maille. Le rouge c'est moi ! Et si tu sais pas qui je suis, go section "présentation du staff". De plus si je fais des édits de vos messages, c'pour éviter de flooder ! Alors stop flood !!!
Oui ce message de prévention perdra tout son sens lorsque vous serez qui je suis |
| | | Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Ven 27 Avr 2012 - 22:39 | |
| Oh oui, j'adore quand le mec qui a commencé le flood demande aux autres de s'arrêter. |
| | | lidenvice Ancien staffeux
Messages postés : 1955 Date d'inscription : 18/10/2011 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Ven 27 Avr 2012 - 22:41 | |
| |
| | | Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Ven 27 Avr 2012 - 23:14 | |
| Fallait pas évoquer Danna-K :p |
| | | Invité Invité
| Sujet: Re: [VX] Script de fusion Sam 28 Avr 2012 - 22:52 | |
| Ca commence à prendre forme, enfin ce n'est qu'un test, il faut vraiment attendre que tout soit opérationnel et il y en a pour un moment je pense. ^^ |
| | | Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Sam 28 Avr 2012 - 23:12 | |
| Ah ah c'est cool ca =)
Je vois tes yeux briller mon ptit lapin !! |
| | | Creme brulée Chevalier Mage (niveau 4)
Messages postés : 465 Date d'inscription : 04/02/2012 Jauge LPC :
| Sujet: Re: [VX] Script de fusion Mar 1 Mai 2012 - 17:03 | |
| Ca commence à prendre forme |
| | | Contenu sponsorisé
| Sujet: Re: [VX] Script de fusion | |
| |
| | | |
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |