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

Project1

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

[已经解决] 请问加了一个类似HP的属性后,如何在事件中减少这个属性?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
128 小时
注册时间
2011-7-13
帖子
32
跳转到指定楼层
1
 楼主| 发表于 2013-3-3 10:43:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
新添加了一个类似于HP、MP的属性SP,可是由于数据库中本没有SP这个属性,想在事件中的“脚本”一栏里用脚本来减少SP,于是请教各位前辈如何在事件中的“脚本”一栏写这个减SP的脚本,谢谢各位前辈了~

点评

不客气的O(∩_∩)O~  发表于 2013-3-3 12:16

评分

参与人数 1星屑 +25 收起 理由
怪蜀黍 + 25 手动认可帖子的奖励

查看全部评分

Lv1.梦旅人

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
帖子
456
来自 2楼
发表于 2013-3-3 11:58:43 | 只看该作者
需要增加一个属性,其实完全可以参照MP来写的。
第一步,在Game_Battler中定义一个实例变量:
RUBY 代码复制
  1. attr_reader   :sp                       # SP

接着,做出类似这样的东东,在同个脚本中:
RUBY 代码复制
  1. def maxsp
  2.     return [[base_maxsp + @maxsp_plus, 0].max, 9999].min
  3.   end
  4.   def maxsp=(new_maxsp)
  5.     @maxsp_plus += new_maxsp - self.maxsp
  6.     @maxsp_plus = [[@maxsp_plus, -9999].max, 9999].min
  7.     @sp = [@mp, self.maxsp].min
  8.   end
  9.   def sp=(sp)
  10.     @sp = [[sp, maxsp].min, 0].max
  11.   end


这只是初步修改,接着要配合你用到的战斗系统,进一步在战斗脚本中修改技能的定义。
感觉自己做实在太麻烦了。

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 认可答案

查看全部评分

卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复 支持 反对

使用道具 举报

Lv1.梦旅人

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
帖子
456
来自 3楼
发表于 2013-3-3 12:07:25 | 只看该作者
本帖最后由 OCTSJimmy 于 2013-3-3 12:09 编辑
dkhy_2005 发表于 2013-3-3 12:02
谢谢,这些我已经做好了,现在的问题是加进去了不知如何使用,而且我不需要在战斗中使用这个SP,仅仅需要 ...


加好了就简单了嘛
直接上脚本:
RUBY 代码复制
  1. $game_party.members[0].sp=500


解释一下:$game_party是队伍,members取的其实是Game_Actors数组中的某一项,实际是Game_Actor,Game_Actor的原型是Game_Battler。

点评

非常感谢!问题已经解决了!  发表于 2013-3-3 12:13
卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
196
在线时间
835 小时
注册时间
2012-9-16
帖子
1811
4
发表于 2013-3-3 11:26:50 | 只看该作者
SP?其实SP就是MP啦。对了,现在又什么怒气值之类的脚本。相当于VX ACE的TP值。可以去搜索下载哦~
另外你可以用变量的说,为什么用属性呢?

点评

也非常感谢您,问题已经解决了,您不必再去做范例了,再次谢谢您的热心解答!  发表于 2013-3-3 12:15
本来我也想用变量的,不过由于这个SP值需要随着等级增加而增加所以用了属性,但是加上去后不知该如何在事件中减少,等于没加OTZ  发表于 2013-3-3 11:30

——旧坑欢迎戳
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
196
在线时间
835 小时
注册时间
2012-9-16
帖子
1811
5
发表于 2013-3-3 11:33:40 | 只看该作者
- -下次别点评,害得我连贴。。。楼主。

呃,你可以在游戏一开始就打开开关,公共事件,当这个开关开启时,选择并行处理。
然后随时用另一个变量记录角色的等级。如有增加或减少,进行相应的处理。虽然比较麻烦但是值得。
或者按我刚才说的,用怒气值的脚本。

评分

参与人数 1星屑 +50 收起 理由
怪蜀黍 + 50 感谢参与

查看全部评分


——旧坑欢迎戳
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
128 小时
注册时间
2011-7-13
帖子
32
6
 楼主| 发表于 2013-3-3 11:47:27 | 只看该作者
yangjunyin2002 发表于 2013-3-3 11:33
- -下次别点评,害得我连贴。。。楼主。

呃,你可以在游戏一开始就打开开关,公共事件,当这个开关开启时 ...

按照你所说的我建立了这么一个公共事件,并且在游戏一开始新建了事件打开了让公共事件执行的开关。我的设定是角色每增加一级SP值随之增加5点,接下去要怎么做才能使SP的值有所减少呢,我没怎么想明白。

点评

不是在战斗中使用的,战斗跟这个SP没关系,仅仅是在平时的事件中使用,所以要在事件中控制SP值的减少。  发表于 2013-3-3 12:00
这个SP就是网游中那种“体力”(不是HP的那种),如果值为0的话将在游戏中不能干任何事情,必须强制回去休息恢复了才行,我可以等你做好范例。  发表于 2013-3-3 11:58
如果SP值是像VA那样,MP用于魔法,而SP用于技能。那么就用脚本吧。如果没什么用,那请用事件  发表于 2013-3-3 11:52
这是一个极其复杂的事件,如果你是很熟练的事件党。当然,你还有两种选择:1、等待我把范例做好2、用怒气值脚本。还有,你这SP值是干嘛用的?  发表于 2013-3-3 11:52
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
128 小时
注册时间
2011-7-13
帖子
32
7
 楼主| 发表于 2013-3-3 12:02:30 | 只看该作者
OCTSJimmy 发表于 2013-3-3 11:58
需要增加一个属性,其实完全可以参照MP来写的。
第一步,在Game_Battler中定义一个实例变量:
attr_reader  ...

谢谢,这些我已经做好了,现在的问题是加进去了不知如何使用,而且我不需要在战斗中使用这个SP,仅仅需要在事件中使用,所以不知怎么在事件中减少。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 11:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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