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 放技能?