Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

844 connectés actuellement

30729515 visiteurs
depuis l'ouverture

3132 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Guelnika & E-magination

Zarok

RPG Fusion

New RPG Maker

Tous nos partenaires

Devenir
partenaire



Menu Deluxe 1.1b

Menu personnalisable avec musique de fond et fond animé.

Script pour RPG Maker VX Ace
Ecrit par Nicke
Publié par Necromandien (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : Nicke
Logiciel : RPG Maker VX Ace
Nombre de scripts : 1
Source : https://forums.rpgmakerweb.com/index.php?threads/xs-menu-delux.6418/

Fonctionnalités
* Paramétrage de la police d'écriture, des commandes du menu et windowskin
* Ajoute une image de fond fixe ou animée (loop)
* Ajoute/Retire des informations à Window_Help (?)
* Les commandes de menu peuvent appeler des Scene ou des événements communs
* Un BGM ou BGS peut être joué quand vous êtes dans le menu (la musique sur la map est enregistrée et reprend là où elle s'est arrêtée à la fermeture du menu)
* Et d'autres !

Conditions d'utilisation
- Vous devez créditer l'auteur (Nicke)
- Vous pouvez utiliser ce script pour un projet commercial

- Pour commencer, mettez ce premier script au dessus de "Main" (Nommez le comme bon vous sembles) :

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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
#==============================================================================
#   XaiL System - Menu Delux
#   Author: Nicke
#   Created: 20/11/2012
#   Edited: 08/02/2013
#   Version: 1.1b
#==============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ? Materials but above ? Main. Remember to save.
#==============================================================================
# Requires: XS - Core Script.
#==============================================================================
#
# This script changes the way the menu scene works. Not compatible with
# XS - Menu or XS - Icon Menu.
#
# Instructions are in the settings module below. Make sure you read through
# everything so you understand each section.
#
# *** Only for RPG Maker VX Ace. ***
#==============================================================================
($imported ||= {})["XAIL-XS-MENU_DELUX"] = true
 
module XAIL
  module MENU_DELUX
    #--------------------------------------------------------------------------#
    # * Settings
    #--------------------------------------------------------------------------#
    # FONT:
    # FONT = [name, size, color, bold, shadow]
    FONT = [["Calibri", "Verdana"], 18, Color.new(255,255,255), true, true]
    
    # PLAYTIME_ICON:
    # Set playtime window icon.
    # PLAYTIME_ICON = icon_id
    PLAYTIME_ICON = 280
    
    # MENU_ALIGNMENT:
    # MENU_ALIGNMENT = 0 (left), 1 (center), 2 (right)
    MENU_ALIGNMENT = 0 # Default: 2.
    
    # MENU_SKIN:
    # The windowskin to use for the windows.
    # Set to nil to disable.
    # MENU_SKIN = string
    MENU_SKIN = nil
    
    # MENU_LIST: 
    # name, icon_index and custom are optional.
    # If name is empty it will use the corresponding symbol as name instead.
    # To make a command a common event you need to set custom to the common event
    # id you want to run as seen below.
    # symbol => [name, description, icon_index, enabled, personal, custom]
    MENU_LIST = {
      :item      => ["", "Browse through your acquired items.", 4148, true, false],
      :equip     => ["Equipment", "Change your equipment.", 4145, true, true],
      :skill     => ["Spells", "Manage your available skills.", 4147, true, true],
      :status    => ["Stats", "See the current status of the hero.", 4136, true, true],
      :formation => ["", "Change the formation of the party.", 4134, true, false],
      :save      => ["", "Record your progress.", 4139, true, false],
      :load      => ["", "Load your saved progress.", 4165, true, false, Scene_Load],
      :game_end  => ["Quit", "Exit the program.", 4162, true, false],
      :title     => ["", "Return to title.", 4133, true, false, Scene_Title],
      :com_event => ["Camping", "Run common event camping.", 728, true, false, 1]
    } # Don't remove this line!
    
    # MENU_SAVE = true/false
    # Override enabled option for save (so you can change it ingame).
    MENU_SAVE = true
    
    # If MENU_CUSTOM is true you will have to add the commands yourself
    # ingame, which can be useful for certain quest related stuff or if you
    # want to enable/disable menu commands.
    # To add/remove a command ingame follow these instructions:
    # 
    # In a script call do like this:
    # menu_scene(key, type)
    # menu_scene(:item,:add) # To add item to menu list.
    # menu_scene(:item,:del) # To remove item from menu list.
    #
    # In a conditional branch you can check if a menu command is 
    # enabled/disabled:
    # menu_active?(key) 
    # menu_active?(:item) # Check if item is enabled.
    # !menu_active?(:item) # Check if item is disabled.
    #
    # To set a id to be enabled do like this:
    # menu_active(:skill, true) # Set menu skill to be enabled.
    #
    # To add/remove all available menu commands use one of the 
    # following methods in a script call:
    # menu_add_all
    # menu_del_all
    #
    # MENU_CUSTOM = true/false
    MENU_CUSTOM = false
    
    # The text to be displayed if no menu items is available.
    # Only used if MENU_CUSTOM is true.
    # MENU_EMPTY = string
    EMPTY = "Menu is not available at this point..."
    
    # MENU_MUSIC:
    # Set the music to be played at the menu scene.
    # This is optional.
    # MUSIC = true/false
    MUSIC = true
    # MUSIC_BGM = [name, volume, pitch]
    MUSIC_BGM = ["Theme4", 70, 100]
    # MUSIC_BGS = [name, volume, pitch]
    MUSIC_BGS = ["Darkness", 50, 100]
    
    # ANIM_LIST:
    # A list of animation images.
    # name  =>  [z, zoom_x, zoom_y, blend_type, opacity]
    ANIM_LIST = {
      "Menu_Fog1"   => [1, 1.2, 1.2, 1, 125],
      "Menu_Fog2"   => [1, 1.8, 1.8, 1, 155]
    } # Don't remove this line!
    
    # BACKGROUND:
    # name => [x, y, z, opacity]
    BACKGROUND = {
      #"" => [0, 0, 200, 255]
    } # Don't remove this line!
    
    # Show vocab for HP, MP and TP.
    # BAR_VOCAB = true/false
    BAR_VOCAB = false
    
    # BAR_COLOR = rgba(255,255,255,255)
    # Set the color of the gauges.
    BAR_HP = [Color.new(255,25,25,32), Color.new(255,150,150)]
    BAR_MP = [Color.new(25,25,255,32), Color.new(150,150,255)]
    BAR_TP = [Color.new(25,255,25,32), Color.new(150,255,150)]
    
    # DETAILS:
    # Setup details here. (Recommended to use the default ones since you will
    # need a bit RGSS knowledge to add more.)
    def self.details
      ["#{Vocab::currency_unit}: #{$game_party.gold}",
      "Steps: #{$game_party.steps}",
      "Collected Items: #{$game_party.all_items.size}",
      "Map: #{$data_mapinfos[$game_map.map_id].name}",
      "Leader: #{$game_party.leader.name}",
      "Battle Count: #{$game_system.battle_count}",
      "Save Count: #{$game_system.save_count}",
      "Party Members: #{$game_party.all_members.size}",
      "Highest Level: #{$game_party.highest_level}",
      "Variable I: #{$game_variables[1]}",
      "Variable II: #{$game_variables[2]}"]
    end
    
    # DETAILS_ICONS:
    # DETAILS_ICONS[id] = icon_id
    # Set the details icon_id. (optional)
    # Should be in the same order as details.
    # Use nil to disable a icon.
    DETAILS_ICONS = []
    DETAILS_ICONS[0]  = 2114 # GOLD
    DETAILS_ICONS[1]  = 172  # STEPS
    DETAILS_ICONS[2]  = 270  # ITEMS
    DETAILS_ICONS[3]  = 232  # MAP
    DETAILS_ICONS[4]  = 4425 # LEADER
    DETAILS_ICONS[5]  = 115  # BATTLE COUNT
    DETAILS_ICONS[6]  = 224  # SAVE COUNT
    DETAILS_ICONS[7]  = 121  # PARTY MEMBERS
    DETAILS_ICONS[8]  = 14   # HIGHEST LEVEL
    DETAILS_ICONS[9]  = nil  # VARIABLE 1
    DETAILS_ICONS[10] = nil  # VARIABLE 2
    
    # Transition, nil to use default.
    # TRANSITION [speed, transition, opacity]
    TRANSITION = nil
    
  end
end
# *** Don't edit below unless you know what you are doing. ***
#==============================================================================#
# ** Error Handler
#==============================================================================#
  unless $imported["XAIL-XS-CORE"]
    # // Error handler when XS - Core is not installed.
    msg = "The script %s requires the latest version of XS - Core in order to function properly."
    name = "XS - Menu Delux"
    msgbox(sprintf(msg, name))
    exit
  end
#==============================================================================#
# ** Game_System
#==============================================================================#
class Game_System
  
  attr_accessor :menu_list
  
  alias xail_menu_delux_gm_sys_initialize initialize
  def initialize(*args, &block)
    # // Method to initialize game system.
    xail_menu_delux_gm_sys_initialize(*args, &block)
    @menu_list = {}
  end
  
  def get_menu
    # // Method to get the menu list.
    XAIL::MENU_DELUX::MENU_CUSTOM ? @menu_list : XAIL::MENU_DELUX::MENU_LIST
  end
  
end
#==============================================================================#
# ** Game_Interpreter
#==============================================================================#
class Game_Interpreter
  
  def menu_scene(key, type = :add)  
    # // Method to add/remove a menu item to the list.
    case type
      when :add # // Add menu id.
       unless $game_system.menu_list.include?(XAIL::MENU_DELUX::MENU_LIST[key])
         $game_system.menu_list[key] = XAIL::MENU_DELUX::MENU_LIST[key]           
       end unless XAIL::MENU_DELUX::MENU_LIST[key].nil?
      when :del # // Remove menu id.
      unless XAIL::MENU_DELUX::MENU_LIST[key].nil?
        $game_system.menu_list.delete(key)
      end
    end
  end
  
  def menu_active?(key)
    # // Method to check if menu key is enabled.
    # This will return nil if menu item not added in the list.
    return $game_system.menu_list[key][3] rescue nil
  end
  
  def menu_active(key, enabled)
    # // Method to enable id.
    $game_system.menu_list[key][3] = enabled
  end
  
  def menu_add_all
    # // Method to add all available menu items.
    XAIL::MENU_DELUX::MENU_LIST.each_key {|key| menu_scene(key) }
  end
  
  def menu_del_all
    # // Method to remove all available menu items.
    XAIL::MENU_DELUX::MENU_LIST.each_key {|key| menu_scene(key, :del) }
  end
 
end
#==============================================================================
# ** Window_MenuCommand
#==============================================================================
class Window_MenuCommand < Window_Command
  
  def window_width
    # // Method to return the width of the window.
    return Graphics.width / 4
  end
  
  def window_height
    # // Method to return the height of the window.
    return Graphics.height
  end
  
  def alignment
    # // Method to return the alignment.
    return XAIL::MENU_DELUX::MENU_ALIGNMENT
  end
  
  def menu_color(color, enabled = true)
     # // Method to set the color and alpha if not enabled.
    contents.font.color.set(color)
    contents.font.color.alpha = Colors::AlphaMenu unless enabled
  end
  
  def item_rect_for_text(index)
    # // Method to draw item rect for text.
    rect = item_rect(index)
    rect.x += 25
    draw_line_ex(rect.x - 4, rect.y + 9, Color.new(255,255,255), Color.new(0,0,0,128))
    draw_icon(XAIL::MENU_DELUX::MENU_LIST.values[index][2], -2, rect.y) unless XAIL::MENU_DELUX::MENU_LIST.values[index][2].nil?
    rect
  end
  
  def draw_item(index)
    # // Method to draw the command item.
    contents.font.name = XAIL::MENU_DELUX::FONT[0]
    contents.font.size = XAIL::MENU_DELUX::FONT[1]
    # // Save enable option.
    XAIL::MENU_DELUX::MENU_LIST[:save][3] = save_enabled if XAIL::MENU_DELUX::MENU_SAVE
    # // Default enable option.
    menu_color(XAIL::MENU_DELUX::FONT[2], menu_enabled?(index))
    # // Font settings
    contents.font.bold = XAIL::MENU_DELUX::FONT[3]
    contents.font.shadow = XAIL::MENU_DELUX::FONT[4]
    draw_text(item_rect_for_text(index), command_name(index), alignment)
    reset_font_settings
  end
  
  def menu_enabled?(index)
    # // Method to check if menu item is enabled.
    return $game_system.get_menu.values[index][3]
  end
  
  def make_command_list
    # // Method to add the commands.
    $game_system.get_menu.each {|key, value|
      name = value[0] == "" ? key.id2name.capitalize : value[0]
      XAIL::MENU_DELUX::MENU_LIST[:save][3] = save_enabled if XAIL::MENU_DELUX::MENU_SAVE
      add_command(name, key, value[3], value[5].nil? ? nil : value[5])
    }
  end
 
end
#==============================================================================
# ** Window_MenuStatus
#==============================================================================
class Window_MenuStatus < Window_Selectable
  
  def initialize(x, y)
    # // Method to initialize the window.
    super(x, y, window_width, window_height)
    self.arrows_visible = false
    @pending_index = -1
    refresh
  end
  
  def window_width
    # // Method to determine window width.
    return Graphics.width / 2.4
  end
  
  def col_max
    # // Method to determine col max.
    return 2
  end
 
  def spacing
    # // Method to determine spacing.
    return 6 if Graphics.width == 544 # For standard resolution.
    return 44                         # For high resolution.
  end
  
  def item_width
    # // Method to determine item width.
    return 98
  end
 
  def item_height
    # // Method to determine item height.
    return 128
  end
  
  def refresh
    # // Method to refresh the window.
    super
    # // Only display cursor arrow if more or equal to 5 party members.
    if $game_party.all_members.size >= 5
      self.arrows_visible = true
    end
  end
 
  def draw_item(index)
    # // Method to draw item.
    actor = $game_party.members[index]
    rect = item_rect(index)
    # // Face
    draw_actor_face(actor, rect.x + 1, rect.y + 1, true)
    # // Name
    draw_font_text(actor.name, rect.x + 4, rect.y, rect.width, 0, XAIL::MENU_DELUX::FONT[0], 20, XAIL::MENU_DELUX::FONT[2])
    # // Level
    lvl = "#{Vocab::level_a}: #{actor.level}"
    draw_font_text(lvl, rect.x + 4, rect.y + 64, rect.width, 0, XAIL::MENU_DELUX::FONT[0], 18, XAIL::MENU_DELUX::FONT[2])
    # // Class
    # // Check if Yanfly Class System is installed.
    if $imported["YEA-ClassSystem"]
      actor_class = actor.subclass.nil? ? actor.class.name : "#{actor.class.name} [#{actor.subclass.name}]"
    else
      actor_class = actor.class.name
    end    
    draw_font_text(actor_class, rect.x - 4, rect.y + 76, rect.width, 2, XAIL::MENU_DELUX::FONT[0], 16, XAIL::MENU_DELUX::FONT[2])
    # // Stats
    draw_menu_stats(actor, :hp, rect.x, rect.y + 90, XAIL::MENU_DELUX::BAR_HP[0], XAIL::MENU_DELUX::BAR_HP[1], rect.width - 2)
    draw_menu_stats(actor, :mp, rect.x, rect.y + 100, XAIL::MENU_DELUX::BAR_MP[0], XAIL::MENU_DELUX::BAR_MP[1], rect.width - 2)
    draw_menu_stats(actor, :tp, rect.x, rect.y + 110, XAIL::MENU_DELUX::BAR_TP[0], XAIL::MENU_DELUX::BAR_TP[1], rect.width - 2)
  end
  
  def draw_menu_stats(actor, stat, x, y, color1, color2, width)
    # // Method to draw actor hp & mp.
    case stat
    when :hp
      rate = actor.hp_rate ; vocab = Vocab::hp_a ; values = [actor.hp, actor.mhp]
    when :mp
      rate = actor.mp_rate ; vocab = Vocab::mp_a ; values = [actor.mp, actor.mmp]
    when :tp
      rate = actor.tp_rate ; vocab = Vocab::tp_a ; values = [actor.tp, actor.max_tp]
    end
    contents.font.name = XAIL::MENU_DELUX::FONT[0]
    contents.font.size = 14 # // Override font size.
    contents.font.color = XAIL::MENU_DELUX::FONT[2]
    contents.font.bold = XAIL::MENU_DELUX::FONT[3]
    contents.font.shadow = XAIL::MENU_DELUX::FONT[4]
    # // Draw guage.
    draw_gauge_ex(x, y - 8, width, 8, rate, color1, color2)
    # // Draw stats.
    draw_text(x + 2, y, width, line_height, values[0], 0)
    draw_text(x + 1, y, width, line_height, values[1], 2)
    # // Draw vocab.
    draw_text(x, y, width, line_height, vocab, 1) if XAIL::MENU_DELUX::BAR_VOCAB
    reset_font_settings
  end
 
end
#==============================================================================
# ** Window_Menu_Details
#==============================================================================
class Window_Menu_Details < Window_Base
  
  def initialize(x, y)
    # // Method to initialize.
    super(x, y, window_width, window_height)
    @leader = $game_party.leader
    refresh
  end
  
  def window_width
    # // Method to determine window width.
    return Graphics.width / 3
  end
  
  def window_height
    # // Method to determine window height.
    return Graphics.height
  end
  
  def refresh
    # // Method to refresh the window.
    contents.clear
    # // Draw details.
    y = -10
    XAIL::MENU_DELUX.details.each_index {|i|
      draw_line_ex(0, y += 24, Color.new(255,255,255,32), Color.new(0,0,0,64))
      draw_font_text(XAIL::MENU_DELUX.details[i], -4, line_height * i + 4, contents_width, 2, XAIL::MENU_DELUX::FONT[0], 16, XAIL::MENU_DELUX::FONT[2])
    }
    # // Draw icons.
    draw_icons(XAIL::MENU_DELUX::DETAILS_ICONS, :vertical, 2, line_height * 0 + 2)
  end
 
  def update
    # // Method to update details window.
    super
    if @leader != $game_party.leader
      @leader = $game_party.leader
      refresh
    end
  end
  
end
#==============================================================================
# ** Window_Menu_Playtime
#==============================================================================
class Window_Menu_Playtime < Window_Base
  
  def initialize(x, y)
    # // Method to initialize.
    super(x, y, 120, fitting_height(1))
    @playtime = $game_system.playtime_s
    refresh
  end
  
  def refresh
    # // Method to refresh the window.
    contents.clear
    # // Draw icon.
    draw_icon(XAIL::MENU_DELUX::PLAYTIME_ICON, 4, 0)
    # // Draw playtime.
    draw_font_text(@playtime, 0, 6, contents_width, 2, XAIL::MENU_DELUX::FONT[0], 22, XAIL::MENU_DELUX::FONT[2])
  end
  
  def update
    # // Method to update the window.
    super
    @playtime = $game_system.playtime_s
    refresh
  end
  
end
#==============================================================================#
# ** Window_Menu_Help
#==============================================================================#
class Window_Menu_Help < Window_Help
  
  attr_accessor :index
  
  alias xail_icon_menu_winhelp_init initialize
  def initialize(*args, &block)
    # // Method to initialize help window.
    xail_icon_menu_winhelp_init(*args, &block)
    @index = 0
  end
 
  def set_text(text, enabled)
    # // Method to set a new help text.
    if text != @text
      menu_color(XAIL::MENU_DELUX::FONT[2], enabled)
      @text = text
      refresh
    end
  end
  
  def refresh
    # // Refresh help contents.
    contents.clear
    draw_help_text
  end
  
  def draw_help_text
    # // Method to draw the help text.
    contents.font.name = XAIL::MENU_DELUX::FONT[0]
    contents.font.size = XAIL::MENU_DELUX::FONT[1]
    menu_color(XAIL::MENU_DELUX::FONT[2], menu_enabled?(@index))
    contents.font.bold = XAIL::MENU_DELUX::FONT[3]
    contents.font.shadow = XAIL::MENU_DELUX::FONT[4]
    # // Draw title and description for the menu.
    draw_line_ex(0, 14, Color.new(255,255,255), Color.new(0,0,0,128))
    draw_text_ex_no_reset(0, 0, @text)
    reset_font_settings
  end
  
  def menu_enabled?(index)
    # // Method to check if menu item is enabled.
    return $game_system.get_menu.values[index][3]
  end
  
  def menu_color(color, enabled = true)
     # // Method to set the color and alpha if not enabled.
    contents.font.color.set(color)
    contents.font.color.alpha = 150 unless enabled
  end
  
end
#==============================================================================#
# ** Scene_MenuBase
#==============================================================================#
class Scene_MenuBase < Scene_Base
  
  def start
    # // Method to start the scene.
    super
    @actor = $game_party.menu_actor
    if SceneManager.scene_is?(Scene_Menu)
      @backgrounds = []
      @animations = []
      create_menu_backgrounds
      create_menu_animations
    end
  end
  
  def create_menu_backgrounds
    # // Method to create custom background(s).
    XAIL::MENU_DELUX::BACKGROUND.each {|key, value| @backgrounds << [Sprite.new, key] }
    @backgrounds.each {|i|
      i[0].bitmap = Cache.system(i[1])
      i[0].x = XAIL::MENU_DELUX::BACKGROUND[i[1]][0]
      i[0].y = XAIL::MENU_DELUX::BACKGROUND[i[1]][1]
      i[0].z = XAIL::MENU_DELUX::BACKGROUND[i[1]][2]
      i[0].opacity = XAIL::MENU_DELUX::BACKGROUND[i[1]][3]
    }
  end
  
  def create_menu_animations
    # // Method to create custom animation(s).
    # name  =>  [z, zoom_x, zoom_y, blend_type, opacity]
    XAIL::MENU_DELUX::ANIM_LIST.each {|key, value| @animations.push << [Plane.new, key] }
    @animations.each {|i|
      i[0].bitmap = Cache.system(i[1])
      i[0].z = XAIL::MENU_DELUX::ANIM_LIST[i[1]][0]
      i[0].zoom_x = XAIL::MENU_DELUX::ANIM_LIST[i[1]][1]
      i[0].zoom_y = XAIL::MENU_DELUX::ANIM_LIST[i[1]][2]
      i[0].blend_type = XAIL::MENU_DELUX::ANIM_LIST[i[1]][3]
      i[0].opacity = XAIL::MENU_DELUX::ANIM_LIST[i[1]][4]
    }
  end
 
  alias xail_upd_menubase_delux_upd update
  def update(*args, &block)
    # // Method for updating the scene.
    xail_upd_menubase_delux_upd(*args, &block)
    if SceneManager.scene_is?(Scene_Menu)
      for i in 0...@animations.size
        @animations[i][0].ox += 1.2 - i
        @animations[i][0].oy -= 0.6 + i
      end unless scene_changing?
      delay?(1)
    end
  end
  
  def delay?(amount)
    # // Method to delay.
    amount.times do
      update_basic
    end
  end
  
  alias xail_menubase_delux_transition perform_transition
  def perform_transition(*args, &block)
    # // Method to create the transition.
    return if $game_system.get_menu.empty?
    if XAIL::MENU_DELUX::TRANSITION.nil?
      xail_menubase_delux_transition(*args, &block)
    else
      Graphics.transition(XAIL::MENU_DELUX::TRANSITION[0],XAIL::MENU_DELUX::TRANSITION[1],XAIL::MENU_DELUX::TRANSITION[2])
    end
  end
  
  def dispose_sprites
    # // Method to dispose sprites.
    @backgrounds.each {|i| i[0].dispose unless i[0].nil? ; i[0] = nil } rescue nil
    @animations.each {|i| i[0].dispose unless i[0].nil? ; i[0] = nil } rescue nil
  end
  
  def terminate
    # // Method to terminate.
    super
    dispose_sprites unless SceneManager.scene_is?(Scene_Menu)
  end
 
end
#==============================================================================#
# ** Scene_Menu
#==============================================================================#
class Scene_Menu < Scene_MenuBase
  
  def start
    super
    # // Method to start the scene.
    # // Return if menu empty.
    return command_map if $game_system.get_menu.empty?
    # // Create windows.
    create_menu_command_window
    create_menu_status_window
    create_menu_details_window
    create_menu_playtime_window
    create_menu_help_window
    # // Set help text to first menu command.
    help_update(@command_window.index)
    # // Play music if enabled.
    play_menu_music if XAIL::MENU_DELUX::MUSIC
  end
  
  def create_menu_command_window
    # // Method to create the command window.
    @command_window = Window_MenuCommand.new
    @command_window.windowskin = Cache.system(XAIL::MENU_DELUX::MENU_SKIN) unless XAIL::MENU_DELUX::MENU_SKIN.nil?
    @command_window.back_opacity = 96
    $game_system.get_menu.each {|key, value|
      unless value[5].nil?
        @command_window.set_handler(key, method(:command_custom))
      else
        if value[4]
          @command_window.set_handler(key, method(:command_personal))
        else
          @command_window.set_handler(key, method("command_#{key}".to_sym))
        end
      end
    }    
    @command_window.set_handler(:cancel, method(:return_scene))
  end
  
  def create_menu_status_window
    # // Method to create the status window.
    @status_window = Window_MenuStatus.new(0, 0)
    @status_window.height = Graphics.height - 72
    @status_window.x = @command_window.width
    @status_window.back_opacity = 96
  end
  
  def create_menu_details_window
    # // Method to create the details window.
    @details_window = Window_Menu_Details.new(0, 0)
    @details_window.x = Graphics.width - @details_window.width
    @details_window.back_opacity = 96
  end
  
  def create_menu_playtime_window
    # // Method to create the playtime window.
    @playtime_window = Window_Menu_Playtime.new(0, 0)
    @playtime_window.x = Graphics.width - @playtime_window.width
    @playtime_window.y = Graphics.height - @playtime_window.height - 26
    @playtime_window.opacity = 0
    @playtime_window.z = 201
  end
  
  def create_menu_help_window
    # // Method to create the help window.
    @help_window = Window_Menu_Help.new(2)
    @help_window.viewport = @viewport
    @help_window.windowskin = Cache.system(XAIL::MENU_DELUX::MENU_SKIN) unless XAIL::MENU_DELUX::MENU_SKIN.nil?
    @help_window.index = @command_window.index
    @help_window.y = Graphics.height - @help_window.height
    @help_window.back_opacity = 255
    @help_window.z = 200
  end
  
  def play_menu_music
    # // Method to play menu music.
    @last_bgm = RPG::BGM.last
    @last_bgs = RPG::BGS.last
    bgm = XAIL::MENU_DELUX::MUSIC_BGM
    bgs = XAIL::MENU_DELUX::MUSIC_BGS
    Sound.play(bgm[0], bgm[1], bgm[2], :bgm)
    Sound.play(bgs[0], bgs[1], bgs[2], :bgs)
  end
  
  alias xail_upd_menu_delux_upd update
  def update(*args, &block)
    # // Method for updating the scene.
    xail_upd_menu_delux_upd(*args, &block)
    old_index = @help_window.index
    help_update(@command_window.index) if old_index != @command_window.index
  end
  
  def help_update(index)
    # // If index changes update help window text.
    list = XAIL::MENU_DELUX::MENU_LIST
    icon = list.values[index][2].nil? ? "" : list.values[index][2]
    name = list.values[index][0] == "" ? list.keys[index].id2name.capitalize : list.values[index][0]
    if icon == "" ; title = name ; else ; title = '\i[' + icon.to_s + ']' + name ; end
    desc = '\c[0]' + list.values[index][1]
    text = "#{title}\n#{desc}"
    enabled = list.values[index][3]
    @help_window.index = index
    @help_window.set_text(text, enabled)
  end
  
  def on_personal_ok
    # // Method override on personal ok.
    scene = "Scene_#{@command_window.current_symbol.to_s.capitalize}".to_class
    SceneManager.call(scene)
  end
  
  def command_custom
    # // Method to call a custom command. (Don't remove)
    if @command_window.current_ext.is_a?(Integer)
      $game_temp.reserve_common_event(@command_window.current_ext)
      return command_map
    end
    SceneManager.call(@command_window.current_ext)
  end
  
  def command_map
    # // command_map (Don't remove)
    if $game_system.get_menu.empty?
      Sound.play_buzzer
      $game_message.texts << XAIL::MENU_DELUX::EMPTY
    end
    SceneManager.call(Scene_Map)
  end
  
  def pre_terminate
    # // Method to pre terminate scene menu.
    # // Play last bgm and bgs if menu music is enabled.
    if XAIL::MENU_DELUX::MUSIC
      @last_bgm.replay rescue nil
      @last_bgs.replay rescue nil
    end
  end
  
end # END OF FILE
 
#=*==========================================================================*=#
# ** END OF FILE
#=*==========================================================================*=#




- Puis enchaînez avec ce second script, toujours au dessus de "Main" avec le nom que vous voulez ( <b>Veillez bien à ce que le second script soit placé au dessus du premier sinon ça ne fonctionnera pas !</b> ) :

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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
#==============================================================================
#   XaiL System - Core
#   Author: Nicke
#   Created: 07/01/2012
#   Edited: 08/10/2013
#   Version: 2.1f
#==============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ? Materials but above ? Main. Remember to save.
#
# Core script for XaiL System.
# Caution! This needs to be located before any other XS scripts.
#
# *** Only for RPG Maker VX Ace. ***
#==============================================================================
($imported ||= {})["XAIL-XS-CORE"] = true
 
module Colors
  #--------------------------------------------------------------------------#
  # * Colors
  #--------------------------------------------------------------------------#
  White = Color.new(255,255,255)
  LightRed = Color.new(255,150,150)
  LightGreen = Color.new(150,255,150)
  LightBlue = Color.new(150,150,255)
  DarkYellow = Color.new(225,225,20)
  Alpha = Color.new(0,0,0,128)
  AlphaMenu = 100
end
module XAIL
  module CORE
  #--------------------------------------------------------------------------#
  # * Settings
  #--------------------------------------------------------------------------#
  # Graphics.resize_screen(width, height ) 
  Graphics.resize_screen(544,416) 
  
  # FONT DEFAULTS:
  Font.default_name = ["VL Gothic"]
  Font.default_size = 20
  Font.default_bold = false
  Font.default_italic = false
  Font.default_shadow = true
  Font.default_outline = true
  Font.default_color = Colors::White
  Font.default_out_color = Colors::Alpha
  
  # USE_TONE = true/false:
  # Window tone for all windows ingame. Default: true.
  USE_TONE = false
  
  # SAVE
  SAVE_MAX = 20       # Default 16.
  SAVE_FILE_VIS = 4   # Default 4.
  
  # JAPANESE = true/false
  JAPANESE = false
  
  end
end
# *** Don't edit below unless you know what you are doing. ***
#==============================================================================#
# ** Game_System
#==============================================================================#
class Game_System
  
  # // Method to determine japanese game.
  def japanese? ; return XAIL::CORE::JAPANESE ; end
  
end
#==============================================================================#
# ** String
#==============================================================================#
class String
  
  def to_class(parent = Kernel)
    # // Method to convert string to class.
    chain = self.split "::"
    klass = parent.const_get chain.shift
    return chain.size < 1 ? (klass.is_a?(Class) ? klass : nil) : chain.join("::").to_class(klass)
    rescue
    nil
  end
  
  def cap_words
    # // Method to capitalize every word.
    self.split(' ').map {|w| w.capitalize }.join(' ')
  end
  
  def slice_char(char)
    # // Method to slice char.
    self.split(char).map {|w| w.sub(char, " ") }.join(" ")
  end
 
end
#==============================================================================#
# ** Vocab
#==============================================================================#
class << Vocab
  
  def xparam(id)
    # // Method to return xparam name.
    case id
    when 0 ; "Hit Chance"
    when 1 ; "Evasion"
    when 2 ; "Critical Chance"
    when 3 ; "Critical Evasion"
    when 4 ; "Magic Evasion"
    when 5 ; "Magic Reflection"
    when 6 ; "Counter Attack"
    when 7 ; "HP Regeneration"
    when 8 ; "MP Regeneration"
    when 9 ; "TP Regeneration"
    end
  end
  
end
#==============================================================================
# ** Sound
#==============================================================================
class << Sound
  
  def play(name, volume, pitch, type = :se)
    # // Method to play a sound. If specified name isn't valid throw an error.
    case type
    when :se   ; RPG::SE.new(name, volume, pitch).play rescue valid?(name)
    when :me   ; RPG::ME.new(name, volume, pitch).play rescue valid?(name)
    when :bgm  ; RPG::BGM.new(name, volume, pitch).play rescue valid?(name)
    when :bgs  ; RPG::BGS.new(name, volume, pitch).play rescue valid?(name)
    end
  end
  
  def valid?(name)
    # // Method to raise error if specified sound name is invalid.
    msgbox("Error. Unable to find sound file: " + name)
    exit 
  end
  
end
#==============================================================================
# ** DataManager
#==============================================================================
class << DataManager
 
  def savefile_max
    # // Method override, save file max.
    return XAIL::CORE::SAVE_MAX
  end
  
end
#==============================================================================
# ** SceneManager
#==============================================================================
class << SceneManager
  
  def call_ext(scene_class, args = nil)
    # // Method to call a scene with arguments.
    @stack.push(@scene)
    @scene = scene_class.new(args)
  end
  
end
#==============================================================================
# ** Scene_File
#==============================================================================
class Scene_File < Scene_MenuBase
  
  def visible_max
    # // Method override, visible_max for save files.
    return XAIL::CORE::SAVE_FILE_VIS
  end
  
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# Importing font fix that will remove weird characters.
# Adding new methods such as new gauge, actor param, font text, icon drawing,
# big icon drawing and a line with a shadow.
#==============================================================================
class Window_Base < Window
  
  # // Importing Custom font fix. (Credit Lone Wolf).
  alias :process_normal_character_vxa :process_normal_character
  def process_normal_character(c, pos)
    return unless c >= ' '
    process_normal_character_vxa(c, pos)
  end unless method_defined? :process_normal_character
  
  def draw_text_ex_no_reset(x, y, text)
    # // Method to draw ex text without resetting the font.
    text = convert_escape_characters(text)
    pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)}
    process_character(text.slice!(0, 1), text, pos) until text.empty?
  end 
  
  alias xail_core_winbase_upt_tone update_tone
  def update_tone(*args, &block)
    # // Method to change tone of the window.
    return unless XAIL::CORE::USE_TONE
    xail_core_winbase_upt_tone(*args, &block)
  end
  
  def draw_gauge_ex(x, y, width, height, rate, color1, color2)
    # // Method to draw a gauge.
    fill_w = (width * rate).to_i
    gauge_y = y + line_height - 8
    contents.fill_rect(x, gauge_y, width + 1, height + 1, Color.new(255,255,255,64))
    contents.fill_rect(x, gauge_y, width, height, Color.new(0,0,0,100))
    contents.gradient_fill_rect(x, gauge_y, fill_w, height, color1, color2)
  end
  
  def draw_actor_param_gauge(actor, x, y, width, param_id, font, size, bar_color1, bar_color2, txt_color1, txt_color2)
    # // Method to draw actor parameters with a gauge.
    case param_id
    when 2 ; param_rate = actor.param(2) / actor.param_max(2).to_f
    when 3 ; param_rate = actor.param(3) / actor.param_max(3).to_f
    when 4 ; param_rate = actor.param(4) / actor.param_max(4).to_f
    when 5 ; param_rate = actor.param(5) / actor.param_max(5).to_f
    when 6 ; param_rate = actor.param(6) / actor.param_max(6).to_f
    when 7 ; param_rate = actor.param(7) / actor.param_max(7).to_f
    end
    contents.font.name = font
    contents.font.size = size
    contents.font.bold = true
    contents.font.shadow = false
    draw_gauge_ex(x, y - 14, width, 20, param_rate, bar_color1, bar_color2)
    contents.font.color = txt_color1
    draw_text(x + 10, y, 120, line_height, Vocab::param(param_id))
    contents.font.color = txt_color2
    draw_text(x + width - 38, y, 36, line_height, actor.param(param_id), 2)
    reset_font_settings
  end
  
  def draw_actor_xparam_gauge(actor, x, y, width, xparam_id, font, size, bar_color1, bar_color2, txt_color1, txt_color2)
    # // Method to draw actor xparameters with a gauge.
    case xparam_id
    when 0
      xparam_rate = actor.xparam(0) / 100.to_f
      xparam_name = Vocab.xparam(0)
    when 1
      xparam_rate = actor.xparam(1) / 100.to_f
      xparam_name = Vocab.xparam(1)
    when 2
      xparam_rate = actor.xparam(2) / 100.to_f
      xparam_name = Vocab.xparam(2)
    when 3
      xparam_rate = actor.xparam(3) / 100.to_f
      xparam_name = Vocab.xparam(3)
    when 4
      xparam_rate = actor.xparam(4) / 100.to_f
      xparam_name = Vocab.xparam(4)
    when 5
      xparam_rate = actor.xparam(5) / 100.to_f
      xparam_name = Vocab.xparam(5)
    when 6
      xparam_rate = actor.xparam(6) / 100.to_f
      xparam_name = Vocab.xparam(6)
    when 7
      xparam_rate = actor.xparam(7) / 100.to_f
      xparam_name = Vocab.xparam(7)
    when 8
      xparam_rate = actor.xparam(8) / 100.to_f
      xparam_name = Vocab.xparam(8)
    when 9
      xparam_rate = actor.xparam(9) / 100.to_f
      xparam_name = Vocab.xparam(9)
    end
    contents.font.name = font
    contents.font.size = size
    contents.font.bold = true
    contents.font.shadow = false
    draw_gauge_ex(x, y - 14, width, 20, xparam_rate, bar_color1, bar_color2)
    contents.font.color = txt_color1
    draw_text(x + 10, y, 120, line_height, xparam_name)
    contents.font.color = txt_color2
    draw_text(x + width - 38, y, 36, line_height, "#{actor.xparam(xparam_id)}%", 2)
    reset_font_settings 
  end
  
  def draw_line_ex(x, y, color, shadow)
    # // Method to draw a horizontal line with a shadow.
    line_y = y + line_height / 2 - 1
    contents.fill_rect(x, line_y, contents_width, 2, color)
    line_y += 1
    contents.fill_rect(x, line_y, contents_width, 2, shadow)
  end
  
  def draw_box(x, y, width, height, color, shadow)
    # // Method to draw a box with shadow.
    contents.fill_rect(x, y, width, height, color)
    x += 1
    y += 1
    contents.fill_rect(x, y, width, height, shadow)
  end
  
  def draw_vertical_line_ex(x, y, color, shadow)
    # // Method to draw a vertical line with a shadow.
    line_x = x + line_height / 2 - 1
    contents.fill_rect(line_x, y, 2, contents_height, color)
    line_x += 1
    contents.fill_rect(line_x, y, 2, contents_height, shadow)
  end
  
  def draw_icons(icons, alignment, x = 0, y = 0, offset_icon = [])
    # // Method to draw icons in a horizonal or vertical alignment.
    icons.each {|icon| 
      next if icon.nil?
      # // If included in offset do extra spacing.
      offset_icon.each {|offset|
        if icon == offset
          y += line_height * 1 if alignment == :vertical
          x += line_height * 1 if alignment == :horizontal
        end
      }
      draw_icon(icon.nil? ? nil : icon, x.nil? ? 0 : x, y.nil? ? 0 : y) rescue nil
      y += line_height if alignment == :vertical
      x += line_height if alignment == :horizontal
    }
  end
  
  def draw_big_icon(icon, x, y, width, height, opacity = 255)
    # // Method to draw a big icon.
    bitmap = Cache.system("Iconset")
    rect = Rect.new(icon % 16 * 24, icon / 16 * 24, 24, 24)
    rect2 = Rect.new(x, y, width, height)
    contents.stretch_blt(rect2, bitmap, rect, opacity)
  end
  
  def draw_font_text(text, x, y, width, alignment, font, size, color, bold = true, shadow = true)
    # // Method to draw font text.
    contents.font.name = font
    contents.font.size = size
    contents.font.color = color
    contents.font.bold = bold
    contents.font.shadow = shadow
    contents.font.out_color = Color.new(0,0,0,255)
    draw_text(x, y, width, calc_line_height(text), text, alignment)
    reset_font_settings
  end
  
  def draw_font_text_ex(text, x, y, font, size, color, bold = true, shadow = true)
    # // Method to draw font text ex.
    contents.font.name = font
    contents.font.size = size
    contents.font.color = color
    contents.font.bold = bold
    contents.font.shadow = shadow
    contents.font.out_color = Color.new(0,0,0,255)
    text = convert_escape_characters(text)
    pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)}
    process_character(text.slice!(0, 1), text, pos) until text.empty?
    reset_font_settings
  end
  
end
#==============================================================================#
# ** Window_Selectable
#------------------------------------------------------------------------------
#  Adding support for pageleft and pageright for window selectable.
#==============================================================================#
class Window_Selectable < Window_Base
  
  def cursor_pageright ; end
  def cursor_pageleft ; end
 
  alias xail_core_winselect_process_cursor_move process_cursor_move
  def process_cursor_move(*args, &block)
    # // Method to process cursor movement.
    xail_core_winselect_process_cursor_move(*args, &block)
    cursor_pageright if !handle?(:pageright) && Input.trigger?(:RIGHT)
    cursor_pageright if !handle?(:pageleft) && Input.trigger?(:LEFT)
  end
  
  alias xail_core_winselect_process_handling process_handling
  def process_handling(*args, &block)
    # // Method to process handling.
    xail_core_winselect_process_handling(*args, &block)
    return process_pageright if handle?(:pageright) && Input.trigger?(:RIGHT)
    return process_pageleft if handle?(:pageleft) && Input.trigger?(:LEFT)
  end
    
  def process_pageright
    # // Method to process page right.
    Sound.play_cursor
    Input.update
    deactivate
    call_handler(:pageright)
  end
  
  def process_pageleft
    # // Method to process page left.
    Sound.play_cursor
    Input.update
    deactivate
    call_handler(:pageleft)
  end
  
