怎么添加怪物等级超过人物等级20级,人物打怪没有经验和爆率
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-06-11 13:22:30 |
👁️ 阅读: 14
要实现怪物等级超过人物等级20级时,人物打怪没有经验和爆率,可以通过以下配置和脚本实现:
## 一、经验控制
在GameData表中配置`ObtainDecay`(经验衰减比例)和`ObtainDecayLL`(历练衰减比例)字段。配置格式为等级差与衰减比例的对应关系,例如:`1#900|2#800|...|10#0`表示等级差为1时经验衰减为90%,等级差为10时经验衰减为0%。同时需要在Monster表的`Decay`字段中配置为1,开启等级衰减。
## 二、爆率控制
通过脚本接口在角色登录时设置杀怪爆率倍数。使用`settargetinfo`接口设置`KILLMONDROPRATE`参数为0,即可实现无爆率。示例脚本:
```lua
function login(actor)
-- 设置杀怪爆率倍数为0
settargetinfo(actor, "KILLMONDROPRATE", 0)
end
```
## 三、等级差判断
需要在服务端脚本中判断角色与怪物的等级差。可以通过`getattrtab`获取角色属性,或使用其他接口获取角色等级,然后与怪物等级进行比较。当怪物等级超过人物等级20级时,执行上述经验衰减和爆率设置为0的操作。
**注意事项**:
1. 经验衰减需要在GameData表和Monster表同时配置才能生效
2. 爆率控制通过脚本动态设置,可根据需要灵活调整
3. 等级差判断逻辑需要自行在脚本中实现,通过角色登录触发或其他合适的时机执行
← 返回问答库