❤ 0 Ce script permet de superposer plusieurs charas les uns par dessus les autres. C'est notamment utile si vous voulez afficher l'équipement du joueur sans avoir à dessiner un character par combinaison d'équipement possible.
Ralph et ses amis, toujours prêts au combat.
Utilisation
Ressources graphiques
Les planches de chara à superposer aux charas des évènements doivent être sous forme de planches de 12 poses, réparties sur une grille de 3 cases horizontalement et 4 cases verticalement. Ces poses sont ancrées sur le chara de l'évènement par le pixel qui se situe au milieu et en bas de la case de la grille.
(Y'a un pixel rouge qui se balade pour marquer le point "ancre" des deux images.)
Base de données
Pour chaque pièce d'équipement (arme ou armure) qui dispose d'un chara, il faut aller le préciser dans la case commentaire de la page de l'arme / armure concernée dans la base de données.
Les champs à renseigner sont :
- le nom du chara (à placer dans le dossier Graphics / Characters)
- la coordonnée z du chara : plus cette coordonnée est grande, plus le chara apparaît au-dessus des autres. Par exemple, si votre armure a une coordonnée z de 1 et votre accessoire "Slip Superman" une coordonnée de 2, l'accessoire sera dessiné au-dessus de l'armure. L'apparence "normale" de l'évènement (ou du joueur) a une coordonnée de 0.
- (optionnel) la teinte : un nombre entre 0 et 360 qui représente le changement de teinte par rapport au dessin original. Faites varier la teinte (et uniquement la teinte) d'un dessin dans un logiciel qui permet de choisir les couleurs en TSL pour voir ce que ça donne. Vaut 0 par défaut.
- (optionnel) l'opacité : entre 0 et 255, si vous voulez qu'on puisse voir votre caleçon à travers votre armure. Vaut 255 par défaut.
La syntaxe est la suivante :
1
2
3
4
| lufia_vequip_chara: Nom du chara
lufia_vequip_z: coordonnée z
lufia_vequip_hue: teinte
lufia_vequip_opacity: opacité |
Par exemple :
1
2
3
4
| lufia_vequip_chara: Epée 1
lufia_vequip_z: 2
lufia_vequip_hue: 35
lufia_vequip_opacity: 160 |
Commandes
Le script fonctionne de la manière suivante : pour chaque évènement de la carte + le joueur, vous disposez d'un tableau à remplir contenant les charas a superposer à son apparence de base. Le nombre maximum d'éléments de ces tableaux est à définir au début du script, juste en dessous de là ou c'est écrit "# Nombre max de charas à empiler sur un évènement :".
Les charas superposés aux évènements normaux ne valent que pour la map en cours et sont perdus à chaque changement de carte. (Si vous voulez superposer des charas à un évènement, il est donc judicieux de le faire dans un évènement en processus parallèle qui se déclenchera à chaque chargement de la carte.) Les charas superposés au joueur sont gardés durant tout le jeu.
Afficher un chara quelqconque sur un évènement</span>
Dans une insertion de script, utilisez la commande suivante :
1
| lufia_vequip_change_sprite(id, sprite, "nom du chara", z, hue, opacity) |
- id : L'id de l'évènement. 0 pour désigner le joueur.
- sprite : Le numéro du sprite à changer. Ce nombre est compris entre 0 et le nombre maximum de calques que vous avez défini - 1. Les insertions de script avec des valeurs invalides seront ignorées. Si vous ne changez pas ce chiffre d'une insertion de script à l'autre, vous remplacerez toujours le même chara au lieu d'en superposer de nouveaux.
- "nom du chara" : Le nom du fichier à utiliser. N'oubliez pas les guillemets.
- z : La coordonnée z du chara.
- (optionnel) hue : Le changement de teinte. Vaut 0 par défaut.
- (optionnel) opacity : L'opacité. Vaut 255 par défaut.
Exemples :
1
2
3
| lufia_vequip_change_sprite(0, 0, "Banane", 1)
lufia_vequip_change_sprite(2, 1, "oreilles de lapin", 2, 25)
lufia_vequip_change_sprite(2, 3, "collant", 1, 0, 160) |
Afficher l'équipement du joueur
Vous pouvez afficher l'équipement du joueur sur son chara. Quand vous changez d'équipement, l'apparence du chara se met à jour toute seule. La commande en insertion de script est semblable à la précédente.
1
| lufia_vequip_change_sprite(id, sprite, "équipement") |
Les paramètres id et sprite ont la même définition que précédemment. Le dernier argument change. Il vaut "arme" si vous voulez afficher l'arme, "bouclier" pour le bouclier, "armure" pour l'armure, "casque" pour le casque ou "accessoire" pour l'accessoire. Les paramètres z, hue et opacity sont ceux définis dans la base de données pour l'arme / armure équipée.
Exemples :
1
2
| lufia_vequip_change_sprite(0, 0, "arme")
lufia_vequip_change_sprite(0, 1, "armure") |
Afficher de l'équipement sur un autre chara
Il est également possible d'afficher l'équipement d'un héros sur un chara quelconque. Pour cela, la commande est la même que pour afficher l'équipement du joueur (en spécifiant la bonne id dans la fonction). Il faut cependant marquer l'évènement en commençant sont nom par la commande \a[id] où id est l'id du héros souhaité dans la base de données.
Ainsi, si l'évènement d'id 2 de la carte s'appelle "\a[3]EV002", vous pourrez écrire :
1
| lufia_vequip_change_sprite(2, 0, "arme") |
et le chara correspondant à l'arme du 3e héros de la base de données sera affiché. C'est pratique si vous voulez avoir l'équipement visible et les héros qui se suivent en chenille.
Si vous essayez d'afficher de l'équipement sur un chara qui n'est pas marqué comme représentant un héros, la commande sera simplement ignorée.
Effacer un chara
La commande à utiliser est
1
| lufia_vequip_erase_sprite(id, sprites) |
- id : id de l'évènement. 0 pour désigner le joueur.
- sprites : liste des sprites à effacer
Exemple :
1
2
| lufia_vequip_erase_sprite(0, 0, 1, 2, 3)
Efface les sprites 0, 1, 2 et 3 du tableau du joueur. |
Debug
C'est pas facile de se souvenir du contenu de chaque tableau. Pour vous éviter d'avoir à utiliser 3758 post-its, la liste des charas à superposer sur le joueur et les events de la map en cours est accessible depuis le menu débug. (Vous savez, celui qui apparaît quand on appuie sur F9...)
Appuyez sur A (Maj par défaut) quand vous êtes dans ce menu pour accéder à cette nouvelle fenêtre.
Démo
Je vous ai fait une petite démo, dans laquelle absolument rien n'est expliqué. Vous y trouverez des exemples de ressources et d'utilisation, mais pas de guide pas à pas. Donc lisez bien le mode d'emploi présent juste au dessus.
La démo en question
Voici enfin le script seul, pour ceux qui préfèrent.
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
| #==============================================================================
# (RMVX) ~ Fusion de charas ~
# de Lufia
# v 1.1 4/09/2010
#==============================================================================
# Ce script permet d'empiler des charas sur le joueur ou sur les events de
# votre choix.
#
# Nombre max de charas à empiler sur un évènement :
OVERLAY_NUMBER = 10
#
#==============================================================================
# Zeus81 a ma gratitude éternelle.
# Enjoy !
#==============================================================================
#==============================================================================
# ** RPG::BaseItem
#------------------------------------------------------------------------------
# This class contains items data
#==============================================================================
class RPG::BaseItem
#--------------------------------------------------------------------------
# * Get Equipment Array for Overlays
#--------------------------------------------------------------------------
def lufia_vequip_get_chara
z, chara_name, hue, opacity = 0, "", 0, 255
self.note.split(/[\r\n]+/).each { |line|
case line
when /lufia_vequip_chara:(.+)/i
chara_name = $1.strip
when /lufia_vequip_hue:(.+)/i
hue = $1.to_i.between?(0, 360) ? $1.to_i : 0
when /lufia_vequip_opacity:(.+)/i
opacity = $1.to_i.between?(0, 255) ? $1.to_i : 255
when /lufia_vequip_z:(.+)/i
z = $1.to_i
end
}
return [z, chara_name, hue, opacity]
end
end
#==============================================================================
# ** Game_Character
#------------------------------------------------------------------------------
# This class deals with characters. It's used as a superclass of the
# Game_Player and Game_Event classes.
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :overlays
attr_accessor :overlays_need_refresh
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias lufia_vequip_initialize initialize
def initialize
lufia_vequip_initialize
@overlays = Array.new(OVERLAY_NUMBER)
@overlays_need_refresh = false
end
#--------------------------------------------------------------------------
# * Representing an actor?
#--------------------------------------------------------------------------
def vequip_actor
return 0
end
end
#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
# This class deals with events. It handles functions including event page
# switching via condition determinants, and running parallel process events.
# It's used within the Game_Map class.
#==============================================================================
class Game_Event
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :name
#--------------------------------------------------------------------------
# * Objet Initialization
#--------------------------------------------------------------------------
alias lufia_vequip_event_initialize initialize
def initialize(map_id, event)
@name = event.name
lufia_vequip_event_initialize(map_id, event)
end
#--------------------------------------------------------------------------
# * Representing an actor?
#--------------------------------------------------------------------------
def vequip_actor
return $1.to_i if self.name =~ /^\\[Aa]\[([1-9][0-9]*)]/
return nil
end
end
#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
# An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# * Change Overlay Sprite
# id : event id
# sprite : sprite number
# args : sprite properties
#--------------------------------------------------------------------------
def lufia_vequip_change_sprite(id, sprite, *args)
return true if !sprite.between?(0, OVERLAY_NUMBER - 1)
if id == 0
ev = $game_player
else
ev = $game_map.events[id]
end
if args.size == 1
return true if !ev.vequip_actor
ev.overlays[sprite] = args[0]
else
ev.overlays[sprite] = [args[1], args[0], args[2] || 0, args[3] || 255]
end
ev.overlays_need_refresh = true
return true
end
#--------------------------------------------------------------------------
# * Erase Overlay Sprite
# id : event id
# args : sprite numbers
#--------------------------------------------------------------------------
def lufia_vequip_erase_sprite(id, *args)
ev = id == 0 ? $game_player : $game_map.events[id]
args.each do |a|
next if !a.between?(0, OVERLAY_NUMBER - 1)
ev.overlays[a] = nil
end
ev.overlays_need_refresh = true
return true
end
#--------------------------------------------------------------------------
# * Change Equipment
#--------------------------------------------------------------------------
alias lufia_vequip_command_319 command_319
def command_319
actor = $game_actors[@params[0]]
if !actor.nil?
if actor == $game_party.members[0]
$game_player.overlays_need_refresh = true
else
$game_map.events.each_value do |e|
e.overlays_need_refresh = true if @params[0] == e.vequip_actor
end
end
end
lufia_vequip_command_319
end
end
#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
# This sprite is used to display characters. It observes a instance of the
# Game_Character class and automatically changes sprite conditions.
#==============================================================================
class Sprite_Character
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias lufia_vequip_initialize initialize
def initialize(viewport, character = nil)
@vequip_update_src_rect = false
@charas = []
lufia_vequip_initialize(viewport, character)
end
#--------------------------------------------------------------------------
# * Characters list
#--------------------------------------------------------------------------
def charas
return @charas.sort
end
#--------------------------------------------------------------------------
# * Update Transfer Origin Bitmap
#--------------------------------------------------------------------------
alias lufia_vequip_update_bitmap update_bitmap
def update_bitmap
# If there are no overlays to draw or character is a tile
if !@character.tile_id.zero? or
@character.character_name.empty? or
(!@character.overlays_need_refresh and @character.overlays.nitems.zero?)
# Run normal update method
lufia_vequip_update_bitmap
return
end
# If character needs to be redrawn
if @character_name != @character.character_name or
@character_index != @character.character_index or
@character.overlays_need_refresh
# Update of source rectangle to use ?
if @character.overlays.nitems.zero?
@vequip_update_src_rect = @vequip_update_src_rect ? false : true
if !@vequip_update_src_rect
lufia_vequip_update_bitmap
return
end
end
# Flag variables
@character.overlays_need_refresh = false
@character_name = @character.character_name
@character_index = @character.character_index
# Array of characters to draw
@charas = []
@charas << [0, @character_name, 0, 255]
# Get equipment for actors
if @character.overlays.any?{ |o| o.is_a?(String) }
if @character.is_a?(Game_Player)
equip = $game_party.members[0].equips
elsif $game_actors[@character.vequip_actor]
equip = $game_actors[@character.vequip_actor].equips
end
end
# Get charas to draw
@character.overlays.each do |o|
next if o.nil?
if o.is_a?(String)
next if !@character.vequip_actor
case o.downcase
when "arme"
eq = equip[0]
when "bouclier"
eq = equip[1]
when "casque"
eq = equip[2]
when "armure"
eq = equip[3]
when "accessoire"
eq = equip[4]
end
@charas << eq.lufia_vequip_get_chara if (eq and !eq.lufia_vequip_get_chara[1].empty?)
else
@charas << o
end
end
@charas.sort!
# Get max width and height
max_width = max_height = 1
@charas.each do |c|
bitmap = Cache.character(c[1])
if c[1] != @character_name or ((sign = c[1][/^[\!\$]./]) and sign.include?('$'))
max_width = [max_width, bitmap.width / 3].max
max_height = [max_height, bitmap.height / 4].max
else
max_width = [max_width, bitmap.width / 12].max
max_height = [max_height, bitmap.height / 8].max
end
end
# Draw charas
self.bitmap = Bitmap.new(max_width*3, max_height*4)
@charas.each do |c|
bitmap = Cache.load_bitmap("Graphics/Characters/", c[1], c[2])
if c[1] != @character_name or ((sign = c[1][/^[\!\$]./]) and sign.include?('$'))
width = bitmap.width / 3
height = bitmap.height / 4
ix = iy = 0
else
width = bitmap.width / 12
height = bitmap.height / 8
ix = (@character_index % 4 * 3) * width
iy = (@character_index / 4 * 4) * height
end
for i in 0..2
for j in 0..3
x = max_width * i + (max_width - width) / 2
y = max_height * (j + 1) - height
rect = Rect.new(ix + width * i, iy + height * j, width, height)
self.bitmap.blt(x, y, bitmap, rect, c[3])
end
end
end
# Set point of origin
@cw = max_width
@ch = max_height
self.ox = @cw / 2
self.oy = @ch
end
end
#--------------------------------------------------------------------------
# * Update Transfer Origin Rectangle
#--------------------------------------------------------------------------
alias lufia_vequip_update_src_rect update_src_rect
def update_src_rect
# If there are no overlays to draw
if !@character.tile_id.zero? or
(!@vequip_update_src_rect and @character.overlays.nitems.zero?)
lufia_vequip_update_src_rect
return
end
# Update source rectangle
sx = (@character.pattern < 3 ? @character.pattern : 1) * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
end
#==============================================================================
# ** Window_SaveFile
#------------------------------------------------------------------------------
# This window displays save files on the save and load screens.
#==============================================================================
class Window_SaveFile
#--------------------------------------------------------------------------
# * Load Partial Game Data
# By default, switches and variables are not used (for expansion use,
# such as displaying place names)
#--------------------------------------------------------------------------
def load_gamedata
@time_stamp = Time.at(0)
@file_exist = FileTest.exist?(@filename)
if @file_exist
file = File.open(@filename, "r")
@time_stamp = file.mtime
begin
@charas = Marshal.load(file)
@characters = Marshal.load(file)
@frame_count = Marshal.load(file)
@last_bgm = Marshal.load(file)
@last_bgs = Marshal.load(file)
@game_system = Marshal.load(file)
@game_message = Marshal.load(file)
@game_switches = Marshal.load(file)
@game_variables = Marshal.load(file)
@total_sec = @frame_count / Graphics.frame_rate
rescue
@file_exist = false
ensure
file.close
end
end
end
#--------------------------------------------------------------------------
# * Draw Party Characters
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_party_characters(x, y)
@charas.each_index do |i|
charname = @charas[i][1]
charindex = @charas[i][0]
max_width = max_height = 1
# Get max width and height
@charas[i][2].each do |c|
bitmap = Cache.character(c[1])
if c[1] != charname or ((sign = c[1][/^[\!\$]./]) and sign.include?('$'))
max_width = [max_width, bitmap.width / 3].max
max_height = [max_height, bitmap.height / 4].max
else
max_width = [max_width, bitmap.width / 12].max
max_height = [max_height, bitmap.height / 8].max
end
end
# Draw charas
@charas[i][2].each do |c|
bitmap = Cache.load_bitmap("Graphics/Characters/", c[1], c[2])
if c[1] != charname or ((sign = c[1][/^[\!\$]./]) and sign.include?('$'))
width = bitmap.width / 3
height = bitmap.height / 4
ix = iy = 0
else
width = bitmap.width / 12
height = bitmap.height / 8
ix = (charindex % 4 * 3) * width
iy = (charindex / 4 * 4) * height
end
px = x + i * 48 + (max_width - width) / 2
py = y - max_height
rect = Rect.new(ix + width, iy, width, height)
self.contents.blt(px, py, bitmap, rect, c[3])
end
end
end
end
#==============================================================================
# ** Window_Events
#------------------------------------------------------------------------------
# This window displays characters of the current map on the debug screen
#==============================================================================
class Window_Events < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 176, 416)
self.index = 0
self.active = false
self.visible = false
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
@item_max = $game_map.events.size + 1
create_contents
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# * Draw Item
# index : item number
#--------------------------------------------------------------------------
def draw_item(index)
if index == 0
text = "Joueur"
else
text = "#{index} : #{$game_map.events[index].name}"
end
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.draw_text(rect, text)
end
end
#==============================================================================
# ** Window_Overlays
#------------------------------------------------------------------------------
# This window displays overlays for a given character on the debug screen
#==============================================================================
class Window_Overlays < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(176, 0, 368, 416)
@event = -1
self.visible = false
self.contents.font.size = 18
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...OVERLAY_NUMBER
draw_item(i)
end
end
#--------------------------------------------------------------------------
# * Draw Item
# index : item number
#--------------------------------------------------------------------------
def draw_item(index)
if @event == 0
ev = $game_player.overlays
else
ev = $game_map.events[@event].overlays
end
if ev[index].nil?
text = "Vide"
elsif ev[index].is_a?(String)
text = ev[index].capitalize
else
text = "#{ev[index][1]} / z : #{ev[index][0]} / h : #{ev[index][2]} / o : #{ev[index][3]}"
end
rect = Rect.new(0, index*WLH, self.contents.width, WLH)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.draw_text(rect, text)
end
#--------------------------------------------------------------------------
# * Frame update
# ev : event id
#--------------------------------------------------------------------------
def update(ev)
if @event != ev
@event = ev
refresh if @event != -1
end
end
end
#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
# This class performs the save and load screen processing.
#==============================================================================
class Scene_File
#--------------------------------------------------------------------------
# * Write Save Data
# file : write file object (opened)
#--------------------------------------------------------------------------
alias lufia_vequip_write_save_data write_save_data
def write_save_data(file)
charas = []
view = Viewport.new(0, 0, 544, 416)
sprite = Sprite_Character.new(view, $game_player)
charas.push([$game_player.character_index, $game_player.character_name,
sprite.charas])
for i in 1..3
next if $game_party.members[i].nil?
flag = false
$game_map.events.each_value do |e|
if e.vequip_actor == $game_party.members[i].id
sprite = Sprite_Character.new(view, e)
charas.push([e.character_index, e.character_name, sprite.charas])
flag = true
end
end
if !flag
charas.push([$game_party.members[i].character_index,
$game_party.members[i].character_name,
[[0, $game_party.members[i].character_name, 0, 255]]])
end
end
Marshal.dump(charas, file)
lufia_vequip_write_save_data(file)
end
#--------------------------------------------------------------------------
# * Read Save Data
# file : file object for reading (opened)
#--------------------------------------------------------------------------
alias lufia_vequip_read_save_data read_save_data
def read_save_data(file)
charas = Marshal.load(file)
lufia_vequip_read_save_data(file)
end
end
#==============================================================================
# ** Scene_Debug
#------------------------------------------------------------------------------
# This class performs debug screen processing.
#==============================================================================
class Scene_Debug
#--------------------------------------------------------------------------
# * Start Processing
#--------------------------------------------------------------------------
alias lufia_vequip_start start
def start
lufia_vequip_start
@events_window = Window_Events.new
@overlays_window = Window_Overlays.new
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
alias lufia_vequip_terminate terminate
def terminate
lufia_vequip_terminate
@events_window.dispose
@overlays_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
alias lufia_vequip_update update
def update
@events_window.update
@overlays_window.update(@events_window.index)
lufia_vequip_update
if @events_window.active
update_events
end
if Input.trigger?(Input::A)
@events_window.visible = @overlays_window.visible = true
@left_window.active = @right_window.active = false
@events_window.active = true
return
end
end
#--------------------------------------------------------------------------
# * Update Events Window Input
#--------------------------------------------------------------------------
def update_events
if Input.trigger?(Input::B)
@events_window.active = false
@events_window.visible = @overlays_window.visible = false
@left_window.active = @right_window.active = true
return
end
end
end |
Pour les rapports de bugs, demandes d'améliorations ou lettres d'insultes, laissez un commentaire juste en-dessous.
|