end
#==============================================================================#
# ** Window_Icon
#------------------------------------------------------------------------------
#  New Window :: Window_Icon - A window for drawing icon(s).
#==============================================================================#
class Window_Icon < Window_Base
  
  attr_accessor :enabled
  attr_accessor :alignment
  
  def initialize(x, y, window_width, hsize)
    # // Method to initialize the icon window.
    super(0, 0, window_width, window_height(hsize))
    @icons = []
    @index = 0
    @enabled = true
    @alignment = 0
    refresh
  end
  
  def window_height(hsize)
    # // Method to return the height.
    fitting_height(hsize)
  end
  
  def refresh
    # // Method to refresh the icon window.
    contents.clear
  end
  
  def draw_cmd_icons(icons, index)
    # // Draw all of the icons.
    return if !@enabled
    count = 0
    for i in icons
      align = 0
      x = 110
      next if i[index].nil?
      case @alignment
      when 1, 2 ; align = -110
      end
      draw_icon(i[index], x + align, 24 * count)
      count += 1
      break if (24 * count > height - 24)
    end
  end
  
end
#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# Adding check item method to return a item based on the type.
#==============================================================================
class Game_Party < Game_Unit
  
  def check_item?(item, type)
    # // Method to return a item based on the type.
    case type
    when :items    ; $data_items[item]
    when :weapons  ; $data_weapons[item]
    when :armors   ; $data_armors[item]
    when :gold     ; item
    when :exp      ; item
    end
  end
 
