Sujet: Re: [VX] Script de lvl up custom Mar 4 Nov 2008 - 9:12
Oui bah c'est le même. C'est juste que tu a changé la fenêtre dans ton jeu.
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Script de lvl up custom Mar 4 Nov 2008 - 11:11
C'est le même script avec une surcharge. C'est à dire un ajout. Celui d'altair contient la fenêtre avec les compétences, il n'y a pas que la fenêtre du window qui change. Akakin, remplace ton script à la 1ère page par celui d'akakin s'il te plait =).
Invité
Invité
Sujet: Re: [VX] Script de lvl up custom Mar 4 Nov 2008 - 12:34
en noir j'adore =D
Altair19
Voyageur Lv.10
Age : 31 Inscrit le : 16/08/2008 Messages : 467
Sujet: Re: [VX] Script de lvl up custom Mar 4 Nov 2008 - 13:24
fabY a écrit:
Akakin, remplace ton script à la 1ère page par celui d'akakin s'il te plait =).
fabY, je pense que tu t'est trompé .
akakin
Corsaire Lv.19
Age : 30 Inscrit le : 20/08/2008 Messages : 2555
Sujet: Re: [VX] Script de lvl up custom Mer 5 Nov 2008 - 15:58
Mon code traduit. Partie 1
Code:
module LevelUpDisplayConfig #-------------------------------------------------------------------------- # * Configuration Générale Optionnelle #-------------------------------------------------------------------------- #Le nom du fichier Windows, avec son expansion WINDOWSKIN_NAME = 'Window' #L'effet sonore name est jouée quand la fenêtre est allumée LEVEL_UP_SE = 'Recovery' #L'effet sonore volume LEVEL_UP_SE_VOLUME = 80 #Joue le skin window? USE_SKILL_WINDOW = true #Le Title texte dans le"Nouveau skill" window (si non nil) #Par exemple, NEW_SKILL_TITLE_TEXT = 'Abilities' NEW_SKILL_TITLE_TEXT = nil #Met-il le chara ? USE_SPRITE_GRAPHIC = true #Opactie du window WINDOW_OPACITY = 255 #-------------------------------------------------------------------------- # *Configuration des stats Window #-------------------------------------------------------------------------- #La couleur du chara est mise dans le window (gold par défault) NAME_COLOR = Color.new(255,235,0) #La couleur du lvl du chara est mise dans le Window (gold par défault) LEVEL_COLOR = Color.new(255,235,0) #La couleur des stats est mise dans le window (gold par default) STAT_COLOR = Color.new(255,235,0) #La couleur des anciennes stats est mise dans le window (white par default) OLD_STAT_COLOR = Color.new(255,255,255) #La couleur des nouvelles stats et les gains (green par default) NEW_STAT_VAL_COLOR = Color.new(0,250,154) #La couleur des stats nouveaux (red par default) STAT_VAL_LOSS_COLOR = Color.new(255, 0, 0) #-------------------------------------------------------------------------- # * Configuration du skill Window #-------------------------------------------------------------------------- #La couleur du nouveau title window SKILL_TITLE_COLOR = Color.new(255,215,0) #La couleur des nouveaux skill dans le window SKILL_WINDOW_FONT_COLOR = Color.new(240,248,255) #-------------------------------------------------------------------------- # *Ce n'est pas modifié #-------------------------------------------------------------------------- STAT_WINDOW_WIDTH = 320 SKILL_WINDOW_WIDTH = 165 WINDOW_HEIGHT = 220 SUB_WINDOW_HEIGHT = 45
end
akakin
Corsaire Lv.19
Age : 30 Inscrit le : 20/08/2008 Messages : 2555
Sujet: Re: [VX] Script de lvl up custom Mer 5 Nov 2008 - 16:09
Deuxième partie :
Code:
include LevelUpDisplayConfig #========================================================================== # * Window_LevelUpdate #-------------------------------------------------------------------------- # La fenêtre apparait après un combat quand un lvl est atteint. # Indique les stats et optionnellement le chara #========================================================================== class Window_LevelUpdate < Window_Base
def initialize(actor) w = STAT_WINDOW_WIDTH h = WINDOW_HEIGHT if USE_SKILL_WINDOW super(272 - (w / 2) - (SKILL_WINDOW_WIDTH / 2), 50, w, h) else super(272 - (w / 2), 50, w, h) end self.windowskin = Cache.system(WINDOWSKIN_NAME) self.back_opacity = WINDOW_OPACITY @actor = actor @animation_index = 0 @arrow = Cache.picture('level_up_arrow') @y_offset = 12 #give some room under level display #begin drawing new level and old stat text @col_one_offset = 0 #Draw old stats @col_two_offset = @col_one_offset + 60 #begin drawing Faceset/sprite and skills gained @col_four_offset = 0 #begin drawing Faceset/sprite graphics @col_five_offset = 190 #play the sound effect se = RPG::SE.new(LEVEL_UP_SE, LEVEL_UP_SE_VOLUME) se.play #calculates the offet for drawing level info calc_level_offsets setup_name_window draw_stat_names draw_old_stat_values draw_arrows draw_new_stat_values draw_actor_rep update end #-------------------------------------------------------------------------- # *Créer le Window #-------------------------------------------------------------------------- def setup_name_window @name_window = Window_Base.new(self.x + 20, self.y - 30 , fit_to_text(@actor.name), SUB_WINDOW_HEIGHT) @name_window.windowskin = Cache.system(WINDOWSKIN_NAME) @name_window.back_opacity = 255 @name_sprite = Sprite.new @name_sprite.bitmap = Bitmap.new(@name_window.width, @name_window.height) @name_sprite.bitmap.font.color = NAME_COLOR @name_sprite.x = @name_window.x + 15 @name_sprite.y = @name_window.y - 10 @name_sprite.z = 300 @name_sprite.bitmap.draw_text(0, 0, @name_sprite.bitmap.width, 60, @actor.name) end #-------------------------------------------------------------------------- # * Créer le lvl et le texte des stats #-------------------------------------------------------------------------- def draw_stat_names self.contents.font.color = LEVEL_COLOR self.contents.draw_text(@col_one_offset, 0, 60, WLH, "Lv.") self.contents.font.color = STAT_COLOR self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.hp) self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.mp) self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.atk) self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.def) self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.spi) self.contents.draw_text(@col_one_offset, y_incr, 60, WLH, Vocab.agi) #reset the font color self.contents.font.color = Font.default_color #reset the y_offset to 12 y_incr_reset end #-------------------------------------------------------------------------- # * Créer les anciennes stats #-------------------------------------------------------------------------- def draw_old_stat_values self.contents.font.color = OLD_STAT_COLOR self.contents.draw_text(@col_level_old_offset, 0, 60, WLH, @actor.last_level) self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_hp) self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_mp) self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_atk) self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_def) self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_spi) self.contents.draw_text(@col_two_offset, y_incr, 60, WLH, @actor.last_agi) #reset the font color self.contents.font.color = Font.default_color #reset the y_offset to 12 y_incr_reset end
def draw_new_stat(x, y, w, h, prev_val, val) if val > prev_val #gain self.contents.font.color = NEW_STAT_VAL_COLOR elsif val == prev_val #no change self.contents.font.color = OLD_STAT_COLOR else #loss self.contents.font.color = STAT_VAL_LOSS_COLOR end self.contents.draw_text(x, y, w, h, val) end #-------------------------------------------------------------------------- # * Créer le faceset #-------------------------------------------------------------------------- def draw_actor_rep draw_actor_face(@actor, @col_five_offset, 0) if (USE_SPRITE_GRAPHIC) x_pos = @col_five_offset + ((self.width - @col_five_offset) / 2) - 18 draw_character(@actor.character_name, @actor.character_index, x_pos, 160) end end #-------------------------------------------------------------------------- # * Créer un arrow #-------------------------------------------------------------------------- def draw_arrow(x, y) src_rect = Rect.new(0, 0, @arrow.width, @arrow.height) self.contents.blt(x, y, @arrow, src_rect) end #-------------------------------------------------------------------------- # * #-------------------------------------------------------------------------- def calc_level_offsets @col_level_old_offset = @col_one_offset + 30 if @actor.last_level < 10 @col_level_arrow_offset = @col_level_old_offset + 20 else @col_level_arrow_offset = @col_level_old_offset + 30 end @col_level_new_offset = @col_level_arrow_offset + 26 end #-------------------------------------------------------------------------- # * Les Incréments #-------------------------------------------------------------------------- def y_incr @y_offset += WLH return @y_offset end #-------------------------------------------------------------------------- # * Recommencer #-------------------------------------------------------------------------- def y_incr_reset @y_offset = 12 end #-------------------------------------------------------------------------- # * Calculer les nouvelles stats #-------------------------------------------------------------------------- def calc_col_four_offset(col_three) @col_four_offset = col_three + 22 end #-------------------------------------------------------------------------- # * Mettre le texte dans le Window #-------------------------------------------------------------------------- def fit_to_text(text) w = self.contents.text_size(text).width + 32 return w > 90 ? w : 90 end #-------------------------------------------------------------------------- # * Mettre la position du Window #-------------------------------------------------------------------------- def update_child_window_pos @name_window.x = self.x + 20 @name_window.y = self.y - 30 @name_sprite.x = @name_window.x + 15 @name_sprite.y = @name_window.y - 10 end #-------------------------------------------------------------------------- # * Détruire le sprite #-------------------------------------------------------------------------- def dispose super @name_window.dispose @name_sprite.dispose end
end
akakin
Corsaire Lv.19
Age : 30 Inscrit le : 20/08/2008 Messages : 2555
Sujet: Re: [VX] Script de lvl up custom Mer 5 Nov 2008 - 16:17
Dernière partie :
Code:
#============================================================================ # * Window_SkillUpdate #---------------------------------------------------------------------------- # La dernière skill #============================================================================ class Window_SkillUpdate < Window_Base
def initialize(actor, parent_x, parent_y, parent_width) x = parent_x + parent_width h = WINDOW_HEIGHT w = SKILL_WINDOW_WIDTH super(x, parent_y, w, h) self.windowskin = Cache.system(WINDOWSKIN_NAME) self.back_opacity = WINDOW_OPACITY self.contents.font.color = SKILL_WINDOW_FONT_COLOR @actor = actor @skills = [] setup_title_window populate_skill_list end #-------------------------------------------------------------------------- # * Créer le Title Window #-------------------------------------------------------------------------- def setup_title_window #check to see if custom text is defined if NEW_SKILL_TITLE_TEXT == nil skill_title_text = sprintf("New %ss", Vocab.skill) else skill_title_text = NEW_SKILL_TITLE_TEXT end middle_parent = self.x + (self.width / 2) w = fit_to_text(skill_title_text) h = SUB_WINDOW_HEIGHT x = middle_parent - (w / 2) y = self.y - 30 @title_window = Window_Base.new(x, y, w, h) @title_window.windowskin = Cache.system(WINDOWSKIN_NAME) @title_window.back_opacity = 255 @title_sprite = Sprite.new @title_sprite.bitmap = Bitmap.new(@title_window.width, @title_window.height) @title_sprite.bitmap.font.color = SKILL_TITLE_COLOR @title_sprite.x = @title_window.x + 15 @title_sprite.y = @title_window.y + 4 @title_sprite.z = 300 @title_sprite.bitmap.draw_text(0, 0, @title_sprite.bitmap.width, 32, skill_title_text) end #-------------------------------------------------------------------------- # * My edit of draw_item_name. # Nécéssite le changement de couleur du skill #-------------------------------------------------------------------------- def draw_my_item_name(item, x, y, enabled = true) if item != nil draw_icon(item.icon_index, x, y, enabled) self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(x + 24, y, 172, WLH, item.name) end end #-------------------------------------------------------------------------- # * #-------------------------------------------------------------------------- def populate_skill_list skills = @actor.last_learned_skills y = 0 for skill in skills draw_my_item_name(skill, 0, y) y += 32 end end #-------------------------------------------------------------------------- # * Mettre la Window dans le texte #-------------------------------------------------------------------------- def fit_to_text(text) return self.contents.text_size(text).width + 32 end #-------------------------------------------------------------------------- # * Détruire le skill #-------------------------------------------------------------------------- alias :eds_old_dispose :dispose def dispose eds_old_dispose @title_window.dispose @title_sprite.dispose end
end #========================================================================== # * Game_Actor #-------------------------------------------------------------------------- # overrides - # * display_level_up (if DISPLAY_DEF_MESSAGE is set to false in config) #========================================================================== class Game_Actor < Game_Battler
attr_reader :last_level attr_reader :last_hp attr_reader :last_mp attr_reader :last_atk attr_reader :last_def attr_reader :last_spi attr_reader :last_agi attr_reader :last_learned_skills #-------------------------------------------------------------------------- # * Change Experience # exp : Nouvelle expérience # show : Drapeau de victoire #-------------------------------------------------------------------------- alias :eds_old_change_exp :change_exp def change_exp(exp, show) #save off the old paramters prev_skills = skills @last_level = @level @last_hp = self.maxhp @last_mp = self.maxmp @last_atk = self.atk @last_def = self.def @last_spi = self.spi @last_agi = self.agi eds_old_change_exp(exp, show) @last_learned_skills = skills - prev_skills end
if USE_SKILL_WINDOW #below method is only used if we are using the skill window
#-------------------------------------------------------------------------- # * Show Level Up Message # new_skills : Array of newly learned skills #-------------------------------------------------------------------------- # S'il n'y a pas de message standard des gains le niveau , # simplifier et recommencer le loop crée ,le skill message. # Continuer l'action le skill qui le sera si nous ne sommes # pas en combat. #-------------------------------------------------------------------------- alias :eds_old_display_level_up :display_level_up def display_level_up(new_skills) if $game_temp.in_battle $game_message.new_page text = sprintf(Vocab::LevelUp, @name, Vocab::level, @level) $game_message.texts.push(text) else eds_old_display_level_up(new_skills) end end
end #skill window check
end #============================================================================ # * Scene_Battle #---------------------------------------------------------------------------- # overrides - # * display_level_up #============================================================================ class Scene_Battle < Scene_Base
#-------------------------------------------------------------------------- # * Jouer le lvl UP #-------------------------------------------------------------------------- def display_level_up #patch for KGC Equip Learn Skill script if $imported != nil and $imported["EquipLearnSkill"] display_master_equipment_skill end exp = $game_troop.exp_total for actor in $game_party.existing_members last_level = actor.level last_skills = actor.skills actor.gain_exp(exp, true) if actor.level > last_level win = Window_LevelUpdate.new(actor) #if we are using the skill window and the skills have changed... if USE_SKILL_WINDOW && last_skills.length != actor.skills.length s_win = Window_SkillUpdate.new(actor, win.x, win.y, win.width) wait_for_message s_win.dispose if USE_SKILL_WINDOW else #move the window back to center screen and update the name window win.x = 272 - (win.width / 2) win.update_child_window_pos wait_for_message end win.dispose end end end
end
anthoeclips
Poulet Lv.1
Age : 31 Inscrit le : 18/06/2011 Messages : 3
Sujet: Re: [VX] Script de lvl up custom Dim 26 Juin 2011 - 16:43
Merci beaucoup pour ton script il est super
Matsuo Kaito
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
Sujet: Re: [VX] Script de lvl up custom Lun 27 Juin 2011 - 6:05
10000 Les nécroposts sont interdits. Merci d'aller relire le règlement, et d'éviter de recommencer à l'avenir.