战网中国

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: dark-f
打印 上一主题 下一主题

远古通道、act3废庙等有盖子的入口会中断的,请用新的NTMo...

[复制链接]

159

主题

3150

帖子

1万

积分

光明使者

Rank: 8Rank: 8

积分
12267

社区居民最爱沙发忠实会员原创写手追星一族

11#
发表于 2018-1-10 12:04:01 | 只看该作者
本帖最后由 天山雪 于 2018-1-10 13:11 编辑

35版本的kor  bot可以替换用吗?我刚刚替换整个文件后出错,人物背包满了,开回城卷,就报错,不能回城

ps,用代码替换后报错问题解决了,但是还是不能去sewerslevel 第2层,一开楼梯就直接退出游戏,古代通道一会测试一下
回复 支持 反对

使用道具 举报

143

主题

1733

帖子

8010

积分

风云使者

Rank: 7Rank: 7Rank: 7

积分
8010

突出贡献

12#
 楼主| 发表于 2018-1-13 07:24:01 | 只看该作者
天山雪 发表于 2018-1-10 12:04
35版本的kor  bot可以替换用吗?我刚刚替换整个文件后出错,人物背包满了,开回城卷,就报错,不能回城

ps ...

我用的是Etal bot,所以不知kor的怎样
回复 支持 反对

使用道具 举报

37

主题

352

帖子

2675

积分

精灵王

Rank: 6Rank: 6

积分
2675

社区居民忠实会员

13#
发表于 2018-1-13 22:34:39 | 只看该作者
本帖最后由 yfzh2012 于 2018-1-13 22:36 编辑

回归以来还没跑过古代通道 ,果然有这个问题,韩国bot 不用这个函数  用的是MyMove.ntl 文件里的,请参照此进行进行替换这个函数即可,本人用的是33版的,如果你用更新一些的35 38 版 请自己参照,如果有区别自行修改
My.Move.TakeStair = function (areaId, distance, offsetX, offsetY)
{
    var _unit;
    var _preArea, _moveX, _moveY;

                var _unit2;
        
    if (arguments.length < 2) distance = 4;
    if (arguments.length < 3) offsetX  = 1;
    if (arguments.length < 4) offsetY  = 1;

    if (me.areaid == areaId)
        return true;

        switch(areaId){
                case 47:
                case 65:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 74); // trap door
                        break;
                case 93:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 366); // sewer stairs
                        break;
                case 94:
                case 96:
                case 98:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 195);// stair
                        _dist = 4;
                        break;
                case 95:
                case 97:
                case 99:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 194);// stair
                        _dist = 4;
                        break;
                case 100:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 386); // trav to duri
                        _dist = 4;
                        break;
                case 128:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 547); // to wsk 1
                        break;
                default:
                        _unit = NTM_GetStairInt(areaId);
                        break;
        }

    if (!_unit)
    {
        NTC_PingDelay(500);
                switch(areaId){
                case 47:
                case 65:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 74); // trap door
                        break;
                case 93:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 366); // sewer stairs
                        break;
                case 94:
                case 96:
                case 98:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 195);// stair
                        _dist = 4;
                        break;
                case 95:
                case 97:
                case 99:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 194);// stair
                        _dist = 4;
                        break;
                case 100:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 386); // trav to duri
                        _dist = 4;
                        break;
                case 128:
                        _unit = NTC_FindUnit(NTC_UNIT_OBJECT, 547); // to wsk 1
                        break;
                default:
                        _unit = NTM_GetStairInt(areaId);
                        break;
        }
    }
  
    if (!_unit)
        return false;

    _preArea = me.areaid;

    for (var i = 0; i < 20; i++)
    {
        if ((i % 5) == 0)
        {
            if (i == 10)
            {
                _moveX = Math.round(-6 * (_unit.x - me.x) / GetDistance(me, _unit));
                _moveY = Math.round(-6 * (_unit.y - me.y) / GetDistance(me, _unit));
                if (_moveX == 0 && _moveY == 0)
                {
                    _moveX = 6;
                    _moveY = 6;
                }

                My.Move.MoveTo(_preArea, me.x + _moveX, me.y + _moveY);
            }
                        if(_unit.classid == 366 && _unit.mode != 2){
                                _unit2 = NTC_FindUnit(NTC_UNIT_OBJECT, 367); // sewer leaver
                                if(My.Move.GetCloser(_unit2, distance, offsetX, offsetY)){
                                        NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit2);
                                        NTC_Delay(200);
                                }
                        }
            if (My.Move.GetCloser(_unit, distance, offsetX, offsetY))
            {
                if (NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit))
                    Delay(200);
            }
        }

        Delay(200);

        if (me.areaid != _preArea)
        {
            while (me.areaid == 0)
                Delay(200);

            if (me.areaid != _preArea)
            {
                NTC_PingDelay(NTConfig_AreaDelay);
                return true;
            }
            else
                return false;
        }
    }

    return false;
};
回复 支持 反对