end 
#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
# Adding methods to check for comments on events.
#==============================================================================
class Game_Event < Game_Character
  
  def comment?(comment)
    # // Method to check if comment is included in event.
    unless empty? or @list.nil?
      for evt in @list
        if evt.code == 108 or evt.code == 408
          if evt.parameters[0].include?(comment)
            return true
          end
        end
      end
    end
    return false
  end
  
  def comment_int?(comment)
    # // Method to check for a integer in event.
    unless empty? or @list.nil?
      for evt in @list
        if evt.code == 108 or evt.code == 408
          if evt.parameters[0] =~ /<#{comment}:[ ]?(\d*)>?/
            return ($1.to_i > 0 ? $1.to_i : 0)
          end
        end
      end
    end
  end
  
  def comment_string?(comment)
    # // Method to check for a string in event.
    unless empty? or @list.nil?
      for evt in @list
        if evt.code == 108 or evt.code == 408
          if evt.parameters[0] =~ /<#{comment}:[ ]?(\w*)>?/
            return $1.to_s
          end
        end
      end
    end
  end
 
 
end # END OF FILE
 
#=*==========================================================================*=#
# ** END OF FILE
#=*==========================================================================*=#



- Et pour terminer, téléchargez les ressources nécessaires puis placez les dans "Graphics/System" : Télécharger (Archive Wayback Machine)


