邪灵博弈 发表于 2022-3-8 10:59

关于如何自制法术的简单教程

本帖最后由 邪灵博弈 于 2022-3-8 10:59 编辑

首先我英语很差,CT表里面 ParamPatcher选项里面没有人翻译,我就认得几个参数的单词,就只能简单修改。希望有英语大神把整个表的参数翻一下,只要知道更多参数代表的意思,就能制作更加炫酷法术了。
使用方法请看我的另一个帖子https://bbs.blacksheepgame.com/forum.php?mod=viewthread&tid=6279178&pid=293488518
下面开始是怎么修改的教程:


1、第一步是下载ct表,很重要的是作者是国外的,并且对ct表做了限制,只有discord成员能用Parampathcher这个选项,所以你必须用 木第 子工具来注册并登录discord客户端,希望原作者之后能取消这一限制。Parampathcher是个很强大的工具,可以修改游戏里的武器、护甲、护符、魔法、魔法效果等等的参数,从而制作出你想要的mod。并且通过ParamPatcher V3 Scripts (Generated Scripts Here) 这个选项可以保存你的修改,从而达到半静态修改的效果,并且通过复制自动生成的代码也能分享你的修改给其他人。
2、这个教程只讲法术的修改,所以我们只用到Magic和Bullet这两个选项。

比如我们修改辉石魔砾这个法术,就查找这个法术的ID代码。论坛的有帖子提供所有物品ID。https://bbs.blacksheepgame.com/thread-6277209-1-1.html,请自行下载查看。
查到辉石魔砾的ID为4000,就修改Magic的子选项里的ID,改为4000,这样就能看到这个法术的参数,Anim、Bullet1、Bullet2。Anim是施法的动作ID,一般一个法术会先发射两个子弹特效,Bullet1和Bullet2就是对应特效的ID代码。
图中10400000和10400099就是辉石魔砾发射的两个子弹特效的ID。


2、知道子弹特效ID我们就可以来修改法术效果了。将Bullet选项里的子选项ID替换为10400000,其它子选项也会变更成10400000对应的参数数值,通过修改参数数值就能达到修改法术的目的了。
我们也可以通过Bullet选项中的第一个子选项Logger来获取法术的特效ID。点击Logger会出现弹窗,然后进入游戏施放一次法术,在弹窗就会出现所有的子弹特效的ID了。此时双击ID,Bullet选项就会自动修改ID,不用手动输入了。



3、我知道的参数效果已进行简单翻译,如有错误,望大佬指正。其它参数选项也希望有大佬进行翻译和讲解。
我们先来进行简单修改,
life 代表子弹持续时间,单位为秒,数值越大持续时间越久。
shootInterval 触发间隔时间,单位为秒,有些法术是持续施法,比如喷火,数值越小,触发喷火越频繁,不要改的太小,否者你的cpu和显卡会顶不住。
gravityInRange 重力范围,如果数值为0,则子弹会水平前进。数值改大后,子弹会在重力影响下做抛物线运动,数值越大,重力效果越明显。
initVellocity、maxVellocity、minVellocity表示子弹的初始、最大、最小速度,acceltime代表子弹加速所用的时间,通过修改这几个参数可以使子弹进行一维方向复杂的运动。
numShoot 发射的子弹数量、shootAngle 子弹初始水平角度、shootAngleInterval 多个子弹间的水平角度间隔。比如我想360度无死角发射法术,我设置子弹数量为12,360度除以12为30度,我就修改shootAngleInterval 为30,这样你就得到下图效果

shootAngleXZ 初始Z轴方向角度。如果为0,则子弹会水平射出,比如修改45,则子弹会向上射出。所有的角度都可以为负数,Z轴为负数就向下射出,shootAngle 正数会水平左偏,负数向右偏。


4、知道上面这些参数就可以进行简单的法术修改了。如果想要修改酷炫的效果,我们就得用到HitBulletID、emitterBulletId 、emitterShootInterval 这几个参数。
我的理解是这样的,艾登法环是通过同时和延时生成多个简单的子弹特效来产生复杂的魔法特效效果的。
HitBulletID 当前子弹消失,会在消失的地方发射一个新的子弹,这个ID就是新子弹的代码。
比如我制作的满月辉石魔砾法术 就是在辉石魔砾的子弹消失时,触发了满月技能的子弹,子弹ID为10436000

https://www.bilibili.com/video/BV1LP4y1g7GR?share_source=copy_web

你也可以在满月的子弹消失后继续修改它的HitBulletID 为另一个法术子弹的ID,然后另一个法术子弹消失时在添加一个HitBulletID ,这样就可以一个子弹接着一个子弹,类似链式调用的效果。

链式代表延时触发,那么emitterBulletId 可以做成同时触发的效果
emitterBulletId 在这个子弹存在触发其它子弹的id
emitterShootInterval emitterSpawnInterval 触发间隔时间,数值越小越快
emitterDelayUntilShot 延时触发时间,单位为秒
比如我制作的冰封球辉石魔砾法术 就是在辉石魔砾的子弹一边前进的过程中,一直在触发天降魔力技能的子弹效果,子弹ID为10437051,触发频率是每0.4s发射一次。

https://www.bilibili.com/video/BV1oL411N742?share_source=copy_web

当然你可以同时修改并组合上面所有参数,从而产生更加复杂而炫酷的法术效果。






邪灵博弈 发表于 2022-3-8 11:00

本帖最后由 邪灵博弈 于 2022-3-8 11:42 编辑

占楼,待会讲解如何保存你的修改我们在修改参数后,如果关闭游戏后再打开,原先修改会失效。这时我们只需要使用ct表提供的save就能保存我们的修改了。
不管是魔法修改还是子弹修改或者其它物品修改,我们只要单击一下每一类的子选项XXXSave就可以在ParamPatcher V3 Scripts (Generated Scripts Here)下自动生成静态代码。下次打开游戏只需要激活生成的选项就可以了。假如我们同时修改了多个子弹的效果,这样每次打开游戏就需要激活多个选项,比较麻烦。我们可以手动复制的方式来合并代码。
比如我同时修改了10400000和10400099两个子弹,并在ParamPatcher V3 Scripts (Generated Scripts Here)自动生成了两个选项

我们分别双击这两个选项后面的脚本,会弹出两个框,我们把BulletScript_10400099的decodeFunction这一行内容复制到BulletScript_10400000的decodeFunction的下面,再把BulletScript_10400099的writeByte复制到BulletScript_10400000的writeByte下面,然后点击确定。


然后删除BulletScript_10400099这一项,双击BulletScript_10400099,修改一个你想要的名字就行了。以后每次打开游戏就只用单击一次就可以激活了。

如果你想分享你的修改的法术或者武器等等,你只需要要讲脚本里的所有代码复制给别人,比如满月辉石魔砾的代码
{This script is generated by ParamPatcherV3}

