最近比较忙,所以没有更新,今天花一晚上搞了续集,主要我也是初学Mod,话不多说我们开始吧!
看到这期的同学们应该已经对七日杀的xml文件有所了解了,所以我们跳过乱七八糟的前戏,直奔主题。
这次我们的思路是生成一个僵尸,僵尸自带范围buff,能够影响到我们玩家的屏幕,就像是醉酒、濒死、辐射等等会影响屏幕效果。然后我们玩家就自带反击buff,受到特定影响屏幕的僵尸buff,我们回击给僵尸一个粒子效果,比如着火、电击、辐射效果等等。
先问下AI游戏中哪些粒子效果可以附加在实体,也就是玩家和僵尸还有动物身上
AI给了好几个,我们就当这些都有吧
然后再了解下有哪些效果可以影响到玩家屏幕的,我们也就当这些都有
接下来我们让AI写buff的代码,生成能够影响玩家屏幕的buff
继续让AI写附加粒子效果到实体的buff代码
嗯。。。。AI还是识数的,你说4个就4个吧
再补一个,僵尸有5个,那我们也要5个
对照玩家buff发现僵尸buff好像没有加取消条件,我们让AI改一下代码,加上取消条件。
我们让AI来继续生成玩家反击用的buff,用来触发给僵尸附加粒子效果的buff
还有僵尸自带的buff,用来触发影响屏幕的效果
好的,代码已经生成完毕了,现在我们在Mod文件的config文件夹里新建一个buff.xml,加上代码头和尾,把AI生成的代码粘贴进去。调整好格式,我们会发现还是老问题 “ ”双引号的格式不对,我们用全部替换把“”都替换成英文的 “” 。 (这里我去吃饭了,回来发现电脑好像自动更新然后重启了。。。。 前面和AI的聊天记录都没有了,少了截图,大家可以参考下之前几集的方法修改)
接下来,我们要想办法触发玩家的反击buff,这里我就不用药品或者食物触发了,这回我们用物品。
手电筒按F的时候不是会开灯吗,我们就用这个机制,改下手电筒的代码,按F的时候来触发玩家反击buff。
先在本地化说明文件里找到手电筒的代码名称
然后到items文件里查找代码
在mod里新建items.xml文件,写好代码头尾,把手电筒的代码粘贴过来改个名字。
代码最下面的触发器就是手电筒开关灯的代码,上面是开,下面是关。
给他改一下,触发器改为添加buff和取消buff,buff名称就设置成AI给我们生成的那个。
物品加好了,那我们还需要一个僵尸来触发僵尸buff,打开entityclasses.xml,这个是游戏实体的代码文件,包含了玩家、动物、僵尸等。我们随便选一个,然后再mod里新建一个entityclasses.xml,把代码粘贴过来,别忘了文件头尾。这里我选了个疯狂阿琳,你们可以随意。
我们需要僵尸一生成就自带buff,不需要其他触发条件
在buff.xml最下面的绿字说明里,在触发器里可以找到这一条,意思就是:生成的时候触发
我们复制这一条触发条件,到mod里边来,先把僵尸名字改一下,然后在触发器组里加一个触发器,当生成这个僵尸的时候,给它添加一个buff,AI帮我们生成的那个buff,用来触发屏幕效果的。
为了方便测试,我们把新加的这个僵尸加到僵尸组里去,这样我们可以在游戏的上帝模式,按F6后在菜单直接选择生成。僵尸组在entitygroups.xml里面,我们先在mod里新建一个,然后代开本体的这个文件
这里就是游戏本体全部僵尸的名字,我们就是要把新建的僵尸加进来。打开mod的entitygroups.xml,写好代码头尾,把本体的这个都复制过来,把新建的僵尸名字加进去。这里我们很粗暴的用Remove xpath语句把本体里僵尸组的这段代码整体删除,然后在mod里重新建立了一个同名字的僵尸组。
OK到这里mod需要的文件就准备全了,我们开始修正AI生成的buff代码。
前面AI给的屏幕特效,我们需要到本体里查找一下是不是真的有,这里我们复制屏幕特效的关键词 Screen ,然后到本体的buff.xml里搜索。
找到的第一个是 Dark ,就是变暗的意思,而且两行代码很整齐,触发条件是buff开始和buff结束时候触发,正好就是我们想要的,果断拿走粘贴到AI给的代码里,替换掉他生成的。
接下来搜到的是 Blur ,同样复制代码替换。 后面几个都是同样道理,如果找不到就用其他的效果也可以,比如果Hot Drunk Greyscale之类的,别问我什么意思,我也没仔细查,反正凑齐5个就完事。
同样,我们搜索粒子效果的关键词 ParticleEffect 来搜索粒子效果。第一个找到的是着火效果,AI给的名称有问题,我们给他替换掉,同样把触发器也复制过来,但是触发条件要和屏幕效果一下,改成onselfbuffstart和onselfbufffinish。
接下来依次搜索,同样是凑够5个就行,还可以用twitch 里面的buff,就像这样
接下来就两个关键buff了,玩家反击buff和僵尸自带buff,我们要求这两个buff都是范围性的,也就是AOE类型的,所以我们以AOE为关键字来搜索。
这一条的意思是:当自身buff刷新时,添加一个buff,是以自身为中心的AOE buff,范围是10米 要添加的buff是buffRingOfFireEffect。通俗点说就是:为自身10米范围的敌人附加buffRingOfFireEffect这个buff。我们复制这个触发器,先来修改玩家反击buff。
我先先把触发器复制过来,为了避免误伤友军,我们在里面添加上一个target_tat,对象类型设置位僵尸。这一条是触发buff的,条件是hasbuff,就是当身上有对应buff时触发。
我们还需要取消buff的触发器,复制一下把触发条件改成结束,动作改为取消buff,取消的条件buff结束,动作是取消buff,必要条件是当身上没有对应buff时,hasbuff加个!就表示取反。
然后逐条对应上面的屏幕效果buff来修改触发条件。
这里僵尸buff就会涉及到另一个知识点,就是随机触发几个buff中的1个或者几个buff。
这里砍注释就知道我试验了好几次,第一行绿色注释是一下触发全部的5个buff,第二行绿色注释是AI生成的,并没有生效。
生效这条在本体的这个位置,意思是给要触发的buff们添加一个触发几率权重,数值越大触发几率越高。这个fireOneBuff我还没有进行试验,初步估计类似显卡交火,就是几条buff可以同时生效在一个目标上,有兴趣的可以自己改动试试。
好的,至此mod的全部文件都改好了,哦~ 还有个事忘记了,要给新建的物品加个图标,随便找个图片放进去就OK。
接下来我们就到游戏看看具体效果吧!
呃。。。。视频上传失败~~~我再想想办法你们先凑合看吧~~
教程图片
七日杀特效mod_七日杀 (bilibili.com)
不会插视频 这里来看吧。。。
大佬,BING AI 在哪里搞,我也想弄个~