赞 | 9 |
VIP | 0 |
好人卡 | 11 |
积分 | 29 |
经验 | 29235 |
最后登录 | 2023-12-28 |
在线时间 | 713 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 2920
- 在线时间
- 713 小时
- 注册时间
- 2010-7-25
- 帖子
- 813
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 jianyulei 于 2017-7-19 17:53 编辑
不知道为什么,突然想发这么个帖子,本帖内容是我自己的工程里使用的,直接就拿出来给大家看了,可以说是给原始脚本增加便利或者说增加功能的小方法吧,当然,我不会脚本,所以这帖子不是教程贴而是谈论贴,会脚本的人看来写法可能会匪夷所思吧?有更简便的方法请告诉我,我也正好学习了。
本帖给出的是3种我觉得很方便的状态简化方法
首先大家肯定会想到游戏里的状态解除很麻烦吧,一个状态对应一个状态解除,那么如果我把20种状态归类为“中毒”,那么我如何让一个技能解除人物的所有毒呢?难道要在技能中加入20个解除吗?那以后我又增加了新的中毒之后要重新将所有解除都重置一次?显然,这不可能。所以有了这么一个简便方法:
附加状态时解除特定类状态
这个方法的原理是让你对同伴使用的技能附加一个状态,这个状态的效果是解除其他有特定备注的状态,你可以在修改写循环写法,加入跳出的指令,让解除只解除1个状态而不是我写的全部,但是会按编号顺序解除没有优先权,你还可以给附加的解除用状态设定解除几率,或者给“毒”状态增加“状态解除”的抗性,做到降低状态解除的几率。伤害公式和脚本里写入的状态附加命令,也会触发这个效果,但是公式里的不会有抗性判断而是直接就附加上了。
另外,状态附加被分为普通附加和攻击附加2种,这是普通附加,是技能右侧你直接对应编号添加的状态附加,攻击附加则是写有“附加普通攻击”的状态附加,按需要你或许还要写个攻击附加,记住,攻击附加的变量有些不同,下面会用另一个例子来写个攻击附加的范例:
写了解除状态,那么我应该想想如何附加状态了,要知道人物都有对应抗性,例如我某个人物对中毒有50%抗性,那么应该降低所有中毒状态的附加率50%,但是原始脚本同样只能一个状态一个状态的对应,我们可不能跟原始脚本一样脑抽,因此我用到一个属性,让该属性的抗性做母体让所有中毒状态附加率都受其影响:
附加状态的抗性
状态附加的问题解决了,现在我又有了一个新的问题,例如中毒状态可以让敌人中毒N回合,那么其他中毒如果数据相同仅仅就是中毒时间不同而已,那么我就要重复写N个中毒状态吗?听起来好像没什么奇怪的,但实际运用起来你就会发现,除了中毒还有各种各样的状态,你如果每一个都预留10个状态栏为了设定不同的时间那得用上多少状态栏啊,更别说中毒还有各种不一样的效果……如果你不预留,那你很可能设置了一个中毒之后下次再想用它就找不到了,你就只好重新写了一个一模一样的状态来进行附加,这是数据库本身的原因我们没有办法,但是我们绝不会向黑恶数据库低头!我看了看数据库里的状态设置,想着既然最小和最大的持续时间是让我们手动输入的,那么这两个数据肯定会被调用在某个地方用于计算。因此我去脚本里找了下,又增加了自定义状态持续时间的办法:
自定义状态持续时间
如此一来,数据库里的状态栏终于清静了,原本无数多的状态被压缩到了一个很小的数值,你只要记住少数标号就能完成比原本臃肿时期更多的功能。对了,上面这些脚本都是即插即用的
综上所述,我的眩晕类控制状态备注有<眩晕><控制><时间修正>,备注<眩晕>是为了解除和附加分类,备注<控制>是为了设定控制CD让BOSS不被反复控制,备注<时间修正>是为了自行决定控制的持续时间。
这是我的状态相关的3种便利功能,希望对你有所帮助,实际上上面的脚本一点技术含量都没有,也就是用了循环、判断备注、变量赋值、执行函数的功能,或许你看了我写的之后也会突然灵光一现用这些简单的东西做出很多功能来呢
发帖时405报错,把我吓到了,还好论坛会自动保存,结果发现是日站的脚本不能贴上来,所以打包到附件里面了,有需要的去下载吧 |
|