战网中国

标题: 问个超难问题 [打印本页]

作者: 匿名    时间: 2015-1-14 00:27
标题: 问个超难问题
bool CheckCollision(object 1, object 2, flag)
bool CheckCollision(areaid, x1, y1, x2, y2, flag) //好像没有人这么用
Bit 0 - Map non walkable
Bit 1 - LOS blockers, like walls for instance
Bit 2 - Leap blocks, blocks ranged
Bit 3 - Block Player's walk but not Mercenary's walk
Bit 4 - Some doors, entry/exits, a few waypoints. Also seems to have something to do with light.
Bit 5 - Blocks light only, not LOS
Bit 6 - Stuff from catapults in act 5 and poison clouds not
Bit 7 - Players, all players, yourself and others
Bit 8 - NPCs & Monsters (a dot)
Bit 9 - Items
Bit 10 - Objects
Bit 11 - Closed Doors
Bit 12 - NPCs & Monsters (where you collide with them)
Bit 13 - Friendly NPCs
Bit 14
Bit 15 - Dead bodies, tps, most likely interactive non blockers
看了很久也没看懂具体意思,对着脚本例子也不行,能否请高人举例12,说明详细涵义
作者: 白色曼陀螺    时间: 2015-1-14 12:59
哦。这个函数我一直也没看明白,你这注解是哪来的?d2bs?
作者: 330300508    时间: 2015-1-14 13:46
muddy bot,眼下我已经修改得可以步行并开门跑任何脚本了,试过多次act1和act2关底boss,就是效率比手动低了大约10-20%左右吧,所以想研究下这个函数,避开对无法到达的墙后面的箱子或怪物采取行动以节约时间。
    不过对act5那城墙、攻城车据点还是不行,d2nt默认getpath()不算好,经常走到三面都是墙的死胡同出不来。而且,char不攻击那堵住的木门和石块(实际上都是monster,bot最后无路可走也是因为门堵住了确实没有路),每次都是佣兵去打破的,还没弄明白什么原因。最后还是想先解决能否走过去的问题,这个函数似乎避不开了,可总是看不懂。

另外问个小问题
                        _target = NTC_FindUnit(NTC_UNIT_MONSTER);
                        if(_target)
                        {do{...}
                        } while(_target.GetNext());
类似的程序很多,_target是什么数据结构,有有关的网页链接让我看看所有成员方法的么?开门函数需要尽量提高效率,降低cpu消耗。
作者: 被关了    时间: 2015-1-14 14:38
act1,2 boss没什么油水啊
act3,4 boss能走过去k吗?
作者: 白色曼陀螺    时间: 2015-1-14 14:55
此函数我认为是检测A到B中间是否存在障碍的。我也只见过flag等于1,4,6的情况。
作者: 330300508    时间: 2015-1-14 15:14
[quote=被关了,137105]act1,2 boss没什么油水啊
act3,4 boss能走过去k吗?[/quote] act1,2 boss是bugmf,打戒指和符文
act3,4没有门要开,应该可以。我试试,就是装备不太好。
作者: amby    时间: 2015-1-14 15:14
支持顶!
作者: 330300508    时间: 2015-1-14 15:34
[paragraph][quote=被关了,137105]act1,2 boss没什么油水啊
act3,4 boss能走过去k吗?[/quote] 可以到达,就是一身暗金druid,肉搏能力还是不行,刚打到劳模面前和避难所门口药物耗尽,佣兵挂了,没再杀下去。
作者: 被关了    时间: 2015-1-14 16:45
用bh pal在nm难度试试?
另,你用的到底什么bot啊?是它本身就有这功能,还是你研发出来的?
作者: 330300508    时间: 2015-1-14 16:48
muddy bot,德国人muddy water改写的,d2nt33底版,优化不错,腰带系统绝佳,杀怪也有优先次序和自动躲避功能,城镇管理很好,就是act5凯恩位置错误(我自己改好了)。感觉除了没有图形配置界面,走路堵死,其它都很好(组队功能我没有成功,因为我在私服,可能服务器有微量修改防bot,现在组队在用八神升级,想把这个功能移植过去)。
可惜muddy water他现在放弃了更新,转投etal bot去了,我只好自己改出来走路的,因为对js完全不了解,靠一点c的底子在摸索,所以经常在这里提问,不懂的地方太多了。建议使用,你会有一种非常精致的感觉。
作者: 330300508    时间: 2015-1-14 17:08
[quote=白色曼陀螺,137111]此函数我认为是检测A到B中间是否存在障碍的。我也只见过flag等于1,4,6的情况。[/quote] 功能没错,大概是这样。没有详细api介绍,只能看代码来逆推函数功能,难啊。
作者: bbclinton    时间: 2015-1-16 11:43
[quote=lambochan,137401]路过,自己下来看。。








别期望太高,D2NT内的D2BS核有不少的函数或函数功能,基于安全理由,都被kimsout砍了,所以D2NT从没发生过ban潮。。(你顶楼的函数功能正是被砍对象之一,有几个bit是不w...[/quote] 南瓜大俠現身, 崇拜一下
作者: lethe    时间: 2015-1-16 13:12
都是大神,我是来学习的,lz把muddy bot优化好了分享了一下。之前下来试用了一下,感觉还可以
作者: 330300508    时间: 2015-1-16 17:08
xiexie我仔细看看,刚才又发现了bug,getpath()真心不能完全放心啊。




欢迎光临 战网中国 (http://battlecn.net/) Powered by Discuz! X3.1