/
宠物摆摊.js
134 lines (110 loc) · 2.66 KB
/
宠物摆摊.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//修改这里的地图名、坐标、朝向和宠物名字
//地图只支持艾尔莎岛、里谢里雅堡和法兰城
//坐标是人物站的坐标
//朝向0代表正东2代表正南4代表正西6代表正北 有效值0~7
/*
如果只是单纯挂机站街,只需要把
['艾尔莎岛', [146, 108], 0, '爱莉西雅'],
['里谢里雅堡', [32, 82], 0, '多拉姆糖'],
这两行删除即可
*/
var petList = [
['艾尔莎岛', [146, 108], 0, '爱莉西雅'],
['里谢里雅堡', [32, 82], 0, '多拉姆糖'],
];
var Async = require('Async')
var cga = require(process.env.CGA_DIR_PATH_UTF8+'/cgaapi')(function(){
var loop = function(){
//说话防掉线
cga.SayWords("", 0, 3, 1);
setTimeout(loop, 30000);
}
Async.eachSeries(petList, (data, cb)=>{
switch(data[0]){
case '艾尔莎岛':
{
var pets = cga.GetPetsInfo();
var pet = pets.find((p)=>{
return (p.name == data[3] || p.realname == data[3])
});
if(pet == undefined || pet.battle_flags == 3)
{
cb();
return;
}
var go = ()=>{
cga.walkList([ data[1] ], ()=>{
cga.turnOrientation(data[2]);
setTimeout(()=>{
cga.ChangePetState(pet.index, cga.PET_STATE_REST);
setTimeout(cb, 500);
}, 500);
});
}
if(cga.GetMapName() == '艾尔莎岛'){
go();
} else {
cga.travel.newisland.toStone('X', go);
}
break;
}
case '里谢里雅堡':
{
var pets = cga.GetPetsInfo();
var pet = pets.find((p)=>{
return (p.name == data[3] || p.realname == data[3])
});
if(pet == undefined || pet.battle_flags == 3)
{
cb();
return;
}
var go = ()=>{
cga.walkList([ data[1] ], ()=>{
cga.turnOrientation(data[2]);
setTimeout(()=>{
cga.ChangePetState(pet.index, cga.PET_STATE_REST);
setTimeout(cb, 500);
}, 500);
});
}
if(cga.GetMapName() == '里谢里雅堡'){
go();
} else {
cga.travel.falan.toStone('C', go);
}
break;
}
case '法兰城':
{
var pets = cga.GetPetsInfo();
var pet = pets.find((p)=>{
return (p.name == data[3] || p.realname == data[3])
});
if(pet == undefined || pet.battle_flags == 3)
{
cb();
return;
}
var go = ()=>{
cga.walkList([ data[1] ], ()=>{
cga.turnOrientation(data[2]);
setTimeout(()=>{
cga.ChangePetState(pet.index, cga.PET_STATE_REST);
setTimeout(cb, 500);
}, 500);
});
}
if(cga.GetMapName() == '法兰城'){
go();
} else {
cga.travel.falan.toStone('S2', go);
}
break;
}
}
}, ()=>{
cga.LogBack();
loop();
});
});