- Maintenant, pour ceux qui voudraient changer les titres et descriptions des fonctions de ce nouveau menu, de la ligne 57 à 66 du premier script, changez ce qu'il y'a de marqué entre guillemets et en violet (ou ajoutez les s'il n'y a rien de marqué) mais ne touchez pas à ce qu'il y'a de noté en orange au début.

- Pour changer le nom des infos à droite du menu, faites la même chose des lignes 143 à 153.

- Pour changer la musique de fond, il faut aller à la ligne 111 du 1er script.


Mis à jour le 22 octobre 2020.






verehn - posté le 03/08/2014 à 19:24:51 (9058 messages postés) - honor

❤ 0

Vhehrhehn

Citation:

Mon tout premier script pour Oniromancie, acclamons moi comme il se doit !

Kirby à toi :kirby

Eldrao ~ PakuPaku ~ Winged Light ~ Ruin ~ Ma galerie ~ LTDAD ~ Don de graphismes plateforme 2D


LES KONG SYSTEM - posté le 04/08/2014 à 13:03:15 (49 messages postés)

❤ 0

Pour changer la musique c'est à la ligne 111 du 1er script


Necromandien - posté le 04/08/2014 à 13:56:27 (156 messages postés)

❤ 0

Des p'tits trous, des p'tits trous, TOUJOURS DES P'TITS TROUS !!!