使用道具 举报

0

主题

18

帖子

61

积分

新手

Rank: 2

积分
61
14#
发表于 2018-1-17 13:53:49 | 只看该作者
技术贴,马克一下
回复 支持 反对

使用道具 举报

6

主题

655

帖子

4138

积分

精灵王

Rank: 6Rank: 6

积分
4138

忠实会员社区居民

15#
发表于 2018-1-18 00:24:59 | 只看该作者
yfzh2012 发表于 2018-1-13 22:34
回归以来还没跑过古代通道 ,果然有这个问题,韩国bot 不用这个函数  用的是MyMove.ntl 文件里的,请参 ...

高手厉害
回复 支持 反对

使用道具 举报

31

主题

468

帖子

2593

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2593

社区居民

16#
发表于 2018-4-2 15:43:17 来自手机 | 只看该作者
这个需要好好学习
回复 支持 反对

使用道具 举报

143

主题

1733

帖子

8010

积分

风云使者

Rank: 7Rank: 7Rank: 7

积分
8010

突出贡献

17#
 楼主| 发表于 2018-4-2 15:56:49 | 只看该作者
怎么把这个古董又搬出来啦?
回复 支持 反对

使用道具 举报

5

主题

36

帖子

552

积分

骑士

Rank: 4

积分
552

社区居民忠实会员

18#
发表于 2018-4-4 08:14:17 | 只看该作者
我的MyMove.ntl 里面的代码是这样的:
TakeStair: function (areaId, distance, offsetX, offsetY, player, retry)
    {
        var _unit;
        var _preArea;

        if (me.areaid == areaId)
            return true;

        switch (arguments.length)
        {
        case 1:
            distance = 4;
        case 2:
            offsetX = 1;
        case 3:
            offsetY = 1;
        case 4:
            player = null;
        case 5:
            retry = 2;
            break;
        }

        _unit = this.GetStair(areaId, player, retry);
        if (!_unit)
            return false;

        _preArea = me.areaid;

        for (var i = 0; i < 50; i++)
        {
            if ((i % 5) == 0)
            {
                if (i > 30)
                    this.ClickTo(me.x + Math.round(-7 * (_unit.x - me.x) / GetDistance(me, _unit)), me.y + Math.round(-7 * (_unit.y - me.y) / GetDistance(me, _unit)));

                if (this.GetCloser(_unit, distance, offsetX, offsetY))
                {
                    if (this.DoClick(MyMove_CLICK_LDOWN, MyMove_SHIFT_NONE, _unit))
                        Delay(200);
                }
            }

            Delay(200);

            if (me.areaid != _preArea)
            {
                while (me.areaid == 0)
                    Delay(200);

                if (me.areaid != _preArea)
                {
                    MyCommon.DelayPing(MyConfig.AreaDelay);
                    return true;
                }
                else
                    return false;
            }
        }

        return false;
    },
回复 支持 反对

使用道具 举报

37

主题

352

帖子

2675

积分

精灵王

Rank: 6Rank: 6

积分
2675

社区居民忠实会员

19#
发表于 2018-4-4 08:26:45 | 只看该作者
本帖最后由 yfzh2012 于 2018-4-4 08:34 编辑
cnlinux 发表于 2018-4-4 08:14
我的MyMove.ntl 里面的代码是这样的:
TakeStair: function (areaId, distance, offsetX, offsetY, player ...

> 35版本的 请 参照 自行修改  ,只是语法略有不同而已 ,实质差不多
this.GetCloser(_unit, distance, offsetX, offsetY)   <<===============函数调用 要保留现在这种新的形式 不用 My.Move.GetCloser(_unit2, distance, offsetX, offsetY)  这种老的方式
回复 支持 反对

使用道具 举报

159

主题

3150

帖子

1万

积分

光明使者

Rank: 8Rank: 8

积分
12267

社区居民最爱沙发忠实会员原创写手追星一族

20#
发表于 2018-4-4 18:24:26 来自手机 | 只看该作者
谢谢楼主
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|BattleCN ( 陕ICP备05006600号 )

GMT+8, 2024-5-15 06:35 , Processed in 0.092160 second(s), 20 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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