查看: 3540|回复: 4

[已发主站] 【VA】偶然的发现。在对话里添加快捷称号显示

[复制链接]
梦石
0
星屑
55
在线时间
34 小时
注册时间
2005-10-15
回帖
48
发表于 2012-7-4 12:38:43 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Sion 于 2013-12-17 15:41 编辑

其实就是根据显示N号角色名和队伍N号角色名改的。

在window_base里面查找
  1. def convert_escape_characters(text)
复制代码
然后在下面的一堆
  1. result.gsub!
复制代码
里添加一行
  1.     result.gsub!(/\eZ\[(\d+)\]/i) { actor_nickname($1.to_i) }#N号角色称号
  2.     result.gsub!(/\eX\[(\d+)\]/i) { party_member_nickname($1.to_i) }#N号队伍角色称号   
复制代码
其中/\eZ和/\eX里的Z和X是在对话框那里面那个\Z[n]和\X[n]的字母,可以改成别的。

我修改后是这样的。
  1.   #--------------------------------------------------------------------------
  2.   # ● 进行控制符的事前变换
  3.   #    在实际绘制前、将控制符替换为实际的内容。
  4.   #    为了减少歧异,文字「\」会被首先替换为转义符(\e)。
  5.   #--------------------------------------------------------------------------
  6.   def convert_escape_characters(text)
  7.     result = text.to_s.clone
  8.     result.gsub!(/\\/)            { "\e" }
  9.     result.gsub!(/\e\e/)          { "\" }
  10.     result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
  11.     result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
  12.     result.gsub!(/\eN\[(\d+)\]/i) { actor_name($1.to_i) }
  13.     result.gsub!(/\eZ\[(\d+)\]/i) { actor_nickname($1.to_i) }#N号角色称号
  14.     result.gsub!(/\eX\[(\d+)\]/i) { party_member_nickname($1.to_i) }#N号队伍角色称号   
  15.     result.gsub!(/\eP\[(\d+)\]/i) { party_member_name($1.to_i)}
  16.     result.gsub!(/\eG/i)          { Vocab::currency_unit }
  17.     result
  18.   end
复制代码
然后在这下面再加入
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取第 n 号角色的称号
  3.   #--------------------------------------------------------------------------
  4.   def actor_nickname(n)
  5.     actor = n >= 1 ? $game_actors[n] : nil
  6.     actor ? actor.nickname : ""
  7.   end  
  8.     #--------------------------------------------------------------------------
  9.   # ● 获取第 n 号队伍成员的称号
  10.   #--------------------------------------------------------------------------
  11.   def party_member_nickname(n)
  12.     actor = n >= 1 ? $game_party.members[n - 1] : nil
  13.     actor ? actor.nickname : ""
  14.   end
  15.    
复制代码
就行了。然后在对话框里输入文字时就可以用\Z[n]来显示第N号角色的称号了,同理用\X[n]可以显示队伍里第N号角色的称号。

如图:
QQ截图20120704123521.jpg

QQ截图20120704123545.jpg

评分

参与人数 2星屑 +400 赞 +6 收起 理由
Shy07 + 6 主站收录
Kimu + 400 发布奖励

查看全部评分

我爱万模E族
梦石
0
星屑
189
在线时间
366 小时
注册时间
2009-9-6
回帖
56
发表于 2012-7-27 03:59:57 | 显示全部楼层
真是好犀利阿!!
謝謝你提供這個方法!  
回复

使用道具 举报

梦石
0
星屑
46
在线时间
223 小时
注册时间
2010-7-7
回帖
179
发表于 2012-7-28 14:47:03 | 显示全部楼层
呵呵呵呵

评分

参与人数 1星屑 -40 收起 理由
cxpagy -40 纯水

查看全部评分

每天5小时制作游戏,5小时测试,把游戏都玩透了。晕,不知说了什么。。。。
回复

使用道具 举报

萌の包子

梦石
0
星屑
592
在线时间
164 小时
注册时间
2012-7-22
回帖
165
发表于 2012-9-1 13:45:14 | 显示全部楼层
可是。。我觉得 有什么用呢?又不能让玩家自定义称号.....
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2012-9-1 14:12:25 | 显示全部楼层
这个脚本是VX的?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部