Project1
标题:
关于剧情回顾脚本的问题!!!
[打印本页]
作者:
椰和华味冻奶
时间:
2019-7-30 01:40
标题:
关于剧情回顾脚本的问题!!!
好不容易找到了这个脚本的说!原网址http://web.archive.org/web/20151005221137/http://hime.be:80/rgss3/sozai/message_log.txt
结果显示乱码了!
[code]#******************************************************************************
#
# �� ���b�Z�[�W������� ��
#
# for RGSS3
#
# Ver 1.02 2014.05.11
#
# ���g����
# �P�D���f�ރZ�N�V�����ȉ��̓K���ȏꏊ�ɓ������Ă��������B
#
# �Q�D�Q�[�����ɃR���t�B�O���ڂŐݒ肵���{�^�����������ƂŁA
# ���b�Z�[�W������ʂ��Ăяo���܂��B
#
# �R�D�R���t�B�O���ڂŐݒ肵���X�C�b�`���I���ɂ��邱�ƂŁA
# ���b�Z�[�W�����̕ۑ����ꎞ��~���邱�Ƃ��ł��܂��B
#
# �S�D������@
# �E�\���L�[�̏㉺�łP�s���X�N���[��
# �E�\���L�[�̍��E�łT�s���X�N���[��
# �E�k�q�{�^���łP�T�s���X�N���[��
# �E�a�{�^���Ō��̉�ʂɕ��A���܂��B
#
# �
作者:
椰和华味冻奶
时间:
2019-7-30 01:43
本帖最后由 椰和华味冻奶 于 2019-7-30 02:02 编辑
欸,不知道怎么发脚本和链接诶......(挠头)
作者:
池田岚一
时间:
2019-7-30 16:26
如果是发脚本的话,进入高级模式里面有一个<>的符号,那里就可以发脚本格式了w
不过发上来的网址似乎一进去就都是乱码....
作者:
shencao
时间:
2019-7-30 17:18
网页乱码,右键,编码,挨个儿试过去,utf-8、日文、德文之类的总有一个不乱码的。
不过现在chrome去掉了右键编码,你可能需要插件charset。ie是右键自带。其他浏览器可自行百度一下改编码的方法。
如果是txt文件乱码,可以用浏览器打开这个文件(比如拖到浏览器窗口),然后改编码。
作者:
百里_飞柳
时间:
2019-7-30 17:35
从网页源代码里提取出了它的原始文本页面
http://web.archive.org/web/20151 ... zai/message_log.txt
#******************************************************************************
#
# * メッセージ履歴画面 *
#
# for RGSS3
#
# Ver 1.02 2014.05.11
#
# ◆使い方
# 1.▼素材セクション以下の適当な場所に導入してください。
#
# 2.ゲーム中にコンフィグ項目で設定したボタンを押すことで、
# メッセージ履歴画面を呼び出します。
#
# 3.コンフィグ項目で設定したスイッチをオンにすることで、
# メッセージ履歴の保存を一時停止することができます。
#
# 4.操作方法
# ・十字キーの上下で1行ずつスクロール
# ・十字キーの左右で5行ずつスクロール
# ・LRボタンで15行ずつスクロール
# ・Bボタンで元の画面に復帰します。
#
# 提供者:睡工房 http://hime.be/
#
#******************************************************************************
#==============================================================================
# コンフィグ項目
#==============================================================================
module SUI
module LOG
# 履歴保存のオンオフスイッチ
# ゲームスイッチの番号を入力してください。
SW_ONOFF = 50
# 履歴保存の最大行数
# この行数を超えた履歴は削除されます。
MAX_ROW = 50
# 選択肢を保存するか?
SAVE_CHOICE = true
# 履歴表示モードへの移行ボタン
# :L のシンボル形式で指定して下さい。
BTN_MODE = Input::L
end
end
#==============================================================================
# 設定完了
#==============================================================================
class Window_Message < Window_Base
#--------------------------------------------------------------------------
# ● 全テキストの処理
#--------------------------------------------------------------------------
alias sui_process_all_text process_all_text
def process_all_text
log = convert_escape_characters($game_message.all_text)
SUI::LOG.push(log)
sui_process_all_text
end
end
class Window_ChoiceList < Window_Command
#--------------------------------------------------------------------------
# ● コマンドリストの作成
#--------------------------------------------------------------------------
alias sui_make_command_list make_command_list
def make_command_list
sui_make_command_list
return unless SUI::LOG::SAVE_CHOICE
log = ""
$game_message.choices.each do |choice|
next if choice.empty?
log += " " + choice + "\n"
end
return if log.empty?
SUI::LOG.push(log)
end
end
module SUI::LOG
LOG = []
#--------------------------------------------------------------------------
# ● 履歴の追加
#--------------------------------------------------------------------------
def self.push(text)
return if $game_switches[SW_ONOFF] # Ver1.02
LOG.push(text)
LOG.shift if LOG.size > MAX_ROW
end
end
#==============================================================================
# ■ Window_MessageLog
#------------------------------------------------------------------------------
# メッセージ履歴を表示するウィンドウです。
#==============================================================================
class Window_MessageLog < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 0, Graphics.width, Graphics.height)
self.z = 250
self.opacity = 0
self.active = false
self.openness = 0
self.padding *= 2
@index = 0
create_background
open
refresh
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
def dispose
super
@back.bitmap.dispose
@back.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
return if @opening || @closing
dispose if close?
if !self.disposed? && self.open?
if Input::trigger?(:B)
Sound.play_cancel
close
elsif Input::repeat?(:UP)
self.index = @index - 1
elsif Input::repeat?(:DOWN)
self.index = @index + 1
elsif Input::repeat?(:LEFT)
self.index = @index - 5
elsif Input::repeat?(:RIGHT)
self.index = @index + 5
elsif Input::repeat?(:L)
self.index = @index - 15
elsif Input::repeat?(:R)
self.index = @index + 15
end
end
end
#--------------------------------------------------------------------------
# ● 1 ページに表示できる行数の取得
#--------------------------------------------------------------------------
def page_row_max
contents_height / line_height
end
#--------------------------------------------------------------------------
# ● 表示領域移動
#--------------------------------------------------------------------------
def index=(row)
@index = [[row, @row_max - page_row_max + 1].min, 0].max
self.oy = @index * line_height
end
#--------------------------------------------------------------------------
# ● 背景の作成
#--------------------------------------------------------------------------
def create_background
@back = Sprite.new
@back.x = 0
@back.y = 0
@back.z = self.z - 1
@back.bitmap = Bitmap.new(Graphics.width, Graphics.height)
@back.bitmap.fill_rect(@back.bitmap.rect, Color.new(96, 96, 96, 250))
end
#--------------------------------------------------------------------------
# ● ログの追加
#--------------------------------------------------------------------------
def push(text)
return if $game_switches[SUI::LOG::SW_ONOFF] # Ver1.02
SUI::LOG::LOG.push(text)
SUI::LOG::LOG.shift if SUI::LOG::LOG.size > SUI::LOG::MAX_ROW
end
#--------------------------------------------------------------------------
# ● ウィンドウ内容の作成
#--------------------------------------------------------------------------
def create_contents2(size)
self.contents.dispose
self.contents = Bitmap.new(width - padding * 2, [height - padding * 2, size * line_height].max)
end
#--------------------------------------------------------------------------
# ● 特殊文字の変換
#--------------------------------------------------------------------------
def convert_special_characters(text)
#~ text.gsub!(/\e.\[.+\]/) { "" } # Ver1.02
text.gsub!(/\e.\[[^\]]+\]/) { "" } # Ver1.02
text.gsub!(/\e./) { "" }
text
end
#--------------------------------------------------------------------------
# ● ログの描画
#--------------------------------------------------------------------------
def refresh
y = 0
texts = []
for i in 0...SUI::LOG::LOG.size
texts.push("") if i > 0
texts.concat(SUI::LOG::LOG[i].split("\n"))
end
create_contents2(texts.size)
for i in 0...texts.size
text = convert_special_characters(texts[i])
self.contents.draw_text(0, y, self.width - padding * 2, line_height, text)
y += line_height
end
@row_max = texts.size
self.index = texts.size
end
end
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias sui_update update
def update
if @window_log
update_message_log
elsif Input.trigger?(SUI::LOG::BTN_MODE)
@window_log = Window_MessageLog.new
update_message_log
else
sui_update
end
end
#--------------------------------------------------------------------------
# ● ウィンドウ履歴更新
#--------------------------------------------------------------------------
def update_message_log
Graphics.update
Input.update
@window_log.update
@window_log = nil if @window_log.disposed?
end
end
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias sui_update update
def update
if @window_log
update_message_log
elsif Input.trigger?(SUI::LOG::BTN_MODE)
@window_log = Window_MessageLog.new
update_message_log
else
sui_update
end
end
#--------------------------------------------------------------------------
# ● ウィンドウ履歴更新
#--------------------------------------------------------------------------
def update_message_log
Graphics.update
Input.update
@window_log.update
@window_log = nil if @window_log.disposed?
end
end
复制代码
作者:
椰和华味冻奶
时间:
2019-7-31 15:46
阿里嘎多,各位!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1