27/10/2010 Tribal Wars

O script foi autorizado no servidor brasileiro. No entanto eu não estou mais na equipe de análise de scripts, então confira antes de usar pois qualquer problema é por sua própria conta e risco.

Sempre tive dificuldade em organizar quais aldeias estão recebendo ataques e garantir que todas elas estejam recebendo apoio suficiente. Mesmo com a conta premium, verificar todas as aldeias sob ataques é sofrível.

Este script trabalha na tabela de visualizações de aldeias, mostrando aldeias que satisfazem determinados critérios escolhidos por você e ocultando todas as demais.

As opções funcionam da seguinte forma:

Mostra aldeias recebendo ataque (independente de estar ou não recebendo apoio)
Mostra aldeias recebendo apoio (independente de estar ou não recebendo ataque)
Mostra aldeias recebendo ataque e apoio (ambos)
Mostra aldeias que não estejam recebendo ataque (independente de estar ou não recebendo apoio)
Mostra aldeias que não estejam recebendo apoio (independente de estar ou não recebendo ataque)
Mostra aldeias recebendo ataque e/ou apoio (ambos ou apenas um - não importa qual)
Mostra aldeias recebendo somente ataque
Mostra aldeias recebendo somente apoio
Mostra aldeias que não estejam recebendo nem ataque nem apoio (nenhum dos dois)

Funciona em visualizações - combinado, produção, tropas, edifícios, pesquisa ou grupos. Em tropas é onde está a parte mais interessante, pois você pode verificar com mais facilidade se os apoios que estão na aldeia são suficiente para as aldeias que estão sendo atacadas ou, se existem apoios desnecessários nas aldeias que não estão recebendo ataque. Em edifícios também é interessante, para conferir como estão as muralhas das aldeias em ataque. Em fim, as possibilidades são muitas.

Script para colar na barra de acesso rápido:

javascript:$.getScript('http://dl.dropbox.com/u/72485850/tribalwarsbrasil/filtro_de_ataqueapoio.js');void(0);

Script completo:

javascript:
m=game_data.mode;
s=game_data.screen;
function check(){
  if(s=='overview_villages'){
    if(m==null){
      m=$('table#overview_menu td.selected').html();
      m==null?m='production':m=m.match(/mode=(.*)"/)[1];
    }
    switch(m){
      case 'trader':
      case 'commands':
      case 'incomings':
        return false;
        break;
      case 'prod':
        m='production';
        break;
      case 'tech':
        m='techs';
        break;
      case 'groups':
        m='group_assign';
        break;
    }
    return true;
  } else return false;
}
if(check()){
  if(!$('table#asfilter_table')[0]){
    out='<table id="asfilter_table" align="center"><tr><td><input type="radio" id="asfilter_op" name="asfilter_op" value="1" checked /><img src="graphic/command/attack.png?1" /></td><td><input type="radio" id="asfilter_op" name="asfilter_op" value="2" /><img align="right" src="graphic/command/support.png?1" /></td><td><input type="radio" id="asfilter_op" name="asfilter_op" value="3" /><img src="graphic/command/attack.png?1" />+<img src="graphic/command/support.png?1" /></td></tr><tr><td><input type="radio" id="asfilter_op" name="asfilter_op" value="4" /><img src="graphic/delete.png" /></td><td><input type="radio" id="asfilter_op" name="asfilter_op" value="5" /><img align="right" src="graphic/delete.png" /></td><td><input type="radio" id="asfilter_op" name="asfilter_op" value="6" /><img src="graphic/command/attack.png?1" />*<img src="graphic/command/support.png?1" /></td></tr><tr><td><input type="radio" id="asfilter_op" name="asfilter_op" value="7" /><img src="graphic/command/attack.png?1" /><img src="graphic/delete.png" /></td><td><input type="radio" id="asfilter_op" name="asfilter_op" value="8" /><img src="graphic/delete.png" /><img src="graphic/command/support.png?1" /></td><td><input type="radio" id="asfilter_op" name="asfilter_op" value="9"/><img src="graphic/delete.png" /><img src="graphic/delete.png" /></td></tr><tr align="center"><td colspan="3"><input type="button" name="asfilter" value="Ok" /></td></tr></table>';
    if((x=$('#paged_view_content table:first'))[0])x.append(out);else $('table[id='+m+'_table]').parent().prepend(out);
    $('head').append("<script>function test(e){var v=false;var a=$(e).html().match('attack.png')!==null;var s=$(e).html().match('support.png')!==null;$('input[id=asfilter_op]').each(function(i,r){if(r.checked){switch($(r).val()){case'1': v=a;break;case '2':v=s;break;case '3':v=a&&s;break;case '4':v=!a;break;case '5':v=!s;break;case '6':v=a||s;break;case '7':v=a&&!s;break;case '8':v=!a&&s;break;case '9':v=!a&&!s;break;}}});return v;}function run(){var c=0;var k=0;$('table[id='+m+'_table] tr:not(:first)').each(function(i,e){if(c==0){if(k==1&&!$(e).html().match('colspan=\"2\"'))k=0;if(test(e)){if($(e).css('display')=='none')$(e).show();if(m=='units'){k=$(e).html().match(/rowspan=\"(\d)\"/);if(k==null)k=1;else{c=k[1]-1;k=0;}}}else if(k==0)$(e).hide();}else c--;});}$('[name=asfilter]').click(run);</script>");
  }
}
void(0);

br_lemes, o Druida insano (Compulsivo)