注册会员 登录
Project1 返回首页

喵呜喵5的树洞 https://rpg.blue/?291206 [收藏] [复制] [分享] [RSS]

日志

【脚本】批量导入文本

热度 6已有 1495 次阅读2014-4-14 11:28 |个人分类:脚本

=begin
===============================================================================
  批量导入文本 By喵呜喵5
===============================================================================

【说明】
  
  因为各种原因我们可能会使用记事本或者其他文本编辑器写剧本或者写对话
  
  当我们要将写好的内容导入进游戏中时
  如果只是导入七八句对话的话还好
  但是如果对话有几百句的话一句一句用默认的方式一句句导入进工程中就很吃力了
  
  这个脚本允许你将写在TXT中的对话批量导入进游戏的工程中
  
  同时,这个脚本允许你在一句对话中输入超过4行以上的文字
  (如果修改了脚本将对话框扩展到一次显示5行文字时这个功能就有用了)
  
  注意:
  
  1.使用前请备份你的工程,我不负责修正因为本脚本引起的任何工程数据丢失的问题
  
  2.需要导入的TXT文档放在游戏工程目录下,起名为 Text.txt
  
  3.需要导入的TXT文档编码要求为UTF8格式(请在保存时选择这个编码)
  
  4.导入的对话保存在公共事件1中
  
  5.使用下面设定部分的特殊符号用于区分每一句对话  
  
=end
#==============================================================================
# 设定部分
#==============================================================================

  M5MARK = "●"
  
  #在这里设置一个符号用于对话的分割  
  #将这个符号插入到要分割那行的末尾,两个符号之间的内容将被视为一句对话  
  #请不要在对话的其他位置插入这个符号
  
#==============================================================================
# 设定结束
#==============================================================================
#==============================================================================
# 脚本部分
#==============================================================================  
def read_txt
  @file = Array.new
  @flag = true  
  IO.foreach("Text.txt") do |line|
    text = line.chomp.gsub("\xEF\xBB\xBF", "")
    if @flag
      @flag = false
      @file.push(Array.new)
    end
      @flag = true if (text && text[-1] == M5MARK)
      text = text.split(M5MARK)[0]
      @file[-1].push(text ? text : "")
  end
end
def save_common_event
  event = load_data("Data/CommonEvents.rvdata2")
  talk_command = RPG::EventCommand.new(101,0,["",0,0,2])
  end_command = event[1].list.pop
  @file.each do |message|
    event[1].list.push talk_command
    message.each do |line|
      talk_content = RPG::EventCommand.new(401,0,[line])
      event[1].list.push talk_content
    end
  end
  event[1].list.push end_command
  save_data(event,"Data/CommonEvents.rvdata2")
end
read_txt
save_common_event
msgbox "导入完毕!#{$TEST ? "\n请重新启动编辑器以查看效果" : ""}"
exit
3

鸡蛋
1

鲜花

刚表态过的朋友 (4 人)

评论 (0 个评论)

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-29 12:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部