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

Project1

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

[RMVA发布] [VA]自动发动技能——10-28完成体

[复制链接]

Lv1.梦旅人

梦石
0
星屑
80
在线时间
132 小时
注册时间
2014-5-7
帖子
148
跳转到指定楼层
1
发表于 2015-8-17 09:19:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Silentever 于 2015-10-30 14:28 编辑

2015-10-28   最终更新
2015-10-09   更新:修复BUG,写法优化,追加无视行动限制的自发技能,追加简化定义
                      删除:自发技能使用成功分歧判定(感觉没什么用处)
2015-09-19   追加功能:追加last_act定义,追加自发技能使用成功分歧判定
2015-09-12   追加功能:支持让敌人也使用自发技能,追加地图自发技能,追加目标对象的选择机制




此脚本的功能是让战斗成员在通常行动以外可以追加额外行动,做出了可以根据特定条件发动的自动技能。灵感是来自世界树迷宫跟第七龙神这一类的RPG游戏,像是在战斗开始的时候一定几率发动的全体攻击,或战斗结束时恢复一定程度的HP之类的技能让人印象深刻。不过这东西的潜力远比原本预期的功能要高,能用来做什么还得看使用者的想象力了。

基础说明:
需要在脚本内相应的时机中填入“Ask[ID] = {各种参数}”。战斗过程中会判断填入的技能是否有成功发动,并且执行。
举个例子来说,如果填入“Ask[3] = { '时机'=>'战斗开始', '几率'=>'50', '条件'=>'state?(2)' }”,会在战斗开始,玩家输入前让所有学会了3号技能、持有2号状态、通过50%随机判定的成员执行该技能。默认数据库中3号是连续攻击,2号状态是剧毒,会变成中毒的成员有50%的几率使用连续攻击。
概念就是这种用几率跟条件去判断是否执行的技能。具体请看脚本内的详细说明。

【新手向】条件设置的写法基本上可以参考这里的内容,个人认为容易理解并实用:http://rpg.blue/thread-307316-1-1.html
与上面不同的地方是无法指定一个对象(B),并且指定使用者的时候不需要在前面加任何东西:写“atk”的时候会直接获取使用者的攻击力(不过防御力则需要加上“self.”)。

另外,可以联动我的另一个脚本“技能开关”,被关闭的技能不会发动:https://rpg.blue/thread-383392-1-1.html

代码


脚本应用:
在这里让我向大家展示一种并不包括在原本构思的用法:设置拥有每次行动前,25%几率无法行动的麻痹状态。不知道有没有人玩口袋,因为默认系统无法制作这样的状态略有些遗憾,果然还是觉得“麻痹就应该是这个样子的”。
方法是设置2个麻痹状态A、B与1个麻痹专用技能。先获得本身没有效果的麻痹A,但带有添加“麻痹技能”的特性。麻痹技能则是行动前有25的几率发动,会对使用者自己附加麻痹B状态。麻痹B就是无法行动的状态,设置效果1回合。这样在麻痹A持续的期间,每次行动前会有25%的几率无法行动(不包括自发技能的行动)。
麻痹状态


麻痹麻痹的好像一直在说脏话……
像一开始说的一样,应用方法超出了预期的功能也让我吃了一惊!以上只是提供一个思路,说不定还有很多不同类型的用法。
另外想要关闭技能,可以让装备附加自发技能来达到这样的效果。

兼容性问题:
兼容性问题就请自力,脚本里面都标注了哪些内容是覆盖式的写法(搜索OverWright)




这次大概会是最后一次更新……大概。有bug请留言或通知我。

点评

严重BUG,死后要么无限技能,要么卡机  发表于 2017-1-23 17:30

评分

参与人数 9星屑 +560 收起 理由
lsu666666 + 300 精品文章
MOONLIT + 40 精品文章
阿薩男爵 + 15 塞糖
jianyulei + 20 精品文章
dorx2010 + 40 我很赞同
♂雨 + 15 精品文章
柳岳枫 + 90 精品文章
tan12345 + 20 好东西,收了。
3106345123 + 20 删除线是 [s][/s] 哦

查看全部评分

「私が来た!  私が見た!  ならば次わ買つだけのこと!」

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
2
发表于 2015-8-19 09:45:20 | 只看该作者
2) 使用者必须学会该技能。
这点,如果想做个全技能都可以触发的游戏,那个技能列表有点长。按我的想法,这些概率的“意外的行动”是出乎自己预料的,没办法掌控的,没学习过也是正常。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
132 小时
注册时间
2014-5-7
帖子
148
3
 楼主| 发表于 2015-8-19 17:08:24 | 只看该作者
负零 发表于 2015-8-19 02:45
2) 使用者必须学会该技能。
这点,如果想做个全技能都可以触发的游戏,那个技能列表有点长。按我的想法, ...

“意外的行动”应该会很有趣,但全技能都能发动会有些夸张吧……像是战士不可能突然会扔一发火球一样(至少不是所有的战士都可以)

其实说是学会,只需要在技能数组里面有那个技能就足够了,可以不让玩家看到,这样也更方便控制哪些角色会进行哪些“意外的行动”。

点评

正解。  发表于 2015-8-20 16:56
「私が来た!  私が見た!  ならば次わ買つだけのこと!」
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

4
发表于 2015-8-22 10:44:38 | 只看该作者
目标随机决定?想要自己决定是上一个目标还是随即目标呢?


@寒冷魔王 的看法?

点评

嘛,我也不是很清楚,总之加油  发表于 2015-8-22 12:19
那个我知道啊···一开始我还想动那个地方,然后发现动了好像也没什么效果···  发表于 2015-8-22 12:16
我是说脚本的位置,看看rand在哪个函数中,起到什么作用  发表于 2015-8-22 11:46
位置?不是看id吗···  发表于 2015-8-22 11:13
其实,你想看看是不是随机,搜一下rand就行,没有就是不随机,有的话看看位置判断一下  发表于 2015-8-22 11:02
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
132 小时
注册时间
2014-5-7
帖子
148
5
 楼主| 发表于 2015-8-22 15:00:50 | 只看该作者
chd114 发表于 2015-8-22 03:44
目标随机决定?想要自己决定是上一个目标还是随即目标呢?

单纯是个人觉得因为是自动行动所以让玩家决定对象目标不自然。也想过可以获取满足特定条件的目标,但在使用者控制的方面上还有问题,基本上也不过是个构思而已。
「私が来た!  私が見た!  ならば次わ買つだけのこと!」
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

6
发表于 2015-8-25 13:48:02 | 只看该作者
Silentever 发表于 2015-8-21 22:00
单纯是个人觉得因为是自动行动所以让玩家决定对象目标不自然。也想过可以获取满足特定条件的目标,但在使 ...

这和我正在做的持续施法与施法延迟以及T君的一个延迟生效有一些共同之处···

不过麻痹那个我还是没太看明白···VA的技能使用效果里面的附加状态不就是可以设定几率的吗···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

7
发表于 2015-8-25 13:48:36 | 只看该作者
Silentever 发表于 2015-8-21 22:00
单纯是个人觉得因为是自动行动所以让玩家决定对象目标不自然。也想过可以获取满足特定条件的目标,但在使 ...

这和我正在做的持续施法与施法延迟以及T君的一个延迟生效有一些共同之处···

不过麻痹那个我还是没太看明白···VA的技能使用效果里面的附加状态不就是可以设定几率的吗···

点评

那是使用技能附加状态,但没有状态附加状态的办法。实际上想象中的麻痹是每次行动都有25%几率当机←这样的感觉。  发表于 2015-8-26 01:07
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

8
发表于 2015-8-25 15:00:33 | 只看该作者
本帖最后由 chd114 于 2015-8-24 22:01 编辑

  1.   end; def on_turn_start; super# - 回合开始 - 回合开始前使用的技能
  2. $game_actors[1].auto_skill(80)
  3. $game_actors[2].auto_skill(85)
复制代码
发现了BUG,这样做的话,两个角色会各自发动两次(当队伍里只有两个角色时)

点评

这个部分是Game_Actor里面,会对每个角色进行一次处理,默认是直接拿当下的角色做使用者,上面这样的写法会变成成员数相当的次数。  发表于 2015-8-26 01:23
写上的只要auto_skill,不需要指定任何对象,写上一次可以让所有学会那个技能的人用,另一方面写上2次就能让每个人用2次。  发表于 2015-8-26 01:09
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
92
在线时间
468 小时
注册时间
2011-9-1
帖子
404
9
发表于 2015-9-11 14:55:58 | 只看该作者
你这个脚本解决的我一个大难题,好赞!
男人不懂永远月经的痛,就像女人永远不懂蛋疼的痛
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
92
在线时间
468 小时
注册时间
2011-9-1
帖子
404
10
发表于 2015-9-11 15:04:11 | 只看该作者
发现个BUG,如果技能是消耗特技值发动,那将无效。

点评

以修复,顺便也更新了  发表于 2015-9-12 08:39
男人不懂永远月经的痛,就像女人永远不懂蛋疼的痛
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 16:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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