Project1

标题: 请问这种类似trpg式的战斗能实现吗? [打印本页]

作者: mistCK    时间: 2018-1-8 13:06
标题: 请问这种类似trpg式的战斗能实现吗?
例如我选择向敌人射击,则先投出一个1d100的骰子,如果结果是1-9则是暴击,10-50则是正常伤害,51-90则是少量伤害,91-100是未命中,具体每种情况占的比例会根据属性变动。。。
敌人的攻击也是此种模式,然后比如我选择本回合闪避,则在敌人攻击成功时,再投一个骰子决定闪避是否成功。。。
请问这种战斗模式能实现吗?该如何实现?
作者: 百里_飞柳    时间: 2018-1-8 19:49

没有现成脚本,可以去定制

以前我也想过这种战斗,甚至糊好了一个调用后就等待直至投掷完成的简易骰子小系统(非完整战斗系统),但是发现这类太随机,会使人产生较大的挫败感,还是只加到自己的小游戏里去了
骰子系统基本思想:
创建一个类用来生成、处理、释放骰子精灵组,然后调用时给它生成一个对象,再让这个对象和 SceneManager.scene.update_basic 一起循环更新(起到挂起其他全部操作的作用),直至它完成了按键投掷的处理并释放,就结束这个循环,返回继续其他的操作
这个思想可以挪动到战斗系统中的,毕竟默认脚本里的Scene类都是这样,基础更新update_basic处理的全是基本的刷新,和玩家的操作不沾边,而更新update之中包含了update_basic和其他的玩家操作的更新
作者: mistCK    时间: 2018-1-8 20:54
百里_飞柳 发表于 2018-1-8 19:49

没有现成脚本,可以去定制

请问只能用脚本来实现吗。。。
作者: 陆言儿    时间: 2018-1-8 21:12
为何不用DND的D20系统,闪避就是加值加高点
作者: shencao    时间: 2018-1-8 21:28
对战斗界面没要求的话,感觉全用事件都能做啊:
遇敌=显示文字,玩家行动=显示选项,投筛子=随机一个数,自己和敌人的数值都用变量记录起来然后和随机数对比判定是否成功,按照成功和失败写分歧,如果有后续就继续判定,显示战斗的过程和结果=显示文字。
想好看就再加点图片和特效,显示我方立绘和敌人图片啦,显示动画啦,之类的,因为战斗流程都是事件,可以用显示图片做的事情反而很自由呢。
arpg都能用事件做,trpg肯定可以的。
想象了一下,需要的事件功能还挺基础的(?),就是做起来肯定会很麻烦。不知道用公共事件能不能做出通用的流程呢(光想就觉得会很复杂)
*可能会需要一些选项加强脚本,有那种可以根据开关等条件控制某项选项是否显示的脚本,这样玩家自己点的技能可以用开关记录,写战斗行动的时候就方便多了。否则大概只能挨个儿写分歧⋯⋯会相当痛苦(可怕)⋯⋯

如果要从自带的战斗改造,嗯,,,伤害数值计算利用伤害公式应该是可行的,命中和闪避大概得改脚本?
把rm各种命中闪避等的默认判定规则改成你需要的,大概可以吧。
其实判定原理很类似的,我记得rm默认判定技能就是先判定技能命中然后再判定敌人闪避是否成功,只是具体的判定公式跟你要的不一样。(毕竟trpg就是现代rpg的起源嘛~)
且rm的战斗判定过程都在后台,只给玩家看结果,trpg中很重要的是玩家需要知道这次随出了什么以及如何判定的过程。如果想让玩家都看见过程,大概也得改改脚本⋯⋯
——然而我并不会改,伤害公式也不熟。
所以如果是我自己要做,我选择用事件试试⋯⋯(望天
作者: mistCK    时间: 2018-1-8 21:44
陆言儿 发表于 2018-1-8 21:12
为何不用DND的D20系统,闪避就是加值加高点

只是举个例子啦
作者: mistCK    时间: 2018-1-8 21:46
shencao 发表于 2018-1-8 21:28
对战斗界面没要求的话,感觉全用事件都能做啊:
遇敌=显示文字,玩家行动=显示选项,投筛子=随机一个数 ...

想用战斗界面。。。能不能通过仅仅让攻击命中之类的效果显示随机一条文字实现?例如命中了就随机显示投出10-50,暴击了就是1-9之类的,然后直接设置暴击率是10%就行了
作者: shencao    时间: 2018-1-8 22:06
本帖最后由 shencao 于 2018-1-8 22:24 编辑
mistCK 发表于 2018-1-8 21:46
想用战斗界面。。。能不能通过仅仅让攻击命中之类的效果显示随机一条文字实现?例如命中了就随机显示投出 ...


你这是骗消费者啊XD
只替换显示文字应该是可行的,不过应该也是要动脚本的。
想起来以前看到过一个替换战斗信息的,可以参考下面的帖子:
完全mud话的战斗系统,如何把伤害数字替换成文字。
http://rpg.blue/forum.php?mod=vi ... amp;fromuid=2635781
【mud战斗系统】脚本战斗描述时语句如何进行随机的替换
http://rpg.blue/forum.php?mod=vi ... amp;fromuid=2635781

仿照这里的写法,大概可以做到?
(我没试过啊,供参考~)


不过这样做的话,跟具体数值挂钩的时候,“具体每种情况占的比例会根据属性变动”这种情况,具体要显示成多少还需要get敌人的数值,这要怎么写呢,我⋯⋯不太能想的出⋯⋯
作者: chd114    时间: 2018-1-8 22:26
不考虑界面做起来半小时就够了
考虑界面的话麻烦一些
如果你还要加扔骰子的动图之类的就···
作者: sdgn    时间: 2018-1-8 22:47
本帖最后由 sdgn 于 2018-1-8 22:53 编辑

用事件可以做~ 我就有用這種概念做了隨機決定進入戰鬥畫面的時機~
只是....哪裡來這種骰子? 做成俄羅斯輪盤還比較有可能...
你可以分6個區間就能做成普通骰子分成6個面各標示成不同效果...
擲骰動畫也可以簡化~ 做成骰盅~ 只需要蓋盅開盅2張圖片做切換~
擲骰的動態只需要蓋著的盅 做搖晃效果
作者: mistCK    时间: 2018-1-8 22:51
shencao 发表于 2018-1-8 22:06
你这是骗消费者啊XD
只替换显示文字应该是可行的,不过应该也是要动脚本的。
想起来以前看到过一个替换战 ...

emmm,不是要mud啦233,请问普通的战斗能做到替换文字并随机显示吗?
作者: mistCK    时间: 2018-1-8 22:53
chd114 发表于 2018-1-8 22:26
不考虑界面做起来半小时就够了
考虑界面的话麻烦一些
如果你还要加扔骰子的动图之类的就··· ...

就用普通的战斗界面加上显示文字和一声骰子的音效就行了,不需要图,请问这样的话怎么做?
作者: mistCK    时间: 2018-1-9 00:07
sdgn 发表于 2018-1-8 22:47
用事件可以做~ 我就有用這種概念做了隨機決定進入戰鬥畫面的時機~
只是....哪裡來這種骰子? 做成俄羅斯輪盤 ...

骰子不是问题啦233,只需要一个随机数然后显示文字,不想要真的把骰子动画做出来。
问题是这种效果能在战斗中做出来吗?
作者: mistCK    时间: 2018-1-9 00:07
shencao 发表于 2018-1-8 22:06
你这是骗消费者啊XD
只替换显示文字应该是可行的,不过应该也是要动脚本的。
想起来以前看到过一个替换战 ...

明白了,非常感谢!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1