Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Cerberos

Mouse using

Recommended Posts

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.


 


0is1.png


 


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


 


gfrb.png


 


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.


jhkt.png


 


 


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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...