necesito SCRIP de apoyos que incluya arqueros.

pokopelo...

Campesino
Puntuación de reacción
70
eso gente :) , estoy seguro que a mas de uno alguna vez le hizo falta , hay un scrip de apoyos que parece bastante bueno pero no tiene arqueros :(

si alguin sabe como modificarlo o podria crear uno nuevo haria un bien a toda la comunidad.

pd: aqui encontraran el scrip de apoyos pero SIN arqueros ( https://forum.guerrastribales.es/index.php?threads/enviar-deff-a-varios-pueblos.55470/ ) , algo asi pero con arqueros estaria genial , gracias.
 

DarkMein

Campesino
Puntuación de reacción
35
Visto que ese script esta validado, no veo problemático añadir unas cuantas líneas adicionales para añadir un tipo de unidad a mayores así que ahi va:

Código:
javascript:
var coords ="";
var troops = {
  'spear': 0,
  'sword': 0,
  'archer': 0,
  'spy': 0,
  'heavy': 0
}
function info(){
  $("h3:first").html(`Dar órdenes<br><span style="color:green;font-size:11px;">
                  Llevas ${count} de ${coords.split(" ").length} pueblos<br>
                  Lanzas por enviar: ${spear}<br>
                  Espadas por enviar: ${sword}<br>
                  Arqueros por enviar: ${archer}<br>
                  Espias por enviar: ${spy}<br>
                  Pesadas por enviar: ${heavy}<br>
                  <button id="confirmar" class="btn">Borrar datos?</button>
                  </span>`);
}
function insertarTropas(unidad){
  let unidad1 = eval(unidad);
  let unidad2 = eval("own"+unidad);

  if(unidad1>=unidad2 && unidad1!=0 && unidad2!=0){
    $("input[name='"+unidad+"']").val(unidad2);
  }else if(unidad1<unidad2 && unidad1!=0 && unidad2!=0){
    $("input[name='"+unidad+"']").val(unidad1);
  }else{
    return false;
  }
  return true;
}
function restarTropas(unidad){
  let unidad1 = eval(unidad);
  let unidad2 = eval("own"+unidad);
  if(unidad1>=unidad2 && unidad1!=0 && unidad2!=0){
    localStorage.setItem(unidad, unidad1-unidad2);
  }else if(unidad1<unidad2 && unidad1!=0 && unidad2!=0){
    localStorage.setItem(unidad, "0");
  }else{
    return false;
  }
  return true;
}
function removeData(){
  spear = parseInt(localStorage.getItem("spear"));
  sword = parseInt(localStorage.getItem("sword"));
  archer = parseInt(localStorage.getItem("archer"));
  spy = parseInt(localStorage.getItem("spy"));
  heavy = parseInt(localStorage.getItem("heavy"));
  if(spear == 0 && sword == 0 && archer == 0 && spy == 0 && heavy == 0){
    //siguiente pueblo y poner tropas
    count++;
    if(count<coords.split(" ").length){
      localStorage.setItem("village", coords.split(" ")[count]);
      localStorage.setItem("count", count);
      localStorage.setItem("spear", troops["spear"]);
      localStorage.setItem("sword", troops["sword"]);
      localStorage.setItem("archer", troops["archer"]);
      localStorage.setItem("spy", troops["spy"]);
      localStorage.setItem("heavy", troops["heavy"]);
    }else{
      $("h3").html(`Dar órdenes<br><span style="color:red;font-size:11px;">Ya has terminado, deja de pulsar el script xD </span>`);
    }
  }
}
var count = parseInt(localStorage.getItem("count"));
var pueblo = localStorage.getItem("village");
var spear = parseInt(localStorage.getItem("spear"));
var sword = parseInt(localStorage.getItem("sword"));
var archer = parseInt(localStorage.getItem("archer"));
var spy = parseInt(localStorage.getItem("spy"));
var heavy = parseInt(localStorage.getItem("heavy"));
var ownspear = parseInt($("#units_entry_all_spear").html().split("(")[1].split(")")[0]);
var ownsword = parseInt($("#units_entry_all_sword").html().split("(")[1].split(")")[0]);
var ownarcher = parseInt($("#units_entry_all_archer").html().split("(")[1].split(")")[0]);
var ownspy = parseInt($("#units_entry_all_spy").html().split("(")[1].split(")")[0]);
var ownheavy = parseInt($("#units_entry_all_heavy").html().split("(")[1].split(")")[0]);

if(isNaN(count)){
  pueblo = coords.split(" ")[0];
  count = 0;
  spear = troops["spear"];
  sword = troops["sword"];
  archer = troops["archer"];
  spy = troops["spy"];
  heavy = troops["heavy"];

  localStorage.setItem("count", count);
  localStorage.setItem("village", pueblo);
  localStorage.setItem("spear", spear);
  localStorage.setItem("sword", sword);
  localStorage.setItem("archer", archer);
  localStorage.setItem("spy", spy);
  localStorage.setItem("heavy", heavy);

  if(insertarTropas("heavy") || insertarTropas("spear") || insertarTropas("sword") ||  insertarTropas("archer") || insertarTropas("spy")){
    $("input[tabindex='14']").val(pueblo);
  }
}else{
  info();
  if(insertarTropas("heavy") || insertarTropas("spear") || insertarTropas("sword") || insertarTropas("archer") || insertarTropas("spy")){
    $("input[tabindex='14']").val(pueblo);
}
}
$("#target_support").on("click",function(){
  ownspear = $("#unit_input_spear").val()=="" ? 0 : parseInt($("#unit_input_spear").val());
  ownsword = $("#unit_input_sword").val()=="" ? 0 : parseInt($("#unit_input_sword").val());
  ownarcher = $("#unit_input_archer").val()=="" ? 0 : parseInt($("#unit_input_archer").val());
  ownspy = $("#unit_input_spy").val()=="" ? 0 : parseInt($("#unit_input_spy").val());
  ownheavy = $("#unit_input_heavy").val()=="" ? 0 : parseInt($("#unit_input_heavy").val());
  restarTropas("heavy") || restarTropas("spear") || restarTropas("sword") || restarTropas("archer") || restarTropas("spy");
  removeData();
});
$("#confirmar").on("click",function(){
  localStorage.removeItem("village");
  localStorage.removeItem("count");
  localStorage.removeItem("spear");
  localStorage.removeItem("sword");
  localStorage.removeItem("archer");
  localStorage.removeItem("spy");
  localStorage.removeItem("heavy");
});

No lo he probado, simplemente he seguido la misma pauta que su programador original para añadir una unidad a mayores teniendo en cuenta que el nombre de la nueva unidad es "archer".

Supongo que no habrá problema por que lo probeis, pero si no, esperad a que se valide. Como os digo, no se si funcionará, pero si el script original funciona, este deberia, el cambio es muy pequeño. Si no funciona avisad y le echo un ojo en mas detalle.

PD: Esta versión solo funcionará en mundo con arqueros, ejecutarlo en un mundo sin arqueros hará que el script falle y probablemente no funcione nada o funcione parcialmente.
 
Arriba