🏠 Home 

Easy rebuy for Cyber Nations

Makes it easier to rebuy troops


Install this script?
// ==UserScript==
// @name         Easy rebuy for Cyber Nations
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  Makes it easier to rebuy troops
// @author       RandomNoobster
// @match        https://www.cybernations.net/military_purchase.asp*
// @match        https://www.cybernations.net/militarydeploy.asp*
// @icon         https://www.cybernations.net/favicon.ico
// @license      MIT
// @grant        none
// @require      http://code.jquery.com/jquery-3.6.0.min.js
// ==/UserScript==
(function() {
'use strict';
// captcha solver https://api4.ai/apis/ocr
function setCookie(cname, cvalue) {
const d = new Date();
d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000));
let expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
let name = cname + "=";
let ca = document.cookie.split(';');
for(let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
let checkboxes = document.querySelectorAll('input[type=checkbox]')
checkboxes.forEach(box => {
if (box.checked) {
setCookie(box.id, true)
}
else {
setCookie(box.id, false)
}
})
}
function httpGet(theUrl) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
xmlHttp.send( null );
return xmlHttp.responseText;
}
function httpPost(theUrl, data) {
console.log(theUrl, data)
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "POST", theUrl, false ); // false for synchronous request
xmlHttp.setRequestHeader("Accept", "application/json");
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(data);
return xmlHttp.responseText;
}
function sleep() {
return new Promise(resolve => setTimeout(resolve, Math.floor(Math.random() * 3000) + 1000));
}
if (window.location.href.includes("https://www.cybernations.net/military_purchase.asp")) {
let link = String(window.location.href)
let nationID = link.slice(link.indexOf("=")+1)
let form = document.createElement("form")
let options = [
{name: "Soldiers", url: "https://www.cybernations.net/militarybuysell.asp?Nation_ID=" + nationID},
{name: "####s", url: "https://www.cybernations.net/####sbuysell.asp?Nation_ID=" + nationID},
{name: "Spies", url: "https://www.cybernations.net/spies_purchase.asp"}
]
options.forEach(option => {
let newLabel = document.createElement("label")
newLabel.innerHTML = option.name
let newInput = document.createElement("input")
newInput.id = option.name
newInput.dataset.url = option.url
newInput.type = "checkbox"
newInput.onclick = checkCookie
let cookie = getCookie(option.name)
if (cookie == "true") {
newInput.checked = true
}
newLabel.appendChild(newInput)
form.appendChild(newLabel)
})
let submit = document.createElement("input")
submit.type = "button"
submit.value = "Rebuy Selected"
submit.style.display = "block"
submit.onclick = rebuy
form.appendChild(submit)
let table2 = document.querySelector('#table2')
let p = document.createElement('p')
table2.before(p)
table2.before(form)
let soldiersCheckbox = document.querySelector('#Soldiers')
let ####sCheckbox = document.querySelector('#####s')
let spiesCheckbox = document.querySelector('#Spies')
async function rebuy() {
p.innerHTML = ""
submit.disabled = true
submit.value = "Working...."
if (soldiersCheckbox.checked) {
let url = "https://www.cybernations.net/militarybuysell.asp?Nation_ID=" + nationID
let page = httpGet(url)
let purchaseSoldiers = page.slice(page.indexOf("Maximum Soldier Purchase")+75)
purchaseSoldiers = purchaseSoldiers.slice(0, purchaseSoldiers.indexOf("<"))
console.log(purchaseSoldiers)
if (purchaseSoldiers != 0) {
let value = page.slice(page.indexOf('name="VALUE"')+20)
value = value.slice(0, value.indexOf('"'))
console.log(value)
let data = `Transaction=${purchaseSoldiers}&VALUE=${value}`;
await sleep()
let response = httpPost(url, data)
if (!response.includes("Transaction Successful")) {
p.innerHTML += "An error might have occurred when purchasing soldiers!<br>"
}
else {
p.innerHTML += `${purchaseSoldiers} soldiers successfully bought!<br>`
}
}
else {
p.innerHTML += "No soldiers can be bought!<br>"
}
await sleep()
}
if (####sCheckbox.checked) {
let url = "https://www.cybernations.net/####sbuysell.asp?Nation_ID=" + nationID
let page = httpGet(url)
let purchase####s = page.slice(page.indexOf("Maximum #### Purchase")+72)
purchase####s = purchase####s.slice(0, purchase####s.indexOf("<"))
console.log(purchase####s)
if (purchase####s != 0) {
let value = page.slice(page.indexOf('name="VALUE"')+20)
value = value.slice(0, value.indexOf('"'))
console.log(value)
let data = `Transaction=${purchase####s}&VALUE=${value}`;
await sleep()
let response = httpPost(url, data)
if (!response.includes("Transaction Successful")) {
p.innerHTML += "An error might have occurred when purchasing ####s!<br>"
}
else {
p.innerHTML += `${purchase####s} ####s successfully bought!<br>`
}
}
else {
p.innerHTML += "No ####s can be bought!<br>"
}
await sleep()
}
if (spiesCheckbox.checked) {
let url = "https://www.cybernations.net/spies_purchase.asp"
let page = httpGet(url)
let currentSpies = page.slice(page.indexOf("Number of Spies")+82)
currentSpies = currentSpies.slice(0, currentSpies.indexOf("o"))
console.log(currentSpies)
let maxSpies = page.slice(page.indexOf("Number of Spies")+82)
maxSpies = maxSpies.slice(maxSpies.indexOf("of")+3)
maxSpies = maxSpies.slice(0, maxSpies.indexOf("<"))
console.log(maxSpies)
let purchaseSpies = Number(maxSpies) - Number(currentSpies)
console.log(purchaseSpies)
if (purchaseSpies != 0 && !isNaN(purchaseSpies)) {
let value = page.slice(page.indexOf('name="VALUE"')+20)
value = value.slice(0, value.indexOf('"'))
console.log(value)
let data = `Transaction=${purchaseSpies}&VALUE=${value}`;
await sleep()
let response = httpPost(url, data)
if (!response.includes("Transaction Successful")) {
p.innerHTML += "An error might have occurred when purchasing spies!<br>"
}
else {
p.innerHTML += `${purchaseSpies} spies successfully bought!<br>`
}
}
else {
p.innerHTML += "No spies can be bought!<br>"
}
}
submit.disabled = false
submit.value = "Rebuy Selected"
}
}
else if (window.location.href.includes("https://www.cybernations.net/militarydeploy.asp")) {
let soldiers = document.querySelectorAll("td > i")[5]
let ####s = document.querySelectorAll("td > i")[7]
let soldierField = document.querySelectorAll("input")[0]
let ####Field = document.querySelectorAll("input")[1]
soldierField.value = soldiers.innerText
####Field.value = ####s.innerText
}
})();