Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV

Apprendre
RPG Maker

Guides
Tutoriels
Making-of

Dans le
Forum

Section Entraide

Tutos: Approximer les fonctions cos et (...) / News: RMN Music Pack 2 enfin sorti ! / Divers: RPG Maker Paper patch 1.5.6 / Interviews: FoxFiesta (Aurélien Dos (...) / News: Alex d'or 2020 : Fin des tests et (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

161 connectés actuellement

10767833 visiteurs
depuis l'ouverture

9 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Kingdom Ultimate

Zarok

Offgame

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RPG Maker VX Ace] Menu simplifié


Linith - posté le 07/12/2019 à 22:12:33 (5 messages postés)

❤ 0

Domaine concerné: script
Logiciel utilisé: RPG Maker VX Ace
Bonjour!

Y connaissant assez peu en programmation je me suis retrouver dans une impasse. J'ai essayer de faire ce que je voulait en tentant de bidouiller des scripts mais ça ne fonctionnait pas...

Je cherche à faire un menu simplifié qui ne comprendrait qu'un retour au jeu et un retour à l'écran titre...
De plus, sous ce menu, plutôt que d'avoir le windows de base je voudrait pouvoir mettre une image.

Si quelqu'un est à même de m'aider je suis preneuse!


LittleGamer - posté le 08/12/2019 à 11:49:20 (402 messages postés)

❤ 0

Hm, j'avais fait un peu de ça sur le script de base d'un projet avorté. Je vais voir si je retrouve quelque chose et si ça marchait, je ne te promets rien mais je crois voir ce que tu veux pour enlever des éléments de menu.


EDIT :
Alors, je viens de bidouiller un peu, pour l'instant, j'ai ça :
image

Est-ce que c'est ce que tu veux du côté des commandes ?

Si j'ai bien compris, tu voudrais avoir cette commande "Quitter" (=écran titre / fermeture du programme) et une commande custom "Retour au jeu", on est d'accord ?

Tu voudrais aussi enlever la partie à droite avec les membres ou pas ? Ainsi que l'argent ?

Et avec tout ça, tu veux mettre une image au fond ?


Si ce n'est pas ça, est-ce que tu peux poster un schéma de ce que tu aimerais comme menu ?


Pour t'expliquer comment j'ai fait :
- ça se passe dans la partie "Window_MenuCommand" des scripts. Là ce que j'ai fait, ce n'est pas de supprimer ces menus du jeu, mais seulement de passer en commentaire les fonctions qui les appelaient : en français, ça veut dire que les commandes de ces menus existent mais n'apparaissent jamais puisque les éléments qui leurs disaient d'apparaitre ne sont plus affiché en jeu ni accessible pour le joueur.

- J'ai pour ça passé en commentaire les fonctions et déclarations de variables qui étaient reliées à l'apparition des menus que tu ne veux plus utiliser. Sur ACE, cela inclut, si je suis ta demande à la lettre :

Spoiler (cliquez pour afficher)



-Si tu ne supprimes que les éléments qui affichent les commandes et pas celles qui les définissents (la partie ligne 37-41) le jeu va crash au moment d'appeler le menu (= au moment où le joueur va appuyer sur echap sur la map).

Maintenant, est-ce que tu veux que j'essaie de te faire ça et te le fournir tout cuit, ou est-ce que tu veux tatonner par toi même ? Personnellement je m'en fiche, ça m'entrainera dans les deux cas, ça dépend de si toi tu va apprendre deux trois petits trucs aussi. Je précise que j'ai pas un niveau très élevé en programmation, d'autant que je suis plutôt sur Game Maker que RPG Maker, mais je pense pouvoir te faire ton menu si ce n'est que de la modification de celui d'origine.


Linith - posté le 08/12/2019 à 14:22:58 (5 messages postés)

❤ 0

Merci de ton aide!

En effet, c'est comme tu l'as dit, tu as compris ce que je voulais: les membres de l'équipe et l'argent en moins avec la commande retour au jeu et la commande retour à l'écran titre. (et l'image en dessous)

Comme je ne pense vraiment pas y arriver seule je veux bien de ton coup de main pour obtenir ce menu.


LittleGamer - posté le 08/12/2019 à 14:33:35 (402 messages postés)

❤ 0

L'image là tout de suite je t'avoue que je ne vois pas comment faire, j'ai jamais essayé sur RM, ça me parait pas forcément sorcier mais je vais devoir regarder un coup la doc.

