A21更新了很多东西,最近也写了很多模组或者buff,看了很多代码,现在来分享一下经验。
-
怎么找游戏里面对应的东西
例如:我想要删除秃鹫,改怎么找?
1、首先去游戏里面找秃鹫的代码,F1->cm->回车->dm->回车->F6
通过召唤发现,vulture是秃鹫,有两个,一个是正常秃鹫,一个是辐射秃鹫,然后知道了代码,就用vscode打开\7 Days To Die\Data\Config 这里面的代码。
2、打开后然后在搜索框输入vulture,然后找对应的entityclass就是秃鹫的代码。
3、找到之后对应的name就是秃鹫的名称,然后就可以在你的entityclass文件中写代码了。
4、然后就可以完善自己的代码了,加入血量消失术和尸体消失术的代码。
property是属性,是不能加在effect_group组的,而passive_effect是被动效果,必须加入到effect_group组.
依次类推,其他的比如蛇或者狗,都很简单。
-
丧尸随时间进化的buff详解
丧尸随时间进化只有一个buff.xml文件,实现逻辑如下:
1、通过在进入游戏就会触发的buffstatuscheck01,在里面加入一个效果组,让玩家一进入游戏就会触发buff效果,如图:
2、双击改buff名称,按Ctrl+F调出查找代码,按↑箭头,查找该代码。
3、找到buff后面的名称是“玩家buff”,就表明代码从这里开始。这个buff是整个buff进入的地方。
4、name_key就是游戏里面的buff效果名称,description_key是游戏里面buff的描述,hidden=”false”表示不隐藏,玩家可以看到这个buff,remove_on_death=”false”表示死亡不移除该buff,icon=”ui_game_symbol_zombie” icon_color=”238,72,99″,icon这个得去官方代码里面找了,搜索框里输入“ui_game”就能大概查找一下,看看对应的名称翻译,大差不错。外面的文件图片里面好像是找不到的。<stack_type value=”ignore”/>表示是否会被其他buff覆盖,现在是忽略,<duration value=”0″/>表示持续时间无限,<update_rate value=”.1″/>刷新时间为0.1秒,也就是onSelfBuffUpdate会一直刷新,其他的内容看下面图片:
5、现在就转跳到了buff=”玩家游戏时间”,找这个玩家游戏时间,玩家游戏时间就是一个计时工具,通过 <duration value=”3600″/>,这个buff的持续时间是在现实世界里面的60分钟。当这个buff结束时,通过onSelfBuffFinish,修改天数和丧尸血量的参数,天数+1,丧尸血量+0.1。onSelfBuffFinish在这60分钟只在最后触发一次,下面的组效果就更简单了,通过现在对应的丧尸血量参数或者对应的天数,来调用对应的丧尸数值buff。
6、然后再移除其他buff,因为到第2个或者以上,就会出现buff叠加问题,所以要即时移除不需要的buff.
7、之后就是调转到buff数值那里了,让自身周围的丧尸的最大生命值HealthMax和伤害DamageModifier依次增加对应的百分比即可。HealthChangeOT是增加生命恢复,意思是刚刚增加的丧尸的生命值,但是原来的生命值是不变的,举个例子:原丧尸120生命,添加buff后是132生命,现在就是120/132,中间缺少了12滴血,这时候瞬间恢复一下丧尸的生命值让他保持132/132.
8、最后是到第50层的时候,调用“游戏时间buff最终”buff,这个buff就是移除其他所有buff,来新增一个丧尸变强5倍buff,这样差不多就是一个完整的buff流程。
-
想要写一些buff效果应该看哪些代码
建议是多看看官方的xml文件中的注释,一般都在结尾,用翻译软件或者chatgpt翻译一下,就大差不差了。其中主要就是buff.xml文档,里面包含了很多buff和说明,想要了解的小伙伴可以看看。当然我已经写好了buff文档翻译,不过不太准确就是了,因为太多所以发不了中文网,只能发b站上了,需要的可以看看:
https://www.bilibili.com/read/cv24355430
————6月28日更新
-
分享一下巨型丧尸的制作过程
以随机刷新的巨型丧尸版本为例,丧尸文件是这四个,分别是丧尸个体,丧尸生成文件,丧尸攻击方式文件,丧尸名称文件。
先来一个config,在写一个append插入进官方文档,就可以直接操作了。
entity_class是丧尸个体的组,name=”巨型测试”对应的是localization.txt里面的名字,extends=”zombieArlene”是继承艾琳丧尸的属性,如果你在里面不写的属性,都将继承艾琳的。写的话就是从上往下,下面的是最后生效的。所以无论前面重复不重复,只要最后面有,就使用最后面的,巨型丧尸的话就是很简单,改一下丧尸尺寸,攻击力,血量,防御力,掉落等等。
直接放到丧尸组里面的最后面就可以了。Tags是给丧尸分配标签,然后你击杀丧尸给你的代币就是通过标签来区分的,标签越多的,获得的代币就越多。HandItem是丧尸的攻击模式,我用的僵尸普通攻击,可以在item.xml文档里面查找,主要是攻击距离Range,攻击伤害DamageEntity,攻击物体的伤害DamageBlock,其他不怎么重要。
体型的话是从1-10,好像也能弄0.7这种的小数,7以上是倍数的会在距离玩家过远时自动消失,不知道什么原理,所以我设置的都是7倍。在下面就是经验和掉落概率了,剩下的就是伤害,护甲和血量了,说一下伤害, <passive_effect name=”DamageModifier” operation=”perc_set” value=”1″ tags=”head”/>因为他用的是“僵尸普通攻击”这个攻击方式,所以perc_set=1就是item.xml里面“僵尸普通攻击”设置的伤害。
另外说一下丧尸攻击敌人这个,可以修改这些文件,我上次做的蝎子只攻击丧尸,不攻击玩家,就是改的这个,把他们攻击的对象全部改为丧尸就行了。
丧尸生成方式的话我是苯办法,直接把人家官方的文档复制了一份,然后再删删改改,把自己新加的巨型丧尸加入到里面就行了,丧尸的加入到丧尸的生成栏里面,动物的加在动物的里面。什么白天的,晚上的,野外的,雪地的,城镇的,就跟着官方文档直接一个一个加就行了。
-
buff.xml文档里面的图标颜色
要写成这种形式 icon_color=”255,0,0″,另外一直形式是错误的。
-
gameevents.xml里面的min_offset和max_offset
min_offset是背对人物的方向
max_offset是正对人物的方向
-
buffs.xml里面的effect_group组
effect_group组一定要加上tiered=”false”,这个表示模组的等级,和物品的等级是一样的,但是模组是没有等级的,除了亡灵遗产里面模组有等级,不需要加tiered=”false”,正常版本是需要加的,以避免出售的时候,价格飙升的问题。
感谢大佬分享
B站UP主欢迎订阅关注
感谢分享
虽然看不懂 但是觉得好牛B
感谢大佬分享
感谢
循此苦旅,以达星辰
感谢分享