Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Afficher accesoirs (RMXP) Mer 30 Jan 2013 - 13:14 | |
| Bonjour à tous,j'affiche les armes,accesoires ect dans l'HUD via ces lignes de codes,j'aimerais savoir comment afficher les 2 seconds accesoires ajouter par le biais de ce script (si dessous) en suivant le même principe car je ni arrive pas et je ne suis même pas sur que c'est faisable en procédant de la même manière... ligne dans l'HUD. (les 5 premières lignes fonctionnent je précise) draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144) draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208) draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272) draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336) draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400) ligne pour afficher accesoire équipé 2 ? ligne pour afficher accesoire equipé 3 ?Script pour équiper 3 accesoires : - Code:
-
#============================================================================== # AccessoireX3 #============================================================================== module XRXS_MP8_Fixed_Valuables EQUIP_KINDS = [1, 2, 3, 4, 4, 4] EQUIP_KIND_NAMES = [] WINDOWS_STRETCH = true STATUS_WINDOW_ARRANGE = true STATUS_WINDOW_EX_EQUIP_ROW_SIZE = 24 STATUS_WINDOW_EX_EQUIP_X = 336 STATUS_WINDOW_EX_EQUIP_Y = 256 end
#============================================================================== # ¡ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ? ?C???N??[?h #-------------------------------------------------------------------------- include XRXS_MP8_Fixed_Valuables #-------------------------------------------------------------------------- # ? ?ö?J?C???X?^???X?Ï? #-------------------------------------------------------------------------- attr_reader :armor_ids #-------------------------------------------------------------------------- # ? ?Z?b?g?A?b?v #-------------------------------------------------------------------------- alias xrxs_mp8_setup setup def setup(actor_id) xrxs_mp8_setup(actor_id) @armor_ids = [] # ?g?£?— for i in 4...EQUIP_KINDS.size @armor_ids[i+1] = 0 end end #-------------------------------------------------------------------------- # ? ?î–{?r—Í?Ì?æ?¾ #-------------------------------------------------------------------------- alias xrxs_mp8_base_str base_str def base_str n = xrxs_mp8_base_str for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.str_plus : 0 end return n end #-------------------------------------------------------------------------- # ? ?î–{?í—p?³?Ì?æ?¾ #-------------------------------------------------------------------------- alias xrxs_mp8_base_dex base_dex def base_dex n = xrxs_mp8_base_dex for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.dex_plus : 0 end return n end #-------------------------------------------------------------------------- # ? ?î–{?f??³?Ì?æ?¾ #-------------------------------------------------------------------------- alias xrxs_mp8_base_agi base_agi def base_agi n = xrxs_mp8_base_agi for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.agi_plus : 0 end return n end #-------------------------------------------------------------------------- # ? ?î–{–?—Í?Ì?æ?¾ #-------------------------------------------------------------------------- alias xrxs_mp8_base_int base_int def base_int n = xrxs_mp8_base_int for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.int_plus : 0 end return n end #-------------------------------------------------------------------------- # ? ?î–{?¨—–h?ä?Ì?æ?¾ #-------------------------------------------------------------------------- alias xrxs_mp8_base_pdef base_pdef def base_pdef n = xrxs_mp8_base_pdef for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.pdef : 0 end return n end #-------------------------------------------------------------------------- # ? ?î–{–?–@–h?ä?Ì?æ?¾ #-------------------------------------------------------------------------- alias xrxs_mp8_base_mdef base_mdef def base_mdef n = xrxs_mp8_base_mdef for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.mdef : 0 end return n end #-------------------------------------------------------------------------- # ? ?î–{?ñ?ðC³?Ì?æ?¾ #-------------------------------------------------------------------------- alias xrxs_mp8_base_eva base_eva def base_eva n = xrxs_mp8_base_eva for i in 4...EQUIP_KINDS.size armor = $data_armors[@armor_ids[i+1]] n += armor != nil ? armor.eva : 0 end return n end #-------------------------------------------------------------------------- # ? ???õ?Ì?ÏX # equip_type : ???õ?^?C?v # id : ??í or –h?ï ID (0 ?È?ç???õ?ð?) #-------------------------------------------------------------------------- alias xrxs_mp8_equip equip def equip(equip_type, id) xrxs_mp8_equip(equip_type, id) if equip_type >= 5 if id == 0 or $game_party.armor_number(id) > 0 update_auto_state($data_armors[@armor_ids[equip_type]], $data_armors[id]) $game_party.gain_armor(@armor_ids[equip_type], 1) @armor_ids[equip_type] = id $game_party.lose_armor(id, 1) end end end end #============================================================================== # ¡ Window_EquipRight #============================================================================== class Window_EquipRight < Window_Selectable #-------------------------------------------------------------------------- # ? ?C???N??[?h #-------------------------------------------------------------------------- include XRXS_MP8_Fixed_Valuables #-------------------------------------------------------------------------- # ? ?I?u?W?F?N?g??ú?» # actor : ?A?N?^[ #-------------------------------------------------------------------------- if WINDOWS_STRETCH def initialize(actor) super(272, 64, 368, 192) h = (EQUIP_KINDS.size + 1) * 32 self.contents = Bitmap.new(width - 32, h) @actor = actor refresh self.index = 0 end end #-------------------------------------------------------------------------- # ? ???t???b?V?? #-------------------------------------------------------------------------- alias xrxs_mp8_refresh refresh def refresh xrxs_mp8_refresh @item_max = EQUIP_KINDS.size + 1 for i in 4...EQUIP_KINDS.size @data.push($data_armors[@actor.armor_ids[i+1]]) self.contents.font.color = system_color self.contents.draw_text(5, 32 * (i+1), 92, 32, EQUIP_KIND_NAMES[i-4].to_s) draw_item_name(@data[i+1], 92, 32 * (i+1)) end end end #============================================================================== # ¡ Window_EquipItem #============================================================================== class Window_EquipItem < Window_Selectable #-------------------------------------------------------------------------- # ? ???õ?í?Ê?ÌÝ?è #-------------------------------------------------------------------------- def equip_type=(et) @equip_type = et refresh end #-------------------------------------------------------------------------- # ? ???t???b?V?? #-------------------------------------------------------------------------- alias xrxs_mp8_refresh refresh def refresh xrxs_mp8_refresh if @equip_type >= 5 if self.contents != nil self.contents.dispose self.contents = nil end @data = [] armor_set = $data_classes[@actor.class_id].armor_set for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 and armor_set.include?(i) type = $data_armors[i].kind + 1 if !@equip_type.to_s.scan(/#{type}/).empty? @data.push($data_armors[i]) end end end @data.push(nil) @item_max = @data.size self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max-1 draw_item(i) end end end end #============================================================================== # ¡ Window_Status #============================================================================== class Window_Status < Window_Base #-------------------------------------------------------------------------- # ? ?C???N??[?h #-------------------------------------------------------------------------- include XRXS_MP8_Fixed_Valuables #-------------------------------------------------------------------------- # ?J?X?^?}?C?Y?|?C???gu?X?e[?^?X?æ–Ê?Ì?f?U?C???ð?ÏX?·?év #-------------------------------------------------------------------------- if STATUS_WINDOW_ARRANGE def refresh self.contents.clear draw_actor_graphic(@actor, 40, 112) draw_actor_name(@actor, 4, 0) draw_actor_class(@actor, 4 + 144, 0) draw_actor_level(@actor, 96, 32) draw_actor_state(@actor, 96, 64) draw_actor_hp(@actor, 96, 112, 172) draw_actor_sp(@actor, 96, 144, 172) draw_actor_parameter(@actor, 96, 192, 0) draw_actor_parameter(@actor, 96, 224, 1) draw_actor_parameter(@actor, 96, 256, 2) draw_actor_parameter(@actor, 96, 304, 3) draw_actor_parameter(@actor, 96, 336, 4) draw_actor_parameter(@actor, 96, 368, 5) draw_actor_parameter(@actor, 96, 400, 6) self.contents.font.color = system_color self.contents.draw_text(320, 48, 80, 32, "EXP") self.contents.draw_text(320, 80, 80, 32, "NEXT") self.contents.font.color = normal_color self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2) self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2) self.contents.font.color = system_color self.contents.draw_text(320, 112, 96, 32, "Equipement") draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 136) draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 160) draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 184) draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 208) draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 232)
end end #-------------------------------------------------------------------------- # ? ???t???b?V?? #-------------------------------------------------------------------------- alias xrxs_mp8_refresh refresh def refresh xrxs_mp8_refresh # ?g?£?— for i in 4...EQUIP_KINDS.size armor = $data_armors[@actor.armor_ids[i+1]] draw_item_name($data_armors[@actor.armor_ids[i+1]], STATUS_WINDOW_EX_EQUIP_X, STATUS_WINDOW_EX_EQUIP_Y + STATUS_WINDOW_EX_EQUIP_ROW_SIZE * (i-4)) end end end #============================================================================== # ¡ Scene_Equip #============================================================================== class Scene_Equip #-------------------------------------------------------------------------- # ? ?C???N??[?h #-------------------------------------------------------------------------- include XRXS_MP8_Fixed_Valuables #-------------------------------------------------------------------------- # ? ??C???— #-------------------------------------------------------------------------- alias xrxs_mp8_main main def main @addition_initialize_done = false xrxs_mp8_main for i in 4...EQUIP_KINDS.size @item_windows[i+2].dispose end end #-------------------------------------------------------------------------- # ? ???t???b?V?? #-------------------------------------------------------------------------- alias xrxs_mp8_refresh refresh def refresh unless @addition_initialize_done @item_windows = [] @item_window2.equip_type = EQUIP_KINDS[0] @item_window3.equip_type = EQUIP_KINDS[1] @item_window4.equip_type = EQUIP_KINDS[2] @item_window5.equip_type = EQUIP_KINDS[3] for i in 4...EQUIP_KINDS.size @item_windows[i+2] = Window_EquipItem.new(@actor, EQUIP_KINDS[i]) @item_windows[i+2].help_window = @help_window end if WINDOWS_STRETCH @right_window.height = (EQUIP_KINDS.size + 2) * 32 if @left_window.y + @left_window.height == 256 @left_window.height = @right_window.height end y_pos = (@right_window.y + @right_window.height) y_space = 480 - y_pos @item_window1.y = y_pos @item_window2.y = y_pos @item_window3.y = y_pos @item_window4.y = y_pos @item_window5.y = y_pos @item_window1.height = y_space @item_window2.height = y_space @item_window3.height = y_space @item_window4.height = y_space @item_window5.height = y_space for i in 4...EQUIP_KINDS.size @item_windows[i+2].y = y_pos @item_windows[i+2].height = y_space end end @addition_initialize_done = true end for i in 4...EQUIP_KINDS.size @item_windows[i+2].visible = (@right_window.index == i+1) end if @right_window.index >= 5 @item_window = @item_windows[@right_window.index + 1] end xrxs_mp8_refresh end #-------------------------------------------------------------------------- # ? ?t??[??XV (?A?C?e???E?B???h?E?ª?A?N?e?B?u?Ìê?) #-------------------------------------------------------------------------- alias xrxs_mp8_update_item update_item def update_item xrxs_mp8_update_item if Input.trigger?(Input::C) @item_window1.refresh @item_window2.refresh @item_window3.refresh @item_window4.refresh @item_window5.refresh for i in 4...EQUIP_KINDS.size @item_windows[i+2].refresh end Graphics.frame_reset return end end end Merci d'avance
Dernière édition par Kasbak le Jeu 31 Jan 2013 - 10:21, édité 1 fois |
|
Creme brulée Chevalier Mage (niveau 4)
Messages postés : 465 Date d'inscription : 04/02/2012 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Mer 30 Jan 2013 - 14:04 | |
| As-tu essayé ceci : - Code:
-
for i in 4...EQUIP_KINDS.size armor = $data_armors[@actor.armor_ids[i+1]] draw_item_name($data_armors[@actor.armor_ids[i+1]], STATUS_WINDOW_EX_EQUIP_X, STATUS_WINDOW_EX_EQUIP_Y + STATUS_WINDOW_EX_EQUIP_ROW_SIZE * (i-4)) end |
|
Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Jeu 31 Jan 2013 - 10:35 | |
| Sa m'affiche ça undefined method 'armor_ids' for nil class |
|
TheCloud Ancien staffeux
Messages postés : 207 Date d'inscription : 10/10/2008 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Jeu 31 Jan 2013 - 13:01 | |
| - Code:
-
draw_item_name($data_armors[@actor.armor5_id], 320 + 24, 436) draw_item_name($data_armors[@actor.armor6_id], 320 + 24, 472) Essaies ça, je vois qu'il y a un ajout d'index (même si je comprends pas trop le script que tu as donné, il est très brouillon à mon goût x_x. De plus, je suis juste levé.) Donc, ne t'attends pas à quelque chose de fonctionnel, mais ça vaut le coup de tenter x_x. |
|
Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Jeu 31 Jan 2013 - 13:49 | |
| Ca ne fonctionne pas d'ailleur je crois que c'était les premieres lignes que j'avais tenter,en fait quand tu lance le jeu avec ces lignes juste après cliquer sur 'commencer' le jeu s'arrête net sans même indiquer de message d'erreurs. |
|
TheCloud Ancien staffeux
Messages postés : 207 Date d'inscription : 10/10/2008 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Jeu 31 Jan 2013 - 13:58 | |
| Ce qui est étrange c'est que dans le script de base "Accessoires x3", l'auteur lui-même n'appelle pas les deux autres accessoires dans la partie Window_Status |
|
Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Sam 2 Fév 2013 - 17:54 | |
| Oui c'est etranges...personnes ne sais comment faire du coup ? |
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Sam 2 Mar 2013 - 0:04 | |
| Et pourquoi pas tout simplement :
draw_item_name($data_armors[@actor.[@armor_ids[1]]] draw_item_name($data_armors[@actor.[@armor_ids[2]]]
?
De toute façon il manque 2 lignes au script. Celle don vous avez parlez. On le vois qu'elles ont été supprimé.
Il y a un vide de 2 lignes à un endroit. Et me dite pas que pour une question d'ergonomie parce que le code est laid. |
|
Creme brulée Chevalier Mage (niveau 4)
Messages postés : 465 Date d'inscription : 04/02/2012 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Sam 2 Mar 2013 - 10:49 | |
| Ouais j'avoue qu'il est pas beau, j'aime pas quand c'est pas indenté :/ Mais on ne sait pas si le problème est résolu donc bon. |
|
Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Re: Afficher accesoirs (RMXP) Lun 4 Mar 2013 - 16:59 | |
| Ca fonctionne pas mais bon apparement le script est pas top donc si c'est pas faisable vous pouvez bloquer le sujet,merci quand meme. |
|