顾名思义,正如《成龙历险记》里鼠符咒的作用一样,将这个脚本拖拽到NPC身上,就会让NPC有了“生命”。
会自动追踪、攻击领地范围内的玩家角色,同时开放自由的接口可以联动MyClearHP设置血量、MyClearCamp规划阵营、MyClearAct设计各种技能,也可以获取怪物实例随时调整关键参数如索敌距离,以实现不同血量下的“boss阶段”等等~
演示视频:挑战一命打败冰魔
1. 使用方法
下载脚本,在场景里拖入一个NPC,将脚本挂上去
MyClearRatTalisman.ts (35.66 KB)
demo演示工程:
BossHome.zip (1.25 MB)
2. 参数讲解
因为是直接挂在NPC身上,所以NPC的速度、跳跃高度、不可跨越高度都可以直接在NPC身上的属性进行修改
3. 三个范围
活跃范围:鼠符咒怪物需要做逻辑处理的距离,这个距离内无玩家就会陷入睡眠模式,节约性能
行动范围:像领地一样,踏入这个领地的玩家会被鼠符咒怪物跟踪,直到目标和怪物都离开领地
攻击范围:当接近兴趣目标到一定距离时,会在一定间隔中执行攻击操作,触发onMobAttack回调
4. 实用接口与拓展
这里还提供了一些实用的接口,方便大家进行接入和二创~
4.1 功能方法
方法名 | 功能 | 调用端 | 输入参数 | 参数说明 | 参数类型 | 返回类型 |
getMobInstanceById | 获取怪物脚本实例 | 服务器 | MobId | 怪物gameobjectId | string | RatTalismanInstanceScript |
asyncGetMobInstanceById | 异步获取怪物脚本实例 | 服务器 | MobId | 怪物gameobjectId | string | Promise<RatTalismanInstanceScript> |
killMobByID | 处决一个怪物 | 服务器 | MobID | 怪物gameobjectId | string | void |
respawnMobByID | 立刻复活一个怪物 | 服务器 | MobID | 怪物gameobjectId | string | void |
clearMobByID | 彻底清理一个怪物 | 服务器 | MobID | 怪物gameobjectId | string | void |
setMobTarget | 设置一个兴趣目标,超过距离会被清除 | 服务器 | MobID | 怪物gameobjectId | string | void |
eventChar | 兴趣目标的Character | Character | ||||
stopMobMove | 暂时停止移动 | 服务器 | MobID | 怪物gameobjectId | string | void |
stopTime | 停止时间,秒 | number | ||||
stopMobRota | 暂时停止转向 | 服务器 | MobID | 怪物gameobjectId | string | void |
stopTime | 停止时间,秒 | number | ||||
freezeMob | 暂时冻结怪物的行动 | 服务器 | MobID | 怪物gameobjectId | string | void |
stopTime | 停止时间,秒 | number |
4.2 事件接口
事件名 | 调用端 | 描述 | 变量 | 变量说明 | 变量类型 |
onMobNewBorn | 服务器 | 当鼠符咒怪物初始化完成 | MobId | 怪物本身的gameobjectId | string |
MobName | 怪物本身的名字 | Character | |||
RatScript | 怪物本身脚本 | RatTalismanInstanceScript | |||
onMobAttack | 服务器 | 当鼠符咒怪物攻击检测命中 | MobId | 怪物本身的gameobjectId | string |
VCID | 攻击检测命中角色的CID | string | |||
RatScript | 怪物本身脚本 | RatTalismanInstanceScript | |||
onMobDeath | 服务器 | 当怪物死亡时 | MobId | 怪物本身的gameobjectId | string |
RespawnTimeStamp | 下次复活的时间,-1表示不再重生 | number | |||
RatScript | 怪物本身脚本 | RatTalismanInstanceScript | |||
onMobRespawn | 服务器 | 当怪物复活时 | MobId | 怪物本身的gameobjectId | string |
RatScript | 怪物本身脚本 | RatTalismanInstanceScript |
5. 如何让怪物攻击 or 后撤 or 放技能?