战网中国
标题:
kolbot 仓库物品查找小程序
[打印本页]
作者:
小符
时间:
2017-1-19 19:14
标题:
kolbot 仓库物品查找小程序
1、到
http://nodejs.org/
下载nodejs的LTS版本,安装。
2、cmd进入小黑窗,运行2条指令 npm -g install bluebird 和 npm -g install co
3、下面的小程序,修改第一行为你的kolbot文件夹地址,注意是 / 不是 \ ,保存为 mitem.js
var dirname="D:/kolbot/kolbot/d2bs/kolbot/mules/Asia";
const Promise = require('bluebird'),
fs = Promise.promisifyAll(require('fs')),
co = require('co'),
readline = require('readline'),
handleFile = f => f;
var items={'count':0};
function readdf(file) {
var keys = process.argv[2];
var fRead = fs.createReadStream(file);
var objReadline = readline.createInterface({
input: fRead
});
objReadline.on('line', (line)=>{
var tmp = JSON.parse(line);
if(tmp.title.indexOf(keys) !== -1 ) {
items['count']+=1;
if (typeof(items[tmp.title]) == "undefined") {
items[tmp.title]={};
items[tmp.title]['count']=1;
} else items[tmp.title]['count']+=1;
if (typeof(items[tmp.title][file]) == "undefined") items[tmp.title][file]=1;
else items[tmp.title][file]+=1;
}
});
}
const walkAsync = co.wrap(function* (path) {
var files = yield fs.readdirAsync(path);
var ret = [];
for(let f of files) {
let p = path + '/' + f;
var s = yield fs.statAsync(p);
if (s.isDirectory()) {
var r = yield walkAsync(p);
ret = ret.concat(r);
} else {
ret.push(p)
handleFile(p);
readdf(p);
}
}
return ret;
});
co(function *(){
var files = yield walkAsync(dirname);
console.log(items);
}).catch(e => console.error(e.stack || e));
复制代码
4、小黑窗中运行指令 node ditem.js Perfect>gems.txt
这个意思是查找宝石,并保存到文件gems.txt
如果要查找符文,则指令=node ditem.js Rune>runes.txt
其他以此类推,Perfect Rune 都是查找的关键字,也就是物品的title。
5、可以用notepad++来看产生的文件gems.txt runes.txt
作者:
小符
时间:
2017-1-19 19:23
为了卖宝石也是拼了,到处抄,总算抄成个能统计宝石数量的。
作者:
blankness
时间:
2017-1-25 08:13
mark先
作者:
帅气猪
时间:
2017-1-25 12:17
这什么软件能识别行数啊
作者:
天边
时间:
2017-3-15 10:43
牛逼
不知道楼主怎么联系
作者:
wowoaoao
时间:
2017-3-15 12:08
楼主已离开暗界
欢迎光临 战网中国 (http://battlecn.net/)
Powered by Discuz! X3.1