设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 117|回复: 0

[转载发布] Smarter Text Persistence (Show Text Combining With Choices)

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-8-2 10:20:18 | 显示全部楼层 |阅读模式
    Smarter Text Persistence

    Introduction
    A simple script (fix) to make "show text" still combine windows with choice selections when separated by conditional branches, comments or jump to label events.


    Features
    The event "show text" will combine with choice selection, number selection or item selection regardless of any of the following being executed inbetween:

    - Conditional branches (can be nested)

    - Jump to labels

    - Comments

    But not:

    - Labels


    Screenshots

    Spoiler[/url]

    [url=https://forums.rpgmakerweb.com/attachments/smtxpr2-png.8689/]


    [/url]

    [url=https://forums.rpgmakerweb.com/attachments/smtxpr4-png.8692/]




    How to Use

    Installation: Simply insert this script in the Script Editor under Materials (above Main Process).

    If you don't want the text to persist, just put a blank label underneath it.

    If you want to put a label between text and choices and have the text persist, put a jump to label above it as shown in the 4th screenshot.



    Bugs

    [Fixed 12/10] If text is the last event, game crashes (derp).

    Script

    Spoiler                Code:       
    1. #==============================================================================
    2. # Smarter Text Persistence
    3. # By: Muramasa & Venima
    4. # Version 1.01
    5. #------------------------------------------------------------------------------
    6. # A simple script to make "show text" still combine with choice selection
    7. # when separated by conditional branches, comments or jump to label events.
    8. #------------------------------------------------------------------------------
    9. # Installation: Simply insert this script in the Script Editor near the bottom
    10. # under Materials (above Main Process).
    11. #------------------------------------------------------------------------------
    12. # Special usage:
    13. # If you don't want the text to persist, just put a blank label under it.
    14. # If you want to put a label between text and choices and have the text
    15. # persist, put a jump to label just above the label.
    16. #==============================================================================
    17. class Game_Interpreter
    18.   #--------------------------------------------------------------------------
    19.   # * Show Text
    20.   #--------------------------------------------------------------------------
    21.   def command_101
    22.     wait_for_message
    23.     $game_message.face_name = @params[0]
    24.     $game_message.face_index = @params[1]
    25.     $game_message.background = @params[2]
    26.     $game_message.position = @params[3]
    27.     while next_event_code == 401       # Text data
    28.       @index += 1
    29.       $game_message.add(@list[@index].parameters[0])
    30.     end
    31.     while check_text_persist(next_event_code); end #Smarter Text Persistence
    32.     case next_event_code
    33.     when 102  # Show Choices
    34.       @index += 1
    35.       setup_choices(@list[@index].parameters)
    36.     when 103  # Input Number
    37.       @index += 1
    38.       setup_num_input(@list[@index].parameters)
    39.     when 104  # Select Item
    40.       @index += 1
    41.       setup_item_choice(@list[@index].parameters)
    42.     end
    43.     wait_for_message
    44.   end
    45.   def check_text_persist(code)
    46.     case code
    47.     when 111 # Conditional Branch
    48.       @index += 1
    49.       execute_command
    50.       if (next_event_code==411) # Else
    51.         @index += 1
    52.         execute_command
    53.       end
    54.       @indent += 1
    55.       return true
    56.     when 0 # Close indent
    57.       if @index == @list.length - 2 #bugfix #1
    58.         return false
    59.       end
    60.       @index += 1
    61.       @indent -= 1
    62.       return true
    63.     when 108, 119, 411, 412 # Comment, Jump to Label, Else, Conditional Branch End
    64.         @index += 1
    65.         execute_command
    66.       return true
    67.     end
    68.     return false
    69.   end
    70. end
    复制代码






    FAQ

    Q: What is this script compatible with?
    A: Mostly anything, if another script modifies command_101, try adding in the line "while check_text_persist(next_event_code); end" above the "case next_event_code" in the other script.

    Credit and Thanks
    Muramasa & Venima

    Feel free to use this script as you wish.


    本贴来自国际rpgmaker官方论坛作者:Venima处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/smarter-text-persistence-show-text-combining-with-choices.18970/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 12:38 , Processed in 0.100189 second(s), 56 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表