{"家族战查询(М)":{

"00 查看家族战信息":{"Url":"{!nc}cgi_farm_family_battle","Post":"{ncs}&act=index","Note":"没","Msg":"fid&&name","End":"登;KEY;+","Values":"battledata,teamdata","Task":1},

"01 查询成员uin@":{"Url":"{!nc}cgi_farm_family","Post":"{ncs}&act=manager&manager_type=look","Note":"查询总战力需要使用鼠标右键点击执行，才可以看到战力的输出","Msg":"ecode","MsgOut":"member*uin","End":"登;+","Task":1},

"02 查询成员昵称@":{"Url":"{!nc}query","Post":"{ncs}&act=2010029&uinlist={msg}","Note":"查询总战力需要使用鼠标右键点击执行，才可以看到战力的输出","Msg":"name*100*uin","MsgOut":"ecode","End":"登","Values":"name","Task":1},

"03 家族战信息查询(先执行00项，然后鼠标右键本项执行)":{"Url":"{!nc}cgi_farm_family","Post":"{ncs}&act={CC:processMemdata({#00:battledata},{#00:teamdata},{#02:name})}","Note":"先执行00项获取存值，在右键本项执行即可，本项由js排列，只能右键调试输出，不能左键执行\r\n主机默认为执行的账号，亦可修改js中第一行的fQQ为指定QQ，只能跟执行账号为同一个家族的账号","Msg":"member*tid!=0??uin#☑&&tid","MsgOut":"leaderuin#","End":"登;KEY","JsCode":"function processMemdata(obj, arr, Name) {\r\n    var fQQ = 0;//可修改为指定QQ，只能同一个家族账号\r\n    var result = [];\r\n    var uincount = 0;\r\n    var totalZpower = 0;\r\n    var totalZqsocre = 0;\r\n    for (var key in obj.memdata) {\r\n        if (obj.memdata.hasOwnProperty(key)) {\r\n            var value = obj.memdata[key];\r\n            var power = value.power;\r\n            var qscore = value.qscore;\r\n            var qwin = value.qwin;\r\n            var qq = key.substr(3);\r\n            var name;\r\n            for (var i = 0; i < Name.length; i++) {\r\n                if (Name[i].uin == qq) { // 先判断 Name[i].uin 是否等于 qq\r\n                    name = Name[i].nick;\r\n                    var item = {\r\n                        QQ: qq,\r\n                        Zpower: power[0] + power[1] + power[2] + power[3],\r\n                        Zqsocre: qscore[0] + qscore[1] + qscore[2] + qscore[3],\r\n                        ZL: power,\r\n                        JF: qscore,\r\n                        SC: qwin,\r\n                        name: name\r\n                    };\r\n                    result.push(item);\r\n                    totalZpower += item.Zpower;\r\n                    totalZqsocre += item.Zqsocre;\r\n                    break; \r\n                }\r\n            }\r\n        }\r\n    }\r\n    result.sort(function(a, b) {\r\n        return b.Zpower - a.Zpower;\r\n    });\r\n    for (var i = 0; i < result.length; i++) {\r\n        result[i].Zlpm = i + 1;\r\n    }\r\n    result.sort(function(a, b) {\r\n        return b.Zqsocre - a.Zqsocre;\r\n    });\r\n    for (var i = 0; i < result.length; i++) {\r\n        result[i].Jfpm = i + 1;\r\n    }\r\n    var uu=[];\r\n    for (var i = 0; i < result.length; i++) {\r\n        if (result[i].QQ) {\r\n            uu.push(result[i].name);\r\n        }\r\n    }\r\n    var uinCount = 0;\r\n    for (var uin in Name) {\r\n        uinCount++;\r\n    }\r\n    if (totalZqsocre > 100000000){\r\n        var totalZpower = (totalZpower/100000000).toFixed(3) + \"亿\";\r\n    } else {\r\n        var totalZpower = (totalZpower/10000).toFixed(2) + \"万\";\r\n    }\r\n    var jzId = obj.bakdata.substring(1, obj.bakdata.length - 1).split(',')[1];\r\n    var koala = obj.bakdata.substring(1, obj.bakdata.length - 1).split(',')[2].replace(/\"/g, '');\r\n    var dw = arr[0].length + arr[1].length + arr[2].length + arr[3].length;\r\n    var dwsx = obj.build[1][0]+30;\r\n    var not = '\\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\n';\r\n    var output = '';\r\n    var bt = [];\r\n    bt.push(lpad(\"人数\", 15));\r\n    bt.push(lpad(\"昵称(QQ)\", 30));\r\n    bt.push(lpad(\"总战力/排序\", 18));\r\n    bt.push(lpad(\"总积分/排序\", 15));\r\n    bt.push(lpad(\"总胜场\",8));\r\n    bt.push(lpad(\"朱雀组(战力/积分/胜场) \", 25));\r\n    bt.push(lpad(\"青龙组(战力/积分/胜场) \", 25));\r\n    bt.push(lpad(\"白虎组(战力/积分/胜场) \", 25));\r\n    bt.push(lpad(\"玄武组(战力/积分/胜场) \", 25));\r\n    var zt = lpad(\"【家族】：\" + koala + \" / \" + jzId, not.length-10);\r\n    output += not + zt + not + lpad('【总战力】:' + totalZpower,15)  + lpad('【总积分】:' + totalZqsocre,15) + lpad(' 【上阵队伍】：' + dw + \"/\" + dwsx*4,15);\r\n    output += lpad(' 【朱雀组】：' + arr[0].length + \"/\" + dwsx,15) + lpad(' 【青龙组】：' + arr[0].length + \"/\" + dwsx,15) + lpad(' 【白虎组】：' + arr[0].length + \"/\" + dwsx,15) + lpad(' 【玄武组】：' + arr[0].length + \"/\" + dwsx,15) + not;\r\n    output += bt.join('|') + not;\r\n    if (fQQ == 0) {\r\n      for (var key in obj.memdata) {\r\n        if (obj.memdata.hasOwnProperty(key)) {\r\n            var value = obj.memdata\r\n[key];\r\n            if (value.hasOwnProperty('xianbi')) {\r\n                var fQQ = key.substr(3);\r\n            }\r\n        }\r\n    }\r\n}\r\nfor (var i = 0; i < result.length; i++) {\r\n  if (result[i].QQ == fQQ) {\r\n    var nick = cleanNickname(result[i].name);\r\n    output  += lpad(result[i].Jfpm + '/' + uinCount + '(主机)', 15) + '|' \r\n      + lpad(nick + '(' + result[i].QQ + ')', 30) + '|' \r\n      + lpad(result[i].Zpower + ' / No.' + result[i].Zlpm, 18) + '|' \r\n      + lpad(result[i].Zqsocre + '分'  + ' / No.' + result[i].Jfpm, 15) + '|'\r\n      + lpad(result[i].SC[0] + result[i].SC[1] + result[i].SC[2] + result[i].SC[3] + '胜', 8) + '|' \r\n      + lpad(result[i].ZL[0]  + ' / ' + result[i].JF[0] + '分' + ' / ' + result[i].SC[0] + '胜', 25) + '|' \r\n      + lpad(result[i].ZL[1] + ' / ' + result[i].JF[1] + '分'  + ' / ' + result[i].SC[1] + '胜', 25) + '|' \r\n      + lpad(result[i].ZL[2] + ' / ' + result[i].JF[2] + '分'  + ' / ' + result[i].SC[2] + '胜', 25) + '|' \r\n      + lpad(result[i].ZL[3] + ' / ' + result[i].JF[3] + '分'  + ' / ' + result[i].SC[3] + '胜', 25)\r\n      + not;\r\n  }\r\n}\r\nfor (var i = 0; i < result.length; i++) {\r\n  if (result[i].QQ != fQQ) {\r\n    var nick = cleanNickname(result[i].name);\r\n    output += lpad(result[i].Jfpm + '/' + uinCount, 15) + '|' \r\n      + lpad(nick + '(' + result[i].QQ + ')', 30) + '|' \r\n      + lpad(result[i].Zpower + ' / No.' + result[i].Zlpm, 18) + '|' \r\n      + lpad(result[i].Zqsocre + '分' + ' / No.' + result[i].Jfpm, 15) + '|'\r\n      + lpad(result[i].SC[0] + result[i].SC[1] + result[i].SC[2] + result[i].SC[3] + '胜', 8) + '|' \r\n      + lpad(result[i].ZL[0] + ' / ' + result[i].JF[0] + '分'  + ' / ' + result[i].SC[0] + '胜', 25) + '|' \r\n      + lpad(result[i].ZL[1] + ' / ' + result[i].JF[1] + '分'  + ' / ' + result[i].SC[1] + '胜', 25) + '|' \r\n      + lpad(result[i].ZL[2] + ' / ' + result[i].JF[2] + '分'  + ' / ' + result[i].SC[2] + '胜', 25) + '|' \r\n      + lpad(result[i].ZL[3] + ' / ' + result[i].JF[3] + '分'  + ' / ' + result[i].SC[3] + '胜', 25)\r\n      + not;\r\n  }\r\n}\r\n      return output;\r\n}\r\n \r\nfunction lpad(str, len) {\r\n    if (typeof str === 'number') {\r\n        str = str.toString();\r\n    }\r\n    var hasChinese = false;\r\n    var strLen = 0;\r\n    for (var i = 0; i < str.length; i++) {\r\n        if (str.charCodeAt(i) >= 0x4E00 && str.charCodeAt(i) <= 0x9FFF) {\r\n            strLen += 2;\r\n            hasChinese = true;\r\n        } else {\r\n            strLen++;\r\n        }\r\n    }\r\n    var spaceCount = len - strLen;\r\n    if (spaceCount > 0) {\r\n        var leftSpaces = '';\r\n        var rightSpaces = '';\r\n        var halfSpaceCount = Math.floor(spaceCount / 2);\r\n        for (var i = 0; i < halfSpaceCount; i++) {\r\n            leftSpaces += ' ';\r\n            rightSpaces += ' ';\r\n        }\r\n        if (spaceCount % 2 !== 0) {\r\n            rightSpaces += ' ';\r\n        }\r\n        str = leftSpaces + str + rightSpaces;\r\n    }\r\n    return str;\r\n}\r\n    var index = 0;\r\n function cleanNickname(nickname) {\r\n  var specialCharacterPattern = /[^\\u4e00-\\u9fa5a-zA-Z0-9]/g;\r\n  var cleanNickname = nickname.replace(specialCharacterPattern, '');\r\n  while (cleanNickname.length > 7) {\r\n    cleanNickname = cleanNickname.substr(0, cleanNickname.length - 1);\r\n  }\r\n   if (cleanNickname == \"\"){\r\n    index++;\r\n    cleanNickname = \"空白昵称\" + index;\r\n\r\n}\r\n  return cleanNickname;\r\n}\r\n","Task":1}}}