Delamer
本帖最后由 Delamer 于 2019-10-25 04:21 编辑



射击效果模拟




话不多说,直接上图.

效果实现基于便利的工具人区域效果云(area_effect_cloud,以下简称AEC).
设计思路:
1.设置两个单位的AEC,分别生成在玩家位置(A)与目标位置(B).
2.让A去找B玩.咳咳,对A高频执行TP,目的地为B.
3.A与B交汇后,或是命中实体后,判定完成一次射击.
原理不复杂,但是遇到了不少预想外的情况,着实费了一番功夫.
由于不知名原因我发代码的时候总是被吞的只剩一行,这次就直接折叠不加代码格式了.
下面上代码.

一个代码段就是一套连锁,将第一个设置成高频即可实现效果.
除去不需占用方块的计分板预设,一共需要用到14(单体攻击)或11(贯穿攻击)个命令方块

下面为不怎么熟悉指令的人补上话痨版,便于自行调整参数


呼,该摆上去的都摆完了,接下来说一些小细节.

1.没有对墙体进行任何处理,所以这个子弹是能穿墙的
思路写出来了,在子弹移动的时候判断它所处的位置是不是空气,如果不是,移除
就当做课后题给大家吧.才不是我懒得做.

2.上面的话痨版有提到,多人游戏的时候需要调整很多内容
理论上来讲每个玩家都需要一套命令方块组,AEC与Damage等等标签的命名都需要独立才不会互相冲突.
想知道冲突的时候会怎么样,请把CD设置为0,然后朝不同方向射击,观察弹道.

3.这种攻击方式不吃仇恨,这点已经拿狼和僵尸猪人测试过了
所以就算没有小伙伴我也不难推断这个东西是没有击杀归属的
这也是要做多人对战的时候需要调整的东西之一

4.粒子效果不是我的专长,如果有玩粒子的大佬能给出更好看的轨迹效果那就再好不过了,
欢迎大佬晒粒子

5.如果有使用这个思路做出什么好玩的东西,请务必通知我去围观

好了,就是这样,收工.





xmdhs
稍微改改,改成追踪要更有意思呢。

另外为什么不用函数呢。

Delamer
xmdhs 发表于 2019-10-25 11:48
稍微改改,改成追踪要更有意思呢。

另外为什么不用函数呢。


函数啊...因为调整函数不是很熟练总是出现一些莫名其妙的现象所以干脆就没有封装...

kongbaiyo
如果用函数的话
让shoot=1的玩家执行函数 就可以避免多人游戏的冲突了

8765432
111111111111111111111

8765432
11111111111111111111111111111

Delamer
kongbaiyo 发表于 2019-10-25 19:22
如果用函数的话
让shoot=1的玩家执行函数 就可以避免多人游戏的冲突了

可是子弹路径终点如果还是用同一个标签,不同玩家同时进行射击的时候还是会互相干扰到,因为使用的是同一个标签选择器,所以得重新命名才行...
或许换个思路来执行子弹的寻路会更好些?

kongbaiyo
Delamer 发表于 2019-10-25 19:37
可是子弹路径终点如果还是用同一个标签,不同玩家同时进行射击的时候还是会互相干扰到,因为使用的 ...

可以在一个函数里用完这个标签就删掉它,然后下一个玩家执行这个函数的时候就是不存在这个标签的世界了!就又可以新建一个b了,完全不冲突!

燕子6
MCBBS有你更精彩~

Jokey_钥匙
突然发现原版枪械模组和"hello world"的共同点(
问题来了:distance比较的是实体基点 而不是碰撞箱 我敢肯定你这枪不能爆头(
关于碰撞箱问题和仇恨问题可以看看我这个帖子https://www.mcbbs.net/thread-913010-1-1.html
还有 为什么不用1.14?

a362564474a
MCBBS有你更精彩~

Delamer
Jokey_钥匙 发表于 2019-10-25 21:53
突然发现原版枪械模组和"hello world"的共同点(
问题来了:distance比较的是实体基点 而不是碰撞箱 我敢肯 ...


对的,这个伪伤害判定就象一个球状判定器一路莽过去,而不是检测碰撞箱.会这么折腾也是因为我不会玩碰撞箱..
不过爆头的话其实也是能实现的啦,在damage添加完毕后用一个计分板比较两者的高度,然后决定伤害级数,再对子弹执行删除,就是操作忒复杂实在懒得折腾...

至于使用1.13嘛...只是习惯问题,反正1.13能实现的搬到1.14都能实现...

Jokey_钥匙
本帖最后由 Jokey_钥匙 于 2019-10-25 22:51 编辑
Delamer 发表于 2019-10-25 22:08
对的,这个伪伤害判定就象一个球状判定器一路莽过去,而不是检测碰撞箱.会这么折腾也是因为我不会 ...

记分板比较高度……

1.14比1.13强大 真的(
1.14主要是LT和datamodify 能做的事情太多了
越早升版本越好 等你再写写你就会发现1.13的限制(
而且现在可以开始学习数据包了

Unlimited0519
让我先升到1级好吧,我很难受

t1546542
tp ^ ^ ^1 有点难受
用Motion做岂不是更好doge

一只雕
1.14.4能用吗?

Delamer

按理来讲1.13能用的,1.14和1.15都能用,不过咱没试过

Rukio
666666666666666666666

第一页 上一页 下一页 最后一页