网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月24日
漏签
0
天
rimworld吧
关注:
220,807
贴子:
3,738,272
看贴
图片
吧主推荐
玩乐
1
2
3
下一页
尾页
60
回复贴,共
3
页
,跳到
页
确定
<返回rimworld吧
>0< 加载中...
代码讲解(大雾),自己写的mod中的一个boss:蠕动的梦魇
只看楼主
收藏
回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不要在意贴图哦?
送TA礼物
1楼
2021-10-03 14:44
回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先是xml方面的代码,这里没什么好讲的,主要是DLL层面的代码
2楼
2021-10-03 14:46
回复
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这是这个生物的ThingClass,大部分内容都在这里面
3楼
2021-10-03 14:48
回复
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先,我们第一个要写的功能是这个,让这个Pawn有一个特殊的属性
4楼
2021-10-03 14:50
回复
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
那么,我们应该怎么做?
首先在这个生物的ThingClass里定义一个新的属性"mass",初始值为1000
然后就是我们要重写父类Pawn里的ExposeData的方法,这个方法的用处是在读档存档时序列化和反序列化,就是保存你的这个数值,不然一读档就会重新被赋予默认值,然后保存就是太难自带的一个方法Scribe
5楼
2021-10-03 14:56
回复
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后这个功能就基本实现了,但这个属性目前还只是一个空壳,让我们继续实现下一个功能
受到攻击时会减少质量值而不是受到伤害,其实这个说法有点问题,实际作用是受到伤害不会有伤口而是减少质量值,那怎么实现呢?
在Pawn这个类里有个函数是Pawn受到伤害前运行的,然后这个函数out了一个bool"absorbed,当这个bool为true时,这个伤害不会留下伤口
我们就直接在函数开头就把这个赋值为true就能实现一半的功能了
6楼
2021-10-03 15:04
回复(2)
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后就是减少质量值
参数dinfo里包含受到伤害的各种属性
里面有个属性就是这个伤害的def,然后太难在原版里内置一个DamageDefOf里面有原版大多数的伤害的def
我们写if检测伤害是不是EMP或眩晕和烟,毕竟因为这几个东西就损失质量值有点过于奇怪了,不是吗?
7楼
2021-10-03 15:08
回复
收起回复
暗夜虚灵
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
太深奥了
IP属地:广东
来自
Android客户端
8楼
2021-10-03 15:11
回复
收起回复
叶小羊
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
看不懂,但很厉害
IP属地:安徽
来自
iPhone客户端
9楼
2021-10-03 15:15
回复
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后这里对应的这个特性
其中概率是用的太难的一个方法来获取的,不建议用system的那个,会和联机mod不兼容
当这个条件成立时,直接终止这个函数的运行
10楼
2021-10-03 15:21
回复
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后就是以上流程通过后就是让质量减去这个伤害的伤害量(Amount的十分之一),可能有点太离谱了x,之后应该会调整一下,之后再加一个判定如果mass小于等于0直接执行另一个方法,这个方法是要我们自己写的
11楼
2021-10-03 15:26
回复
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
就是这个方法,前面是另一特性需要的
我们要在意的后两行,分别是,第一行杀死这个Pawn,下一行就是把这个Pawn的尸体给Destroy,就是直接删除掉,使其消失
12楼
2021-10-03 15:31
回复(1)
收起回复
贴吧用户_Q3KE6UA
爵士
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后就是减少一定的质量值直接生成一个无定形血肉,这个无定形血肉是我mod中的一个生物
我们在xml写了Def怎么让DLL里获取?
有两种方法
第一种适合只在一些地方需要的def,不会经常需要
大部分def类型都有这个方法可以直接用def的名字来获取def
(如果没有的就照抄这个方法的内容就行)
第二种
原版中就是诸如ThingDefOf,PawnKindDefOf等包含很多Def的类
我们直接照抄就行
好孩子不要和我学这样写(),建议一个DefOf只存一个类型的Def,然后类名就和原版那种一样
14楼
2021-10-03 15:47
回复
收起回复
落英缤纷
帝国公民
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大佬能教教dll文件怎么写么
IP属地:广西
来自
Android客户端
15楼
2021-10-03 15:47
回复(4)
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
我发姜萍事件最新进展,速来打分
2499570
2
上旗装饰材料
1984360
3
求鉴定!我这样是舔狗吗
1611090
4
coser桐岛爱疑被男友杀害抛尸
1400698
5
罗小黑主创孙呱曾打算9.18更新漫画
1131400
6
如何用最小的改动毁掉一款游戏?
1021200
7
法环DLC究竟讲了一个什么故事?
803298
8
我这个分数能上什么大学
678832
9
京阿尼也选择了弹幕最多的打法
638295
10
长沙1小时下了54个西湖
511160
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示