搜索
查看: 232|回复: 4

[已处理] 地图api支持lua操作

 关闭 [复制链接]
发表于 2024-7-24 18:09:21 | 显示全部楼层 |阅读模式
建议反馈
建议描述: 查询地图怪物或指定怪物数量并获得怪物list
查询地图玩家数量并获得怪物list
清楚地图怪物或指定怪物
实现具体思路: s.share.getMapMob(name?:string) => actorList
s.share.getMapHuman(name?:string) => name? player :playerList
s.share.clearMob(name?:string) => mapIns.clear(name or all)
联系QQ: 隐藏内容
目前lua可以操控地图的api太少了.

刷怪一多就卡.
不如提供一些api可以通过lua+定时器去动态监测地图玩家怪物数量,来动态刷怪.
减少m2的压力.
同时还能做动态爆率控制.
发表于 2024-7-26 11:20:28 | 显示全部楼层
本帖最后由 1580 于 2024-8-2 17:12 编辑

下版将支持:
s.obj.getMapRageActor(地图,X坐标,Y坐标,范围)--输出指定地图坐标,范围内的对像
s.obj.getMapRageMon(地图, X坐标, Y坐标, 范围, 怪物名)--输出指定地图范围内的怪物对像
s.obj.getMapRageMonCount(地图, X坐标, Y坐标, 范围, 怪物名)--获取指定地图范围内的怪物数量
s.obj.getMapRagePlay(地图, X坐标, Y坐标, 范围)--输出指定地图的玩家对像
s.obj.getMapRagePlayCount(地图, X坐标, Y坐标, 范围)--获取指定地图范围内的玩家数量
s.obj.clearMapMon(地图, 怪名称, 模式(0/1))--清除指定地图的怪物

至于刷怪,使用定器嘎嘎去监测,性质和引擎自己定时定量刷怪类似的

刷怪,可以钩选“刷怪复活模式”,即怪死亡后,达到刷怪时间时直接复活
 楼主| 发表于 2024-7-28 23:46:50 | 显示全部楼层
主要个人觉得如果开放这样功能得api可以解决得问题
1: 动态刷怪。例如根据地图人数来刷怪物得数量。
2:配合动态掉落。不再占用以往得call形式去设置txt,可以直接通过自定义,例如给怪上些标记。加上地图得不同。死亡后可以通过这些依据去 actor:throwItemEx 指定掉落物品,
3: 怪物属性动态调整。
个人觉得这样既节省了m2得部分性能,又增加了灵巧性。
发表于 2024-7-30 11:50:50 | 显示全部楼层
tychen 发表于 2024-7-28 23:46
主要个人觉得如果开放这样功能得api可以解决得问题
1: 动态刷怪。例如根据地图人数来刷怪物得数量。
2:配 ...

要是所有东西都动态加载,是很不合理的,

因为加载是耗时的处理,这就是为什么引擎所有参数都要运行时加载到内存中的原因,
 楼主| 发表于 2024-7-30 15:07:26 | 显示全部楼层
其实 从我的理解来看,
地图对象,actorMap这类收集器或者父类应该是已经在m2启动的时候加载到内存里面了
当产生新的内容的时候emit给m2来更新或者动态收集了
所以觉得这样的话可能对m2的消耗没有从txt读取的大
毕竟有了地图对象至少可以释放没人地图的actor
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-11-23 16:21 , Processed in 0.607742 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表