查看: 3113|回复: 2

[已经解决] 请问技能的说明栏里怎么调用变量?

[复制链接]
梦石
0
星屑
479
在线时间
30 小时
注册时间
2017-5-30
回帖
35
发表于 2020-4-2 15:11:06 | 显示全部楼层 |阅读模式

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

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

×
比如我想对1号技能的说明栏里通过\v[1]来显示1号变量的值,但是失败了
好像是没有处理转义字符?
搜索了论坛帖子,发现VX是自带这个功能,而XP版块帖子都是说怎么改说明栏里的文字颜色,没说怎么调用变量的值

故特此提问
梦石
0
星屑
555
在线时间
111 小时
注册时间
2013-11-22
回帖
287
发表于 2020-4-2 15:18:25 | 显示全部楼层
您可以想一下:XP自带的功能是没有这个功能的
您可以复制一个Skill说明框 在这个SkillNew里显示变量
这也只是思路……具体代码emmmm………
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2020-4-2 15:29:44 | 显示全部楼层
本帖最后由 guoxiaomi 于 2020-4-2 15:33 编辑

查看 Window_Message 里的 refresh 方法,可以找到替换文字的方法:
[pre lang="ruby" line="79"]# 限制文字处理
      begin
        last_text = text.clone
        text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end[/pre]
经过这一番操作之后,text里的\V和\N就被替换掉了。复制这段代码到 Window_Help 的 21 行之前就行,在 if 的前面进行转换

但是如果你要让一行文字里显示不同的颜色,就得费点心了

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部