Ten skrypt pozwala na zmienianie napisów titla na obrazek, tzn. tworzymy trzy obrazki w titles o nazwie 1,2,3 po obrazek nr. 1 będzie oznaczał "Nowa Gra", obrazek nr. 2 "Wczytaj" a nr. 3 "Koniec" zamiast podstawowego windowskinu .
Prościej .:
W Moje Dokumenty/RPGXP/"Twój projekt"/Graphics/Titles - Musisz zrobić Trzy titlesy o nazwach 1,2,3 .
Następnie wklejacie to zamiast Scene_Title
Uwaga, obrazki muszą być w takich wymiarach jak, 640x480 .
Spoiler:
Kod:
#=====================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# This class performs title screen processing.
#=========================================================
class Scene_Title
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# If battle test
if $BTEST
battle_test
return
end
# Load database
$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")
# Make system object
$game_system = Game_System.new
# Make title graphic
@sprite = Sprite.new
# transition between images, set to 0 if none
@transition_frames = 10
@delta = 255 / @transition_frames
@wait = 0
#END NEW CODE
# Continue enabled determinant
# Check if at least one save file exists
# If enabled, make @continue_enabled true; if disabled, make it false
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.rxdata")
@continue_enabled = true
end
end
# If continue is enabled, move cursor to "Continue"
# NEW CODE
if @continue_enabled
@sprite.bitmap = RPG::Cache.title("2")
@back_sprite.bitmap = RPG::Cache.title("2")
@index = 2
else
@sprite.bitmap = RPG::Cache.title("1")
@back_sprite.bitmap = RPG::Cache.title("1")
@index = 1
end
# END NEW CODE
# Play title BGM
$game_system.bgm_play($data_system.title_bgm)
# Stop playing ME and BGS
Audio.me_stop
Audio.bgs_stop
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of title graphic
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# NEW CODE
if @wait >= 0
if @wait == 0
@sprite.bitmap = RPG::Cache.title(@index.to_s)
@sprite.opacity = 255
else
@sprite.opacity -= @delta
end
@wait -= 1
return
end
# if directional buttons are pressed
if Input.trigger?(Input::LEFT) or Input.trigger?(Input::UP)
$game_system.se_play($data_system.cursor_se)
if @index == 1
@index = 3
else
@index -= 1
end
@wait = @transition_frames
@back_sprite.bitmap = RPG::Cache.title(@index.to_s)
end
if Input.trigger?(Input::RIGHT) or Input.trigger?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
if @index == 3
@index = 1
else
@index += 1
end
@wait = @transition_frames
@back_sprite.bitmap = RPG::Cache.title(@index.to_s)
end
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by index
case @index
when 1 # New game
command_new_game
when 2 # Continue
command_continue
when 3 # Shutdown
command_shutdown
end
end
# END NEW CODE
end
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_new_game
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Stop BGM
Audio.bgm_stop
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each type of game object
$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
# Set up initial party
$game_party.setup_starting_members
# Set up initial map position
$game_map.setup($data_system.start_map_id)
# Move player to initial position
$game_player.moveto($data_system.start_x, $data_system.start_y)
# Refresh player
$game_player.refresh
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update
# Switch to map screen
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# * Command: Continue
#--------------------------------------------------------------------------
def command_continue
# If continue is disabled
unless @continue_enabled
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to load screen
$scene = Scene_Load.new
end
#--------------------------------------------------------------------------
# * Command: Shutdown
#--------------------------------------------------------------------------
def command_shutdown
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Fade out BGM, BGS, and ME
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
# Shutdown
$scene = nil
end
#--------------------------------------------------------------------------
# * Battle Test
#--------------------------------------------------------------------------
def battle_test
# Load database (for 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")
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each game object
$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
# Set up party for battle test
$game_party.setup_battle_test_members
# Set troop ID, can escape flag, and battleback
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# Play battle start SE
$game_system.se_play($data_system.battle_start_se)
# Play battle BGM
$game_system.bgm_play($game_system.battle_bgm)
# Switch to battle screen
$scene = Scene_Battle.new
end
end
Niestety łatwiej tego wytłumaczyć nie potrafię ...
mojej grze jest trochę ten skrypt zmodyfikowany, czyli mam cztery napisy zamiast trzech. Dla niektórych trzeba przetłumaczyć.
U mnie podobnie, tylko że ja mam pięć. kamil26p2, nie wiem o co ci chodzi. Jak chcesz rozszerzyć ekran tytułowy jak ma Malian, to wejdź w mojego tutka.
________________________ ...Amelanduil & FireBlade words will be remembered... ...Amelanduil & FireBlade acts will be remembered... ...Amelanduil & FireBlade never gonna die...
Pomógł: 2 razy Dołączył: 20 Mar 2010 Posty: 127 Skąd: z Netaa !
Wysłany: Nie 06 Cze, 2010 12:48
Skrypt bardzo fajny i w ogóle, ale jak daje kontynuuj grę to wyskakuje mi tylko SE a nic się nie dzieje, jestem nadal w Ekranie Tytułowym.
Może mi ktoś Pomóc?
Spróbuje jeszcze raz, lecz wątpię czy pójdzie.
Jakby co to mam PL wersje Maker'a.
[ Dodano: Czw 24 Cze, 2010 12:50 ]
Nie otwiera się =,='
Szkoda, tak bardzo chciałbym mieć ten skrypt w moim projekcie
________________________ Padł mi laptop ... wszystko, RPG Maker i projekty, wszystko się skończyło. Nie bawię się już w RPGM'a, Zmieniam wizerunek.
Nowa strona, szukam tłumaczy, edytorów, korektorów i HTMLowców ! :D
Pomógł: 2 razy Dołączył: 20 Mar 2010 Posty: 127 Skąd: z Netaa !
Wysłany: Nie 11 Lip, 2010 10:53
Tak, otwierał się Buczek.
A grę zapisałem chyba 3 razy.
Teraz mi się ten projekt nie chce otworzyć...
Pisze "niespodziewany format pliku".
Jakby ktoś mógł pomóc to będę wdzięczny.
Pozdrawiam
________________________ Padł mi laptop ... wszystko, RPG Maker i projekty, wszystko się skończyło. Nie bawię się już w RPGM'a, Zmieniam wizerunek.
Nowa strona, szukam tłumaczy, edytorów, korektorów i HTMLowców ! :D
Mógłby ktoś mi pomóc i przerobić skrypta w taki sposób aby w menu działału cztery pozycję? :p
U mnie są to:
- Nowa Gra
- Wczytaj
- Autorzy
- Koniec
Problem polega na tym że nie da się wybrać opcji "Koniec" tylko od razu przeskakuje na nowa gra. Próbowałem kombinować ze skryptem w tym miejscu:
when 1 # New game
command_new_game
when 2 # Continue
command_continue
when 3 # Authors
command_continue
when 4 # Shutdown
Chcąc tą trójkę zostawić na później ale opcja "Koniec" nadal nie działa.
Oczywiście odpowiedni obrazek mam wrzucony do folderu z projektem pod nazwą "4".
Pomoże mi ktoś?
I (ograniczenie zmiany opcji przy obsłudze klawiatury). Pozmieniaj trójki (3) na czwórki (4) w tych miejscach:
Kod:
$game_system.se_play($data_system.cursor_se)
if @index == 1
@index = 3
Kod:
$game_system.se_play($data_system.cursor_se)
if @index == 3
@index = 1
II (dodanie nowego 'odnosnika' dla nowej opcji). Zamień:
Kod:
when 1 # New game
command_new_game
when 2 # Continue
command_continue
when 3 # Shutdown
command_shutdown
end
na
Kod:
when 1 # New game
command_new_game
when 2 # Continue
command_continue
when 3 # Autorzy
command_autorzy
when 4 # Shutdown
command_shutdown
end
III (kod, do którego prowadzi 'odnośnik'). Przed ostatnim 'end' w skrypcie wklej:
Kod:
def command_autorzy
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Stop BGM
Audio.bgm_stop
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each type of game object
$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
# Set up initial party
$game_party.setup_starting_members
# Set up initial map position
$game_map.setup(ID_MAPY)
# Move player to initial position
$game_player.moveto(X_NA_MAPIE, Y_NA_MAPIE)
# Refresh player
$game_player.refresh
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update
# Switch to map screen
$scene = Scene_Map.new
end
Zamiast ID_MAPY, X_NA_MAPIE i Y_NA_MAPIE daj liczby odpowiadające mapie z autorami (mapie, na której dasz zdarzenie autostart wyświetlające napisy z autorami).
Jeśli zrobiłeś wszystko jak piszę, powinno działać, ale nie sprawdzałem więc nie mam pewności.
Ej pomoże ktoś?
Nie wiem czy każdy tak ma ale wszystko zrobiłem dobrze i normalnie są obrazki ale nie ma tych napisów:Nowa gra,wczytaj,koniec..Tak zawsze jest?Czy co?Muszę sam na obrazkach to napisać i zmieniać kolory jeśli najadę na inny obrazek???Proszę o pomoc.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum