Cerberos 0 Report post Posted September 8, 2013 I was having some free time, i i took my project and make some things, i add *Mousie the mouse the mouse system to my project, it's very cool, but im having, a problem or a issue...again as im not a scripter i get trap , with the mouse system i can pick almost everything in menu an another kind of things, BUT when i was through my horizotal menu it doesn't matter if its equip-status or party (orden) it happen and happend always when i go down the cursor goes right, and when i go up he goes left like if it was a normal menu. but that's not all, i took almost all day trying to find the issue in the script, maybe i can fix it(i thought...), but i couldn´t. I found something in another script that works with the the menu too i locked it between =begin and =end, (in the mousie system) this is the part of the script i locked and it almost come out, but it didn´t there was a change but it wasn't the one i was looking for now it apparently works when i go right he goes right and and when i go left the same, BUT it just work for the red zone, i took me all day, im really tired now x.x, i expect someone help me. This is the horizontal menu i'm using... with the modifications obviusly, the mouse script are 6 parts, i dont think you will need all that so i'm not putting it here, if you need it let me know. #===================================================================== # ■Window_MenuStatus redéfini # Permet d'avoir une séléction vérticale des personnages dans le menu. #===================================================================== # Auteur: Tasslehoff # Version: 2.0 # Date: 14/05/2011 #===================================================================== # # La taille de la séléction est réglée automatiquement selon le nombre de # personnages dans l'équipe. # Vous pouvez cependant désactiver cette option à la ligne 30 et choisir # une largeur à la ligne 33. # Vous pouvez également activer ou désactiver les barres de séparation entre # les personnages à la ligne 36. # #====================================================================== #Définit la classe (Window_MenuStatus) et la classe parente (Window_Selectable). #Window_MenuStatus hérite ainsi des variables de classes et des méthodes de Window_Selectable. class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * Initialize (ce qui se passe au début) #-------------------------------------------------------------------------- def initialize ###################### # # largeur_auto = true # Taille automatique de la séléction. # # # true = activé et false = désactivé # # @largeur = 114 # Largeur de la séléction (conseillé : entre 76 et 448 # # # selon le nombre de personnages maximum dans l'équipe) # # @lignes = false # Barres de séparation entre les personnages # # # true = activé et false = désactivé ###################### #Crée la fenêtre. super(0, 0, 480, 480) self.contents = Bitmap.new(width - 32, height - 32) if largeur_auto largeur = (width - 32) / $game_party.actors.size @largeur = largeur.to_i end #Si @largeur est impair, ajoute 1. if @largeur%2 == 1 @largeur += 1 end #Spécifie le nombre maximum de colonnes (=le nombre de personnages dans l'équipe). @column_max = $game_party.actors.size #Appel la méthode refresh. refresh #Désactive le clignotement du curseur. self.active = false #Place le curseur sur -1. self.index = -1 end #-------------------------------------------------------------------------- # * Refresh (ce qui se passe à chaque frame, 1 seconde = 20 frames) #-------------------------------------------------------------------------- def refresh #Efface le contenu. self.contents.clear #Rends le nombre d'item (de séléctions) égal au nombre de personnages dans l'équipe. @item_max = $game_party.actors.size #Affiche les informations du personnage i en remplacant chaque fois i par un nombre #compris entre 0 et le nombre de personnages dans l'équipe. for i in 0...$game_party.actors.size x = i * @largeur #this green numbers down here are part the original # the numbres in () are my modifications... actor = $game_party.actors[i] #Rend "actor" égal au personnage numéro i. draw_actor_face(actor, x + @largeur/2-130, 370) #/2, 112 2,130 #Déssine le sprite de "actor". draw_actor_name(actor, x + @largeur/2-55, 1-12) #/2-32 #Ecrit le nom de "actor". draw_actor_class(actor, x + @largeur/4, 10) #/2-32, 32 #Ecrit la classe de "actor". self.contents.draw_text(x+1+@largeur/1-25, 1-4, @largeur/2-32, 32, actor.level.to_s) #Ecrit le niveau de "actor". (x+6+@largeur/2, 86, @largeur/2-32, 32, actor.level.to_s) draw_actor_state(actor, x + @largeur/2-70, 363) #/2- 32, 112 #Ecrit l'état de "actor". draw_actor_exp_bis(actor, x, 420) #244 #Ecrit l'expérience de "actor". draw_actor_hp_bis(actor, x, 380) #156 #Ecrit les pv de "actor". draw_actor_sp_bis(actor, x, 400) #200 #Ecrit les mp de "actor". # draw_actor_equipement(actor, x, 300) #i took this away for me too. if @lignes self.contents.fill_rect((i + 1) * @largeur, 0, 1, 480, Color.new(255, 255, 255)) end #1 end end #-------------------------------------------------------------------------- # * Update Cursor Rect (met à jour le rectangle du curseur) #-------------------------------------------------------------------------- def update_cursor_rect #Si le curseur est en dessous de 0, l'éfface, sinon le met au bon endroit. if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(@index * @largeur, 0, @largeur, self.height - 32) end end #-------------------------------------------------------------------------- # * Modifications de l'affichage des informations #-------------------------------------------------------------------------- ############################ #Affichage de l'expérience.# ############################ def draw_actor_exp_bis(actor, x, y) #Fixe la couleur à system_color. self.contents.font.color = system_color #Ecrit "Exp :". Entre parenthèses : (position x, position y, largeur, hauteur, texte). self.contents.draw_text(x+4, y, contents.text_size("Exp :").width, 32, "Exp :") #Fixe la couleur à normal_color. self.contents.font.color = normal_color #Ecrit l'expérience. Entre parenthèses : (position x, position y, largeur, hauteur, texte, alignement). self.contents.draw_text(x+contents.text_size("Exp :").width+6, y, @largeur-contents.text_size("Exp :").width - 14, 32, actor.exp_s, 2) #Dessine la barre d'expérience. self.contents.fill_rect(x+5, y+25, @largeur - 11, 6, Color.new(20, 20, 20, 150)) self.contents.fill_rect(x+4, y+24, @largeur - 12, 5, Color.new(0, 0, 0, 200)) #(RETIRADO) self.contents.fill_rect(x+5, y+25, (@largeur-14)*actor.exp_s.to_i/actor.next_exp_s.to_i, 3, Color.new(100, 100, 220, 255)) # I took this away because i was getting trouble with it ################### #Affichage des PV.# ################### def draw_actor_hp_bis(actor, x, y) self.contents.font.color = system_color self.contents.draw_text(x+4, y, contents.text_size($data_system.words.hp+" :").width, 32, $data_system.words.hp+" :") self.contents.font.color = actor.hp == 0 ? knockout_color : actor.hp <= actor.maxhp / 3 ? crisis_color : normal_color self.contents.draw_text(x+contents.text_size($data_system.words.hp+" :").width+6, y, @largeur-contents.text_size($data_system.words.hp+" :").width - 14, 32, actor.hp.to_s, 2) if actor.hp <= actor.maxhp / 3 couleur_barre = Color.new(230, 230, 0, 255) else couleur_barre = Color.new(80, 230, 20, 255) end self.contents.fill_rect(x+5, y+25, @largeur - 11, 6, Color.new(20, 20, 20, 150)) self.contents.fill_rect(x+4, y+24, @largeur - 12, 5, Color.new(0, 0, 0, 200)) self.contents.fill_rect(x+5, y+25, (@largeur-14)*actor.hp/actor.maxhp, 3, couleur_barre) end ################### #Affichage des SP.# ################### def draw_actor_sp_bis(actor, x, y) self.contents.font.color = system_color self.contents.draw_text(x+4, y, contents.text_size($data_system.words.sp+" :").width, 32, $data_system.words.sp+" :") self.contents.font.color = actor.sp == 0 ? knockout_color : actor.sp <= actor.maxhp / 3 ? crisis_color : normal_color self.contents.draw_text(x+contents.text_size($data_system.words.sp+" :").width+6, y, @largeur-contents.text_size($data_system.words.sp+" :").width - 14, 32, actor.sp.to_s, 2) if actor.sp <= actor.maxsp / 3 couleur_barre = Color.new(165, 118, 100, 255) else couleur_barre = Color.new(100, 40, 160, 255) end self.contents.fill_rect(x+5, y+25, @largeur - 11, 6, Color.new(20, 20, 20, 150)) self.contents.fill_rect(x+4, y+24, @largeur - 12, 5, Color.new(0, 0, 0, 200)) self.contents.fill_rect(x+5, y+25, (@largeur-14)*actor.sp/actor.maxsp, 3, couleur_barre) end ############################ #Affichage de l'équipement.# ############################ def draw_item(item, x, y) if item == nil return end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x+@largeur/2-36, y, bitmap, Rect.new(0, 0, 24, 24)) end end Share this post Link to post Share on other sites