设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2989|回复: 12
打印 上一主题 下一主题

[已经过期] 请教关于帮助文档的替换,以及gsub!的用法。

[复制链接]

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
跳转到指定楼层
1
发表于 2018-5-5 16:40:04 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
我的想法是:
当3号技能学习时,2号技能的帮助描述会发生变化。
例图:

2号技能"火花",帮助描述有个"可进阶"。
当3号技能"火雨"学习到后,帮助描绘变成"已经进阶"。
请问是怎么实现?
好像要通过gsub!方法实现,但不知道该怎么使用。
  1. text.gsub!(/可进阶/) { "已经进阶" }
复制代码

这样吗?
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
6
发表于 2018-5-6 17:51:09 | 只看该作者
就是3楼的方法,技能多的话判断会比较繁杂的。


那个只是栗子, 实际上可以自己控制它的结构, 只要自己设置技能的时候能有个规划就不会繁杂.

新栗子:  比如你有6个系的技能都是可4段进阶的, 那就把那24个技能按高低顺序排好

if self.skill.id < 25   #画好要处理的区域
  a =  self.skill.id % 6  
  b = a == 0 ? "最高阶" : @actor.skill_learn?(self.skill.id + 1) ? "已进阶" : "可进阶"
end

这样就可以一次全部搞定了.
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

5
发表于 2018-5-6 10:23:34 | 只看该作者
我觉得你应该不写进帮助文档里面。
帮助文档就写到‘火系初级魔法,攻击单个目标!’
然后判断你有没有这个技能的进阶技能,来判断在后面添加‘可进阶’还是‘已经进阶’

点评

不会的吧,反正你进阶的时候也要用到表格的吧,套用一下就好了。  发表于 2018-5-6 12:55
就是3楼的方法,技能多的话判断会比较繁杂的。  发表于 2018-5-6 12:48
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
4
发表于 2018-5-5 20:39:21 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-5-5 20:43 编辑

咱到是觉得这个更方便呢,绿色无污染~~, 毕竟 description.gsub 这个可是被各种扩展脚本用烂了.....

要用的话

$data_skills[技能ID].description.gsub!("可进阶", "已进阶") if $game_actors[角色ID].skill_learn?(技能ID)


不过, 读取存档后就复原了,要再调用一次. 看看把它塞到哪里比较合适把~~

点评

很显然,你说的问题咱楼上的方法可以完全解决,不过楼主不要那种"麻烦的方法"XD, 替换文本注定就是用来做个人专用技能啦.  发表于 2018-5-6 11:20
这样改明显不行···只要x角色学了y技能,那么所有角色的技能介绍里都显示这个技能已进阶···当然你也可以在每次刷新窗口的时候判断当前选中的角色   发表于 2018-5-5 22:28

评分

参与人数 1+1 收起 理由
文雅夕露 + 1 明白了,谢谢前辈

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
3
发表于 2018-5-5 18:42:58 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-5-5 20:09 编辑


def update_help
    @help_window.set_text(self.skill == nil ? "" : self.skill.description + XXX)
end
在这里面塞上你要换的词就好了嘛

栗子
def update_help
    case self.skill.id
    when X
       a = "可进阶"
       a = "已进阶" if @actor.skill_learn?(XX)
    else
      a = ""
     end
    @help_window.set_text(self.skill == nil ? "" : self.skill.description + a)
end

点评

case when 的方法我想过了。但方法比较繁杂,用gsub!方便一点。  发表于 2018-5-5 19:03
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2018-5-5 18:16:54 | 只看该作者
text.gsub!('a', 'b')就行

点评

我以为你在问gsub!的使用方法……  发表于 2018-5-5 21:36
请问具体的使用方法...举个例子吧。  发表于 2018-5-5 19:09
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 18:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表