じ☆ve冰风 发表于 2026-8-2 11:49:29

Help Scene (Custom Encyclopedia)

Help Scene
by: 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]
查看完整版本: Help Scene (Custom Encyclopedia)