Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var dict = {
- data: {
- nickName: "Ник",
- effRating: "Рейтинг эффективности",
- karma: "Карма",
- prestigeBonus: "Мощь флота",
- effRating: "Рейтинг",
- uid: "UID",
- pvp: {
- gamePlayed: "Боев",
- gameWin: "Побед",
- totalAssists: "Помощи",
- totalBattleTime: "Время в бою",
- totalDeath: "Смертей",
- totalDmgDone: "Урона",
- totalHealingDone: "Восстановлено",
- totalKill: "Убийств",
- totalVpDmgDone: "Очков захвата",
- },
- clan:{
- name: "Название корпорации",
- tag: "Тег корпорации"
- }
- }
- }
- function getHeader(self) {
- var totalBattleTime = self.data.pvp.totalBattleTime;
- /*var ms = totalBattleTime % 1000;
- var s = (totalBattleTime / 1000) % 60;
- var m = ((totalBattleTime / 1000) / 60) % 60;
- var h = (((totalBattleTime / 1000) / 60) / 60) % 24;
- var d = (((totalBattleTime / 1000) / 60) / 60) / 24;*/
- return [
- self.data.uid,
- self.data.clan === undefined ? '' : self.data.clan.name + ' [' + self.data.clan.tag + ']',
- self.data.karma === undefined ? 0 : self.data.karma,
- self.data.prestigeBonus === undefined ? 0 : Math.floor(self.data.prestigeBonus * 100),
- self.data.pvp.totalKill,
- self.data.pvp.totalDeath,
- self.data.pvp.totalAssists,
- self.data.pvp.gamePlayed,
- self.data.pvp.gameWin,
- '=CONCATENATE(TEXT(ROUNDDOWN(((('+totalBattleTime.toString()+'/1000)/60)/60)/24);"00");" ";TEXT(ROUNDDOWN(MOD(((('+totalBattleTime.toString()+'/1000)/60)/60);24));"00");":";TEXT(ROUNDDOWN(MOD((('+totalBattleTime.toString()+'/1000)/60);60));"00");":";TEXT(ROUNDDOWN(MOD(('+totalBattleTime.toString()+'/1000);60));"00"))',
- //Math.floor(d.toString())+' дн. '+Math.floor(h.toString())+' ч. '+Math.floor(m.toString())+' мин. '+Math.floor(s.toString())+' сек.',
- '=CONCATENATE(TEXT(ROUNDDOWN(MOD((('+Math.floor((totalBattleTime/self.data.pvp.gamePlayed)).toString()+'/1000)/60);60));"0");":";TEXT(ROUNDDOWN(MOD(('+Math.floor((totalBattleTime/self.data.pvp.gamePlayed)).toString()+'/1000);60));"00"))',
- self.data.pvp.totalDmgDone,
- self.data.pvp.totalHealingDone,
- self.data.pvp.totalVpDmgDone,
- ((self.data.effRating) ? self.data.effRating : 500),
- ];
- };
- function updateDate(sheet) {
- for (var i = 2; i <= sheet.getLastRow()-4; i++) {
- var nickName = sheet.getRange(i,1).getValue();
- var response = UrlFetchApp.fetch("http://gmt.star-conflict.com/pubapi/v1/userinfo.php?nickname="+nickName);
- var json = response.getContentText();
- try {
- var stat = JSON.parse(json);
- } catch (e) {
- Logger.log('Error type: '+e.name+', nickname: ',+nickName)
- continue;
- };
- if (stat.result !== "ok" || stat.code !== 0) {
- continue;
- };
- try {
- var header = getHeader(stat);
- } catch(e) {
- continue;
- };
- var j = 2;
- for (var key in header) {
- sheet.getRange(i,j).setValue(header[key]);
- j++;
- };
- };
- };
- function updateDataProtection() {
- var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
- var sheet = sheets[0]
- var protection = sheet.protect();
- try {
- updateDate(sheet);
- } finally {
- protection.remove();
- };
- };
- function onOpen() {
- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
- var entries = [{
- name : "Обновить данные",
- functionName : "updateDataProtection"
- }];
- spreadsheet.addMenu("Статистика", entries);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement