Smarter Text Persistence (Show Text Combining With Choices)
Smarter Text PersistenceIntroduction
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
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
If text is the last event, game crashes (derp).
Script
Spoiler Code:
#==============================================================================
# Smarter Text Persistence
# By: Muramasa & Venima
# Version 1.01
#------------------------------------------------------------------------------
# A simple script to make "show text" still combine with choice selection
# when separated by conditional branches, comments or jump to label events.
#------------------------------------------------------------------------------
# Installation: Simply insert this script in the Script Editor near the bottom
# under Materials (above Main Process).
#------------------------------------------------------------------------------
# Special usage:
# If you don't want the text to persist, just put a blank label under it.
# If you want to put a label between text and choices and have the text
# persist, put a jump to label just above the label.
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# * Show Text
#--------------------------------------------------------------------------
def command_101
wait_for_message
$game_message.face_name = @params
$game_message.face_index = @params
$game_message.background = @params
$game_message.position = @params
while next_event_code == 401 # Text data
@index += 1
$game_message.add(@list[@index].parameters)
end
while check_text_persist(next_event_code); end #Smarter Text Persistence
case next_event_code
when 102# Show Choices
@index += 1
setup_choices(@list[@index].parameters)
when 103# Input Number
@index += 1
setup_num_input(@list[@index].parameters)
when 104# Select Item
@index += 1
setup_item_choice(@list[@index].parameters)
end
wait_for_message
end
def check_text_persist(code)
case code
when 111 # Conditional Branch
@index += 1
execute_command
if (next_event_code==411) # Else
@index += 1
execute_command
end
@indent += 1
return true
when 0 # Close indent
if @index == @list.length - 2 #bugfix #1
return false
end
@index += 1
@indent -= 1
return true
when 108, 119, 411, 412 # Comment, Jump to Label, Else, Conditional Branch End
@index += 1
execute_command
return true
end
return false
end
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/
页:
[1]