Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
268 connectés actuellement
30732727 visiteurs depuis l'ouverture
2706 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
❤ 0 Auteur : 0malfrax0
Logiciel : RPG Maker XP
Nombre de scripts : 2
Fonctionnalités
- Ajoute plusieurs options de configuration au menu
- Permet d'ajouter des images, index ou icônes, avec des options de coordonnées et transparence
Installation
Les deux scripts sont à placer au-dessus de Main. Ils sont séparés, mais vous pouvez les intégrez dans un seul script.
Utilisation
Tous les réglages sont dans le premier script.
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
| #Entierement créé par malfrax
#Suiver les instructions une à une pour créer votre scene title
#En cas de question aller sur Oniromancie
####################
###Règles générales
####################
#Les valeurs à activer s'activent en mettant 1 et se désactive en mettant 0
#Les opacités sont entre 0 et 255 (ex : 121)
#les axes X sont entre 0 et 639 (ex : 423) mettre -1 sert à le placé au milieu (juste pour la fenêtre)
#les axes Y sont entre 0 et 239 (ex : 185) mettre -1 sert à le placé au milieu (juste pour la fenêtre)
#pour les axes, le négatif sert à le mettre en retrait
#les noms sont obligatoirement entre "" (ex : "Commencer")
####################
###Mettre des images pour l'écran titre
####################
#Les images doivent avoir pour nom : Commencer.png Charger.png Quitter.png
ACTIVER_IMAGE = 0 #Activer les images pour l'écran titre
POS_X_IMAGE = 100 #Position en x des images
POS_Y_IMAGE = 100 #Position en y des images
OPACITE_IMAGE = 200 #Opaciter des images : 255 max
PIXEL_ECART_X = 50 #nombre de pixel d'ecard entre 2 images sur X
PIXEL_ECART_Y = 20 #idem
#----------------------------------------
####################
###Mettre en mode normal
####################
###ATTENTION### EN PAS METTRE EN MODE NORMAL
#SI VOUS METTEZ DES IMAGES, UN INDEX OU DES ICONES
MODE_NORMAL = 0 #Activer le mode normal
COMMENCER = "" #Mettez le nom qui met une nouvelle partie
CHARGER = ""#Mettez le nom qui met un chargement
QUITTER = ""#Mettez le nom pour quitter
#----------------------------------------
####################
###Mettre une fenêtre avec texte
####################
ACTIVER_FENETRE = 0 #Mettre une fenêtre
PIX_PLUS_X = 0#position x
PIX_PLUS_Y = 0#position y
OPACITE_BORD = 255 # opacité des bord
OPACITE_FENETRE = 255 # opacité du fond
F_W = 100 # largeur de la fenêtre
F_H = 50 # Hauteur de la fenêtre
F_TEXT = "Script entièrement créé par Malfrax" # Mettez le texte de la fenêtre
#----------------------------------------
####################
###Type d'index
####################
INDEX_TYPE = 0
#0 désactiver l'index
#1 l'index est une image qui est sur le texte (non animer)
#2 l'index est une image qui est sur le texte avec un bascule d'opacite
#3 l'index est un icone qui est à coté du texte (non animer)
#4 l'inex est un icone qui est à coté du text avec un déplacement gauche droite
#5 pour mettre une image à la place de l'icone du 3
#6 idem mais avec le 4
INDEX_IMAGE = "031-Key03" # Nom de l'image (si vous avez choisi 1,2,5 ou 6 mettez la
#dans Picture sinon si vous avez choisi 3 et 4 mettez dans icône ou choisissez
#le nom d'une icône courante)
INDEX_OPACITE = 200 # Opacité de l'index
INDEX_REGLAGE_X =-60 # Si besoin de régler la largeur changer cela pour rajouter ou enlever des pixels
INDEX_REGLAGE_Y = 0#idem pour la hauteur
#Si INDEX_TYPE = 2
INDEX_OPACITE_ANIM = 80 # Opacité minimum lors de l'animation 2
#Si INDEX_TYPE = 4 ou 6
INDEX_PIXEL_DEPLACEMENT = 20 # Nombre de pixel de déplacement total
INDEX_FRAME = 1 # Nombre de pixel de déplacement par frame
###ATTENTION### : IL FAUT QUE INDEX_PIXEL_DEPLACEMENT
#################SOIT DIVISIBLE PAR INDEX_FRAME SANS RESTE
###EXEMPLE : 21 et 7 car 21/7 = 3 donc c'est bon
#---------------------------------------
####################
###Icône
####################
ACTIVER_ICONE = 0 # mettre un icône au début de chaque image
ICONE_ESPACE = 60 # espace en pixel entre les images
ICONE_POSITION = 2 # 1 mettre les icônes à gauche, 2 à droite
ICONE_NEW = "001-Weapon01" # nom de l'icône pour la commande "Commencer"
ICONE_CHARGER = "002-Weapon02" # nom de l'icône pour la commande 'charger'
ICONE_QUITTER = "003-Weapon03"#nom de l'icône pour la commande 'quitter'
ICONE_OPACITE = 200 # Opacité des icône
ICONE_REGLAGE = 5 # Si besoin, ajuste la hauteur des icônes
#-------------------------------------- |
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
| #Entièrement créé par malfrax
# Suivez les instructions une à une pour créer votre écran titre.
# En cas de question, reportez-vous sur le topic du script : http://www.rpg-maker.fr/index.php?page=scripts&id=222
class Scene_Title
def main
@mode = MODE_NORMAL
@activer = ACTIVER_IMAGE
@index1 = INDEX_TYPE
@icon = ACTIVER_ICONE
@fen = ACTIVER_FENETRE
@index_frame = INDEX_FRAME
if @mode == 1 and @activer ==1 or @mode == 1 and @index1 >= 1 or @mode == 1 and @icon == 1
print("###ERREUR### : Mode normal activé alors que soit 'index' soit 'activer icone' soit 'activer image' est activé")
$scene = nil
elsif @mode == 1
$scene = Scene_Title_A.new
end
if @mode == 0
if @activer == 0
print("###ERREUR### : L'écran titre n'existe pas mettez soit MODE_NORMAL soit ACTIVER_IMAGE à 1")
$scene = nil
end
end
if $BTEST
battle_test
return
end
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
#######
#Le début
#######
@pos_x = POS_X_IMAGE
@pos_y = POS_Y_IMAGE
@index_change =0
@commencer = Sprite.new
@charger = Sprite.new
@quitter = Sprite.new
@icon_com = Sprite.new
@icon_char = Sprite.new
@icon_quit= Sprite.new
@index_img = Sprite.new
@nb_frame = 0
@fen_x = PIX_PLUS_X
@fen_y = PIX_PLUS_X
@fen_x = 320-F_W/2 if PIX_PLUS_X == -1
@fen_y = 240-F_H/2 if PIX_PLUS_Y == -1
@fenetre = Window_Base.new(@fen_x,@fen_y,F_W,F_H)
@fenetre.contents=Bitmap.new(@fenetre.width-32,@fenetre.height-32)
@fenetre.contents.font.name = $fontface
@fenetre.contents.font.size = $fontsize
@fenetre.contents.draw_text(0,-15,F_W,F_H,F_TEXT)
@fenetre.opacity = OPACITE_BORD
@fenetre.back_opacity = OPACITE_FENETRE
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title("")
@quitter.bitmap = RPG::Cache.picture("Quitter")
@charger.bitmap = RPG::Cache.picture("Charger")
@commencer.bitmap = RPG::Cache.picture("Commencer")
@commencer.x = @pos_x
@commencer.y = @pos_y
@charger.x = @pos_x+PIXEL_ECART_X
@charger.y = @pos_y + PIXEL_ECART_Y
@quitter.x = @pos_x+PIXEL_ECART_X*2
@quitter.y = @pos_y + PIXEL_ECART_Y*2
@icon_com.bitmap = RPG::Cache.icon(ICONE_NEW)
@icon_char.bitmap = RPG::Cache.icon(ICONE_CHARGER)
@icon_quit.bitmap = RPG::Cache.icon(ICONE_QUITTER)
@icon_o = ICONE_OPACITE
@icon_com.opacity = @icon_o
@icon_char.opacity = @icon_o
@icon_quit.opacity = @icon_o
@icon_com.x = @pos_x-ICONE_ESPACE
@icon_char.x = @pos_x-ICONE_ESPACE+PIXEL_ECART_X
@icon_quit.x = @pos_x-ICONE_ESPACE+PIXEL_ECART_X*2
@icon_com.y = @pos_y+ICONE_REGLAGE
@icon_char.y = @pos_y+PIXEL_ECART_Y+ICONE_REGLAGE
@icon_quit.y = @pos_y+PIXEL_ECART_Y*2+ICONE_REGLAGE
if ICONE_POSITION == 2
if@quitter.bitmap.width >= @charger.bitmap.width and @quitter.bitmap.width >= @commencer.bitmap.width
@decalage = @quitter.bitmap.width
elsif @charger.bitmap.width >= @quitter.bitmap.width and @charger.bitmap.width >= @commencer.bitmap.width
@decalage = @charger.bitmap.width
elsif @commencer.bitmap.width >= @quitter.bitmap.width and @commencer.bitmap.width >= @charger.bitmap.width
@decalage = @commencer.bitmap.width
end
@icon_com.x = @pos_x+ICONE_ESPACE+@decalage
@icon_char.x = @pos_x+ICONE_ESPACE+@decalage+PIXEL_ECART_X
@icon_quit.x = @pos_x+ICONE_ESPACE+@decalage+PIXEL_ECART_X*2
end
@x_index = @pos_x+INDEX_REGLAGE_X
@y_index = @pos_y+INDEX_REGLAGE_Y
@index_img.x = @x_index-PIXEL_ECART_X
@index_img.opacity = INDEX_OPACITE
@index_img.y = @y_index-PIXEL_ECART_Y
@index = 0
@index_dep = INDEX_PIXEL_DEPLACEMENT/INDEX_FRAME
invisible
@index_img.y = @index * PIXEL_ECART_Y+@y_index
@index_img.x = @index * PIXEL_ECART_X+@x_index
case INDEX_TYPE
when 1,2,5,6
@index_img.bitmap = RPG::Cache.picture(INDEX_IMAGE)
when 3,4
@index_img.bitmap = RPG::Cache.icon(INDEX_IMAGE)
end
@index_img.opacity = INDEX_OPACITE
for i in 0..3
if FileTest.exist?("Sauvegarde#{i+1}.rxdata")
@continue_enabled = true
end
end
$game_system.bgm_play($data_system.title_bgm)
Audio.me_stop
Audio.bgs_stop
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@quitter.dispose
@quitter.bitmap.dispose
@commencer.dispose
@commencer.bitmap.dispose
@charger.dispose
@charger.bitmap.dispose
@icon_com.bitmap.dispose
@icon_com.dispose
@icon_char.dispose
@icon_quit.dispose
@icon_char.bitmap.dispose
@icon_quit.bitmap.dispose
@index_img.dispose
@index_img.bitmap.dispose
@sprite.dispose
@sprite.bitmap.dispose
@fenetre.dispose
end
def update
@quitter.update
@commencer.update
@charger.update
@icon_com.update
@icon_char.update
@icon_quit.update
@index_img.update
@sprite.update
@fenetre.update
visible
@nb_frame += 1
if Input.repeat?(Input::DOWN)
if @index<2
@index += 1
else
@index = 0
end
end
if Input.repeat?(Input::UP)
if @index>0
@index -= 1
else
@index = 2
end
end
if Input.trigger?(Input::C)
case @index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
end
end
@index_img.y = @index * PIXEL_ECART_Y+@y_index
@index_img.x = @index * PIXEL_ECART_X+@x_index+@index_change
case INDEX_TYPE
when 2
if @nb_frame > INDEX_OPACITE_ANIM*2
@nb_frame = 0
elsif @nb_frame > INDEX_OPACITE_ANIM
@index_img.opacity -= 1
elsif @nb_frame > 0
@index_img.opacity += 1
end
when 6, 4
if @nb_frame > @index_dep*2
@nb_frame = 0
elsif @nb_frame > @index_dep
@index_change -= INDEX_FRAME
elsif @nb_frame > 0
@index_change += INDEX_FRAME
end
end
end
def invisible
@commencer.visible = false
@charger.visible = false
@quitter.visible = false
@icon_com.visible = false
@icon_char.visible = false
@icon_quit.visible = false
@index_img.visible = false
@fenetre.visible = false
@sprite.visible = false
end
def visible
if @activer == 1
@commencer.visible = true
@charger.visible = true
@quitter.visible = true
end
if @icon == 1
@icon_com.visible = true
@icon_char.visible = true
@icon_quit.visible = true
end
if @fen == 1
@fenetre.visible = true
end
if @index1 >= 1
@index_img.visible = true
end
end
def command_new_game
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
def command_continue
unless @continue_enabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
end
def command_shutdown
$game_system.se_play($data_system.decision_se)
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = nil
end
def battle_test
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_battle_test_members
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
$game_system.se_play($data_system.battle_start_se)
$game_system.bgm_play($game_system.battle_bgm)
$scene = Scene_Battle.new
end
end
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title_A
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# 戦闘テストの場合
if $BTEST
battle_test
return
end
# データベースをロードA
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# システムオブジェクトを作成
$game_system = Game_System.new
# タイトルグラフィックを作成
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
# コマンドウィンドウを作成
s1 = COMMENCER
s2 = CHARGER
s3 = QUITTER
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
# コンティニュー有効判定
# セーブファイルがひとつでも存在するかどうかを調べる
# 有効なら @continue_enabled を true、無効なら false にする
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Sauvegarde#{i+1}.rxdata")
@continue_enabled = true
end
end
# コンティニューが有効な場合、カーソルをコンティニューに合わせる
# 無効な場合、コンティニューの文字をグレー表示にする
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
# タイトル BGM を演奏
$game_system.bgm_play($data_system.title_bgm)
# ME、BGS の演奏を停止
Audio.me_stop
Audio.bgs_stop
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# コマンドウィンドウを解放
@command_window.dispose
# タイトルグラフィックを解放
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# コマンドウィンドウを更新
@command_window.update
# C ボタンが押された場合
if Input.trigger?(Input::C)
# コマンドウィンドウのカーソル位置で分岐
case @command_window.index
when 0 # ニューゲーム
command_new_game
when 1 # コンティニュー
command_continue
when 2 # シャットダウン
command_shutdown
end
end
end
#--------------------------------------------------------------------------
# ● コマンド : ニューゲーム
#--------------------------------------------------------------------------
def command_new_game
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# BGM を停止
Audio.bgm_stop
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 初期パーティをセットアップ
$game_party.setup_starting_members
# 初期位置のマップをセットアップ
$game_map.setup($data_system.start_map_id)
# プレイヤーを初期位置に移動
$game_player.moveto($data_system.start_x, $data_system.start_y)
# プレイヤーをリフレッシュ
$game_player.refresh
# マップに設定されている BGM と BGS の自動切り替えを実行
$game_map.autoplay
# マップを更新 (並列イベント実行)
$game_map.update
# マップ画面に切り替え
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# ● コマンド : コンティニュー
#--------------------------------------------------------------------------
def command_continue
# コンティニューが無効の場合
unless @continue_enabled
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# ロード画面に切り替え
$scene = Scene_Load.new
end
#--------------------------------------------------------------------------
# ● コマンド : シャットダウン
#--------------------------------------------------------------------------
def command_shutdown
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# BGM、BGS、ME をフェードアウト
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
# シャットダウン
$scene = nil
end
#--------------------------------------------------------------------------
# ● 戦闘テスト
#--------------------------------------------------------------------------
def battle_test
# データベース (戦闘テスト用) をロード
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 戦闘テスト用のパーティをセットアップ
$game_party.setup_battle_test_members
# トループ ID、逃走可能フラグ、バトルバックを設定
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# バトル開始 SE を演奏
$game_system.se_play($data_system.battle_start_se)
# バトル BGM を演奏
$game_system.bgm_play($game_system.battle_bgm)
# バトル画面に切り替え
$scene = Scene_Battle.new
end
end |
Version 1.0 (ancienne version, fixe, 1 script)
Spoiler (cliquez pour afficher) Utilisation
Il suffit de créer une image Nouvelle.png pour la commande nouvelle, Charger.png pour la commande Charger, Quitter.png Pour la commande quitter et une image index.png qui sert à savoir où on est ^^
Au début du script vous pouvez spécifier la position, l'espacement ainsi que l'opacité de l'index.
Mettez ce script au dessus de main et nommez le "Scene_title_perso"
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
| #Créé par Malfrax, Merci de ne pas enlever cette ligne
#Pour configurer changer les valeurs plus bas, et mettez dans le dossier picture
#Les images qu'il faut : "Nouvelle.png", "Charger.png", "Quitter.png"
#Et "Index.png", merci de mettre cette image en transparant car sinon il y a des
#bug.
POSITION_X_TITLE = 320 # Position des commandes en largeur (entre 0 et 640)
POSITION_Y_TITLE = 240 # Position des commandes en hauteur (entre 0 et 480)
PIXEL = 50 # Nombre de pixel entre chaque information
OPACITY = 100 # opacité de l'index
class Scene_Title
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
if $BTEST
battle_test
return
end
@position_x = POSITION_X_TITLE
@position_y = POSITION_Y_TITLE
@pixel = PIXEL
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
@new = Sprite.new
@new.bitmap = RPG::Cache.picture("Nouvelle")
@new.x = @position_x
@new.y = @position_y
@charger = Sprite.new
@charger.bitmap = RPG::Cache.picture("Charger")
@charger.x = @position_x
@charger.y = @position_y + @pixel
@quitter = Sprite.new
@quitter.bitmap = RPG::Cache.picture("Quitter")
@quitter.x = @position_x
@quitter.y = @position_y + @pixel*2
@index = Sprite.new
@index.bitmap = RPG::Cache.picture("Index")
@index.x = @position_x
@index.y = @position_y
@index.opacity = OPACITY
@command = 1
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Sauvegarde#{i+1}.rxdata")
@continue_enabled = true
end
end
$game_system.bgm_play($data_system.title_bgm)
Audio.me_stop
Audio.bgs_stop
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@sprite.bitmap.dispose
@sprite.dispose
@new.dispose
@new.bitmap.dispose
@charger.dispose
@charger.bitmap.dispose
@quitter.dispose
@quitter.bitmap.dispose
@index.dispose
@index.bitmap.dispose
end
def update
@new.update
@charger.update
@quitter.update
@index.update
if Input.trigger?(Input::DOWN)
if @command == 3
@command = 1
else
@command += 1
end
end
if Input.trigger?(Input::UP)
if @command == 1
@command = 3
else
@command -= 1
end
end
case @command
when 1
@index.y = @position_y
when 2
@index.y = @position_y + @pixel
when 3
@index.y = @position_y + @pixel*2
end
if Input.trigger?(Input::C)
case @command
when 1
command_new_game
when 2
if @continue_enabled
command_continue
else
$game_system.se_play($data_system.buzzer_se)
end
when 3
command_shutdown
end
end
def command_new_game
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
def command_continue
unless @continue_enabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
end
def command_shutdown
$game_system.se_play($data_system.decision_se)
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = nil
end
def battle_test
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_battle_test_members
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
$game_system.se_play($data_system.battle_start_se)
$game_system.bgm_play($game_system.battle_bgm)
$scene = Scene_Battle.new
end
end
end |
Avis
Alchimèsterie, à propos de la version 2.0 a dit: Il comporte quelques erreurs ce script en plus, ne serait-ce que celle-ci (car mine de rien elle va perturber ceux qui ont du mal ou qui se contente de piocher sans vraiment inspecter le truc):
1
2
| @fen_x = PIX_PLUS_X
@fen_y = PIX_PLUS_X |
Il déconne sur deux ou trois truc, il manque des trucs et on ne comprend pas trop pourquoi il est en deux scripts différents .. pas tout à fait au point donc mais le principe est sympa et à part ça il est bien pour s'entrainer/apprendre quelques trucs en le décortiquant.
En l'état il fonctionne tout de même et si certains veulent savoir en grande ligne ce qu'il permet voilà une mini-explication:
En gros, comme dit plus haut, le script permet d'effectuer les réglages depuis l'éditeur RMXP (ces réglages ne sont donc pas accessibles en jeu, faut tâter manuellement les valeurs).
Le principe est de fonctionner avec des sortes d'interrupteurs ON/OFF qui activent les options (lorsque la valeur vaut 1) ou les désactivent (avec une valeur de 0).
MODE_NORMAL permet au projet de garder le menu par défaut de RMXP (je crois que ça déconne en plus, au pire faut virer cette partie du script qui ne sert à rien). Bref pour avoir le menu personnalisé il faudra donc désactiver cette option en lui mettant la valeur 0. Cette option ne peut pas être activée en même temps que les autres options.
Les autres options ne sont possible que lorsque l'option MODE_NORMAL est désactivée. Elles sont au nombre de 4:
A - ACTIVER_IMAGE
Ceci remplace le texte alpha habituel des choix du menu par des images (qu'il faut donc créer/avoir puis importer dans le dossier du projet à ..\Graphics\Pictures).
Cette option est obligatoire lorsque le MODE_NORMAL est désactivé (et ne doit pas être activée en même temps que le MODE_NORMAL). ça cafouille sévère y'a pas de sécurité prévu pour les mauvais réglages que vous ferez (genre garde fou).
B - INDEX_TYPE
Cette option permet de gérer l'apparence et l'existence d'un Sélecteur (appelé index) qui viendra s'afficher en face du choix que l'on pointe dans le menu.
Ce sélecteur se déplace donc de haut en bas lorsque l'on sélectionne un autre choix au moyen des flèches clavier.
Bien que facultatif, ne pas activer cette option rendra difficile la navigation dans le menu puisque rien d'autre n'indiquera quel choix
de ce menu est sélectionné..le risque est donc de valider un choix que l'on ne voulait pas faire (par exemple Quitter au lieu de Commencer). Elle est donc fortement conseillée..
Plusieurs types de sélecteurs peuvent êtres réglés c'est sympa ça, faut les tester tous. Là encore faut avoir une image.
C - ACTIVER_FENETRE
Cette option permet d'afficher du texte avec ou sans son cadre au dessus de menu principal, elle n'est pas obligatoire mais comme la précédente elle ne fonctionnera que lorsque le MODE_NORMAL est désactivé. En fait de toute façon faudra quoi qu'il en coûte désactiver le MODE_NORMAL.. sinon ça sert à rien.
D - ACTIVER_ICONE
Cette option, non obligatoire également, permet d'afficher des icones au niveau des différents choix du menu principal. Ces icones doivent être celles par défaut de la Base de Donnée (par exemple: 001-Weapon01) ou importées dans le sous-dossier ..\Graphics\Icons mais ça reste assez bling bling sauf si on est imaginatif.
Voilà en gros. Bien entendu on peut paramétrer ensuite différents trucs (par ex. on peut ainsi décaler les options du menu pour faire des effets d'escaliers, etc etc. ) mais faut connaitre un minimum le principe du script ou de la géométrie ^^ (pas bcp juste ce qu'il faut car ça reste facile à faire mais tout de même y a des disfonctionnements à l'origine qu'il faudra savoir régler).
Le gros truc cool pour ceux qui débutent comme moi c'est que c'est "commenté" donc une bonne matière de travail surtout pour l'améliorer et en faire un truc plus fonctionnel voir plus complet.. ^^
Bon truc pour s'entrainer donc. |
Mis à jour le 18 octobre 2020.
|
Monos -
posté le 21/05/2009 à 17:31:53 (57322 messages postés)
| Vive le homebrew | Citation: POSITION_X_TITLE = 320#Position des commandes en largeur (entre 0 et 640)
POSITION_Y_TITLE = 240#Position des commandes en hauteur (entre 0 et 480) |
Donc se script à des chances pour être sur Xp.
J'ai pas testé.
|
Signer du nez ? |
Urban Gamer -
posté le 21/05/2009 à 18:30:30 (4712 messages postés)
| Problem omenides ? | "Tout est expliqué au début"
Sauf si c'est sur VX ou XP...
|
Ceci n'est pas un lien vers ma page deviant art | Vu que c'est la mode du Livestream |
Lufia -
posté le 21/05/2009 à 18:44:05 (5792 messages postés)
| Un Oniromancien. PVs 1, Attaque 0, Défense 0. | C'est pour XP. Mais il est dans la bonne section quand on va dans la rubrique script, de toute façon.
J'ai un peu envie de dire "tout ça pour ça". On recopie la disposition par défaut du menu du titre mais avec des images.
|
Une signature ? Pour quoi faire ? |
william samy -
posté le 22/05/2009 à 18:14:18 (488 messages postés)
| revenant des vivant. | script sympas mais dommage que "l'index" ne puisse pas être animé...
|
Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner |
danaelrobin -
posté le 23/05/2009 à 11:27:14 (52 messages postés)
| | [color=red][/color][size=18][/size]
Désolé de vous déranger avec des questions de noobs,
mais comment se servir de ce script?il indique un message
indéchiffrable sur l'écran titre de mon projet quand je veux tester
ou dois-je installer les images, aprés les avoir fourrées dans le
dossier "pictures" pour qu'elles apparaissent dans un ordre défini
au moment de l'écran titre.
merci d'avance pour votre réponse
bonne journée
|
natinusala -
posté le 23/05/2009 à 12:40:20 (586 messages postés)
| Mon avatar est une patate trysophille aux poils de moustache musclés. | Alors je résume le script pour danaelrobin qui a gentiment créé un compte rien que pour poser cette question.
Le script affiche l'image Nouvelle.png au début. Quand tu appuie sur la flêche du bas il affiche Charger.png puis Quitter.png et a toi de faire ces images. Et bien sûr quand tu valide il fait l'action, c'est à dire nouvelle partie charger ou quitter.
Capito ?
P.S. : je ne vois pas l'intéret de Index.png
|
Attends je vais chercher un stylo |
danaelrobin -
posté le 23/05/2009 à 18:58:57 (52 messages postés)
| | ok natinusala
merci pour la réponse
toute facon j'ai toujours été brouillé avec les scripts
merci pour le guide d'utilisation
ps: j'ai pas créé un compte juste pour ca, mais pour si
d'autres questions parvenait a mon intrigue
bonne journée
danaelrobin
|
0malfrax0 -
posté le 23/05/2009 à 20:25:30 (10 messages postés)
| | Bon désolée de poster le script un peu rapide mais il est pour XP et il suffit de créer une image Nouvelle.png pour la commande nouvelle, Charger.png pour la commande Charger, Quitter.png Pour la commande quitter et une image index.png qui sert à savoir où on est ^^
On début vous pouvez gérer la position, l' espacement ainsi que l'opaciter de l'index.
Je vais voir si je peux animer l"index, du genre à ce que l'index change d'opaciter en ce basant sur l'opaciter que vous définisser au début
Désolée de ne pas poster d'image, j'ai perdu mon photoshop et ce que j'ai fait sous paint est très moche !!!!!!!
A+ bande de soifar
|
Chim02 -
posté le 14/07/2011 à 11:54:13 (94 messages postés)
| Le but de ma vie c'est d'y trouver un sens. | Ce script est parfait pour ce que je voulais faire de mon écran titre , le problème c'est que la commande "Charger" ne fonctionne plus , enfin je pense qu'il n'arrive pas à lire les fichiers Save ...
Donc si quelqu'un à une solution je suis preneur ...
Edit : Enfaite c'est bon , il m'a suffit de renommer un des fichiers save en "sauvegarde" , là ça marche
|
zack-83 -
posté le 10/11/2011 à 18:16:27 (17 messages postés)
| oh... un statut? kom sur fessebouk ? (a savoir, je ne suis pas comme sa... ne me tuez pas siouplaît | "désolé a marche pu"
c'est la phrase de groland, et en ce moment, c'est ce que le script veut me dire (désolé je marche pu) alors je vais poser la question en mode boulet :
"komen on fé pr ke sa march ?"
sinon, qui veut un café (par contre je fais pas de café au lait )
|
la ou zack passe, rien ne trépasse... un café ? |
vélocit -
posté le 17/02/2012 à 13:22:21 (6 messages postés)
| | Bon écran titre à tout le monde!
| |
|
|