FunnyPocketBook icon

Untitled

FunnyPocketBook | PRO | 06/01/20 05:08:32 PM UTC | 0 ⭐ | 1011 👁️ | Never ⏰ | []
JavaScript |

4.51 KB

|

None

|

0 👍

/

0 👎

let x = 504;
let y = 499;
let spearAmnt = 1;
let swordAmnt = 0;
let axeAmnt = 0;
let archerAmnt = 0;
let spyAmnt = 0;
let lightAmnt = 0;
let marcherAmnt = 0;
let heavyAmnt = 0;
let ramAmnt = 0;
let catapultAmnt = 0;
let knightAmnt = 0;
let snobAmnt = 0;
let catAttack = "main";
 
let iterator = 0;
 
let key;
let value;
 
/**
 * Get the weird obfuscated key and value which is stored in the rally point
 */
function getKey() {
  $.get("game.php?village=" + game_data.village.id + "&screen=place", function(response) {
    const parser = new DOMParser();
    const dom = parser.parseFromString(response, "text/html");
    key = dom.querySelector("#command-data-form > input:nth-child(1)").getAttribute("name");
    value = dom.querySelector("#command-data-form > input:nth-child(1)").value;
  });
}
let data = {
  key: value,
  "template_id": "",
  "source_village": game_data.village.id,
  "spear": spearAmnt,
  "sword": swordAmnt,
  "axe": axeAmnt,
  "archer": archerAmnt,
  "spy": spyAmnt,
  "light": lightAmnt,
  "marcher": marcherAmnt,
  "heavy": heavyAmnt,
  "ram": ramAmnt,
  "catapult": catapultAmnt,
  "knight": knightAmnt,
  "snob": snobAmnt,
  "x": x,
  "y": y,
  "target_type": "coord",
  "input": "",
  "attack": "Attack",
};
 
function random(superior, inferior) {
  var numPosib = superior - inferior;
  var aleat = Math.random() * numPosib;
  return Math.round(parseInt(inferior) + aleat);
}
 
setInterval(attack, random(2330, 3550));
 
/**
 * Send post request to attack dialog
 */
function attack() {
 
  let xvalsint = getCoordsX();
  let yvalsint = getCoordsY();
  x = parseInt(xvalsint[iterator]);
  y = parseInt(yvalsint[iterator]);
  data.x = x;
  data.y = y;
  let url = "game.php?village=" + game_data.village.id + "&screen=place&try=confirm";
  $.post(url, data).done(function(response) {
    const parser = new DOMParser();
    const dom = parser.parseFromString(response, "text/html");
    if (dom.querySelector(".error_box")) {
      console.error("Error: " + dom.querySelector(".error_box").innerText.trim());
    } else {
      const ch = dom.getElementsByName("ch")[0].getAttribute("value");
      const timeout = Math.floor(Math.random() * 1000 + 500);
      setTimeout(function() {
        sendAttack(ch);
      }, timeout);
      console.log("Wait " + timeout + "ms");
    }
  });
}
 
function getCoordsX() {
  var x, y, vill, arr;
  var fin = [];
  var xvals = [];
  var yvals = [];
  for (x = 0; x < TWMap.size[1]; x++) {
    for (y = 0; y < TWMap.size[1]; y++) {
      if (vill = TWMap.map.coordByPixel(TWMap.map.pos[0] + TWMap.tileSize[0] * y, TWMap.map.pos[1] + TWMap.tileSize[1] * x)) {
        if ((arr = TWMap.villages[vill.join("")]) && arr.owner === "0") {
          fin.push(vill.join("|"));
          xvals.push(vill[0]);
          yvals.push(vill[1]);
        }
      }
    }
  }
  return xvals;
}
 
function getCoordsY() {
  var x, y, vill, arr;
  var fin = [];
  var xvals = [];
  var yvals = [];
  for (x = 0; x < TWMap.size[1]; x++) {
    for (y = 0; y < TWMap.size[1]; y++) {
      if (vill = TWMap.map.coordByPixel(TWMap.map.pos[0] + TWMap.tileSize[0] * y, TWMap.map.pos[1] + TWMap.tileSize[1] * x)) {
        if ((arr = TWMap.villages[vill.join("")]) && arr.owner === "0") {
          fin.push(vill.join("|"));
          xvals.push(vill[0]);
          yvals.push(vill[1]);
        }
      }
    }
  }
  return yvals;
}
 
function sendAttack(ch) {
  let xvalsint = getCoordsX();
  let yvalsint = getCoordsY();
  x = parseInt(xvalsint[iterator]);
  y = parseInt(yvalsint[iterator]);
  console.log(x);
  console.log(y);
  getKey();
 
  data = {
    "attack": true,
    "ch": ch,
    "x": x,
    "y": y,
    "source_village": game_data.village.id,
    "village": game_data.village.id,
    "attack_name": "",
    "spear": spearAmnt,
    "sword": swordAmnt,
    "axe": axeAmnt,
    "archer": archerAmnt,
    "spy": spyAmnt,
    "light": lightAmnt,
    "marcher": marcherAmnt,
    "heavy": heavyAmnt,
    "ram": ramAmnt,
    "catapult": catapultAmnt,
    "knight": knightAmnt,
    "snob": snobAmnt,
    "building": catAttack
  };
  iterator++;
  url = "game.php?village=" + game_data.village.id + "&screen=place&ajaxaction=popup_command&h=" + game_data.csrf + "&client_time" + Math.floor(Timing.getCurrentServerTime() / 1000);
  $.post(url, data).done(function(response) {
    if (response.includes("redirect")) {
      console.log("Attack successfully sent!");
    } else {
      console.log(response);
    }
  });
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