Project1

标题: 修正\c[1]、\g等令对话换行不准确问题 [打印本页]

作者: 3535    时间: 2008-3-26 03:54
标题: 修正\c[1]、\g等令对话换行不准确问题
范例工程:http://rpg.blue/upload_program/files/Project1000_86904252.rar

Interpreter3的command_101
return true
end 下
@index += 1 上
加入


  1. # 插入换行符
  2.       a = $game_temp.message_text.gsub(/\\\\/) { "㏒" }
  3.       # 有需要自已增加...如果用了一些对话脚本的变更文字大小此脚本没办法解决
  4.       a.gsub!(/\\[Cc]\[([0-9]+)\]/) { "㏑" }
  5.       a.gsub!(/\\[Vv]\[([0-9]+)\]/) { "㏑" }
  6.       a.gsub!(/\\[Gg]/) { "㏒" }
  7.       nsize = 0
  8.       letter = 0
  9.       done1 = nil
  10.       done2 = nil
  11.       ary = $game_temp.message_text.scan(/./)
  12.       ary2 = a.scan(/./)
  13.       for i in 0...ary2.size
  14.         rege = /[[:punct:]]/e =~ ary2[i]
  15.         rege2 = /[[:blank:]]/e =~ ary2[i]
  16.         if ary2[i] == "㏒"
  17.           letter += 2 # += 后的是有多少个字符 eg: \g <--2个字符
  18.         elsif ary2[i] == "㏑"
  19.           letter += 5 # \c[2] <--5个字符
  20.         else
  21.           if ary2[i].scan(/\d/) != [] or ary2[i].tr_s!("a-z", "a-z") != nil or rege == 0 or rege2 == 0
  22.             nsize += 0.5
  23.             letter += 1
  24.           else
  25.             nsize += 1
  26.             letter += 1
  27.           end
  28.         end
  29.         if done1 != true
  30.           if nsize.round >= 20 # 一行可容纳字数,自己调试
  31.             ary.insert(letter, "\n")
  32.             done1 = true
  33.           end
  34.         end
  35.         if done2 != true
  36.           if nsize.round >= 40
  37.             ary.insert(letter+1, "\n")
  38.             done2 = true
  39.           end
  40.         end
  41.         if nsize.round >= 60
  42.           ary.insert(letter+1, "\n")
  43.         end
  44.       end
  45.       $game_temp.message_text = ary.to_s
复制代码




if ary2.scan(/\d/) != [] or ary2.tr_s!("a-z", "a-z") != nil or rege == 0 or rege2 == 0
这行是分辨半角全角字...对默认脚本好像没什么用
改了对话框大小的游戏较有用..

此为初步构思,有bug请提出

提供一些有用字符;
∩∪⊥∠∟⊿㎡㏎㎏㏕{/gg}

以上的只适用在默认脚本
总括来说,要根据自己的游戏调整,要有点脚本基础才能用好。
作者: 沉影不器    时间: 2008-3-26 03:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 3535    时间: 2008-3-26 03:57
漏了说,以上的只适用在默认脚本
总括来说,要根据自己的游戏调整,要有点脚本基础才能用好。
作者: 美兽    时间: 2008-3-26 04:00
原来是要弄这个,原以为还是破解.
作者: 水迭澜    时间: 2008-3-26 04:05
在显示文章那把\n那个东西去了不行么……(天音:这人很天真……)
作者: 3535    时间: 2008-3-26 04:41
以下引用水迭澜于2008-3-25 20:05:04的发言:

在显示文章那把\n那个东西去了不行么……(天音:这人很天真……)


[本贴由作者于 2008-3-25 20:05:58 最后编辑]

不就无法换行..
作者: 水迭澜    时间: 2008-3-26 04:58
为什么我记得window_message里有换行的……= =bbb
好吧我退散




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1