L'argent c'est pas compliqué de mémoire. Le menu sur le côté je pense voir comment faire, j'éditerai quand j'aurai fait tout ça.


EDIT : OK, alors en fait c'est assez simple, pareil qu'auparavant on va uniquement mettre en commentaire l'élément qui appelle la fenêtre de statut et de gold dans le menu. ça évitera de potentiels crashs du jeu si une autre fonction appelle ces systèmes.

Dans le script "Scene_Menu", passe simplement en commentaire les lignes 14 et 15 (create_gold window ; create_statut window).

Pour enlever les commandes de menu, on va faire comme suit ; remplace le code de Window_MenuCommand par ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
#  This command window appears on the menu screen.
#==============================================================================
 
class Window_MenuCommand < Window_Command
  #--------------------------------------------------------------------------
  # * Initialize Command Selection Position (Class Method)
  #--------------------------------------------------------------------------
  def self.init_command_position
    @@last_command_symbol = nil
  end
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
    select_last
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    item_max
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
#~     add_main_commands
#~     add_formation_command
    add_original_commands
#~     add_save_command
    add_game_end_command
  end
  #--------------------------------------------------------------------------
  # * Add Main Commands to List
  #--------------------------------------------------------------------------
#~   def add_main_commands
#~     add_command(Vocab::item,   :item,   main_commands_enabled)
#~     add_command(Vocab::skill,  :skill,  main_commands_enabled)
#~     add_command(Vocab::equip,  :equip,  main_commands_enabled)
#~     add_command(Vocab::status, :status, main_commands_enabled)
#~   end
  #--------------------------------------------------------------------------
  # * Add Formation to Command List
  #--------------------------------------------------------------------------
#~   def add_formation_command
#~     add_command(Vocab::formation, :formation, formation_enabled)
#~   end
  #--------------------------------------------------------------------------
  # * For Adding Original Commands
  #--------------------------------------------------------------------------
  def add_original_commands
  end
#~   #--------------------------------------------------------------------------
#~   # * Add Save to Command List
#~   #--------------------------------------------------------------------------
#~   def add_save_command
#~     add_command(Vocab::save, :save, save_enabled)
#~   end
  #--------------------------------------------------------------------------
  # * Add Exit Game to Command List
  #--------------------------------------------------------------------------
  def add_game_end_command
    add_command(Vocab::game_end, :game_end)
    add_command(Vocab::cancel,   :cancel)
  end
  
  #--------------------------------------------------------------------------
  # * Get Activation State of Main Commands
  #--------------------------------------------------------------------------
#~   def main_commands_enabled
#~     $game_party.exists
#~   end
  #--------------------------------------------------------------------------
  # * Get Activation State of Formation
  #--------------------------------------------------------------------------
#~   def formation_enabled
#~     $game_party.members.size >= 2 && !$game_system.formation_disabled
#~   end
  #--------------------------------------------------------------------------
  # * Get Activation State of Save
  #--------------------------------------------------------------------------
#~   def save_enabled
#~     !$game_system.save_disabled
#~   end
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
  #--------------------------------------------------------------------------
  # * Restore Previous Selection Position
  #--------------------------------------------------------------------------
  def select_last
    select_symbol(@@last_command_symbol)
  end
end
 



Là ça va te donner ça dans le menu : image

Si tu veux mettre le "annuler" avant le "quitter" (contrairement à mon screen) :
-> Va dans Window_MenuCommand
-> Inverse les lignes 73 et 74 (" add_command(Vocab::cancel, :cancel)
add_command(Vocab::game_end, :game_end) " )

Si tu veux changer le terme utilisé (mettre autre chose que "Annuler") :
-> Va dans la base de donnée du jeu
-> Lexique
-> C'est dans la partie gauche du menu


Voilà pour le menu. Je fais des tests pour les images et te tiens au courant. Test déjà tout ça, je pense t'avoir mis tous les changements mais on sait jamais. Si ça crash c'est que j'ai oublié de te mettre un truc (ou qu'un script que tu utilise entre en conflit avec les modifications).



EDIT 2 + UP (16h05) :
Bon j'arrive pas à changer l'image via le code, je comprends pas comment ça fonctionne et connait pas assez le ruby pour le faire, c'est surement relativement simple mais un truc m'échappe. Je vais voir pour te le faire via un événement commun à la place.