{$lua}
decodeFunction("c-pO$O:{ZT6o$]DCdp*}pk!lJ#6:Jhgo=WJV]kE)pF(YTcbEoz0ja@ZhbP?gtENy}I$)ZB:Gn;%-A-ki*F8:Gz1klq(ugQJ1xd%pkhmUKU-:RzX{DQv{yRlFF6Qc6SdMbe?}QkPIHhpkB{*lYTu.3n)pO8P23!b/Ec#Zm#8IIh0/v!d}ZfyO@Swm;h3,iODtcLQ)8mQCz,x#v{K$4h^yKrqL+zUqQ@N4CX7c%#s:;irybI}rDx%j*gERu)r;lgp.y7ZLkQtoznMt*wF/rTW5xGnGK!roP8yjuRpF8t?fff;yI-=/zJvU3r$6UB{%)cNnwu=S5,J!to1]7?h7JOkVHA=DTZf8gDck,^cDn2aB[l9_dO)_#LzJ#*;wt*%@Bxc!Q)yj0PbX61*UN#(:=Z/X@Z=@Uj-L?EzdVwJBd8!F:{Cso!{-lzmB-(NkKTvka^KB(A[$+X*+IiYe%/+dpt75zCXzRJ}YF_ya@4}++uLI")()
decodeFunction("c-p/xOKTHR7^;AUol7z%7L,VB;N1GSc(WSMOxnhRS%]^TnVJEGh%im5=#{VHap=yrxXp+KC!%ijE2.k@J+1YPST6%Vc%Dfn.pNOZXM5ZEZE3z*s-3AtNt7f^=#leSu#;7NA*eOd7P+q9QZ:b0BBmmlbR]wb+WQbfmXRP4V:HEM_FxLYZjYbPKr(dkED-I]Vd0;wbXYj)8XXqy1@oj)4#lpA.$nJ+4hsjZ)qZAC2@_(:dW.SW2d(Xz.h:RoEFAPW9TpC^6v!x+rjy^uS*c)O77iNHVd0/:9TpB6PiCRRy$nTPh4WcH)yP)GpT#VgC5uF#?!#X/XtVrkT_Vhwo,W0MSVnu3S.!hoW}2GKjFnmR(t}b..h?,5!#gIrU_kOFm(3F8^W6)lEfz:Cbvi5?w7XyySUBhg9d-NFja]uz]GUk1M9^:^bjEvS;snPSCIj1/7qUPrIU^DNi:4JjU;-Woh7u#1ZUv0N9MJGGcPwwQKgJLzm_Db5RUD:)UX3?C:58W!ZhL6i*^#;mr?Y#fQ]f/HI^2;OO:%=E3K4hrowx]$1+V@(MNz!.S")()

{$lua}
writeBytes(bulletParamAddr_10400000,bulletParamRestore_10400000)
writeBytes(bulletParamAddr_10436002,bulletParamRestore_10436002)别人只需要打开ct表,然后使用ctrl + alt + a快捷键打开自动汇编窗口,然后粘贴代码,然后点文件---》分配到当前的CT表。

就会在CT表最下面自动生成一个叫自动汇编脚本 的选项,用鼠标左键长按并拖动该选项到ParamPatcher V3 Scripts (Generated Scripts Here)的下面就行了。



最后每次修改CT表记得按 ctrl + S保存CT表。



leichikuang 发表于 2022-3-8 11:16

楼主,能不能附带一个discord国内能正常注册,正常登陆的详细教程万分感谢,下载discord都难,别说注册了,搞了半天注册不起,点了没反应。也登录不了。。。不知道怎么办。急需帮助~!

willbelive 发表于 2022-3-8 11:16

{:3_167:}厉害

ring1997 发表于 2022-3-8 11:22

:lol学到了

l6414 发表于 2022-3-8 11:23

好厉害!

邪灵博弈 发表于 2022-3-8 11:45

leichikuang 发表于 2022-3-8 11:16
楼主,能不能附带一个discord国内能正常注册,正常登陆的详细教程万分感谢,下载discord都难,别说注册了 ...

这个没法,毕竟墙外的东西。。。要是国内有ce大佬能制作这个功能就不用这么麻烦了。
之前不是添加物品这个功能也要discord会员么,后来就有大佬自己做出了这个功能。

leichikuang 发表于 2022-3-8 11:50

邪灵博弈 发表于 2022-3-8 11:45
这个没法,毕竟墙外的东西。。。要是国内有ce大佬能制作这个功能就不用这么麻烦了。
之前不是添加物品这 ...

是啊。。。郁闷了。。。太郁闷

qykjerry1 发表于 2022-3-8 17:06

魔法来了。。      

samelidifinte 发表于 2022-3-19 17:06

bullet里面的第一项atkld 是不是攻击力?

沧之月 发表于 2022-3-19 23:40

66666666666666666666666

哦好的好的 发表于 2022-3-30 20:23

666666666666

Dzluck 发表于 2022-5-16 09:14

感谢分享

3dm_20475899 发表于 2022-5-16 09:14

感谢大佬
页: [1]
查看完整版本: 关于如何自制法术的简单教程