- Сообщений: 13
- Спасибо получено: 0
(XP)простой скрипт ДЛЯ меню
# Make command window
s1 = Новая игра
s2 = Загрузить
s4 = Создатели
s3 = Выход
@command_window = Window_Command.new(192, [s1, s2, s4, s3])
@command_window.back_opacity = 160
@command_window.x = 300 - @command_window.width / 2
@command_window.y = 300
# 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?( Сохранение#{i+1}.rxdata )
@continue_enabled = true
end
end
# If continue is enabled, move cursor to Continue
# If disabled, display Continue text in gray
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
# 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 command window
@command_window.dispose
# Dispose of title graphic
@sprite.bitmap.dispose
@sprite.dispose
end
#
# * Frame Update
#
def update
# Update command window
@command_window.update
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 3 # Shutdown
command_shutdown
when 2 #Создатели
command_autors
end
end
end
end
#И вставьте это в любое место после скрипта в Scene_Title
def command_autors
p ТуТ Вписывайте СвоЁ
end
#end[hr]Я думаю понятно объяснил....Просто добавлена новый отдел в Главном Меню...
Если что, пишите в ЛС ...отвечу всем
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Так а теперь перейдем к ошибкам: Возможно я немного перебарщиваю, не обижайся. Если вставлять после Scene_Title, то я так понимаю, что перед последним end. Придется дать название первому определению метода (main), и дописать все, что идет до строчки #Make command window, правда это мене важно если ставить скрипт по твоим рекомендациям.
Вот тебе бесплатный совет: Скопируй скрипты которые собираешся редактировать, вставляй перед скриптом main, и редактируй их уже там. Удаляй не измененные определения методов, и наслаждайтся.
Успехов в начинании!!!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Успехов в начинании!!! спс
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
почему не сделал чтобы в окне проекта открывалось, или хотя бы в сообщении - подскажи что писать то надо в скриптах? хочу сообщение вызвать - не получается.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
$game_temp.message_window_showing = true
$game_temp.message_text = ( Первая строчка \n вторая строчка )
\n перенос строки )))
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
$game_temp.message_window_showing = true а ты уверен что тут всё правильно? пишет ошибку(
$game_temp.message_text = ( ### )
end
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
[cut=Scene_Title]
[size=8pt]
#==============================================================================
# : Scene_Title
#
# This class performs title screen processing.
#==============================================================================
class Scene_Title
#
# : Main Processing
#
def main
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
$game_temp = Game_Temp.new
@sprite = Sprite.new
@message_window = Window_Message.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
s1 = New game
s2 = Continue
s4 = Autors
s3 = Shutdown
@command_window = Window_Command.new(192, [s1, s2, s4, s3])
@command_window.back_opacity = 160
@command_window.x = 300 - @command_window.width / 2
@command_window.y = 300
@continue_enabled = false
for i in 0..3
if FileTest.exist?( Save#{i+1}.rxdata )
@continue_enabled = true
end
end
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
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
@message_window.dispose
@command_window.dispose
@sprite.bitmap.dispose
@sprite.dispose
end
#
# : Frame Update
#
def update
@command_window.update
@message_window.update
if $game_temp.message_window_showing
@command_window.active = false
return
else
@command_window.active = true
end
if Input.trigger?(Input::C)
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 3 # Shutdown
command_shutdown
when 2 # Autors
command_autors
end
end
end
#
# : Command: Autors
#
def command_autors
$game_system.message_position = 0 # Позиция сообщения (0-вверху, 1-в центре, 2-внизу)
$game_temp.message_text = Первая строчка \n вторая строчка
return
end
end [/size] [/cut]
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
[cut]#==============================================================================
# : Scene_Title
#
# This class performs title screen processing.
#==============================================================================
class Scene_Title
#
# : Main Processing
#
def main
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
$game_temp = Game_Temp.new
@sprite = Sprite.new
@message_window = Window_Message.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
s1 = Новая Игра
s2 = Продолжить
s4 = Авторы
s3 = Выйти из игры
@command_window = Window_Command.new(192, [s1, s2, s4, s3])
@command_window.back_opacity = 160
@command_window.x = 300 - @command_window.width / 2
@command_window.y = 300
@continue_enabled = false
for i in 0..3
if FileTest.exist?( Save#{i+1}.rxdata )
@continue_enabled = true
end
end
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
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
@message_window.dispose
@command_window.dispose
@sprite.bitmap.dispose
@sprite.dispose
end
#
# : Frame Update
#
def update
@command_window.update
@message_window.update
if $game_temp.message_window_showing
@command_window.active = false
return
else
@command_window.active = true
end
if Input.trigger?(Input::C)
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 3 # Shutdown
command_shutdown
when 2 # Autors
command_autors
end
end
end
end
[/cut]
создал новый раздел command_autors в скриптах. Выглядит примерно так:
[cut]
#
# : Command: Autors
#
def command_autors
$game_system.message_position = 0 # Позиция сообщения (0-вверху, 1-в центре, 2-внизу)
$game_temp.message_text = Первая строчка \n вторая строчка
return
end
[/cut]
В чем была проблема?
Пришлось в первом скрипте добавить 1 end
а во 2ом убрать![hr]а Так за скрипт большое спасибо!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Вставь метод def command_autors в скрип Scene_Title перед последним end, и все должно работать.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
спс за скрипт!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Давайте последнюю версию в студию
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
А как создать новый класс? ^__^
Неужели просто тупо писать class comm_autors ? У меня так неполучаецо... Все время пишет почти для каждй команды (команда) неизвестна для класса comm_autors X___x
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
class имя_класса
def метод1
определение метода1 (initialize - к примеру)
end
def метод2
определение метода2 (update - к примеру)
end
end
Если хочешь подробней, опиши чего именно ты пытаешся добится, и выложи листинг кода.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Уже КинулТак и всё-таки.
Давайте последнюю версию в студию Улыбка
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
