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

Project1

 找回密码
 注册会员
搜索
查看: 9971|回复: 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请留言或通知我。

评分

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

查看全部评分

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

Lv1.梦旅人

梦石
0
星屑
55
在线时间
36 小时
注册时间
2013-12-15
帖子
13
30
发表于 2016-4-11 16:42:12 手机端发表。 | 只看该作者
按照这个构想,dot类型也可以达成啊
技能给目标状态,状态学会技能,技能通过变量指定技能原发者的参数对目标造成伤害

点评

虽然不太懂什么是dot,不过稍微下点功夫能做出的效果还是很多的  发表于 2016-4-12 20:43
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

29
发表于 2016-4-10 23:25:15 | 只看该作者
这就最终更新了吗。。。使用自发技能需要学会,那持续施法这种要学两个技能咯?(一个用于附加施法状态,一个是真正的施法)

点评

在说8楼那个的话,不是BUG是设置问题...使用次数没有限制,有必要还能让同个技能复数次发动。  发表于 2016-4-12 20:40
一个角色一个回合结束能自动放多少个技能?你之前那个有bug就是放几次都是同一个角色的来着。。。  发表于 2016-4-11 23:41
这是最直接的办法了吧,要考虑其他方法可以尝试配合延迟发动(技能咏唱)一类的脚本  发表于 2016-4-11 05:09
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
36 小时
注册时间
2013-12-15
帖子
13
28
发表于 2016-4-7 13:38:22 | 只看该作者
求助,如何兼容https://rpg.blue/thread-237131-1-1.html这个脚本呢?RTAB跟被动技能的组合应该能诞生相当有趣的效果的

点评

原则上兼容性问题要求使用者自己解决的。不会的场合拜托认识的脚本师或开个有偿委托。我自己已经半隐退了所以请恕我拒绝  发表于 2016-4-10 22:20
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
465
在线时间
269 小时
注册时间
2015-2-17
帖子
136
27
发表于 2016-3-27 16:57:36 | 只看该作者
照着脚本描述做的,设立了一个战斗开始100%发动的技能然后给人学习完,然而开战的时候什么反应都没直接就进入回合,跳过了设定技能发动并且无提示

点评

问题我明白了,但很难说出究竟是哪里出了问题,自己测试的时候也是正常的。如果在设置上没有错误可能是跟其他脚本发生冲突了  发表于 2016-4-10 22:07
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
465
在线时间
269 小时
注册时间
2015-2-17
帖子
136
26
发表于 2016-2-11 18:35:26 | 只看该作者
问下。那个设置到底是怎么设置的。
ask[ID]={}
这样根本不行啊。。

点评

沒有明白哪里不行...如果能清楚描述问题所在的话应该能解决...  发表于 2016-2-20 22:30
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2009-6-12
帖子
22
25
发表于 2016-1-13 21:36:26 | 只看该作者
本帖最后由 zxz2874 于 2016-1-13 23:00 编辑

强制 这个怎么用?

点评

添加参数【"强制"=>"true"】  发表于 2016-2-20 22:41
R
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
132 小时
注册时间
2014-5-7
帖子
148
24
 楼主| 发表于 2015-10-30 21:25:03 | 只看该作者

*(

本帖最后由 Silentever 于 2015-10-30 14:32 编辑
MOONLIT 发表于 2015-10-29 17:00
应用起来是这样写么?

为什么一直会报错?


(主楼也更新了)

1.忘了定义这个方法了...
在end后面另起一行加入下面的代码
  1.   def last
  2.     return allies(last_act.target_index) if last_act.item.for_friend?
  3.     return oppons(last_act.target_index) if last_act.item.for_opponent?
  4.   end
复制代码
2.搜索“def self.battle_end(result)”
里面有个“$game_party”换成“$game_party.members”(补充后面的“.members”就可以了)
「私が来た!  私が見た!  ならば次わ買つだけのこと!」
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
850
在线时间
615 小时
注册时间
2014-2-10
帖子
196
23
发表于 2015-10-30 00:00:23 | 只看该作者
本帖最后由 MOONLIT 于 2015-10-30 22:28 编辑
Silentever 发表于 2015-10-29 21:51
在功能上估计没有更多的扩展空间了...不过确实可以追加一些方便使用的定义。
于是做了次小更新,单纯的追 ...


应用起来是这样写么?

为什么一直会报错?



上面的没问题了,但是又有新的问题

1.


战斗结束会报错

2、

范围功能是这样用吗?也会报错

——————————————————————————————————————————————
应该没问题了,感谢带来这么一个方便的脚本。

点评

感谢修复,不过又有新问题了  发表于 2015-10-30 07:00
把追加代码放错地方了...已修复  发表于 2015-10-30 06:09
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
132 小时
注册时间
2014-5-7
帖子
148
22
 楼主| 发表于 2015-10-29 21:51:10 | 只看该作者
本帖最后由 Silentever 于 2015-10-29 14:53 编辑
MOONLIT 发表于 2015-10-29 00:45
脚本盲问下,
这个脚本能设置只在使用特定技能后追加自发技能吗?或者能往这个方向继续扩展吗?


在功能上估计没有更多的扩展空间了...不过确实可以追加一些方便使用的定义。
于是做了次小更新,单纯的追加了一些last_act方法,说明部分有使用方法。

举盾突击可以做成普通的攻击技能,自发举盾防御目标自身条件“last_act.skill?(举盾ID)”,插入时机可以是战斗开始以外任意(因为last_act设置是在回合最开始的时候)。
另一个麻痹可以追加条件“!(last_act.guard? or last_act.item?)”。
「私が来た!  私が見た!  ならば次わ買つだけのこと!」
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-10-31 17:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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