| Roi |
 |
 |
Inscrit le: 13 Aoû 2006, 00:00 Messages: 2417 Localisation: Montréal, QC Logiciel(s) préféré(s): RMXP, VS2008 Point(s) Fort(s): Script Points d'aide: Illimité
Créations :
- Séparation d'inventaire
- Sprite_Text
Voir ses créations
|
- Code: Tout sélectionner
#============================================================================== # ** Window Class Changing #============================================================================== class Window_Class_Changing < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 64, 160, 320) # Sets Cursor Height self.cursor_height = 72 # Sets Index self.index = 0 # Animated Sprite Counters @pose, @frame = 0, 0 # Window Contents self.contents = Bitmap.new(width - 32, height - 32) # Refreshes Window Contents refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh # Clears Contents contents.clear # Duplicates Actors @actors = $game_party.actors.dup # Checks Actors List @actors.push(nil) until @actors.size > 3 # Sets Up Item Max @item_max = @actors.size # Draw Actors Info contents.clear for i in 0...@item_max actor = @actors[i] y = i * 72 # Draws Animated Sprite if actor == nil draw_sprite(20, y + 66, "Empty", 0, @pose, @frame, false) contents.font.color = disabled_color contents.draw_text(32, y + 2, contents.width - 40, 24, "", 2) contents.draw_text(32, y + 24, contents.width - 40, 24, "Empty", 2) contents.draw_text(32, y + 46, contents.width - 40, 24, "", 2) else draw_sprite(20, y + 66, actor.character_name, actor.character_hue , @pose, @frame, false) contents.font.color = normal_color # Draws Name contents.draw_text(32, y + 2, contents.width - 40, 24, actor.name, 2) # Draws Class contents.draw_text(32, y + 24, contents.width - 40, 24, $data_classes[actor.class_id].name, 2) # Draws Level contents.draw_text(32, y + 46, contents.width - 40, 24, "Niveau: #{actor.level}", 2) end end end # Frame Update #-------------------------------------------------------------------------- def frame_update @frame == 3 ? @frame = 0 : @frame += 1 refresh end #-------------------------------------------------------------------------- # Update Pose # direction : 0 - Left 1 - Right #-------------------------------------------------------------------------- def update_pose(direction) if direction == 0 @pose == 0 ? @pose = 3 : @pose -= 1 else @pose == 3 ? @pose = 0 : @pose += 1 end refresh end end
#============================================================================== # ** Window Character Status #============================================================================== class Window_Character_Status < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # actor : actor #-------------------------------------------------------------------------- def initialize super(160, 64, 480, 416) # Animation Varaibles @pose, @frame = 0, 0 # Window Contents self.contents = Bitmap.new(width - 32, height - 32) # Refreshes Contents refresh($game_party.actors[0]) end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh(actor) # Clears Contents contents.clear # Stores Actor @actor = actor if actor == nil draw_sprite(contents.width / 2, contents.height / 2, "Empty", 0, @pose, @frame, false) # Draws Empty Text contents.font.size = 48 contents.font.color = system_color contents.font.color.alpha = disabled_color.alpha contents.draw_text(0, contents.height / 2, contents.width, 48, "Empty Position", 1) else draw_sprite(40, 80, actor.character_name, actor.character_hue , @pose, @frame, false) contents.font.size = 22 contents.font.color = normal_color # Draws Name contents.draw_text(-8, 4, 96, 24, actor.name, 1) # Draws State state = make_battler_state_text(actor, 112, true) contents.font.color = actor.hp == 0 ? knockout_color : normal_color contents.draw_text(96, 8, 96, 24, state, 1) # Draws Class contents.font.color = system_color contents.draw_text(96, 32, 96, 24, actor.class_name, 1) # Draws Level contents.font.color = system_color contents.draw_text(96, 56, 96, 24, "Niveau :") contents.font.color = normal_color contents.draw_text(96, 56, 96, 24, actor.level.to_s, 2) # Draws Experience contents.font.color = system_color contents.draw_text(224, 8, 224, 24, "Experience :") contents.font.color = normal_color contents.draw_text(216, 8, 224, 24, actor.exp_s, 2) # Next Level Experience contents.font.color = system_color contents.draw_text(224, 32, 224, 24, "Suivant :") contents.font.color = normal_color contents.draw_text(216, 32, 224, 24, actor.next_rest_exp_s, 2) # Draws Next Level Bar draw_bar(224, 58, actor.exp, actor.next_exp_s.to_i, 216) # Draws HP Bar draw_bar(32, 126, actor.hp, actor.maxhp, 228, 24) # Draws HP contents.font.color = system_color contents.draw_text(40, 126, 224, 24, "PV") contents.font.color = normal_color contents.draw_text(32, 126, 224, 24, "#{actor.hp} / #{actor.maxhp}", 2) # Draws SP Bar draw_bar(32, 158, actor.sp, actor.maxsp, 228, 24) # Draws SP contents.font.color = system_color contents.draw_text(40, 158, 224, 24, "PM") contents.font.color = normal_color contents.draw_text(32, 158, 224, 24, "#{actor.sp} / #{actor.maxsp}", 2) # Draws Equiped Items draw_item_name($data_weapons[actor.weapon_id], 36, 190, 224, 2, 0) draw_item_name($data_armors[actor.armor1_id], 36, 222, 224, 2, 1) draw_item_name($data_armors[actor.armor2_id], 36, 254, 224, 2, 2) draw_item_name($data_armors[actor.armor3_id], 36, 286, 224, 2, 3) draw_item_name($data_armors[actor.armor4_id], 36, 318, 224, 2, 4) # Draws Stats stat_names = [$data_system.words.str, $data_system.words.dex, $data_system.words.agi, $data_system.words.int, $data_system.words.atk, $data_system.words.pdef, $data_system.words.mdef, "Evasion"] stats = [actor.str, actor.dex, actor.agi, actor.int, actor.atk, actor.pdef, actor.mdef, actor.eva] for i in 0...stats.size contents.font.color = system_color contents.draw_text(278, 108 + i * 32, 170, 24, stat_names[i]) contents.font.color = normal_color contents.draw_text(270, 108 + i * 32, 170, 24, stats[i].to_s, 2) end end end #-------------------------------------------------------------------------- # Frame Update #-------------------------------------------------------------------------- def frame_update @frame == 3 ? @frame = 0 : @frame += 1 refresh(@actor) end #-------------------------------------------------------------------------- # Update Pose # direction : 0 - Left 1 - Right #-------------------------------------------------------------------------- def update_pose(direction) if direction == 0 @pose == 0 ? @pose = 3 : @pose -= 1 else @pose == 3 ? @pose = 0 : @pose += 1 end refresh(@actor) end end
#============================================================================== # ** Window_Class_Status #============================================================================== class Window_Class_Status < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(160, 64, 480, 416) # Creates Contents self.contents = Bitmap.new(width - 32, height - 32) # Animation Varaibles @pose, @frame = 0, 0 # Refreshes Contents refresh($game_party.actors[0], $data_classes[1]) end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh(actor, current_class) # Clears Contents contents.clear # Requirements Met (For Return) @requirements_met = true # Stores Variables for Refreshing @actor = actor @current_class = current_class # Draws Actors Info contents.font.size = 22 contents.font.color = normal_color # Draws Name of Actor contents.draw_text(0, 4, contents.width / 3, 24, actor.name, 1) # Draws Actor Sprite draw_sprite(contents.width / 6, 82, actor.character_name, actor.character_hue , @pose, @frame, false) # Current Class contents.font.color = system_color contents.draw_text(contents.width / 3 + 4, 4, contents.width / 3, 24, actor.class_name, 1) # Current Level contents.draw_text(contents.width / 3 + 4, 30, contents.width / 3, 24, "Niveau :") contents.font.color = normal_color contents.draw_text(contents.width / 3 - 4, 30, contents.width / 3, 24, actor.level.to_s, 2) # Current Experience contents.font.color = system_color contents.draw_text(contents.width / 3 + 4, 56, contents.width / 3, 24, "Experience :") contents.font.color = normal_color contents.draw_text(contents.width / 3 - 4, 56, contents.width / 3, 24, actor.exp_s, 2) # Checks to Make Sure Current Class isn't Nil if current_class == nil contents.font.size = 18 contents.font.color = system_color contents.draw_text(0, contents.width / 2 - 18, contents.width, 36, "Retour au menu précédent", 1) else contents.font.size = 18 contents.font.color = normal_color # Next Class contents.font.color = system_color contents.draw_text(contents.width / 3 * 2 + 4 , 4, contents.width / 3, 18, current_class.name, 1) # Next Level contents.draw_text(contents.width / 3 * 2 + 4, 30, contents.width / 3, 18, "Niveau :") contents.font.color = normal_color contents.draw_text(contents.width / 3 * 2 - 4, 30, contents.width / 3, 18, actor.class_levels[current_class.id].to_s, 2) # Next Experience contents.font.color = system_color contents.draw_text(contents.width / 3 * 2 + 4, 56, contents.width / 3, 18, "Experience :") contents.font.color = normal_color contents.draw_text(contents.width / 3 * 2 - 4, 56, contents.width / 3, 18, actor.class_exp[current_class.id].to_s, 2) pos = current_class.position == 0 ? "Avant" : current_class.position == 1 ? "Milieu" : "Arrière" contents.draw_text(0, 96, contents.width, 18, "#{current_class.name}: #{pos}", 1) contents.font.color = system_color # Draws Class Requirements contents.draw_text(0, 120, contents.width, 18, "Requis", 1) contents.draw_text(4, 144, contents.width, 18, "Sexe Requis:") # Sex Requirements contents.font.color = normal_color sex_req = current_class.sex_requirements if sex_req == 0 or sex_req == actor.sex contents.font.color = normal_color else contents.font.color = disabled_color end contents.draw_text(32, 168, contents.width, 24, sex_req == 0 ? "Aucun" : sex_req == 1 ? "Masculin" : "Féminin") contents.draw_text(- 8, 168, contents.width, 24, actor.sex == 1 ? "Masculin" : "Féminin", 2) # Checks if Requirements met @requirements_met = false unless sex_req == 0 or sex_req == actor.sex # Class Level Requirements contents.font.color = system_color contents.draw_text(4, 192, contents.width, 24, "Classe(s) requise(s):") contents.draw_text(32, 216, contents.width, 24, "Classe") contents.draw_text(160, 216, contents.width, 24, "Niv.requis") contents.draw_text(-8, 216, contents.width, 24, "Niv. actuel", 2) contents.font.color = normal_color # Class Requirement Arrays classes, level_reqs, levels = [], [], [] current_class.level_requirements.each_key { |key| classes.push($data_classes[key].name) level_reqs.push(current_class.level_requirements[key]) levels.push(actor.class_levels[$data_classes[key].id]) } for i in 0...classes.size if levels[i] >= level_reqs[i] contents.font.color = normal_color else contents.font.color = disabled_color @requirements_met = false end contents.draw_text(32, 240 + i * 24, contents.width, 24, classes[i]) contents.draw_text(200, 240 + i * 24, contents.width, 24, level_reqs[i].to_s) contents.draw_text(-8, 240 + i * 24, contents.width, 24, levels[i].to_s, 2) end end end #-------------------------------------------------------------------------- # Frame Update #-------------------------------------------------------------------------- def frame_update @frame == 3 ? @frame = 0 : @frame += 1 refresh(@actor, @current_class) end #-------------------------------------------------------------------------- # Check Requirements #-------------------------------------------------------------------------- def check return @requirements_met end end
|
|