Help Scene (Custom Encyclopedia)
Help Sceneby: IneptAttorney
Introduction:
This script can create scene "Help" which contains guidance on your game. maybe you can abbreviate the tutorial so we only need to define a little of our game features and the rest can be defined in the scene Help
Instruction:
Place above ▼ Main Process and below ▼ Materials. Set the configuration in the script and make the script call
SceneManager.call(Scene_Help) to access the help scene
Screenshot:
I'm sorry I have not included this!
Script:
Spoiler Code:
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Help Scene
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
=begin
▼ Writer: IneptAttorney
▼ Date: 22, June, 2019
▼ Engine: RMVX Ace
▼ Name: Help Scene
-------------------------------------[+]----------------------------------------
▼ Instruction
This script will make the Help Scene for your game. you can call it Custom
Encyclopedia if you want.
-------------------------------------[+]----------------------------------------
▼ Instruction
Place above ▼ Main Process and below ▼ Materials. Set the configuration below
and testplay your game!
Make script call to open help scene
=====================================
= SceneManager.call(Scene_Help) =
=====================================
-------------------------------------[+]----------------------------------------
▼ Terms
Credit me (if you want)
Repost? free! but don't claiming this script!
-------------------------------------[+]----------------------------------------
=end
module INPTATTRNY
module HELP
ENTRY = [] #<----- Don't click!
TEXT= [] #<----- Don't click!
#...............................................................................
# Write List here!
# the format like this:
# TEXT = [
# "Title",
# "Line 1",
# "Line 2",
# "Line 3",
# "Line 4",
# ]
# Where x is Text ID. You add more lines if you want (Max is 14 lines)
#...............................................................................
TEXT = ["Movement", #<-- Title
"Use Arrow keys to move", #<-- Line 1
"Press 'A' for use weapon", #<-- Line 2
"You can click any place to move", #<-- Line 3
"Press 'Enter' to Talk with NPC",#<-- Line 4
"Press & Hold 'Shift' to dash character"
]
TEXT = [
"Title",
"Line1",
"Line2",
"Line3",
"Line4",
"Line5",
"Line6",
]
#...............................................................................
# Entry settings!
# Format:
# ENTRY = ["string1", "String2", "Switch Required 1"]
#...............................................................................
ENTRY = ["Entry0(1)","Entry0(2)",1]
ENTRY = ["Entry1(1)","Entry1(2)",2]
#...............................................................................
# Additional Settings
#...............................................................................
UNICON = 238 #Icon for unknown entries
ICON = 237 #Icon for known entries
NOTEXT = "No Data" #Text for unknown data
NOT = "Nil" #Text for unknown title
FOOTER = "Help Scene" #Footer Text
FOOT_X = 0 #X possision for Footer Text
FOOT_Y = 0 #Y possision for Footer Text
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# End of configuration!
# Don't edit the text below or your PC will burn up!
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
end
end
#...............................................................................
# Scene Help
#...............................................................................
class Scene_Help < Scene_MenuBase
def start
super
create_entry_list
create_info
create_footer
end
def create_entry_list
@entry_list = Window_EntryList.new(0, 0, 170, 366)
@entry_list.viewport = @viewport
@entry_list.activate
@entry_list.set_handler(:cancel, method(:return_scene))
$Entryindex = @entry_list.index
end
def create_footer
@footer_window = Window_HelpDesc.new(0, 363, 544, 54)
@footer_window.viewport = @viewport
end
def create_info
@info_window = Window_HelpInfo.new(170, 0, Graphics.width - 170, Graphics.height - 50)
@info_window.viewport = @viewport
end
end
#...............................................................................
# Footer Window
#...............................................................................
class Window_HelpDesc < Window_Base
def initialize( x, y, window_width, window_height)
super
refresh
end
def refresh
contents.clear
draw_text_ex(INPTATTRNY::HELP::FOOT_X, INPTATTRNY::HELP::FOOT_Y, INPTATTRNY::HELP::FOOTER)
end
end
#...............................................................................
# Info Window
#...............................................................................
class Window_HelpInfo < Window_Base
def initialize(x, y, window_width, window_height)
super
update
end
def update
contents.clear
if $game_switches] == true
draw_text(1,0,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,25,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,50,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,75,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,100,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,125,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,150,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,175,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,200,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,225,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,250,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,275,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,300,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
draw_text(1,325,350,30,INPTATTRNY::HELP::TEXT[$Entryindex])
else
draw_text(1,0,350,30,INPTATTRNY::HELP::NOTEXT)
end
end
end
#...............................................................................
# Entry List Window
#...............................................................................
class Window_EntryList < Window_Selectable
def initialize( x, y, window_width, window_height)
super
@data = []
refresh
select(0)
end
def item_max
@data ? @data.size : 1
end
def item
@data && index >= 0 ? @data : nil
end
def make_item_list
@data = INPTATTRNY::HELP::ENTRY
end
def draw_item(index)
item = @data
rect = item_rect(index)
if $game_switches] == true
draw_text(32, rect.y, 200, line_height, INPTATTRNY::HELP::TEXT)
draw_icon(INPTATTRNY::HELP::ICON, 4, rect.y )
else
draw_text(32, rect.y, 200, line_height, INPTATTRNY::HELP::NOT )
draw_icon(INPTATTRNY::HELP::UNICON, 4, rect.y )
end
end
def refresh
make_item_list
create_contents
draw_all_items
end
def update
process_cursor_move
process_handling
end
def process_cursor_move
return unless cursor_movable?
last_index = @index
cursor_down (Input.trigger?(:DOWN))if Input.repeat?(:DOWN)
cursor_up (Input.trigger?(:UP)) if Input.repeat?(:UP)
cursor_right(Input.trigger?(:RIGHT)) if Input.repeat?(:RIGHT)
cursor_left (Input.trigger?(:LEFT))if Input.repeat?(:LEFT)
cursor_pagedown if !handle?(:pagedown) && Input.trigger?(:R)
cursor_pageup if !handle?(:pageup) && Input.trigger?(:L)
Sound.play_cursor if @index != last_index
$Entryindex = @index #@data
end
end #End of script! 0=0)/
Credits:
[*] IneptAttorney
[*] Enterbrain
本贴来自国际rpgmaker官方论坛作者:IneptAttoney处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/help-scene-custom-encyclopedia.110293/
页:
[1]