战网中国

标题: 一种私服踢桶的思路 [打印本页]

作者: xtreme    时间: 2016-4-22 10:28
标题: 一种私服踢桶的思路
我玩的是1.09私服,这里是以CNBN 1.09为对象来做的,使用的是d2jsp平台,个人认为也可以套用到d2nt等平台
针对的是ACT1 随机坐标的桶,可以做到0配置,自动检测桶位踢桶

演示视频如下:

http://v.youku.com/v_show/id_XMTU0Mjc5ODA2MA==.html?from=y1.7-1.2


代码如下:
[code brush:js;toolbar:false;]   //找到waypoint
   wp = getUnit(2, "Waypoint");   
            
   //扫描所在场景中的所有object,通过比较每个木桶和waypoint的坐标差,找到该踢桶的位置,加上偏移量后走位,注意偏移量是必须要的,否则有时会因为走不到精确点位,反复尝试几次走位后再踢,影响速度
   obj = getObject();
   do {
       if (obj.name == "Barrel") {     
           if (Math.abs(wp.x -obj.x) <30 && Math.abs(wp.y - obj.y)<30 ) {   
               Sc_TownMoveXY(me.act,obj.x+1,obj.y+1);
               break;
               }
       }
   } while (obj && obj.getNext());
         
//到预定踢桶位置后,再次扫描所在场景中的所有object,通过比较每个木桶和char的坐标差,只踢自己身边3个坐标单位内的桶,踢每个桶时判断桶的状态,完好的桶状态是0,重试的时间间隔为1毫秒,CNBN测试不加间隔会被踢
   obj = getObject();
   do {
       if (obj.name == "Barrel") {
                     
           if ( Math.abs(me.x -obj.x) <4 && Math.abs(me.y - obj.y)<4  ) {
                        
               do { obj.interact(); delay(1); } while (obj.state == 0);
           }
       }
   } while (obj && obj.getNext());[/code]
作者: pengpeng    时间: 2016-4-22 10:36
技术贴,沙发学习
作者: trade    时间: 2020-4-10 15:18
技术贴,学习了
作者: D2-ft    时间: 2020-12-3 00:16
厉害了
作者: D2-ft    时间: 2020-12-3 00:17
厉害了
作者: idi    时间: 2021-12-30 08:51
标记下,厉害了




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