Auteur : Moi, Raizen, c'est mon 2ème script :p Fonctionnalité : Ce script va vous permettre d'afficher dans le menu, une nouvelle option nommée "Réputation", qui contient la réputation de l'équipe, ses points de réputation, ainsi que les autres réputations accompagnés d'une image pour chaque réput.
Utilisation : En tout, il y a quatre modifications à faire, tout est expliqué dans le script. Ce script doit être placé au dessus de Main. Screen : Voilà à quoi va ressembler votre menu après :
Voici ce que vous aurez si vous cliquez sur l'option "Réputation" :
1ère partie du script :
Spoiler:
Code:
########################################################################################## # # script écrit par : Raizen ZENTRIX # # script Réputation # Version 1.0 # # Aide sur : http;//rpgmvx-rz.forumactif.com # ##########################################################################################
########################################################################################## # # Ce script permet de rajouter dans le menu l'option "Réputation", qui contient la réputation de l'équipe, leurs points # de réputations actuelles, ainsi que les autres réputations accompagnés d'une image pour chaque réput. # # Pour le bon fonctionnement du script, suivez pas à pas et ATTENTIVEMENT les instructions dans le script. # # P.S : En tout il y a 4 modifications à faire. # # Ce script est à placé au dessus de "Main" # # Pour utiliser le script ce qui veut dire changer la réputation de l'équipe au cours du jeu, il faut changer les points # de réputation, évident, non ? # Pour cela, vous devez appeler un script par event, et y mettre l'une de ces commandes : # # $points += M (Pour augmenter la valeur des points d'un montant de M) # # $points -= M (Pour les diminuer d'un montant de M) # # Facile, non ? ^^ # # Maintenant, passons au choses sérieuse : Les modifications ! # ##########################################################################################
######################################### Le script ######################################## class Scene_Reputation
# C'est la variable des points de réputation, comme vous voyez elle est égale à la valeur 0, car au début, l'équipe aura # 0 point de réputation, mais vous pouvez toujours modifier cette valeur si vous voulez que votre équipe ne commence # pas avec 0. # P.S : La variable peut ausi être de valeur négative. $points = 0
def main #--------------------------------------------------------------------- A MODIFIER ------------------------------------------------------------------- # Fenêtre de bienvenue : @welcome_window = Window_Base.new(0, 0, 546, 64) # Ici, vous pouvez modifier le message de bienvenue en remplaçant la phrase entre " " par votre message : @welcome_window.contents.draw_text(0, 0, 506, 28, "Réputation de l'équipe", 1)
# Fenêtre du titre de la colonne que contiendra les divers réputations : @tit_window = Window_Base.new(0, 120, 190, 52) @tit_window.contents.font.size = 19 # Ici, vous pouvez modifier le titre de la fenêtre, en remplaçant la phrase entre " " par votre message : @tit_window.contents.draw_text(0, 0, 190, 22, "Réputations :") #-------------------------------------------------------------- FIN DE LA 1ERE MODIF --------------------------------------------------------# @reput_name = [] @reput_pic = [] @reput_color = [] #--------------------------------------------------------------------- A MODIFIER ------------------------------------------------------------------- # C'est ici que vous metterez le nom des réputations dans la variable @reput_name[x] avec x : la position du choix, # le nom de l'image (sans l'extension) de cette réputation dans la variable @reput_pic[x] avec x : toujours la position # du choix , et enfin la couleur de la réputation dans la variable : @reput_color[x] = Color.new(a,b,c) # avec : # x : la position du choix # a : chiffre représentant la tendance de la couleur Rouge # b : la tendance de la couleur Verte # c : et enfin celle de la couleur Bleue # # P.S : # Le format conseillé des images est de 346x290, et de type jpg ou png (ce sont ceux que j'ai testé) # Les images doivent être dans le dossier Pictures dans Graphics # La position du premier choix DOIT TOUJOURS commencer par 0 # Et vous pouvez mettre autant de choix que vous voulez. # # Alors, récapitulons : @reput_name[0] = "Chevalier" # Nom de la première réputation @reput_pic[0] = "image_chevalier" # Nom de l'image de la 1ere réputation @reput_color[0] = Color.new(0,0,255) # La couleur de la 1ere réputation
@reput_name[1] = "Noble" # Nom de la 2eme réput @reput_pic[1] = "image_noble" # Nom de l'image @reput_color[1] = Color.new(0,90,255) # La couleur
@reput_name[8] = "Cruel" @reput_pic[8] = "image_cruel" @reput_color[8] = Color.new(255, 0, 0) #-------------------------------------------------------------- FIN DE LA 2EME MODIF --------------------------------------------------------# # Fenêtre de la liste de réputation : @list_window = Window_Reput.new(190, @reput_name, 1, 9) @list_window.x = 0 @list_window.y = 172 #--------------------------------------------------------------------- A MODIFIER ------------------------------------------------------------------- # La réputation par défaut de l'équipe : @reput_actuelle = @reput_name[4] @color_actuelle = @reput_color[4] #-------------------------------------------------------------- FIN DE LA 3EME MODIF --------------------------------------------------------#
#--------------------------------------------------------------------- A MODIFIER ------------------------------------------------------------------- # Conditions de réputation : # Ici, vous pouvez configurer combien de points il faut pour avoir chaque réputation, en utilisant cette comande : # # if $points >= 500 && $points < 600 # @reput_actuelle = @reput_name[x] # @color_actuelle = @reput_color[x] # end # # Alors, dans l'exemple ci-dessus, on a ceci : # Si les points sont supérieur ou égale à 500 et inférieur à 600 (si les points sont compris entre 500 et 600) # La réputation actuelle de l'équipe sera la réputation dont la position et la couleur est x # # P.S : Le signe && signifie "et" # N'oubliez pas que vous pouvez mettre autant de condition que vous voulez ;) # Bon alors, récapitulons : if $points >= 3000 # Si les points sont supérieur ou égale à 3000 @reput_actuelle = @reput_name[0] # La réputation actuelle de l'équipe sera la 1ere réput. dont la position est 0 @color_actuelle = @reput_color[0] # Et la couleur de la réput. sera aussi celle dont la position est 0 end # Fin
if $points >= 1200 && $points < 3000 # Si les points sont compris entre 1200 et 3000 @reput_actuelle = @reput_name[1] # La réput actuelle de l'équipe sera celle dont la position est 1 @color_actuelle = @reput_color[1] # Et sa couleur sera aussi celle dont la position est 1 end # Fin
if $points >= 500 && $points < 1200 @reput_actuelle = @reput_name[2] @color_actuelle = @reput_color[2] end
if $points >= 200 && $points < 500 @reput_actuelle = @reput_name[3] @color_actuelle = @reput_color[3] end
if $points < 200 && $points > -200 @reput_actuelle = @reput_name[4] @color_actuelle = @reput_color[4] end
if $points <= -200 && $points > -400 # Et de même pour les points négatives, si ils sont inférieur ou égale à -200 @reput_actuelle = @reput_name[5] # et supérieur à -400, la réput actuelle ainsi que sa couleur sera celle dont @color_actuelle = @reput_color[5] # la position est 5 end # Fin
if $points <= -400 && $points > -1000 @reput_actuelle = @reput_name[6] @color_actuelle = @reput_color[6] end
if $points <= -1000 && $points > -2500 @reput_actuelle = @reput_name[7] @color_actuelle = @reput_color[7] end
if $points <= -2500 # Si les points sont inférieur ou égale à 2500 @reput_actuelle = @reput_name[8] # La réput actuelle et sa couleur sera celle dont la position est 8 @color_actuelle = @reput_color[8] end # Fin #-------------------------------------------------------------- FIN DE LA 3EME MODIF --------------------------------------------------------# # Fenêtre de la réputation actuelle : @reput_actuelle_window = Window_Base.new(0, 64, 273, 56) @reput_actuelle_window.contents.font.size = 19 # La taille de l'écriture dans cette fenêtre @reput_actuelle_window.contents.draw_text(0, 0, 233, 24, "Votre réputation :") # Le message qu'apparaîtera @reput_actuelle_window.contents.font.color = @color_actuelle @reput_actuelle_window.contents.draw_text(0, 0, 233, 24, @reput_actuelle.to_s, 2)
# Fenêtre des points actuelles : @points_window = Window_Base.new(273, 64, 273, 56) @points_window.contents.font.size = 19 # La taille de l'écriture dans cette fenêtre @points_window.contents.draw_text(0, 0, 233, 24, "Points actuelles :") # Le message qu'apparaîtera @points_window.contents.font.color = @color_actuelle @points_window.contents.draw_text(0, 0, 233, 24, $points.to_s, 2)
# Fenêtre où apparaîteront les images des réputations @image_window = Window_Base.new(190, 120, 356, 300) @image_window.back_opacity = 0
Graphics.transition loop do Graphics.update Input.update create_sprite if $scene != self break end end
Graphics.freeze @welcome_window.dispose @points_window.dispose @reput_actuelle_window.dispose @image_window.dispose @reput_sprite.dispose @tit_window.dispose @list_window.dispose end
def custom_color(index) case index #--------------------------------------------------------------------- A MODIFIER ------------------------------------------------------------------- # Ici, c'est une autre zone où il nout faut reconfiguré les couleurs, en utilisant cette commande : # # when x # return Color.new(a,b,c) # # avec : # x : la position de la réputation # a : chiffre représentant la tendance de la couleur Rouge # b : la tendance de la couleur Verte # c : et enfin celle de la couleur Bleue # # Vous pouvez ajouter autant de when que le nombre des réputations que vous avez mis. # # IMPORTANT : Vous devez utiliser la même couleur que celle utiliser dans la première et deuxième modif, # # Exemple : # # when 0 # Pour la réputation dont la position est 0 # return Color.new(0, 0, 255) # Mettre la même couleur que vous avez mis dans la variable @reput_color du début # # En d'autre termes, si vous aviez mis : # @reput_color[0] = Color.new(50,60,70) # Alors il faut mettre : # return Color.new(50,60,70) # Voilà ! when 0 return Color.new(0, 0, 255) when 1 return Color.new(0, 90, 255) when 2 return Color.new(0, 150, 255) when 3 return Color.new(0, 190, 255) when 4 return Color.new(255,255,255) when 5 return Color.new(255,190,0) when 6 return Color.new(255, 150, 0) when 7 return Color.new(255, 90, 0) when 8 return Color.new(255, 0, 0) #-------------------------------------------------------------- FIN DE LA 4EME MODIF --------------------------------------------------------# else return normal_color end end
end
class Scene_Menu < Scene_Base
def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save s6 = Vocab::game_end s7 = "Réputation" # Ici, le nom qu'apparaîtera dans le menu @command_window = Window_Option.new(160, [s1, s2, s3, s4, s7, s5, s6]) @command_window.index = @menu_index if $game_party.members.size == 0 @command_window.draw_item(0, false) @command_window.draw_item(1, false) @command_window.draw_item(2, false) @command_window.draw_item(3, false) end if $game_system.save_disabled @command_window.draw_item(4, false) end end
def update_command_selection if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @command_window.index < 4 Sound.play_buzzer return elsif $game_system.save_disabled and @command_window.index == 4 Sound.play_buzzer return end Sound.play_decision case @command_window.index when 0 # Objet $scene = Scene_Item.new when 1,2,3 # Compétence, équipment, statut start_actor_selection when 4 # Réputation $scene = Scene_Reputation.new when 5 # Sauvegarder $scene = Scene_File.new(true, false, false) when 6 # Quitter la partie $scene = Scene_End.new end end end
end ####################################### Fin du script #######################################
S'il y a un problème avec le script, veuillez poster une réponse (pas de MP, il se peut que quelqu'un d'autre aurait le même problème). J'espère que ce script vous sera utile
EDIT IMPORTANT : Il y a une petite erreur dans le script que apparemment personne ne l'a remarqué, mais bon, veuillez ajouter une 3ème partie juste au dessous de la deuxième partie (dans le même script)
3ème partie :
Spoiler:
Code:
#============================================================================== # Modification de Scene_File #============================================================================== class Scene_File < Scene_Base
Ou sinon regarde par exemple mes derniers script en date, si tu veux savoir comment sa fonctionne ! Si t'a des questions sur les modules n'hésite pas !
Sylfurion
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
Sujet: Re: [VX] Réputation Mer 26 Aoû 2009 - 15:54
Salut merci beaucoup Raizen, mais j'ai une question, Est-ce possible d'avoir plusieurs " faction "
Par exemple, Qu'on soit Noble dans telle village, Cruel dans un autre etc ... ?
Merci beaucoup d'avance
Ciao
Sylfurion
Zodiak
Seigneur Lv.18
Age : 29 Avertissements : 3Inscrit le : 20/12/2008 Messages : 2292
Sujet: Re: [VX] Réputation Mer 26 Aoû 2009 - 17:38
Hmm... Tu joues a Metin2, dis-moi ? C'est les même grades xD
Merci du partage
Raizen
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
Sujet: Re: [VX] Réputation Jeu 27 Aoû 2009 - 13:27
Citation :
Par exemple, Qu'on soit Noble dans telle village, Cruel dans un autre etc ... ?
Je vais voir ce que je peux faire, mais je ne promets rien, et dans tous les cas, ce sera dans la prochaine version du script.
Citation :
Hmm... Tu joues a Metin2, dis-moi ? C'est les même grades xD
lol, ouais, je ne voulais pas me "casser" la tête à chercher des grades (puisque je ne vais pas utiliser le script pour moi...), alors j'ai pensé à ceux de Metin2 ^^ parce que ces derniers (les grades) n'étaient que pour montrer la fonction et l'utilisation du script ^^
Edit : Blockade, le cours est génial, je vais m'en servir dans mes script à venir, merci beaucoup
Dernière édition par Raizen le Jeu 27 Aoû 2009 - 13:48, édité 1 fois
Sylfurion
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
Sujet: Re: [VX] Réputation Jeu 27 Aoû 2009 - 13:35
O.K. merci et bon courage pour faire la version 2.0
Ciao
kenny123452
Poulet carnivore Lv.2
Age : 30 Inscrit le : 20/08/2009 Messages : 14
Sujet: Re: [VX] Réputation Jeu 27 Aoû 2009 - 19:30
Merci du partage! Je vais l'utiliser pour mon projet ^^
Lucus-le-naimbus
Noble Lv.8
Age : 29 Inscrit le : 19/04/2009 Messages : 272
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:34
Bah c'est presque aussi simple en event avec une variable, mais bon, le script est toujours mieux^, y'a un onglet dans le menu =D
Merci du partage ^^
Raizen
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:38
Citation :
Bah c'est presque aussi simple en event avec une variable
Tu peux mieux exprimer ton point de vue ? C'est que, ... je n'ai pas trop saisi
Aether
Citadin Lv.7
Age : 29 Inscrit le : 14/08/2009 Messages : 199
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:40
Ce qu'il veut dire, c'est que tu peux aussi faire ça par variable, pas besoin d'un script aussi conséquent... J'ai bien saisi?
Raizen
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:42
Ben c'est exactement ça que je veux comprendre : Comment s'y prendre pour faire un système de réputation par Events ??
Lucus-le-naimbus
Noble Lv.8
Age : 29 Inscrit le : 19/04/2009 Messages : 272
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:43
Ouais ouais t\'as bien \"saisi\" ^^
Mais bon, le script est bien aussi, ça fait 1 event de moins et pis ça rajoute un onglete dans le menu =P
Dernière édition par Lucus-le-naimbus le Ven 28 Aoû 2009 - 16:44, édité 1 fois
TaZ
Age : 30 Inscrit le : 22/11/2008 Messages : 3382
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:44
Tu peux créer une barre en image dont le curseur descend ou monte selon la valeur de la variable "Réputation", mais ton script sera forcément mieux qu'un système en évent.
Lucus-le-naimbus
Noble Lv.8
Age : 29 Inscrit le : 19/04/2009 Messages : 272
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:46
Oui c'est sûr, et j'ai jamais dit :" C'est naz hein, c'est mieu en event" xD le script fait économiser du temps et de l'argent...
Raizen
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:47
C'est que, je cherches toujours de savoir s'il n'y a pas de possibilités en events, avant de le faire en script, et s'il y en a, ben, j'essaie d'améliorer quoi ^^
C'est pour ça que je voulais savoir comment s'y prendre en events ^^
Lucus-le-naimbus
Noble Lv.8
Age : 29 Inscrit le : 19/04/2009 Messages : 272
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:49
ok... mais bon y'a pleins de chose qui sont possible en event et qui sont 10 fois mieux en scripts...
Sihn
Voyageur Lv.10
Age : 36 Inscrit le : 24/04/2009 Messages : 407
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:53
Le meilleur système, ce sera toujours celui que l'on fait soi-même, qu'il soit en event ou en script.
Gothor
Chevalier Lv.17
Age : 31 Inscrit le : 27/04/2008 Messages : 1835
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 16:54
@Raizen >> en évent c'est simple, tu affiches une image sur ta map, qui sera donc ta barre de réputation.
Tu affiches ensuite une image qui indiquera le niveau de réputation sur cette barre, et dont la position dépendra de la valeur de la variable
C'est petit, discret, ça se voit directement sur la map, en d'autres mots, c'est parfait ^^
Et bon script
@Lucus >> Et inversement =°
@Sihn >> Même si le système marche pas? =°
Raizen
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 17:02
Message adressé àSihn : ça c'est ce que j'appelle de la sagesse dans les mots lol.
Message adressé à Gothor :, ouais t'as raison, c'est tout à fait possible en events ^^, et même que cela est très pratique pour le joueur de voir sa réput. (genre avec un bouton), merci de cette info.
Lucus-le-naimbus
Noble Lv.8
Age : 29 Inscrit le : 19/04/2009 Messages : 272
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 17:05
Ah ouais j'avais pensé à la barre de réput'... que je suis con Oui c'est sûr que vus comme ça, je le préfèrerais à ce script.... =°
La Meche
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 17:08
C'est ton 2éme script O.o Ah bah chapeaux xD C'est un très bon début ^^ A quand le système de combat x]
Raizen
Va-nu-pieds Lv.4
Age : 31 Inscrit le : 03/08/2009 Messages : 61
Sujet: Re: [VX] Réputation Ven 28 Aoû 2009 - 17:10
lol merci, je fais de mon mieux ^^
villareal
Poulet trizo Lv.3
Age : 29 Avertissements : 2Inscrit le : 01/03/2009 Messages : 35
Sujet: Re: [VX] Réputation Jeu 10 Sep 2009 - 15:24
Bon script, aurais-tu pris les grades de METIN 2 ?
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: [VX] Réputation Jeu 10 Sep 2009 - 15:57
Raizen a écrit:
Citation :
Hmm... Tu joues a Metin2, dis-moi ? C'est les même grades xD
lol, ouais, je ne voulais pas me "casser" la tête à chercher des grades (puisque je ne vais pas utiliser le script pour moi...), alors j'ai pensé à ceux de Metin2 ^^ parce que ces derniers (les grades) n'étaient que pour montrer la fonction et l'utilisation du script ^^
Hum, déjà demandé !
Contenu sponsorisé
Sujet: Re: [VX] Réputation
[VX] Réputation
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum