查看: 4001|回复: 1

[已经解决] 关于自动换行脚本

[复制链接]
梦石
0
星屑
50
在线时间
107 小时
注册时间
2010-8-3
回帖
6
发表于 2012-7-7 00:06:19 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

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

×

关于这个自动换行脚本:
class Window_Base
  
  alias :iisnow_convert_escape_characters :convert_escape_characters
  def convert_escape_characters(text)
    result = iisnow_convert_escape_characters(text)
    result.gsub!(/\ek/)          { "\k" }
    result
  end

  def process_character(c, text, pos)
    case c
    when "\r"  
      return
    when "\n"  
      process_new_line(text, pos) if !@auto_n
    when "\k"
      @auto_n = false
    when "\f"   
      process_new_page(text, pos)
    when "\e"   
      process_escape_character(obtain_escape_code(text), text, pos)
    else      
      process_normal_character(c,text,pos)
    end
  end
  
  def process_normal_character(c,text,pos)
    @auto_n = true
    text_width = text_size(c).width
    if real_width - pos[:x] > text_width
      draw_text(pos[:x], pos[:y], text_width * 2, pos[:height], c)
      pos[:x] += text_width
    else
      process_new_line(text,pos)
      process_normal_character(c,text,pos)
    end
  end
  
  def real_width
    return self.width - 2 * standard_padding
  end
  
end

class Window_Message
  
  def process_normal_character(c,text,pos)
    super
    wait_for_one_character
  end

end



请问如何能设置成只对对话时有效?谢谢。
或者有实现这一功能的其他脚本也行。
梦石
0
星屑
803
在线时间
2068 小时
注册时间
2011-10-3
回帖
1620
发表于 2012-7-8 17:41:04 | 显示全部楼层
第一个脚本VOCAB的35行开始
每句后面加个\k
  # 战斗结束信息
  Victory         = "%s胜利了!\k"
  Defeat          = "%s全灭了……\k"
  ObtainExp       = "获得了%s点经验值!\k"
  ObtainGold      = "获得了%s\\G!\k"
  ObtainItem      = "获得了%s!\k"
  LevelUp         = "%s已经%s%s了!\k"
  ObtainSkill     = "领悟了%s!\k"

点评

谢谢。  发表于 2012-7-8 20:19

评分

参与人数 1梦石 +2 收起 理由
仲秋启明 + 2 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部