DeletedUser43675
Guest
Como solucion al problema con el bug en solicitar recursos, ya publicado en la sección de bugs: https://forum.guerrastribales.es/index.php?threads/solicitar-recursos.55438/
- Explicación de para qué sirve Calcula el porcentaje de recursos a mandar
- Como Hacerlo funcionar? Mercado>Solicitud, hacer click en el script y luego selecionar los cuadrados para pedir recursos a cada pueblos.
- Nombre de la entrada: ---
- URL de la imagen: ---
- URL de destino:
Código:
javascript: var array = []; var check_wood = document.getElementsByClassName('res_checkbox')[0].checked; var check_stone = document.getElementsByClassName('res_checkbox')[1].checked; var check_iron = document.getElementsByClassName('res_checkbox')[2].checked; function updateCheck(){ check_wood = document.getElementsByClassName('res_checkbox')[0].checked; check_stone = document.getElementsByClassName('res_checkbox')[1].checked; check_iron = document.getElementsByClassName('res_checkbox')[2].checked; } function getRecurso(element,name){ var aux = element.getElementsByClassName(name)[1].innerHTML; return aux.replace('<span class="grey">.</span>',""); } function calcular(wood,stone,iron){ var apor = []; var total = 0; if(check_wood){ total += parseInt(wood); } if(check_stone){ total += parseInt(stone); } if(check_iron){ total += parseInt(iron); } if(check_wood){ var pwood = (wood/total)*100; apor[0] = pwood; } if(check_stone){ var pstone = (stone/total)*100; apor[1] = pstone; } if(check_iron){ var piron = (iron/total)*100; apor[2] = piron; } return apor; } function calcularRecurso(por,total){ por = Math.floor(por); total = parseInt(total); return (por*total)/100; } function calcularPorcentaje(porcentaje, item,index){ var mercaderes = item.getElementsByClassName('traders')[0].innerHTML.split("/")[0]; mercaderes = parseInt(mercaderes)*1000; if(check_wood){ var wood = calcularRecurso(porcentaje[0],mercaderes); if(parseInt(array[index][0])<wood){ item.getElementsByClassName('hide_toggle')[0].value = parseInt(array[index][0]); }else{ item.getElementsByClassName('hide_toggle')[0].value = wood; } } if(check_stone){ var stone = calcularRecurso(porcentaje[1],mercaderes); if(parseInt(array[index][1])<stone){ item.getElementsByClassName('hide_toggle')[1].value = parseInt(array[index][1]); }else{ item.getElementsByClassName('hide_toggle')[1].value = stone; } } if(check_iron){ var iron = calcularRecurso(porcentaje[2],mercaderes); if(parseInt(array[index][2])<iron){ item.getElementsByClassName('hide_toggle')[2].value = parseInt(array[index][2]); }else{ item.getElementsByClassName('hide_toggle')[2].value = iron; } } } $("#village_list tr").each(function(index,item){ if(index!=0){ var wood = getRecurso(item,"wood"); var stone = getRecurso(item,"stone"); var iron = getRecurso(item,"iron"); array[index] = new Array(3); array[index][0] = wood; array[index][1] = stone; array[index][2] = iron; }else{ array[0] = ""; } }); $("#village_list tr").on("click",function(item){ var clicked = item.currentTarget; $("#village_list tr").each(function(index,item){ if(clicked==item){ setTimeout(function(){ updateCheck(); var porcentajes = calcular(array[index][0],array[index][1],array[index][2]); calcularPorcentaje(porcentajes, item,index); }, 100); } }); });