91引擎爱好者论坛

 找回密码
 立即注册
热搜: 91引擎
查看: 1752|回复: 2

TS版 无限爬塔脚本(偷懒版)[老论坛]

[复制链接]

该用户从未签到

0

主题

0

帖子

185

积分

注册会员

Rank: 2

积分
185
发表于 2022-1-6 01:40:13 | 显示全部楼层 |阅读模式
本帖最后由 独家记忆 于 2022-7-1 11:00 编辑

思路:1、设置一个私人变量来记录爬塔层数2、根据爬塔层数来动态修改【地图名】【怪物名】【怪物属性】3、这样只需要在1个地图上就能实现无限爬塔的功能优点:代码量很少,可以无限爬,没有终点。   缺点:过于单调,玩家体验不好,需要找高额奖励来刺激。

BUG:不知道是不是引擎BUG,副本里的怪死亡会触发两次 GameLib.onKillMonster
[pre]自己在版本管理器里创建一个副本地图
进入副本地图函数

[TypeScript] 纯文本查看 复制代码
export function 测试按钮1(Player : TPlayObject): void {

   let 通天塔 : TEnvirnoment
   let 怪物列表 : TActorList
   通天塔 = GameLib.CreateDuplicateMap('通天塔', 120)
    if (通天塔 != null){
        Player.MapMoveEx(通天塔, 22, 35)        
        Player.SendMessage("传送到通天塔")
        if (Player.V.通天塔层数 <= 1){Player.V.通天塔层数 = 1}
        GameLib.FindMap(Player.GetMapName()).DisplayName="通天塔"+Player.V.通天塔层数+"层"
        
        //死亡触发 为真
        怪物列表 = GameLib.MonGen(通天塔.MapName,"鹿",1,10,10,1,undefined,undefined,undefined,undefined,true)
        Player.SendMessage("对象数量:"+怪物列表.Count)
        if (怪物列表.Count == 1) {
            怪物列表.Actor(0).Name="打死我后开始刷怪"
            怪物列表.Actor(0).HP = 1
            怪物列表.Actor(0).MaxHP = 1
            怪物列表.Actor(0).NameColor = 250
        }
    }else{
        Player.SendMessage("创建副本失败!")
    }
   
}[/pre][pre]
[/pre][pre]
[/pre][pre]
[/pre][pre]
[/pre][pre][pre]QF里的 杀死怪物后触发

GameLib.onKillMonster = function(Player: TPlayObject, Monster: TActor): void {  
    Player.SendMessage("杀死怪物触发,时钟频率:"+GameLib.QueryPerformanceCounter().toString())
    //搜索玩家所在地图名是包含:通天塔
    if (Player.Map.Name.indexOf("通天塔") == 0){
        if (Monster.Name.indexOf("【通天塔】") == 0) {
                Player.MessageBox("恭喜你,通过了通天塔"+Player.V.通天塔层数+"层的考验,准备迎接新的挑战吧!")
                Player.V.通天塔层数 = Player.V.通天塔层数 + 1
        } else if (Monster.Name.indexOf("打死我后开始刷怪") == 0) {
                Player.MessageBox("通天守卫刷了,去消灭他!")
        }

        let 当前层数 = Player.V.通天塔层数

            //根据层数来动态改变地图名字
            GameLib.FindMap(Player.GetMapName()).DisplayName="通天塔" + 当前层数 + "层"

            //让角色传送到地图边界后在刷新怪物
            Player.MapMove(Player.GetMapName(), 22, 35)
        let 怪物列表 = GameLib.MonGen(Player.GetMapName(),"鹿",1,10,10,1,undefined,undefined,undefined,undefined,true)
            Player.SendMessage("对象数量:"+怪物列表.Count)
            if (怪物列表.Count == 1) {

                 //根据层数来更改怪物名和属性,层数越高,怪物属性越高
                怪物列表.Actor(0).Name="【通天塔】守卫("+当前层数+"层)"
                怪物列表.Actor(0).MaxHP = 当前层数 * (怪物列表.Actor(0).MaxHP + 1000) //血量上限
                怪物列表.Actor(0).HP = 当前层数 * (怪物列表.Actor(0).HP + 1000) //当前血量
                怪物列表.Actor(0).DCMin = 当前层数 * (怪物列表.Actor(0).DCMin + 10)  //攻击下限
                怪物列表.Actor(0).DCMax = 当前层数 * (怪物列表.Actor(0).DCMax + 10)  //攻击上限
                怪物列表.Actor(0).ACMin = 当前层数 * (怪物列表.Actor(0).ACMin + 10)  //防御下限
                怪物列表.Actor(0).ACMax = 当前层数 * (怪物列表.Actor(0).ACMax + 10)  //防御上限
                怪物列表.Actor(0).MACMin = 当前层数 * (怪物列表.Actor(0).MACMin + 10)  //魔防下限
                怪物列表.Actor(0).MACMax = 当前层数 * (怪物列表.Actor(0).MACMax + 10)  //魔防上限
                怪物列表.Actor(0).NameColor = 254
            }
    }
        
        
}


回复

使用道具 举报

  • TA的每日心情
    开心
    2024-1-24 14:41
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    1

    主题

    176

    帖子

    407

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    407
    发表于 2023-12-19 12:07:56 | 显示全部楼层
    感谢分享!!!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|妖孽游戏素材网|91引擎爱好者

    GMT+8, 2024-3-29 17:40 , Processed in 0.083791 second(s), 28 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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