zdxboy 发表于 2022-1-7 02:29:20

TS版 中毒感染脚本[老论坛]

本帖最后由 独家记忆 于 2022-7-1 10:59 编辑

思路:创建一个 个人时钟,循环检测附近怪物的中毒状态,如果有怪中毒了就感染给附近的怪,代码非常简单
用个人时钟启动此函数

export function 中毒感染处理(Player: TPlayObject) {
    let 怪物列表 = Player.Map.GetActorListInRange(Player.MapX,Player.MapY,300)
    for (let i = 0; i < 怪物列表.Count; i++) {
      let 当前怪物 = 怪物列表.Actor(i)
      if (当前怪物.CheckState(0) == true){
            let 要感染的怪物列表 = 当前怪物.Map.GetActorListInRange(当前怪物.MapX,当前怪物.MapY,2)
            let 最多感染数量 = 5
            let 已经感染数量 = 0
                for (let ii = 0; ii < 要感染的怪物列表.Count; ii++) {
                  let 要感染的怪物 = 要感染的怪物列表.Actor(ii)
                        if (要感染的怪物.CheckState(0) == false && 要感染的怪物.Name != Player.Name) {
                            已经感染数量 = 已经感染数量 + 1
                            要感染的怪物.SetState(0,2,20)
                              if (已经感染数量 >= 最多感染数量) {
                                    return
                              }
                        }
               
                }
      }
    }
}

zdxboy 发表于 2022-1-7 02:33:53


uploadfiles/images/400/20220107/023325_lxIZeR.png

气质征服你妈 发表于 2022-1-7 06:43:40

学习一下

hands.games 发表于 2023-12-19 12:09:21

感谢分享!!!

192 发表于 2024-1-12 13:07:00

这个思路就很牛了!
页: [1]
查看完整版本: TS版 中毒感染脚本[老论坛]