
Switch Title Script pour RPG Maker VX Ecrit par Nuki
Salut, donc voici un script qui permet de switcher l'écran titre. Je l'ai fait moi même et je le trouve plus agréable que celui de Worotana car il garde en mémoire la position de départ spécifiée par l'éditeur:
A copier au dessus de Main dans un emplacement libre:
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
|
module Game
ACTIVATE_SWITCH_TITLE = true #Active le switch de l'écran titre
TITLE_DATA = [1, 19, 14] #Constantes qui défini la map qui sers d'écran titre [MAP_ID, X, Y]
def self.teleport(map_id, x, y, transition = true)
$game_map.setup(map_id)
$game_player.moveto(x, y)
$scene = Scene_Map.new
$game_map.autoplay
$game_player.refresh
if transition
RPG::BGM.fade(1500)
Graphics.fadeout(60)
Graphics.wait(40)
end
end
#Teleport vers la position de départ
def self.goto_start(transition = true)
Game::teleport($data_system.start_map_id,$data_system.start_x, $data_system.start_y, transition)
end
end
class Switch_Title < Scene_Base
def start
super
map_title = Game::TITLE_DATA
load_database
create_game_objects
#Condition de sortie si jamais la position n'est pas spécifiée
if $data_system.start_map_id == 0
print "Player start location not set."
exit
end
$game_party.setup_starting_members
$game_map.setup(map_title[0])
$game_player.moveto(map_title[1], map_title[2])
$game_player.refresh
$scene = Scene_Map.new
$game_map.autoplay
end
def load_database
$data_actors = load_data("Data/Actors.rvdata")
$data_classes = load_data("Data/Classes.rvdata")
$data_skills = load_data("Data/Skills.rvdata")
$data_items = load_data("Data/Items.rvdata")
$data_weapons = load_data("Data/Weapons.rvdata")
$data_armors = load_data("Data/Armors.rvdata")
$data_enemies = load_data("Data/Enemies.rvdata")
$data_troops = load_data("Data/Troops.rvdata")
$data_states = load_data("Data/States.rvdata")
$data_animations = load_data("Data/Animations.rvdata")
$data_common_events = load_data("Data/CommonEvents.rvdata")
$data_system = load_data("Data/System.rvdata")
$data_areas = load_data("Data/Areas.rvdata")
end
def load_bt_database
$data_actors = load_data("Data/BT_Actors.rvdata")
$data_classes = load_data("Data/BT_Classes.rvdata")
$data_skills = load_data("Data/BT_Skills.rvdata")
$data_items = load_data("Data/BT_Items.rvdata")
$data_weapons = load_data("Data/BT_Weapons.rvdata")
$data_armors = load_data("Data/BT_Armors.rvdata")
$data_enemies = load_data("Data/BT_Enemies.rvdata")
$data_troops = load_data("Data/BT_Troops.rvdata")
$data_states = load_data("Data/BT_States.rvdata")
$data_animations = load_data("Data/BT_Animations.rvdata")
$data_common_events = load_data("Data/BT_CommonEvents.rvdata")
$data_system = load_data("Data/BT_System.rvdata")
end
def create_game_objects
$game_temp = Game_Temp.new
$game_message = Game_Message.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.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
end
def battle_test
load_bt_database
create_game_objects
Graphics.frame_count = 0
$game_party.setup_battle_test_members
$game_troop.setup($data_system.test_troop_id)
$game_troop.can_escape = true
$game_system.battle_bgm.play
snapshot_for_background
$scene = Scene_Battle.new
end
end
|
Ensuite remplacer le main par:
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
|
#==============================================================================
# ** Main
#------------------------------------------------------------------------------
# After defining each class, actual processing begins here.
#==============================================================================
unless Font.exist?("UmePlus Gothic")
print "Le fichier Font 'UmePlus Gothic' n'a pas été trouvé"
exit
end
begin
#Lancement du jeu
Graphics.freeze
$scene = (Game::ACTIVATE_SWITCH_TITLE) ? Switch_Title.new : Scene_Title.new
$scene.main while $scene != nil
Graphics.transition(30)
rescue Errno::ENOENT
filename = $!.message.sub("No such file or directory - ", "")
print("Le ficher #{filename} n'a pas été trouvé.")
end
|
Donc voila, la configuration se fait dans le module Game, il est possible de réactiver le Scene_title de base ou d'envoyer sur une map. En plus avec la fonction
Game::goto_start il est possible d'envoyer vers la position de départ EDITEUR (et donc garder son intéret).
| 
Aucun commentaire n'a été posté pour le moment. 
|