Bien vu merci beaucoup "LES KONG SYSTEM" :biere

Un magicien n'est jamais en retard, ni en avance d'ailleurs, il arrive précisément à l'heure prévue !


antrhaxx - posté le 19/08/2014 à 01:29:26 (32 messages postés)

❤ 0

Mon dieu ce script est tout simplement parfait pour mon projet!!!!!!!!!!!

Un grand merci a toi Necromandien et aussi (et encore plus) a Nicke! :banane:sonic:banane

athx


Necromandien - posté le 05/10/2014 à 11:25:55 (156 messages postés)

❤ 0

Des p'tits trous, des p'tits trous, TOUJOURS DES P'TITS TROUS !!!

No problem bro' :D

Un magicien n'est jamais en retard, ni en avance d'ailleurs, il arrive précisément à l'heure prévue !


Shadowws - posté le 17/02/2015 à 22:59:34 (1 messages postés)

❤ 0

Salut , j'ai un problème avec le script 1 apparemment :leure2 :help
image


Haldhoro - posté le 16/07/2015 à 03:24:42 (16 messages postés)

❤ 0

Les Chroniques D'Haldhoro en création

Saluuut merci pour le script par contre le petit bémol, pourquoi la musique s'arrete quand on se ballade dans les sous menus comme skill items ou autre, et que dès qu'on retourne au principal elle se relance...

