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

Project1

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

[已经过期] 在rmxp中如何让数据的名称只显示一部分

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
92 小时
注册时间
2010-9-26
帖子
66
跳转到指定楼层
1
发表于 2011-10-11 21:58:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用了怒气槽的脚本,当cp值达到我预设的值之后就可以使用技能,判定脚本如下:
#記得在技能的名字后加  ,數字
#數字表示消耗多少CP值,不加表示不用CP

module RPG
  
  class Skill
    def name
      name = @name.split(/,/)[0]
      return name != nil ? name : ''
    end
    def type
      type = @name.split(/,/)[1]
      return type != nil ? type : 0
    end
   end
end
我把两个(/,/)里面的“,”都改成了“*”,但是现在技能名称就多显示出了 *,我语言表达能力有限,举一个例子:
技能名字叫“狙击*10”,在我改动之前“*10”是不会显示的,改动之后现在却显示了,求各位高手看看应该再改动哪里才能
得到和改动之前完全一样的效果?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
113 小时
注册时间
2011-10-6
帖子
45
2
发表于 2011-10-11 22:09:05 | 只看该作者

  1. class Skill
  2.     def name
  3.       name = @name.split("*")[0]
  4.       return name != nil ? name : ''
  5.     end
  6.     def type
  7.       type = @name.split("*")[1]
  8.       return type != nil ? type : 0
  9.     end
  10.    end
  11. end
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
245
在线时间
227 小时
注册时间
2009-7-26
帖子
216
3
发表于 2011-10-11 22:45:50 | 只看该作者
楼上应该是正解

话说这个是正则表达式的问题
*这个符号在//之间是有特殊含义的⋯⋯所以你用/*/是不行的
不要吐槽我⋯⋯
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39770
在线时间
7487 小时
注册时间
2009-7-6
帖子
13484

开拓者贵宾

4
发表于 2011-10-12 09:42:09 | 只看该作者
  1. class Skill
  2.     define_method(:name){@name[/(.*)\*\d+/] ? $1 : ""}
  3.     define_method(:type){@name[/.*\*(\d+)/] ? $1 : 0}
  4. end
复制代码
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
92 小时
注册时间
2010-9-26
帖子
66
5
 楼主| 发表于 2011-10-12 19:55:58 | 只看该作者
谢谢诸位的回答,但是都没有解决问题。1L的脚本我做出来了,但是我不想让技能的后面出现”*“和数值,3L的直接提示发生了Syntax错误,可能是我没说明白,比方我设置了技能(叫“狙击”)需要10点cp来发动,在我将两行里的(/,/)中的","改为"*"之后技能的名字就变成了“狙击*10",但是我想要的效果是”狙击“,也就是说,再不没有任何影响的情况下,找一个字符或符号代替”,“.
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
157 小时
注册时间
2011-7-17
帖子
128
6
发表于 2011-10-12 20:09:50 | 只看该作者
本帖最后由 竹轩轩 于 2011-10-12 20:10 编辑

#記得在技能的名字后加  ,數字
#數字表示消耗多少CP值,不加表示不用CP

module RPG
  
  class Skill
    def name
      name = @name.split(/@/)[0]
      return name != nil ? name : ''
    end
    def type
      type = @name.split(/@/)[1]
      return type != nil ? type : 0
    end
   end
end
可以,我试过,要工程吗
符号@
在那遥远的地方——有一只小猫
这里没有字→
相信我吧。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
113 小时
注册时间
2011-10-6
帖子
45
7
发表于 2011-10-12 20:34:15 | 只看该作者
qdqlloxe 发表于 2011-10-12 19:55
谢谢诸位的回答,但是都没有解决问题。1L的脚本我做出来了,但是我不想让技能的后面出现”*“和数值,3L的 ...

我表示我测试过,那样写没有显示*号,是否你还有其它地方有这个脚本。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
92 小时
注册时间
2010-9-26
帖子
66
8
 楼主| 发表于 2011-10-12 20:43:14 | 只看该作者
抱歉,我试过了,在默认的情况下都能使用,但是在我的上面就无法使用了,我先把脚本上传吧,我设置了不少,希望大家能帮帮忙忙

Scripts.rxdata

333.19 KB, 下载次数: 39

脚本

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 04:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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