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

Project1

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

[原创发布] 技能冷却的简单实现

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
跳转到指定楼层
1
发表于 2016-5-1 20:40:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 578783944 于 2016-5-20 18:06 编辑

事实上,我看过有很多冷却系统了,比如豪华版冷却系统,但是比较繁琐。
我写了一篇博文,讲的是如何不靠外挂脚本最简单的方式实现技能冷却。
这种方式只需添加几行代码即可,实现的应该是比较完美的。
请看这里:
技能冷却的最简单实现方法(代码实现)


更新:我已经在文章中添加了注意事项以及脚本适用范围

我的目的:就是帮助新人或者有需要的人,带领他们去自己探索而不是做一个伸手党,这样脚本出错率会更小,毕竟我自己对脚本的更改很多,如果单纯使用外挂脚本很容易出问题。

对于提出宝贵意见的各位,我深表感谢。

如果链接再次失效,请访问我的博客主页:不如怀念

点评

已更新  发表于 2016-5-20 18:08
链接失效  发表于 2016-5-19 21:54
链接失效  发表于 2016-5-19 21:54
我的博客:http://wang1212.github.io/

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
20965
在线时间
9334 小时
注册时间
2012-6-19
帖子
7106

开拓者短篇九导演组冠军

2
发表于 2016-5-1 21:10:30 | 只看该作者
呃?虽然说是简单实现……所以技能冷却还有其他实现思路吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
3
 楼主| 发表于 2016-5-1 22:58:27 | 只看该作者
喵呜喵5 发表于 2016-5-1 21:10
呃?虽然说是简单实现……所以技能冷却还有其他实现思路吗?

呃,我不太明白你的意思?
我的初衷就是,不依靠外挂脚本实现,而且这样的实现方式是随战斗结束,所有冷却也就消失了,豪华版冷却系统不仅是复杂,而且外挂脚本很容易冲突,而且我记得貌似有人说过他的冷却系统随战斗结束并不会消失。
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
4
 楼主| 发表于 2016-5-1 23:01:01 | 只看该作者
喵呜喵5 发表于 2016-5-1 21:10
呃?虽然说是简单实现……所以技能冷却还有其他实现思路吗?

我再多说一句吧,我认为仅仅是实现,其实这个问题并不难,写清楚实现过程,让新手或者说有需求的人学习到这个思想我觉得也是比较重要的。
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
20965
在线时间
9334 小时
注册时间
2012-6-19
帖子
7106

开拓者短篇九导演组冠军

5
发表于 2016-5-1 23:30:50 | 只看该作者
578783944 发表于 2016-5-1 22:58
呃,我不太明白你的意思?
我的初衷就是,不依靠外挂脚本实现,而且这样的实现方式是随战斗结束,所有冷 ...

我觉得奇怪的是实现思路,没看过所说的豪华技能冷却的代码,但是技能冷却的实现思路不就是给每个战斗角色添加一个哈希,然后扣除 MP 的时候附加冷却,回合结束时更新冷却吗,还有其他的实现思路吗

点评

喔,其实思路都差不多,就在于实现过程了  发表于 2016-5-2 10:09
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39684
在线时间
7486 小时
注册时间
2009-7-6
帖子
13483

开拓者贵宾

6
发表于 2016-5-2 00:26:11 | 只看该作者
中规中矩,很实用的东西,我之前自己写的一个跟你这个差不多。

点评

谢谢  发表于 2016-5-2 10:36
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9497
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

7
发表于 2016-5-2 00:38:53 | 只看该作者
发现两个问题:
1. 是否考虑到敌人的CD?目前对ID的标识只考虑到了主角,如果将敌人也考虑进去,感觉会出问题。
2. 是否考虑到在菜单中使用的特技?虽然在菜单中使用的特技无需设置CD,但是如果出现一个既可以在菜单里使用又可以在战斗中使用的需要CD的技能,那么目前的脚本会有问题。

另外建议给每个角色设置一个Hash表示CD,而不是在Scene_Battle里面设置统一的一个Hash来表示所有人的CD。当然,你还是需要在战斗开始时清空所有人的CD。

纠正一个概念上的错误,所谓外挂脚本只是为了方便不会脚本的新人使用的代码集合。它只是将你写在这里的代码都整合到了一页上,并加以精简和优化。因此从原理上来讲使用外挂脚本和直接在原位置上修改没有太大的差别。并且脚本冲突的问题及其复杂,如果外挂脚本兼容性做得好的话效果应该比直接在上面修改要好,并且日后用起来也方便。

总之,实现还远不完美,希望楼主继续努力。

点评

嗯  发表于 2016-5-2 11:35
另外我还是建议把Hash放在Game_Battler里,否则当同时有两个敌人的时候必定会出问题。  发表于 2016-5-2 11:25
这个本来就是RMXP的BUG,敌人被沉默之后有可能会不行动而不是选择普通攻击。所以你这个冷却的判定也是一样的道理,需要改一下。  发表于 2016-5-2 11:24
我的意思是,如果敌人冷却,检测到不能使用技能就站着不动了,而不会去攻击。  发表于 2016-5-2 10:38
我的意思是,如果敌人冷却,检测到不能使用技能就站着不动了,而不会去攻击。  发表于 2016-5-2 10:38
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9275
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

8
发表于 2016-5-2 00:58:12 | 只看该作者
578783944 发表于 2016-5-1 22:58
呃,我不太明白你的意思?
我的初衷就是,不依靠外挂脚本实现,而且这样的实现方式是随战斗结束,所有冷 ...

那个貌似是我干的···为了还原真实性,假如遇敌频繁的话那种大招类的技能会变得很廉价
其实战斗结束冷却消失与否就是一段脚本要不要加的问题
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
9
 楼主| 发表于 2016-5-2 10:01:19 | 只看该作者
RyanBern 发表于 2016-5-2 00:38
发现两个问题:
1. 是否考虑到敌人的CD?目前对ID的标识只考虑到了主角,如果将敌人也考虑进去,感觉会出问 ...

1.这个我已经考虑过了,如果敌人不需要冷却,事实上只需要加一句self.is_a?(Game_Actor),因为我自己用的就是敌人也需要CD,这个需要设置一下敌人出手方式。
2.这个也很好办,因为我觉得如果是回合制的话,一般仅需要在战斗中冷却,如果菜单中冷却,同样的思路,让变量初始化在$game_party中即可。可分离也可不分离。
3.我设置的统一Hash,采用偏移量,所以不会引发冲突。
4.外挂脚本这个问题,其实我更想说的是,一般人直接拿去插入脚本不会怎么看,容易引发冲突,如果是内嵌的话,自己懂了思想,在实现过程中也会注意到问题。
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
10
 楼主| 发表于 2016-5-2 10:05:49 | 只看该作者
chd114 发表于 2016-5-2 00:58
那个貌似是我干的···为了还原真实性,假如遇敌频繁的话那种大招类的技能会变得很廉价
其实战斗结束冷 ...

我懂你的意思,其实根据游戏性质的不同,个人想法就不太一样,我这个更倾向于梦幻西游那种回合制的
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 21:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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