si on peux m'éclairer a ce sujet ce serai sympa merci d'avance...:D


MarcLewis666 - posté le 08/12/2015 à 15:10:08 (46 messages postés)

❤ 0

deux lettres sur une tache d'encre #bestlogoever

Super comme script mais j'ai un gros problème. J'utilise un écran titre personnalisé donc est-il possible d'enlever une option du menu ou alors rajouter une téléportation dans le script.

(Les Trésors De Nilo 10%) (Life Sim 4%)


Lespartiate - posté le 11/12/2015 à 22:34:33 (15 messages postés)

❤ 0

Excellent merci!!! trés jolie vraiment yessii!!!:ange


corbac83100 - posté le 27/12/2016 à 09:46:06 (19 messages postés)

❤ 0

fatigué

Haldhoro a dit:


Saluuut merci pour le script par contre le petit bémol, pourquoi la musique s'arrete quand on se ballade dans les sous menus comme skill items ou autre, et que dès qu'on retourne au principal elle se relance...

si on peux m'éclairer a ce sujet ce serai sympa merci d'avance...:D


je pence qui suffi de mètres dans les section comme magic skill iteme etc des menus de base la musique que tu veut... a voir

Corbac la nuit est t'on refuge


TheJoueurLukas - posté le 28/12/2016 à 20:11:05 (2 messages postés)

❤ 0

Le lien ne marche plus ![size=24][/size]


Tpomm - posté le 06/07/2017 à 22:20:30 (3 messages postés)

❤ 0

Comment?

Cela marche très bien malheuresement j'avais déjà instalé un systeme de quetes accessible
dans le menu. Il ne l'est plus du coup. Une personne serait elle comment ajouter une option suplémentaire pour que les deux script fonctionne? ...avec un petit temps de retard...


Saül Ciryure - posté le 16/08/2017 à 15:00:50 (49 messages postés)

❤ 0

My heart may be weak, it's not alone.

Tpomm a dit:


Cela marche très bien malheuresement j'avais déjà instalé un systeme de quetes accessible
dans le menu. Il ne l'est plus du coup. Une personne serait elle comment ajouter une option suplémentaire pour que les deux script fonctionne? ...avec un petit temps de retard...



A la rigueur ce que tu peut faire c'est que si jamais tu utilise un script pour ton menu de quête c'est crée un evenement commun qui appellerais ton menu et modifier DANS LE SCRIPT DU MENU DE XAIL la commande "Camping" pour lui donner le noms que tu souhaite lui donner (.......je pense que ça devrais marcher.....)

Celui qui ne sait rien ne peut rien comprendre.

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 | 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/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | 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