Войти на сайт
×
ТЕМА: Перевод Stage Select
Перевод Stage Select 11 года 2 мес. назад #64776
|
Я перевёл скрипт Stage Select.Этот скрипт позволит вам разделить игру на разные уровни/главы.Для устоновки скрипта создайте папку Stage Select в папке GRAPHICS и переместите туда все вложенные изображения .Вот урок по использованию данного скрипта
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] #==============================================================================
# +++ MOG - Stage Select (v1.0)+++
#==============================================================================
# Автор:Moghunter
# Для:VX ACE
# Перевёл: yros 98 специально для rpg-maker.info
#==============================================================================
# Этап окно выбора с анимированными эффектами.
#==============================================================================
# ● для вызова скрипта используйте команду ниже.
#
# stage_select
#
#==============================================================================
# ● Чтобы разблокировать Этап используйте код ниже.
#
# stage_enable(ID,true)
#
# ID = ID Этап.(Не путать с идентификатором карты.)
# true = Поместите True / False, чтобы включить или отключить сценарий.
#==============================================================================
# ● ГРАФИКА
# Все изображения должны быть сохранены в папке.
#
# GRAPHICS/STAGE_SELECT/
#
#==============================================================================
# ● фоновые изображения (Все фотографии являются необязательными.)
# Имя изображений следующим образом:
#
# Stage + ID (Icon)
# Stage + ID + B (Stage Background 1)
# Stage + ID + C (Stage Background 2)
#
# Exemplo(Eg)
#
# Stage2.png
# Stage2B.png
# Stage2C.png
#==============================================================================
module MOG_STAGE_SELECT
# A - ID этап в стадии выбора сцены.
# B - Место на карте куда будет перенесён игрок.
# C - Исходное положение X.
# D - Исходное положение Y.
# E - Оставьте включенной сцену, чтобы начать игру.
STAGE_IDS = {
1=>[8,8,6,true],
2=>[10,8,6,false],
3=>[12,8,6,false],
4=>[13,8,6,false],
5=>[14,8,6,false],
6=>[2,2,7,false]
# 7=>[8,8,6,true],
# 8=>[10,8,6,false],
# 9=>[12,8,6,false],
# 10=>[13,8,6,false]
}
# Определение скорости скольжения фонового изображения.
BACKGROUND_SCROLL_SPEED = [1,0]
# Определение типа смесь фонов изображения 2
BACKGROUND2_BLEND_TYPE = 1
# Определение типа смесь фоновое изображение 3
BACKGROUND3_BLEND_TYPE = 0
# Настройка скорости слайд полосы изображения.
STRP1_SCROLL_SPEED = [3,0]
STRP2_SCROLL_SPEED = [-3,0]
# Настройка звука активации телепорта.
TELEPORT_SE = "Skill3"
# Определение анимации телепортаций игрока.
TELEPORT_ANIMATION_ID = 37
end
#==============================================================================
# ■ Game System
#==============================================================================
class Game_System
attr_accessor :stage_enabled
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_stage_select_initialize initialize
def initialize
@stage_enabled = []
for i in MOG_STAGE_SELECT::STAGE_IDS
@stage_enabled[i[0]] = i[1][3]
end
mog_stage_select_initialize
end
end
#==============================================================================
# ■ Game Interpreter
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● Stage Enable
#--------------------------------------------------------------------------
def stage_enable(st_id, active = true)
$game_system.stage_enabled[st_id] = active
end
#--------------------------------------------------------------------------
# ● Stage Select
#--------------------------------------------------------------------------
def stage_select
SceneManager.call(Scene_Stage_Select)
end
end
#==============================================================================
# ■ Cache
#==============================================================================
module Cache
#--------------------------------------------------------------------------
# ● Stage Select
#--------------------------------------------------------------------------
def self.stage_select(filename)
load_bitmap("Graphics/Stage_Select/", filename)
end
end
#==============================================================================
# ■ SPRITE STAGE WINDOW
#==============================================================================
class Sprite_Stage_Window < Sprite
attr_accessor :index
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(viewport = nil , index = 0)
super(viewport)
@index = index
@active = false
if stage_enabled?
file_name = "Stage" + (1 + @index).to_s
else
file_name = "Stage0"
end
self.bitmap = Cache.stage_select(file_name) rescue nil
self.bitmap = Cache.stage_select("") if self.bitmap == nil
self.ox = self.bitmap.width / 2
self.oy = self.bitmap.height / 2
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
super
self.bitmap.dispose
end
#--------------------------------------------------------------------------
# ● Stage Enabled ?
#--------------------------------------------------------------------------
def stage_enabled?
return false if $game_system.stage_enabled[@index + 1] == nil
return false if $game_system.stage_enabled[@index + 1] == false
return true
end
end
#==============================================================================
# ■ Scene Stage Select * SETUP
#==============================================================================
class Scene_Stage_Select
include MOG_STAGE_SELECT
#--------------------------------------------------------------------------
# ● Create Bitmap
#--------------------------------------------------------------------------
def create_bitmap(subject = nil, file_name = "")
return if subject == nil
subject.bitmap = Cache.stage_select(file_name) rescue nil
end
#------------------------------------------------------------------------------
# ● Main
#------------------------------------------------------------------------------
def main
setup
create_sprites
execute_loop
execute_dispose
end
#------------------------------------------------------------------------------
# ● Execute Loop
#------------------------------------------------------------------------------
def execute_loop
Graphics.transition(30)
loop do
Input.update
update
Graphics.update
break if SceneManager.scene != self
end
end
#--------------------------------------------------------------------------
# ● Setup
#--------------------------------------------------------------------------
def setup
@stages = STAGE_IDS
end
#--------------------------------------------------------------------------
# ● Create Sprites
#--------------------------------------------------------------------------
def create_sprites
create_background
create_bakground_stage
create_bakground_description
create_stripe
create_stage_window
end
#--------------------------------------------------------------------------
# ● Create Background
#--------------------------------------------------------------------------
def create_background
@background = Plane.new
create_bitmap(@background, "Background")
@background.z = -5
@b_spd = [BACKGROUND_SCROLL_SPEED[0], BACKGROUND_SCROLL_SPEED[1]]
end
#--------------------------------------------------------------------------
# ● Create Background Stage
#--------------------------------------------------------------------------
def create_bakground_stage
@background2 = Sprite.new
create_bitmap(@background2, "")
@background2.z = -4
@background2.blend_type = BACKGROUND2_BLEND_TYPE
end
#--------------------------------------------------------------------------
# ● Create Background Description
#--------------------------------------------------------------------------
def create_bakground_description
@background3 = Sprite.new
create_bitmap(@background3, "")
@background3.z = -3
@background3.blend_type = BACKGROUND3_BLEND_TYPE
end
#--------------------------------------------------------------------------
# ● Refresh Background Stage
#--------------------------------------------------------------------------
def refresh_background_stage
if @background2.bitmap != nil
@background2.bitmap.dispose
end
return unless stage_enabled?
file_name = "Stage" + (@stage_id_active + 1).to_s + "B"
create_bitmap(@background2, file_name)
@background2.opacity = 0
if @background2.bitmap != nil
@background2.zoom_x = 1.5
@background2.zoom_y = 1.5
@background2.ox = @background2.bitmap.width / 2
@background2.oy = @background2.bitmap.height / 2
@background2.x = @background2.ox
@background2.y = @background2.oy
end
end
#--------------------------------------------------------------------------
# ● Refresh Background Description
#--------------------------------------------------------------------------
def refresh_background_description
if @background3.bitmap != nil
@background3.bitmap.dispose
end
if stage_enabled?
file_name = "Stage" + (@stage_id_active + 1).to_s + "C"
else
file_name = "Stage0C"
end
create_bitmap(@background3, file_name)
@background3.opacity = 0
@background3.x = - 120
if @background3.bitmap != nil
return
@background3.zoom_x = 1.5
@background3.zoom_y = 1.5
@background3.ox = @background2.bitmap.width / 2
@background3.oy = @background2.bitmap.height / 2
@background3.x = @background2.ox
@background3.y = @background2.oy
end
end
#--------------------------------------------------------------------------
# ● Stage Enabled ?
#--------------------------------------------------------------------------
def stage_enabled?
return false if $game_system.stage_enabled[@stage_id_active + 1] == nil
return false if $game_system.stage_enabled[@stage_id_active + 1] == false
return true
end
#--------------------------------------------------------------------------
# ● Create Stripe
#--------------------------------------------------------------------------
def create_stripe
@strp1 = Plane.new
create_bitmap(@strp1, "Strp_0")
@strp1.z = 110
@strp2 = Plane.new
create_bitmap(@strp2, "Strp_1")
@strp2.z = 110
@s1_spd = [STRP1_SCROLL_SPEED[0], STRP1_SCROLL_SPEED[1]]
@s2_spd = [STRP2_SCROLL_SPEED[0], STRP2_SCROLL_SPEED[1]]
end
#--------------------------------------------------------------------------
# ● Create Layout
#--------------------------------------------------------------------------
def create_stage_window
@sprite_pos = 0
@slide_direction = 0
@zoom_sprite = 0
@zoom_sprite_phase = 0
@zoom_speed = 0.01
@st_center = [270,300]
@st_left = [70,300]
@st_right = [470,300]
@stage_sprites = []
index = 0
@stage_id_active = 0
@stage_id_next = (@stage_id_active + 1)
@stage_id_prev = (@stage_id_active - 1)
for i in @stages
@stage_sprites.push(Sprite_Stage_Window.new(nil,index))
index += 1
end
@starting = true
move_index(0)
end
#------------------------------------------------------------------------------
# ● Check Active Window
#------------------------------------------------------------------------------
def check_active_window
@zoom_sprite = 0
@zoom_sprite_phase = 0
for i in @stage_sprites
i.visible = false
i.opacity = 150
i.zoom_x = 0.75
i.zoom_y = 0.75
i.z = 5
if @bitmap_range == nil
@bitmap_range = i.width
end
if @starting
i.x = (544 + @bitmap_range)
end
if i.index == @stage_id_active
i.visible = true
i.opacity = 255
i.z = 10
i.y = @st_center[1]
elsif i.index == @stage_id_next
i.visible = true
i.x = (544 + @bitmap_range) if @slide_direction == 1
i.y = @st_right[1]
elsif i.index == @stage_id_prev
i.visible = true
i.x = -@bitmap_range if @slide_direction == -1
i.y = @st_left[1]
end
end
refresh_background_stage
refresh_background_description
@starting = false
end
end
#==============================================================================
# ■ Scene Stage Select * DISPOSE
#==============================================================================
class Scene_Stage_Select
#------------------------------------------------------------------------------
# ● Execute Dispose
#------------------------------------------------------------------------------
def execute_dispose
Graphics.freeze
dispose_background
dispose_background2
dispose_background3
dispose_strp
dispose_stage_window
Graphics.transition(30)
$game_map.autoplay
end
#------------------------------------------------------------------------------
# ● Dispose Background
#------------------------------------------------------------------------------
def dispose_background
return if @background == nil
@background.bitmap.dispose if @background.bitmap != nil
@background.dispose
end
#------------------------------------------------------------------------------
# ● Dispose Background 2
#------------------------------------------------------------------------------
def dispose_background2
return if @background2 == nil
@background2.bitmap.dispose if @background2.bitmap != nil
@background2.dispose
end
#------------------------------------------------------------------------------
# ● Dispose Background 3
#------------------------------------------------------------------------------
def dispose_background3
return if @background3 == nil
@background3.bitmap.dispose if @background3.bitmap != nil
@background3.dispose
end
#------------------------------------------------------------------------------
# ● Dispose Stage Window
#------------------------------------------------------------------------------
def dispose_stage_window
return if @stage_sprites == nil
@stage_sprites.each {|sprite| sprite.dispose }
end
#------------------------------------------------------------------------------
# ● Dispose Strp
#------------------------------------------------------------------------------
def dispose_strp
return if @strp1 == nil
@strp1.bitmap.dispose if @strp1.bitmap != nil
@strp1.dispose
@strp2.bitmap.dispose if @strp2.bitmap != nil
@strp2.dispose
end
end
#==============================================================================
# ■ Scene Stage Select * UPDATE
#==============================================================================
class Scene_Stage_Select
#------------------------------------------------------------------------------
# ● Update
#------------------------------------------------------------------------------
def update
update_sprites
update_command
end
#------------------------------------------------------------------------------
# ● Update Sprites
#------------------------------------------------------------------------------
def update_sprites
update_background_base
update_strp
update_stage_window
end
#------------------------------------------------------------------------------
# ● Update Background Base
#------------------------------------------------------------------------------
def update_background_base
@background.ox += @b_spd[0]
@background.oy += @b_spd[1]
@background2.opacity += 15
if @background2.zoom_x > 1.00
@background2.zoom_x -= 0.01
@background2.zoom_y -= 0.01
if @background2.zoom_x <= 1.00
@background2.zoom_x = 1.00
@background2.zoom_y = 1.00
end
end
if @background2.zoom_x == 1.00
@background3.opacity += 5
if @background3.x < 0
@background3.x += 5
@background3.x = 0 if @background3.x > 0
end
end
end
#------------------------------------------------------------------------------
# ● Update strp
#------------------------------------------------------------------------------
def update_strp
@strp1.ox += @s1_spd[0]
@strp1.oy += @s1_spd[1]
@strp2.ox += @s2_spd[0]
@strp2.oy += @s2_spd[1]
end
#------------------------------------------------------------------------------
# ● Update Stage Window
#------------------------------------------------------------------------------
def update_stage_window
return if @stage_sprites == nil
for i in @stage_sprites
if i.index == @stage_id_active
slide_window(i.x, @st_center[0])
i.x = @sprite_pos
update_zoom_window(i)
i.zoom_x = @zoom_sprite
i.zoom_y = @zoom_sprite
elsif i.index == @stage_id_next
slide_window(i.x, @st_right[0])
i.x = @sprite_pos
elsif i.index == @stage_id_prev
slide_window(i.x, @st_left[0])
i.x = @sprite_pos
end
end
end
#------------------------------------------------------------------------------
# ● Update Zoom Window
#------------------------------------------------------------------------------
def update_zoom_window(subject)
@zoom_sprite = subject.zoom_x
if @zoom_sprite_phase == 0
@zoom_sprite += @zoom_speed
if @zoom_sprite >= 1.00
@zoom_sprite = 1.00
@zoom_sprite_phase = 1
end
else
@zoom_sprite -= @zoom_speed
if @zoom_sprite <= 0.75
@zoom_sprite = 0.75
@zoom_sprite_phase = 0
end
end
end
#------------------------------------------------------------------------------
# ● Slide Window
#------------------------------------------------------------------------------
def slide_window(subject_position,destination)
@sprite_pos = subject_position
speed = [(5 + ((@sprite_pos - destination).abs / 5)).abs, 0]
if @sprite_pos < destination
@sprite_pos += speed[0]
@sprite_pos = destination if @sprite_pos > destination
elsif @sprite_pos > destination
@sprite_pos-= speed[0]
@sprite_pos = destination if @sprite_pos < destination
end
end
end
#==============================================================================
# ■ Scene Stage Select * COMMAND
#==============================================================================
class Scene_Stage_Select
#------------------------------------------------------------------------------
# ● Update Command
#------------------------------------------------------------------------------
def update_command
if Input.trigger?(:LEFT)
move_index(-1)
elsif Input.trigger?(:RIGHT)
move_index(1)
elsif Input.trigger?(:C)
select_stage
elsif Input.trigger?(:B)
return_to_scene
end
end
#------------------------------------------------------------------------------
# ● Select Stage
#------------------------------------------------------------------------------
def select_stage
if stage_enabled?
play_sound(TELEPORT_SE)
$game_player.set_direction(2)
$game_map.setup((@stages[@stage_id_active + 1][0]))
$game_player.moveto(@stages[@stage_id_active + 1][1], @stages[@stage_id_active + 1][2])
$game_player.clear_transfer_info
$game_temp.fade_type = 0
SceneManager.goto(Scene_Map)
$game_player.animation_id = TELEPORT_ANIMATION_ID
else
Sound.play_buzzer
end
end
#------------------------------------------------------------------------------
# ● Return to Scene
#------------------------------------------------------------------------------
def return_to_scene
Sound.play_cancel
SceneManager.return
end
#------------------------------------------------------------------------------
# ● Move Index
#------------------------------------------------------------------------------
def move_index(value = 0)
@slide_direction = value
Sound.play_cursor
@subject = 0
@stage_id_active += value
check_index_range(@stage_id_active)
@stage_id_active = @subject
check_index_range(@stage_id_active + 1)
@stage_id_next = @subject
check_index_range(@stage_id_active - 1)
@stage_id_prev = @subject
check_active_window
end
#------------------------------------------------------------------------------
# ● Check Index Range
#------------------------------------------------------------------------------
def check_index_range(subject)
@subject = subject
@subject = (@stage_sprites.size - 1) if @subject < 0
@subject = 0 if @subject >= @stage_sprites.size
end
#------------------------------------------------------------------------------
# ● Play Sound
#------------------------------------------------------------------------------
def play_sound(file_name,volume = 100)
Audio.se_play("Audio/SE/" + file_name.to_s, volume, 100) rescue nil
end
end
$mog_rgss3_stage_select = true |
Последнее редактирование: 11 года 2 мес. назад от yros 98.
Администратор запретил публиковать записи гостям.
|
Перевод Stage Select 11 года 2 мес. назад #64781
|
фоновые изображения стажировки что? какая стажировка?Exemplo(Eg) Переводится как "Например:"# Definição da velocidade de deslize da imagem de fundo. # Definição do tipo de blend da imagem de fundo 2 # Definição do tipo de blend da imagem de fundo 3 # Definição da velocidade de deslize das imagens das tiras. Я не хочу смотреть видео на ютубе, так как не понял, что это за скрипт и зачем он нужен - нигде в описании этого не сказано. То, что сказано: разделить игру на разные уровни/главы вообще никак не выделяется среди остальных слов. Впрочем, даже несмотря на то, что я перечитал и нашел это крохотное описание, я так и не понял: какие уровни, какие главы, ты о чем?
И вот эти файлы И вот эти Последний файл 7-zip.orgrarlab.com ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] зачем ты меня так расстраиваешь? |
Последнее редактирование: 11 года 2 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
|
Перевод Stage Select 11 года 2 мес. назад #64782
|
Вообще... скрипт прикольный и ты просто молодец что перевёл его!(это не сарказм)
Мне просто нечего добавить. |
(^_^)
Этот форум слишком умный для меня
Администратор запретил публиковать записи гостям.
|
Перевод Stage Select 11 года 2 мес. назад #64783
|
Эльф,прости что я такой невнимательный дебил.Мне очень стыдно что я допускаю такие дурацкие ошибки.Я скоро выложу есчо один перевод я клянусь тибе в нём небудет никаких ошибок.
Призрак спасибо за коментарий. |
Последнее редактирование: 11 года 2 мес. назад от yros 98.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dprizrak1
|
Перевод Stage Select 11 года 2 мес. назад #64785
|
А с этим кто закончит? О_о
|
Администратор запретил публиковать записи гостям.
|
Перевод Stage Select 11 года 2 мес. назад #64788
|
Я исправил
|
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dprizrak1
|
Перевод Stage Select 11 года 2 мес. назад #64790
|
Упакуй всю графику в архив и дай ссылку в первом посте, остальные удали.
Посмотрел видео. Хочу отметить, что данный скрипт не стоит использовать в отрыве от остальных скриптов для меню с сайта Atelier RGSS, слишком уж они специфичны. |
Последнее редактирование: 11 года 2 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
|
Модераторы: NeKotZima
Время создания страницы: 0.263 секунд