CowboySoberano

Renomeador_Aldeias_(Cowboy Soberano)

Jun 8th, 2017
541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //----------------------------------------------------------------
  2. //Projeto:      Renomeador Aldeias
  3. //Autor:        Nicholas Toby (cheesasaurus@gmail.com)
  4. //Editor:       Marcos Vinicius Dos Santos Marques (Cowboy soberano)
  5. //Email:                marcosvinicius.santosmarques@gmail.com
  6. //Versão:      Br 1.0 - 25/05/2017
  7. //Changelog:
  8. //                  Master > 8.20
  9. //              Br > 1.0
  10. //------------------------------------
  11. /*==== Moldura Tw ====*/
  12. if(!twcheese)
  13.     var twcheese={};
  14.  
  15.  
  16. twcheese.createNamerGUI = function ()
  17. {  
  18.     var contentContainer = document.createElement('div');
  19.     contentContainer.id = 'twcheese_name_village_container';
  20.     contentContainer.style.display = 'marker';
  21.     contentContainer.style.position = 'fixed';
  22.     contentContainer.style.zIndex = 5;
  23.     contentContainer.style.top = '60px'; //below top menu
  24.     contentContainer.style.left = '10px';
  25.     contentContainer.style.borderStyle = 'ridge';
  26.     contentContainer.style.borderColor = 'brown';
  27.     contentContainer.style.backgroundColor = '#ffccff';
  28.     contentContainer.style.width = '650px';
  29.    
  30.     /*==== Barra De Titulo ====*/              
  31.         var titleBar = document.createElement('table');
  32.         titleBar.style.backgroundColor = '#5cd65c';
  33.         titleBar.insertRow(-1);
  34.         titleBar.rows[0].insertCell(-1);
  35.         titleBar.rows[0].insertCell(-1);
  36.         titleBar.rows[0].cells[0].innerHTML = '<b>Nome Das Aldeias</b> (max 32 caracteres)';
  37.         titleBar.rows[0].cells[0].width = '100%';
  38.         titleBar.rows[0].cells[1].innerHTML = '<img src="graphic/delete.png" alt="X"/>';
  39.         titleBar.rows[0].cells[1].style.cursor="pointer";
  40.         titleBar.rows[0].cells[1].onclick = function(){$('#twcheese_name_village_container').remove()};
  41.         titleBar.rows[0].cells[1].style.color = 'Red';
  42.         contentContainer.appendChild(titleBar);
  43.        
  44.         var narcismElement = document.createElement('span');           
  45.         narcismElement.innerHTML = 'Editor <a href="https://forum.tribalwars.com.br/index.php?members/cowboy-soberano.106920/" target="_blank">Cowboy Soberano</a>';
  46.         narcismElement.style.fontSize = '12px';
  47.         narcismElement.style.fontStyle = 'italic';
  48.         narcismElement.style.fontWeight = 'lighter';
  49.         narcismElement.style.marginRight = '25px';
  50.         narcismElement.style.cssFloat = 'right';
  51.         titleBar.rows[0].cells[0].appendChild(narcismElement);
  52.    
  53.    
  54.     var content = document.createElement('div');
  55.     content.id = 'twcheese_name_config';
  56.     content.style.padding = '5px';
  57.    
  58.     var useDefaultConfig = false;
  59.    
  60.     if(localStorage.getItem('twcheese.nameVillagesConfig'))
  61.     {
  62.         var options = JSON.parse(localStorage.getItem('twcheese.nameVillagesConfig'));
  63.         content.config = options;
  64.        
  65.         /*==== update: 8 august 2013 - change format ====*/
  66.         for(var i=0; i<options.length; i++)
  67.         {          
  68.             if(options[i].name == 'number_villages')
  69.             {              
  70.                 if(!options[i].digits)
  71.                 {
  72.                     options[i].description = 'number villages';
  73.                     options[i].startNum = options[i].label;
  74.                     options[i].digits = 3;
  75.                    
  76.                     for(var j=0; j<options.length; j++)
  77.                     {
  78.                         options[j].label = options[j].defaultLabel;
  79.                     }
  80.                 }
  81.             }          
  82.         }
  83.        
  84.         /*==== update: 22 march 2014 - added direction option ====*/
  85.         var hasDirectionOption = false;
  86.         for (var i=0; i<options.length; i++) {
  87.             if (options[i].name == 'direction') {
  88.                 hasDirectionOption = true;
  89.             }
  90.         }
  91.         if (!hasDirectionOption) {
  92.             var dirOpt = {
  93.                 name:'direction',
  94.                 description:'direction within the continent',
  95.                 defaultLabel:' ',
  96.                 label:' ',
  97.                 example:'NE',
  98.                 enabled: false
  99.             };
  100.             options.push(dirOpt);
  101.             content.config = options;
  102.  
  103.             var alertUser = true;
  104.             if (localStorage.getItem('twcheese_nameVillages_lastUpdateMessage')) {
  105.                 if (Number(localStorage.getItem('twcheese_nameVillages_lastUpdateMessage')) >= 1) {
  106.                     alertUser = false;
  107.                 }
  108.             }
  109.            
  110.             if (alertUser) {
  111.                 alert('Update! A new renaming option has been added:\n\n"Direction"\nwill indicate the cardinal direction of the village within its continent');
  112.                 localStorage.setItem('twcheese_nameVillages_lastUpdateMessage', '1');
  113.             }
  114.         }      
  115.     }
  116.     else
  117.         useDefaultConfig = true;   
  118.    
  119.     if(useDefaultConfig)
  120.     {
  121.         content.config = [];
  122.         var options = [
  123.             {
  124.                 name:'number_villages',
  125.                 description:'Numero de aldeias',
  126.                 defaultLabel:'0',
  127.                 startNum:'0',
  128.                 digits:'3',
  129.                 example:'',
  130.                 enabled: true
  131.             },
  132.             {
  133.                 name:'continent',
  134.                 description:'O numero do continente',
  135.                 defaultLabel:' K',
  136.                 example:'45',
  137.                 enabled: true
  138.             },
  139.             {
  140.                 name:'insert_text0',
  141.                 description:'Inserir texto',
  142.                 defaultLabel:' seu texto aqui ',
  143.                 example:'',
  144.                 enabled: true
  145.             }, 
  146.             {
  147.                 name:'distance',
  148.                 description:'Distancia de uma aldeia (digite coordenadas na caixa a esquerda)',
  149.                 defaultLabel:'500|500',
  150.                 example:'4.20',
  151.                 enabled: true
  152.             },
  153.             {
  154.                 name:'sector',
  155.                 description:'Continente: setor: campo <img id="twcheese_sector_help" src="http://cdn.tribalwars.net/graphic/questionmark.png" style="width: 13px; height: 13px" title="O mapa e dividido da esquerda para a direita, de cima para baixo.<br/>Mundo - 100 continentes (10x10)<br/>Continente - 400 setores (20x20)<br/>Setor - 25 campos (5x5)">',
  156.                 defaultLabel:' ',
  157.                 example:'55:12:2',
  158.                 enabled: false
  159.             },
  160.             {
  161.                 name:'direction',
  162.                 description:'Direcao dentro do continente',
  163.                 defaultLabel:' ',
  164.                 example:'NE',
  165.                 enabled: false
  166.             },
  167.             {
  168.                 name:'random_text',
  169.                 description:'Nome aleatorio',
  170.                 defaultLabel:' ',
  171.                 example:'Nome aleatorio',
  172.                 enabled: false
  173.             },         
  174.             {
  175.                 name:'insert_text1',
  176.                 description:'Inserir texto',
  177.                 defaultLabel:' seu texto aqui',
  178.                 example:'',
  179.                 enabled: false
  180.             },
  181.             {
  182.                 name:'insert_text2',
  183.                 description:'Inserir texto',
  184.                 defaultLabel:' seu texto aqui',
  185.                 example:'',
  186.                 enabled: false
  187.             }
  188.         ];
  189.         for(var i=0; i<options.length; i++)
  190.         {
  191.             options[i].label = options[i].defaultLabel;
  192.         }
  193.     }
  194.    
  195.  
  196.    
  197.     content.generateExample = function()
  198.     {
  199.         var example = '';
  200.         var rows = document.getElementById('twcheese_config_table').rows;
  201.         for(var i=0; i<rows.length; i++){
  202.             if(rows[i].cells[0].firstChild.checked)
  203.             {
  204.                 if(rows[i].optionData.name == 'number_villages')
  205.                 {
  206.                     var number = Number(Number(rows[i].optionData.startNum) + 69);
  207.                         var digits = rows[i].optionData.digits;
  208.                         for(; String(number).length < digits; digits--)
  209.                             example += '0';                
  210.                     example += number;
  211.                 }
  212.                 else if(rows[i].optionData.name == 'distance')
  213.                 {
  214.                     example += rows[i].optionData.example;
  215.                 }
  216.                 else
  217.                 {
  218.                     example += rows[i].optionData.label;
  219.                     example += rows[i].optionData.example;
  220.                 }
  221.             }
  222.         }
  223.         return example;    
  224.     };
  225.    
  226.     content.preview = function()
  227.     {
  228.         document.getElementById('twcheese_name_preview').innerHTML = this.generateExample();
  229.     };
  230.    
  231.     content.saveConfig = function()
  232.     {
  233.         //var rows = this.getElementsByTagName('tr');
  234.         var rows = document.getElementById('twcheese_config_table').rows;
  235.         for(var i=0; i<rows.length; i++)
  236.         {
  237.             this.config[i] = rows[i].optionData;
  238.             if(this.config[i].label)
  239.                 this.config[i].defaultLabel = this.config[i].label;
  240.                
  241.         }
  242.         mode = this.getMode();
  243.        
  244.         localStorage.setItem('twcheese.nameVillagesConfig',JSON.stringify(this.config));
  245.         localStorage.setItem('twcheese_nameVillagesMode',mode);
  246.         UI.InfoMessage('Configuration saved.',3000,'success');
  247.     };
  248.    
  249.     content.getConfig = function()
  250.     {
  251.         //var rows = this.getElementsByTagName('tr');
  252.         var rows = document.getElementById('twcheese_config_table').rows;
  253.         for(var i=0; i<rows.length; i++)
  254.         {
  255.             this.config[i] = rows[i].optionData;
  256.             if(!this.config[i].label)
  257.                 this.config[i].label = this.config[i].defaultLabel;
  258.         }
  259.        
  260.         return this.config;
  261.     }
  262.    
  263.     content.getMode = function()
  264.     {
  265.         var modeForm = document.getElementById('twcheese_name_mode_form');
  266.         var options = modeForm.getElementsByTagName('input');
  267.         for(var i=0; i<options.length; i++)
  268.         {
  269.             if(options[i].checked)
  270.                 this.mode = options[i].value;
  271.         }
  272.         return this.mode;
  273.     }
  274.    
  275.     content.nameVillages = function()
  276.     {
  277.         if(document.getElementById('twcheese_name_preview').innerHTML.length >= 31)
  278.         {
  279.             UI.InfoMessage('Excedeu Limite (max 32 caracteres).',5000,'erro');
  280.         }              
  281.         else
  282.         {
  283.             var config = this.getConfig();
  284.             var mode = this.getMode();
  285.             $('#twcheese_name_village_container').remove();
  286.             setTimeout(function(){twcheese.renameVillages(config,mode);},50);
  287.         }
  288.     }
  289.        
  290.         /*==== preview ====*/
  291.         var preview = document.createElement('span');
  292.         preview.id = 'twcheese_name_preview';
  293.         preview.innerHTML = 'Cowboy';
  294.         content.innerHTML = '<b>&nbsp;Exemplo: </b>';
  295.         content.appendChild(preview);
  296.        
  297.        
  298.         /*==== config ====*/       
  299.         var optionsTable = document.createElement('table');
  300.         optionsTable.id = 'twcheese_config_table';
  301.        
  302.         for(var i=0;i<options.length;i++)
  303.         {
  304.             optionsTable.insertRow(-1);
  305.             optionsTable.rows[i].optionData = options[i];
  306.             optionsTable.rows[i].insertCell(-1);
  307.             optionsTable.className = 'vis';
  308.            
  309.             var checkbox = document.createElement('input');
  310.             checkbox.type = 'checkbox';
  311.             checkbox.checked = options[i].enabled;
  312.             checkbox.onchange = function()
  313.             {
  314.                 content.preview();
  315.                 this.parentNode.parentNode.optionData.enabled = this.checked;
  316.             };
  317.             optionsTable.rows[i].cells[0].appendChild(checkbox);
  318.            
  319.             optionsTable.rows[i].insertCell(-1);
  320.            
  321.             if(options[i].name == 'number_villages') //put the special numbering input in the label spot
  322.             {
  323.                 var numberingInputTable = document.createElement('table');
  324.                 numberingInputTable.insertRow(-1);
  325.                 numberingInputTable.insertRow(-1);
  326.                 numberingInputTable.rows[0].insertCell(-1);
  327.                 numberingInputTable.rows[0].insertCell(-1);
  328.                 numberingInputTable.rows[1].insertCell(-1);
  329.                 numberingInputTable.rows[1].insertCell(-1);
  330.                
  331.                 numberingInputTable.rows[0].cells[0].innerHTML = 'Iniciar #';
  332.                 numberingInputTable.rows[0].cells[0].style.width = '80px';
  333.                 numberingInputTable.rows[0].cells[1].innerHTML = 'Digitos';
  334.                
  335.                 var startNumInput = document.createElement('input');
  336.                 startNumInput.type = 'text';
  337.                 startNumInput.size=5;
  338.                 startNumInput.value = options[i].startNum;
  339.                 startNumInput.onchange = function(){
  340.                     this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.optionData.startNum = this.value;
  341.                     content.preview();
  342.                 }
  343.                 numberingInputTable.rows[1].cells[0].appendChild(startNumInput);
  344.                
  345.                 var digitsInput = document.createElement('input');
  346.                 digitsInput.type = 'number';
  347.                 digitsInput.size = 4;
  348.                 digitsInput.value = options[i].digits;
  349.                 digitsInput.onchange = function(){
  350.                     this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.optionData.digits = this.value;
  351.                     content.preview();
  352.                 }
  353.                 numberingInputTable.rows[1].cells[1].appendChild(digitsInput);
  354.                
  355.                
  356.                
  357.                 optionsTable.rows[i].cells[1].appendChild(numberingInputTable);
  358.             }
  359.             else //put the regular label in
  360.             {
  361.                 var label = document.createElement('input');
  362.                 label.type = 'text';
  363.                 if(!options[i].noLabel)
  364.                     label.value = options[i].defaultLabel;
  365.                 else
  366.                     label.value = '';
  367.                 label.onkeyup = function(){                
  368.                     this.parentNode.parentNode.optionData.label = this.value;
  369.                     if(!this.value)
  370.                         this.parentNode.parentNode.optionData.noLabel = true;
  371.                     else
  372.                         this.parentNode.parentNode.optionData.noLabel = false;
  373.                     content.preview();
  374.                 };
  375.                 optionsTable.rows[i].cells[1].appendChild(label);
  376.             }
  377.            
  378.             optionsTable.rows[i].insertCell(-1);
  379.             optionsTable.rows[i].cells[2].innerHTML = options[i].description;
  380.            
  381.             /*==== handle ====*/
  382.             optionsTable.rows[i].insertCell(-1);
  383.             optionsTable.rows[i].cells[3].innerHTML = '<div style="width: 11px; height:11px; background-image: url(http://cdn.tribalwars.net/graphic/sorthandle.png); cursor:move" class="qbhandle" title="Arraste para reordenar"> </div>';
  384.         }
  385.        
  386.         content.appendChild(optionsTable);
  387.        
  388.         /*==== mode ====*/
  389.         var modeForm = document.createElement('form');
  390.         modeForm.id = 'twcheese_name_mode_form';
  391.        
  392.             /*==== overwrite ====*/
  393.             overwriteButton = document.createElement('input');
  394.             overwriteButton.id= 'twcheese_radio_overwrite';
  395.             overwriteButton.type = 'radio';
  396.             overwriteButton.name = 'name_mode';
  397.             overwriteButton.value = 'overwrite';           
  398.             overwriteButton.style.marginLeft = '20px';
  399.             modeForm.appendChild(overwriteButton);         
  400.             modeForm.innerHTML += 'Sobrescrever nomes atuais';
  401.            
  402.             /*==== prepend ====*/
  403.             prependButton = document.createElement('input');
  404.             prependButton.id= 'twcheese_radio_prepend';
  405.             prependButton.type = 'radio';
  406.             prependButton.name = 'name_mode';
  407.             prependButton.value = 'prepend';
  408.             prependButton.style.marginLeft = '20px';
  409.             modeForm.appendChild(prependButton);
  410.             modeForm.innerHTML += 'Antecipa para atuais';          
  411.            
  412.             /*==== append ====*/
  413.             appendButton = document.createElement('input');
  414.             appendButton.id= 'twcheese_radio_append';
  415.             appendButton.type = 'radio';
  416.             appendButton.name = 'name_mode';
  417.             appendButton.value = 'append';
  418.             appendButton.style.marginLeft = '20px';
  419.             modeForm.appendChild(appendButton);
  420.             modeForm.innerHTML += 'Anexar aos nomes atuais';
  421.        
  422.         content.appendChild(modeForm);
  423.        
  424.        
  425.         /*==== buttons ====*/
  426.         var buttonDiv = document.createElement('div');
  427.         buttonDiv.align = 'center';
  428.         buttonDiv.style.padding = '10px';
  429.        
  430.             /*==== save button ====*/
  431.             var saveButton = document.createElement('button');
  432.             saveButton.onclick = function(){content.saveConfig();};
  433.             saveButton.innerHTML = 'Definir como padrao';
  434.             buttonDiv.appendChild(saveButton);
  435.            
  436.             /*==== confirm button ====*/
  437.             var confirmButton = document.createElement('a');
  438.             confirmButton.className = 'btn-default btn-green';
  439.             confirmButton.innerHTML = 'Nomear aldeias';
  440.             confirmButton.onclick = function()
  441.             {
  442.                 document.getElementById('twcheese_name_config').nameVillages();            
  443.             };
  444.             buttonDiv.appendChild(confirmButton);
  445.            
  446.             content.appendChild(buttonDiv);
  447.        
  448.     contentContainer.appendChild(content);
  449.     document.getElementById('content_value').appendChild(contentContainer);
  450.     $('#twcheese_config_table > tbody').sortable({handle: '.qbhandle', placeholder: 'sortable-placeholder'});
  451.     $('#twcheese_config_table > tbody').on('sortstop', function(){content.preview()});
  452.     UI.ToolTip('#twcheese_sector_help');
  453.  
  454.    
  455.     content.preview();
  456.    
  457.     /*==== apply default mode ====*/
  458.     content.mode = 'overwrite';
  459.     if(localStorage.getItem('twcheese_nameVillagesMode'))
  460.         content.mode = localStorage.getItem('twcheese_nameVillagesMode');
  461.     var selection = document.getElementById('twcheese_radio_'+content.mode);
  462.     selection.checked = true;
  463. };
  464.  
  465. /*==== calculators ====*/
  466.  
  467.     /**
  468.      *  @param  village1:Array(x,y)
  469.      *  @param  village2:Array(x,y)
  470.      *  @return distance:Number
  471.      */
  472.     twcheese.calculateDistance = function(village1,village2)
  473.     {
  474.         return Math.sqrt((village1[0]-village2[0])*(village1[0]-village2[0]) + (village1[1]-village2[1])*(village1[1]-village2[1]));
  475.     };
  476.  
  477. /*==== renamer ====*/
  478.     twcheese.renameVillages = function(config,mode)
  479.     {
  480.         try{
  481.         $('.quickedit-vn').each(function(key,village){ //each village
  482.             var villageId = $(village).attr('data-id');
  483.             var $label = $(village).find('.quickedit-label');
  484.             var originalFullName = $label.text();
  485.             var originalName = $label.attr('data-text');
  486.  
  487.             var continent = originalFullName.match(/[0-9]{1,2}/gi).pop();
  488.             var coordinates = originalFullName.match(/[0-9]{1,}\|[0-9]{1,}/gi).pop();
  489.             var coordX = coordinates.match(/[0-9]{1,}/);
  490.             var coordY = String(coordinates.match(/\|[0-9]{1,}/)).substring(1);        
  491.            
  492.             var name = '';
  493.             for(var j=0; j<config.length; j++) //each configuration option
  494.             {
  495.                 if(config[j].enabled)
  496.                 {
  497.                     if(config[j].name == 'number_villages')
  498.                     {                  
  499.                         var number = key+Number(config[j].startNum);
  500.                         var digits = config[j].digits;
  501.                         for(; String(number).length < digits; digits--)
  502.                             name += '0';
  503.                         name += number;                    
  504.                     }
  505.                     else if(config[j].name == 'distance')
  506.                     {
  507.                         var targetCoords = config[j].label.split('|');
  508.                         var targetX = targetCoords[0].match(/[0-9]{1,}/);
  509.                         var targetY = targetCoords[1].match(/[0-9]{1,}/);
  510.                         var distance = twcheese.calculateDistance([targetX,targetY],[coordX,coordY]);
  511.                         name += Math.round(distance*10)/10;
  512.                     }
  513.                     else
  514.                     {
  515.                         if(!config[j].noLabel)
  516.                             name += config[j].label; //write user-specified text
  517.                     }
  518.                    
  519.                     if(config[j].name == 'continent')
  520.                     {
  521.                         name += continent;
  522.                     }
  523.                     if(config[j].name == 'random_text')
  524.                     {
  525.                         var namePool = ['Cheese','Cheesy','Pickle','Noodle','Mc','Mega','Ultra','Super','Cuddle','Hug','Merge','Princess','Queen','O','Snappy','Dandy','Zippy','Fiddle','Harp','Chimes','Mooo','Quack','Oink','Penguin','Giraffe','Hippo','Sandals','Boots','Heels','Ninja','Pirate','Town','City','Burg','polis','ville','Land','Realm','Wand','Cape','Hat','Tickle','Smack','Kick','Armor','Sword','Shield','Happy','Sad','Grumpy','Forest','Lake','Mountain','Swamp','Fortress','Castle','Keep','Palace','Hall','Shiny','Dull','Hidden','King','Knight','Enchanted','Court','Bridge','Kingdom','Manor','Tower','Royal','Peasant','Unicorn','Dragon','Nightmare','Dark','Light','Red','Blue','Yellow','Green','Orange','Purple','Pink','Wood','Stone','Stick','Straw','Brick','Steel','Iron','Gold','Forge','Hut','Betrayal','Honor','Fellowship','Gardening','Cabbage','Potato','Pine','Oak','Bamboo','Flower','Daisy','Rose','Pansy','Fearless','Brave','Enduring','Fast','Slow','Steady','Strong'];
  526.                         for(var k=0; k<3; k++)
  527.                         {
  528.                             randomInt = Math.round(Math.random()*(namePool.length-1));
  529.                             name += namePool[randomInt];
  530.                         }
  531.                     }
  532.                     if(config[j].name == 'sector')
  533.                     {
  534.                         var tempX = Number(coordX);
  535.                         var tempY = Number(coordY);                    
  536.                        
  537.                         //==== sector ====
  538.                         if(Number(tempX) >= 100)
  539.                             tempX = Number(String(coordX).substring(1));
  540.                         if(Number(tempY) >= 100)
  541.                             tempY = Number(String(coordY).substring(1));
  542.                        
  543.                         var xPos = Math.floor(tempX/5);
  544.                         var yPos = Math.floor(tempY/5);
  545.                         var sector = yPos*20 + xPos;
  546.                        
  547.                         //==== field ====
  548.                         if(Number(tempX) >= 10)
  549.                             tempX = Number(String(tempX).substring(1));
  550.                         if(Number(tempY) >= 10)
  551.                             tempY = Number(String(tempY).substring(1));
  552.                        
  553.                         if(Number(tempX) >= 5)
  554.                             tempX = tempX - 5;
  555.                         if(Number(tempY) >= 5)
  556.                             tempY = tempY - 5;
  557.                         var field = tempY*5 + tempX;
  558.                        
  559.                         name += continent + ':' + sector + ':' + field;
  560.                     }
  561.                     if (config[j].name == 'direction') {
  562.                         var directionNames = [['NW','N','NE'],['W','C','E'],['SW','S','SE']];
  563.                        
  564.                         function getLocation(number) {
  565.                             if (number > 66) {
  566.                                 return 2;
  567.                             } else if (number > 33) {
  568.                                 return 1;
  569.                             } else {
  570.                                 return 0;
  571.                             }
  572.                         }
  573.                         var xLocation = getLocation(coordX % 100);
  574.                         var yLocation = getLocation(coordY % 100);
  575.                        
  576.                         name += directionNames[yLocation][xLocation];
  577.                     }
  578.                 }
  579.             }          
  580.            
  581.             if(mode == 'overwrite')
  582.                 name = name;
  583.             else if(mode == 'append')
  584.                 name = originalName + name;
  585.             else if(mode == 'prepend')
  586.                 name = name + originalName;
  587.            
  588.             if (name.length <= 32) {
  589.                 $(village).find('.rename-icon').click();
  590.                 $(village).find('input[type=text]').val(name);
  591.                 $(village).find('input[type=button]').click();
  592.             }
  593.             else
  594.                 UI.InfoMessage('Texto Excedeu Limite (max 32 caracteres).<br/>Novo nome nao aplicado a todas aldeias.',5000,'erro');
  595.        
  596.         });
  597.         }catch(e){alert(e)}
  598.     }
  599.  
  600. /*==== main ====*/
  601.     // register
  602.     var script =
  603.     {
  604.         scriptname: 'Renomeador de aldeias',
  605.         version: 1.0,
  606.         author: 'Nicholas Toby',
  607.         email: 'cheesasaurus@gmail.com',
  608.                 editor: 'Marcos Vinicius Dos Santos Marques',
  609.                 email: 'marcosvinicius.santosmarques@gmail.com',
  610.         broken: false
  611.     };
  612.     $.post(ScriptAPI.url,script);
  613.  
  614.     if (game_data.screen == 'overview_villages' || canNameVillages) {
  615.         twcheese.createNamerGUI();
  616.         var canNameVillages = true; //hack for bug where renaming villages changes game_data.screen
  617.     }
  618.     else {
  619.         UI.InfoMessage('Utilizar em visualizacoes gerais.',5000,'erro');
  620.     }
Add Comment
Please, Sign In to add comment