EDIT 3 (16h35)
J'ai trouvé, je suis juste débile en fait :lol je faisais une erreur de syntaxe un peu bête.

Il faut que tu change deux choses pour que ça s'affiche correctement :

1ere étape :
- Dans le SceneManager (tout en haut de la liste des scripts), va à la ligne 83. Tu dois avoir ça :

Portion de code : Tout sélectionner

1
2
3
4
5
def self.snapshot_for_background
    @background_bitmap.dispose if @background_bitmap
    @background_bitmap = Graphics.snap_to_bitmap
    @background_bitmap.blur
  end



Tu va le remplacer par ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
def self.snapshot_for_background
    @background_bitmap.dispose if @background_bitmap
#~     @background_bitmap = Graphics.snap_to_bitmap
    @background_bitmap = Cache.picture("[NOM DE L'IMAGE QUE TU VEUX METTRE]")
#~     @background_bitmap.blur
  end



Tu remplace [NOM DE L'IMAGE QUE TU VEUX METTRE] par le nom de l'image que tu veux avoir en fond de menu. N'enlève PAS les guillemets (c'est l'erreur que j'avais fait et qui fait que j'y ai passé une heure, je ne mettais pas les guillemets :F ). L'image doit être stockée dans le dossier Picture des ressources, le nom doit respecter la casse (évite les caractères spéciaux dans le doute, pas d'accent, pas de points, pas de symboles).

2eme étape
- Dans le Scene_MenuBase, tu va à la ligne 29, et tu la remplace par ça :

Portion de code : Tout sélectionner

1
@background_sprite.color.set(0, 0, 0, 0)



ça ne fait que remplacer les valeurs de changement de couleur. Je la supprime pas au cas où tu voudrais jouer avec, c'est exactement la même chose que le changement de teinte de l'écran en event. Les 3 premières valeurs contrôlent la teinte Rouge Bleu Verte de l'image, et la 4eme sa valeur "Alpha" (= sa transparence) ; à 0 elle n'est pas transparente, à 255 elle est invisible (transparence maximale).


Le rendu finale avec une image de mon projet donne ça :

image


Voilà, j'espère que ça correspond à ce que tu voulais et que c'est assez clair ! :)


Linith - posté le 08/12/2019 à 17:09:13 (5 messages postés)

❤ 1

Super!
Merci beaucoup pour ton aide et pour toutes tes explications! Ça m'aide énormément non seulement pour mon menu mais aussi à comprendre d'avantage le script!

J'aurais une dernière demande, si c'est possible et si tu n'en as pas marre, qui serait de savoir si on peut centrer le menu et comment faire.


LittleGamer - posté le 08/12/2019 à 17:17:37 (402 messages postés)

❤ 0

Je te ferai ça plus tard, là je dois remplir des dossiers pour mon travail.

Pour l'explication je suis pas allé très en détail, mais en gros je me suis arrangé pour pas supprimer les fonctions mais uniquement la ligne qui les appelle, ce qui devrait largement limiter les risques de crash (de ce que j'ai testé y en aura pas).

Pour faire simple, faut se dire que les scripts de RPG Maker utilisent beaucoup la notion d'héritage, de parent. En gros la plupart des scripts fonctionnent en fonction d'un autre script au dessus d'eux, par exemple le Scene Menu fonctionne selon les paramètres du Scene Menu Base, et tous les Scene fonctionnent selon le Scene Manager.

Pour recadrer, sans retourner dans les scripts du logiciel, je pense que ce serait quelque part dans le "Window MenuCommand", y a surement des coordonnées en pixel quelque part, cherche par là. Vu que ça pop en haut à gauche de l'écran elles doivent avoir la valeur 0, 0, suivi du width et de l'height (largeur, hauteur). Je regarderai ce soir ou demain sinon.


EDIT : c'est 17 à 20 dans le Window_MenuCommand, pour l'avoir au centre vu la taille des lignes j'ai mis à 192, 184. C'est à la ligne 18, Super(0,0).


Linith - posté le 08/12/2019 à 19:47:46 (5 messages postés)

❤ 0

Merci beaucoup pour ton aide encore une fois!
Surtout pour le temps que tu as passé dessus.

Index du forum > Entraide > [RPG Maker VX Ace] Menu simplifié

repondre up

Marquer le sujet comme NON résolu

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Articles perso | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Jeux complets | Tous les jeux | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers