Advertisement
SalimFadhil

كامل مستخرج

Aug 2nd, 2018
483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 226.65 KB | None | 0 0
  1. // ==UserScript==
  2. // @name مستخرج الاحداثيات جديد
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description add arabic language by Abu.Rajih
  6. // @author Abu.Rajih
  7. // @match https://*/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. /*
  12. scriptname: Advanced Coords Extractor
  13. version: 1.0.0
  14. created: June 18, 2016
  15. game version: version 8.48.1
  16. author: Tsalkapone (tsalkapone@hotmail.com)
  17.  
  18. ==== pages where this can be used ====
  19. * all pages
  20.  
  21. ==== changelog ====
  22. * 18 June 2016 - created
  23.  
  24. ==== license ====
  25. * Copyright (C) 2016 Tsalkapone ~ Apostolos Tsalkitzis
  26.  
  27. This program is free software: you can redistribute it and/or modify
  28. it under the terms of the GNU General Public License as published by
  29. the Free Software Foundation, either version 3 of the License, or
  30. (at your option) any later version.
  31.  
  32. This program is distributed in the hope that it will be useful,
  33. but WITHOUT ANY WARRANTY; without even the implied warranty of
  34. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  35. GNU General Public License for more details.
  36.  
  37. You should have received a copy of the GNU General Public License
  38. along with this program. If not, see http://www.gnu.org/licenses/
  39. */
  40.  
  41.  
  42. /*
  43. _______________________________________________________________________________
  44. Added Arabic Language By : Abu.Rajih
  45. DateWroteScript: 03-08-2018
  46. URL: https://forum.tribalwars.ae/index.php?members/abu-rajih.40926/
  47. account: سيد الاساطير
  48. _______________________________________________________________________________
  49.  
  50. _______________________________________________________________________________
  51. ######## ## ######### $$ $$ ##
  52. ## ## ## ## ## ###### $$ $$ ##
  53. ## ## ## ## ## # ##
  54. ########## ## #### ## ## ## ## ######## ## ## #######
  55. ## ## ### ## ## ## ######## ## ## ## ## ## ##
  56. ## ## ## ## ## ## ## ## ## ## ## ## ## ##
  57. ## ## ## ## ## ## $$ ## ## ## ## ## ## ## ##
  58. ## ## ###### ##### $$ ## ## ###### # ## ## ## ##
  59. ##
  60. ## ##
  61. ####
  62. _______________________________________________________________________________
  63. */
  64.  
  65.  
  66. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  67. // $.twFarmFinder(branch,debugEnabled)
  68. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69.  
  70. (function($){
  71. var get_lang = localStorage.getItem("advanced_extractor_lang");
  72. var lang="";
  73. if (get_lang === null) {lang = "english";}
  74. else { lang = ""+get_lang+"";}
  75. var supported_languages =["greek","english","arabic"];
  76. var lang_check = supported_languages.indexOf(lang);
  77. if (lang_check < 0) {UI.ErrorMessage('<font color=gold><b><center>'+tsalkapone_trans.general.notification+' Tsalkapone</center></b></font> <br><br> The selected language is not supported. Please select one of the supported languages.', 5000);}
  78. else {
  79. var tsalkapone_trans = (function() {
  80. var tsalkapone_trans = {};
  81. tsalkapone_trans.english= {
  82. general:{
  83. script:"Advanced Coords-Extractor",
  84. menu:"Menu",
  85. notification:"Notification from",
  86. selected_one:"Current selected language",
  87. available:"Available languages",
  88. button_list:"Functions & Buttons List",
  89. lang_sel:"Click to change the selected language",
  90. message_no:"No",
  91. message_yes:"Yes",
  92. message_1:"This script is activated on Map.",
  93. message_2:" Do you want to automatically assign your location to this page?",
  94. comm:"Feel free to send any message regarding script bugs or proposing ideas to",
  95. funcs:"Functions' Description",
  96. buts:"Buttons",
  97. criteria:"Click to show/hide the Searching Criteria",
  98. major_list:"Core Functions",
  99. sxediasmos:"Click to show/hide the Table Design",
  100. scripts_pro:"Click to show/hide the Command-Scripts Production",
  101. tsal_styles:"Click to show/hide the Additional Stylization",
  102. tsal_useful:"Click to show/hide the Useful Links & Infos",
  103. updated:"Updated",
  104. vils:"Villages",
  105. pontoi:"Points",
  106. tribe:"Tribe",
  107. owner:"Owner",
  108. seq:"S/N", /* Sequence Number */
  109. no_data:"NO DATA",
  110. edited_by:"Edited by",
  111. crit:"Searching Criteria",
  112. crit1:"Variables",
  113. type_villages:"Select village type",
  114. all_villages:"All",
  115. selected_villages:"Selected",
  116. bonus_villages:"Bonus",
  117. tsal_villages:"Templates",
  118. choice1:"Bonus Hunters",
  119. choice2:"Ghost Barbarians",
  120. choice3:"The Train Stop",
  121. choice4:"Foreign Fortresses",
  122. choice5:"The Veterans",
  123. choice6:"The Rookies",
  124. choice7:"The Gold Mines",
  125. choice8:"The Unbroken Villages",
  126. yours:"Villages",
  127. my_tribe:"Τribe's villages",
  128. tsal_attention:"Available only with <u>Templates</u>",
  129. bonus_attention:"Available only with <u>Bonus</u>",
  130. no_tribe:"Players with no tribe",
  131. yes_tribe:"Players with tribe",
  132. barbs:"Barbarian villages",
  133. timi:"Values",
  134. cons:"Continent(-s)",
  135. map_area:"Map Area",
  136. vil_min:"Minimum village points",
  137. vil_max:"Maximum village points",
  138. square:"Distance Radius",
  139. fields:"Fields",
  140. center:"Symmetry center",
  141. names:"Players' names",
  142. exnames:"Friends",
  143. extags:"Family & Allies",
  144. tags:"Tribes' tags",
  145. left_top:"Top-left",
  146. right_bot:"Bottom-right",
  147. vil_bonus:"Bonus villages",
  148. type_bonus:"Bonus type",
  149. active_bonus:"Activate",
  150. barb_find:"Barbarians",
  151. barb_vil:"Barbarian village",
  152. wood_bonus:"+100% Wood Production",
  153. stone_bonus:"+100% Clay Production",
  154. iron_bonus:"+100% Iron Production",
  155. farm_bonus:"+10% Farm Population",
  156. inf_bonus:"-33% Infantry Recruitment",
  157. cav_bonus:"-33% Cavalry Recruitment",
  158. gar_bonus:"-50% Workshop Recruitment",
  159. res_bonus:"+30% All Resources",
  160. mer_bonus:"+50% Merchants & Storage",
  161. temp1:"The following table displays the searching's criteria of each template",
  162. temp2:"Template's name",
  163. temp3:"Criteria",
  164. temp1_info:"All bonus villages that belong to players",
  165. temp2_info:"All abandoned villages that exceed the maximum points of the barbarian villages. These are villages which used to be owned by players who got banned or restarted",
  166. temp2_info1:"Minimum points limit",
  167. temp3_info:"All villages that don't belong to your tribe or you and are inside the snob's distance's limit area from the selected village in <u>Symmetry's center</u>",
  168. temp4_info:"All non-barbarian villages that don't belong to your tribe or you and have a bonus on recruitments or bonus on farm population",
  169. temp5_info:"All villages that belong to players with lower id than yours (indicating that their account has logged in before yours)",
  170. temp6_info:"All villages that belong to players with higher id than yours (indicating that their account has logged in after yours)",
  171. temp7_info:"All villages that don't belong to your tribe or you and have any bonus on resources and more than 5.000 points. Also, all villages with more than 9.000 points",
  172. temp8_info:"All non-barbarian villages that don't belong to your tribe or you with bonus on workshop's recruitment",
  173. info_1:"Select one of the options displayed on the right.<br><br> If you select <b>All</b> any option regarding village's type, owner's name and tribe's tag will be disabled. You may select to include or exclude your tribe's or your own villages. <br><br> If you select <b>Selected</b> all of the following settings, except from <i>Bonus villages</i> and <i>Templates</i>, will be applied accordingly.<br><br> If you select <b>Bonus</b> the only village's type setting that will be applied are the ones displayed on the row titled as <u>Bonus Villages</u>.<br><br>If you select <b>Templates</b> a menu with various mixed settings will be displayed. Every other setting regarding villages' type will be disabled.",
  174. info_2:"<b>Check</b> this option to include barbarian villages in the searching's criteria. <br><b>Uncheck</b> to exclude them.",
  175. info_3:"<b>Check</b> this option to include players' villages, who don't belong in a tribe, in the searching's criteria. <br><b>Uncheck</b> to exclude them.",
  176. info_4:"<b>Check</b> this option to include players' villages, who belong in a tribe, in the searching's criteria. <br><b>Uncheck</b> to exclude them.",
  177. info_5:"<b>Check</b> any of the following options to include specific types of bonus villages in the searching's criteria. <br><br> Checking the option <b>Barbarians</b> the script will search for every non-bonus barbarian village.<br><br><b>Uncheck</b> any option to exclude it from the searching's criteria.",
  178. info_7:"<b>Check</b> this option to include your villages in the searching's criteria. <br><b>Uncheck</b> to exclude them.",
  179. info_8:"<b>Check</b> this option to include your tribe's villages in the searching's criteria. <br><b>Uncheck</b> to exclude them.",
  180. info1:"Enter the desired number(-s) of a continent (i.e. 445). <br><br> Enter as many as you wish separating them with <b>comma (,)</b>. For instance <b><i>45,55,45,54</i></b>.",
  181. info2:"Enter a <b>Top-left</b> and a <b>Bottom-right</b> <b><font color='red'>coordinate</font></b> to design a map area in which villages will be searched. <br><br> This method designs a rectangle in the Map where the script will execute the search of villages who fulfill the rest selected criteria.",
  182. info3:"Enter the minimun points of villages to be searched. The script will search for villages who have equal or more points than the entered value. <br><br> <u><b>Attention:</b></u> Don't use full stop (.) when entering a value i.e. enter 5000 instead of 5.000.",
  183. info4:"Enter the maximum points of villages to be searched. The script will search for villages who have equal or less points than the entered value. <br><br> <u><b>Attention:</b></u> Don't use full stop (.) when entering a value i.e. enter 5000 instead of 5.000.",
  184. info5:"Enter a number in the <b>Fields</b> and a coordinate in the <b>Symmetry center</b> to search for villages that are in a certain distance from a village. <br><br> <b>Fields:</b> The script will search for villages that are in equal or less distance than the entered value. <br><br><b>Symmetry center:</b> The script will search for villages around this coordinate. Every distance value is applied on this coordinate.",
  185. info6:"Enter the players' name whose villages will be included in the searching on the defined area of map. <br><br> Add as many players as you wish separating their names with <b> -- </b>. For instance <i>Tsalkapone--Dream Slayer</i>.",
  186. info7:"Enter the tribes' tag (not name) whose villages included in the searching on the defined area of map. <br><br> Add as many tribes as you wish separating their names with <b> -- </b>. For instance <i>G.O.--N*M</i>.",
  187. info8:"Enter the players' name whose villages will be <b><font color='red'>excluded</font></b> from the searching's criteria. <br><br> Add as many players as you wish separating their names with <b> -- </b>. For instance <i>Tsalkapone--Dream Slayer</i>.",
  188. info9:"Enter the tribes' tag (not name) whose villages will be <b><font color='red'>excluded</font></b> from the searching's criteria. <br><br> Add as many tribes as you wish separating their names with <b> -- </b>. For instance <i>G.O.--N*M</i>.",
  189. table_des:"Table Design",
  190. col_con:"Columns' Settings",
  191. col_styles:"Styles' Settings",
  192. sequ:"Numbering",
  193. col_plus:"Add column",
  194. syn:"Coords",
  195. settingsmenu:"Settings Menu",
  196. tsal_background:"Click to enable/disable a more stylish background",
  197. cur_vil:"Click to enter the last saved coordinate",
  198. all_map:"Click to enter values wherever needed (Map area, Continents, Distance radius) to include the whole map in the searching's criteria",
  199. claim_tag:"Add the [claim] tag to every coordinate displayed on the table.",
  200. points_bold:"Add the [b] tag (bold) to villages' points.",
  201. owner_bb:"Add the [player] tag to every player's name displayed on the table.",
  202. tribe_bb:"Add the [ally] tag to every tribe's tag displayed on the table.",
  203. seq_bb:"Add the [b] tag and <b><font color='red'>red color</font></b> to every numbering displayed on the table.",
  204. co_tit:"Title",
  205. col_title:"Enter a title for the extra column.",
  206. bb_codes:"BB-Codes",
  207. bold:"Bold",
  208. bold_color:"Bold & red color",
  209. player_tag:"Add the [player] tag to every row of this column.",
  210. t_player:"Player",
  211. t_name:"Name",
  212. player_tag_all:"Add a specific player's name to every row of this column.",
  213. tribe_tag:"Add the [tribe] tag to every row of this column.",
  214. t_tribe:"Tribe",
  215. t_tag:"Tag",
  216. tribe_tag_all:"Add a specific tribe's tag to every row of this column.",
  217. col_info:"<b>Check</b> any box on this column to enter a new column on the table's code using the checkbox's label as <b>column's title</b>. Each title represents the data-type of each extracted village that will be included in the table. <br><br> Checking an <b>Add column</b> option offers you the potential to enter your desired title.",
  218. tsal_links:"Useful Links & Infos",
  219. linkth:"Description",
  220. infoth:"Link & Infos",
  221. link1:"World Settings",
  222. link2:"World Stats",
  223. link3:"Growth Rankings",
  224. link4:"Conquer Map",
  225. link5:"Last updated ennoblements",
  226. link6:"Live ennoblements",
  227. link7:"Maximum barbarians' points",
  228. link8:"Maximum snob distance (in map fields)",
  229. new_tab:"Open link on a new tab",
  230. scripts_prod:"Produce Commands' Scripts",
  231. script1:"Fake Script No1",
  232. script2:"Fake Script No2",
  233. script3:"Fake scripts for tribal forum or mail",
  234. script4:"Farming Script",
  235. script5:"Nuke/Support Script",
  236. script_info1:"<b><u>Units Method:</u></b> This script chooses only one unit type to insert in the rally point. The unit's selection is based on the the units' speed. The first choice is ram and the last one is heavy. You can change the order in the variable <b><font color='red'>Tsalkapone_units_order</font></b>. <br><br><b><font color='maroon'>Note:</font></b> Scouts are an exception to this rule. Their selected value will be inserted regardless. <br><br> <b><u>Coords Method:</u></b> The script chooses a random coordinate out of the selected targets to enter as a target in the rally point.<br><br> Press <b>T</b> on your keyboard after you activate the script for more info.",
  237. script_info2:"<b><u>Units Method:</u></b> This script chooses only one unit type to insert in the rally point. The unit's selection is based on the the units' speed. The first choice is ram and the last one is heavy. You can change the order in the variable <b><font color='red'>Tsalkapone_units_order</font></b>. <br><br><b><font color='maroon'>Note:</font></b> Scouts are an exception to this rule. Their selected value will be inserted regardless. <br><br> <b><u>Coords Method:</u></b> The script chooses coordinates out of the selected targets in a consecutive order. You may enter a desired target choosing its coordinates from the <b>Targets' List</b>.<br><br> Press <b>T</b> on your keyboard after you activate the script for more info.",
  238. script_info3:"The code displayed on the right consists of the following scripts:<br><br>1. Fake script using all the available units and random coords' selection (see <b>Fake Script No1</b> for more info). <br><br>2. Fake script using all the available units and random coords' selection (see <b>Fake Script No2</b> for more info). <br><br>3. Fake script using ram or catapult and random coords' selection.<br><br> The code displayed is compatible with the game's bb-codes and can be paste as it is in tribal forums or as message's text in mail.",
  239. script_info4:"<b><u>Units Method:</u></b> This script chooses only one unit type to insert in the rally point. The unit's selection is based on the a unit's customizable priority-order. <br><br><b><font color='maroon'>Note:</font></b> Scouts are an exception to this rule. Their selected value will be inserted regardless. <br><br> <b><u>Coords Method:</u></b> The script chooses coordinates out of the selected targets in a consecutive order displaying the order's number of each target.<br><br> Press <b>T</b> on your keyboard after you activate the script for more info.",
  240. script_info5:"<b><u>Units Method:</u></b> The script will insert every selected value of every unit. If the available units of a unit-type are equal to zero the script will skip this unit-type. If it is above zero but below the selected value every remaining amount of the unit will be inserted. If you want to insert all the units of a specific unit-type just enter a high enough value i.e. <b>24000 or 1e6 (=1 million)</b>. For instance if you enter <b>1e6</b> in spears and swords the script will enter all the spearmen and the swordmen</u></b> . <br><br> <b><u>Coords Method:</u></b> The script chooses coordinates out of the selected targets in a consecutive order displaying the order's number of each target.<br><br><b><font color='red'>The script displayed on the right is modified to be used as a nuke script. It inserts every axe, light, ram, marcher and 100 scouts in the rally point.</font></b>.<br><br> Press <b>T</b> on your keyboard after you activate the script for more info.",
  241. c_results:"Searching's Results",
  242. tsal_format:"Define results' format",
  243. add_styles:"Additional Stylization",
  244. style_coords:"Coordinates",
  245. style_players:"Players",
  246. style_tribes:"Tribes",
  247. style_numbering:"Style numbering",
  248. style_order:"Vertical/Horizontal order",
  249. style_info1:"<b>Check</b> to add the [claim] bb-code to every extracted coordinate",
  250. style_info2:"<b>Check</b> to add the [player] bb-code to every extracted coordinate's owner",
  251. style_info3:"<b>Check</b> to add the [ally] bb-code to every extracted coordinate's owner's tribe",
  252. style_info4:"<b>Check</b> to add the [b] bb-code to every extracted coordinate's numbering element",
  253. style_info5:"<b>Check</b> to display the extracted coordinated in vertical order.<br><br><b>Uncheck</b> to display them in horizontal order",
  254. data_files:"Data's files information",
  255. data_type:"File's name",
  256. data_age:"File's age",
  257. data_status:"Files' status",
  258. data_tribes:"World's tribes' data file",
  259. data_players:"World's players' data file",
  260. data_villages:"World's villages' data file",
  261. data_attention:"ATTENTION: The transaction of each data's file may last up to several seconds",
  262. hint1:"Format's available codes",
  263. hint2:"Include numbering to every result",
  264. hint3:"Village's coordinates",
  265. hint4:"Village's points",
  266. hint5:"Village's name",
  267. hint6:"Village's owner's name",
  268. hint7:"Village's owner's tribe's tag",
  269. hint8:"Village's owner's tribe's name",
  270. hint9:"The continent where each village is",
  271. hint10:"Village's owner's tribe's points",
  272. hint11:"Village's owner's tribe's rank",
  273. hint12:"Village's owner's rank",
  274. hint13:"Village's owner's points",
  275. hint14:"Village's bonus",
  276. sample_text:"Format's preview example",
  277. format_info:"<b>Click</b> on the following text input to view the format's available codes. You may enter as many codes as you like. Any other character or symbol you add, that doesn't match any of the available codes, will be added as it is in every extracted coordinate. <br><br><b>Move your mouse</b> over the image on the left to preview an output's example of the current format.",
  278. core_info:"<b>Click</b> on any of the following buttons to operate one of the corresponding functions.<br><br><b>Search Villages:</b> search every village that fulfills the selected criteria.<br><br><b>Save Settings:</b> save every customizable value of the script. <u>Symmetry center</u>'s and <u>Map Area</u>'s values won't be saved. You may save the <u>Symmetry center</u>'s entered coordinates and use them by clicking on <u>Last village</u> button.<br>The <u>ON-OFF</u> values will also be saved.<br><br><b>Select Results:</b> select the output's text displayed on <u>Searching's Results</u>",
  279. data_info1:"This column displays how much time has passed since the last update of each data's file",
  280. data_info2:"If you haven't transacted a data's file the following text will appear",
  281. data_info3:"If a data's file consists of a large amount of elements you will be able to update it any time. In this case the following icon will appear",
  282. data_info4:"If a data's file hasn't been updated for more than an hour or consists of a large amount of elements you will be able to update it",
  283. forum_sc1:"Fake Script No1 - Random Coordinate",
  284. forum_sc2:"Fake Script No2 - Consecutive Coordinates",
  285. forum_sc3:"Fake Script No3 - Random Coordinate, Ram & Catapult Only",
  286. forum_1:"Press [b]T[/b] on your keyboard after you activate the script for more info regarding its variables and settings.",
  287. forum_2:"Script Code",
  288. },
  289. buttons:{
  290. lang_open:"Open language selection",
  291. lang_close:"Close language selection",
  292. set_show:"Show",
  293. set_hide:"Hide",
  294. close_popup:"Close popup",
  295. table_show:"Show table's code",
  296. table_hide:"Hide table's code",
  297. searching:"Search Villages",
  298. save_set:"Save Settings",
  299. results_select:"Select Results",
  300. show_bonus:"Show List",
  301. hide_bonus:"Hide List",
  302. cur_vil:"Last village",
  303. all_map:"All map",
  304. data_update:"Update data's file",
  305. },
  306. notes:{
  307. saved:"The Settings have been successfully saved",
  308. active:"The Advanced Coords-Extractor is already active",
  309. delayed:"Advanced Coords-Extractor has been activated. The loading may last some seconds to be completed. Thanks for your patience",
  310. up_vil:"You need to update the data files of the world's villages",
  311. up_pl:"You need to update the data files of the world's players",
  312. up_tr:"You need to update the data files of the world's tribes",
  313. last_coord:"There weren't found any saved coordinates. Make sure you click on Save Settings",
  314. searching:"Searching for villages. Do not interrupt while searching...",
  315. },
  316. };
  317. tsalkapone_trans.greek= {
  318. general:{
  319. script:"Αναζήτηση Χωριών",
  320. menu:"Μενού",
  321. notification:"Ειδοποίηση από τον",
  322. selected_one:"Ενεργή γλώσσα",
  323. available:"Διαθέσιμες γλώσσες",
  324. button_list:"Πίνακας πλήκτρων και λειτουργιών",
  325. lang_sel:"Επιλέξτε για να αλλάξετε την επιλεγμένη γλώσσα",
  326. message_no:"Όχι",
  327. message_yes:"Ναι",
  328. message_1:"Το συγκεκριμένο script ενεργοποιείται από το Χάρτη.",
  329. message_2:"Επιθυμείτε αυτόματη ανακατεύθυνση;",
  330. comm:"Επικοινωνήστε ανά πάσα στιγμή για οποιαδήποτε ιδέα ή πρόταση σχετικά με τα scripts με τον",
  331. funcs:"Περιγραφή λειτουργιών",
  332. buts:"Πλήκτρα",
  333. settingsmenu:"Κεντρικό μενού ρυθμίσεων",
  334. tsal_background:"Επιλογή για ενεργοποίηση/απενεργοποίηση εφέ εικόνας στο φόντο",
  335. criteria:"Επιλογή εμφάνισης/απόκρυψης Κριτηριών Αναζήτησης",
  336. major_list:"Κύριες λειτουργίες",
  337. sxediasmos:"Επιλογή εμφάνισης/απόκρυψης Σχεδιασμού Πίνακα",
  338. scripts_no:"Επιλογή εμφάνισης/απόκρυψης Παραγωγής scripts εντολών",
  339. tsal_styles:"Επιλογή εμφάνισης/απόκρυψης Πρόσθετων διαμορφώσεων",
  340. tsal_useful:"Επιλογή εμφάνισης/απόκρυψης Χρήσιμων Συνδέσμων & Πληροφοριών",
  341. updated:"Ανανεωμένο",
  342. vils:"Χωριά",
  343. pontoi:"Πόντοι",
  344. tribe:"Φυλή",
  345. owner:"Ιδιοκτήτης",
  346. seq:"Α/Α",
  347. no_data:"ΔΕΝ ΒΡΕΘΗΚΑΝ ΔΕΔΟΜΕΝΑ",
  348. edited_by:"Δημιουργήθηκε από τον",
  349. crit:"Κριτήρια Αναζήτησης",
  350. crit1:"Μεταβλητές",
  351. type_villages:"Επιλογή είδους χωριών",
  352. all_villages:"Όλα",
  353. selected_villages:"Επιλογή",
  354. bonus_villages:"Bonus",
  355. tsal_villages:"Πρότυπα",
  356. yours:"Χωριά",
  357. cur_vil:"Επιλέξτε για να εισάγετε τη τελευταία αποθηκευμένη συντεταγμένη",
  358. my_tribe:"Τα χωριά της φυλής",
  359. choice1:"Κυνηγοί bonus",
  360. choice2:"Βάρβαρα-Φαντάσματα",
  361. choice3:"Η Στάση του Τρένου",
  362. choice4:"Ξένα Φρούρια",
  363. choice5:"Οι Βετεράνοι",
  364. choice6:"Οι Αρχάριοι",
  365. choice7:"Τα Χρυσωρυχεία",
  366. choice8:"Τα Απόρθητα Χωριά",
  367. tsal_attention:"Διαθέσιμο μόνο με <u>Πρότυπα</u>",
  368. bonus_attention:"Διαθέσιμο μόνο με <u>Bonus</u>",
  369. no_tribe:"Παίκτες χωρίς φυλή",
  370. yes_tribe:"Παίκτες με φυλή",
  371. barbs:"Χωριά βαρβάρων",
  372. timi:"Τιμές",
  373. cons:"Ήπειρος (-οι)",
  374. map_area:"Περιοχή Χάρτη",
  375. all_map:"Επιλέξτε για να εισάγετε τιμές όπου χρειάζεται (Ήπειροι, Περιοχή Χάρτη, Ακτίνα απόστασης) για να συμπεριληφθεί όλος ο χάρτης στην αναζήτηση",
  376. vil_min:"Ελάχιστοι πόντοι χωριού",
  377. vil_max:"Μέγιστοι πόντοι χωριού",
  378. square:"Ακτίνα απόστασης",
  379. fields:"Πεδία",
  380. center:"Κέντρο",
  381. names:"Ονόματα παικτών",
  382. exnames:"Φίλοι",
  383. extags:"Φυλή & Σύμμαχοι",
  384. tags:"Ετικέτες φυλών",
  385. left_top:"Πάνω αριστερά",
  386. right_bot:"Κάτω δεξιά",
  387. vil_bonus:"Χωριά Bonus",
  388. type_bonus:"Είδος Bonus",
  389. active_bonus:"Ενεργοποίηση",
  390. barb_find:"Βάρβαρα",
  391. barb_vil:"Χωριό βαρβάρων",
  392. wood_bonus:"+100% Παραγωγή Ξύλου",
  393. stone_bonus:"+100% Παραγωγή Πηλού",
  394. iron_bonus:"+100% Παραγωγή Σιδήρου",
  395. farm_bonus:"+10% Πληθυσμός",
  396. inf_bonus:"-33% Στρατολόγηση Στρατώνα",
  397. cav_bonus:"-33% Στρατολόγηση Σταύλου",
  398. gar_bonus:"-50% Στρατολόγηση Εργαστηρίου",
  399. res_bonus:"+30% Όλοι οι πόροι",
  400. mer_bonus:"+50% 'Εμποροι & Αποθήκη",
  401. temp1:"Ο ακόλουθος πίνακας παρουσιάζει τα κριτήρια αναζήτησης κάθε πρότυπου",
  402. temp2:"Ονομασία πρότυπου",
  403. temp3:"Κριτήρια",
  404. temp1_info:"Όλα τα bonus χωριά που ανήκουν σε παίκτες",
  405. temp2_info:"Όλα τα χωριά βαρβάρων που υπερβαίνουν τους μέγιστους πόντους των βάρβαρων δηλώνοντας ότι κάποτε άνηκαν σε παίκτη",
  406. temp2_info1:"Κατώτατο όριο πόντων",
  407. temp3_info:"Όλα τα χωριά που δεν ανήκουν στη φυλή σου ή σε σένα και βρίσκονται εντός της επιτρεπόμενης απόστασης αριστοκράτη από το επιλεγμένο χωριό στο πεδίο <u>Κέντρο</u>",
  408. temp4_info:"Όλα τα χωριά παικτών που δεν ανήκουν στη φυλή σου ή σε σένα και έχουν κάποιο bonus στρατολόγησης ή πληθυσμού",
  409. temp5_info:"Όλα τα χωριά παικτών που έχουν μικρότερο id από το δικό σου (δηλώνοντας ότι δημιούργησαν το λογαριασμό τους νωρίτερα από το δικό σου)",
  410. temp6_info:"Όλα τα χωριά παικτών που έχουν μεγαλύτερο id από το δικό σου (δηλώνοντας ότι δημιούργησαν το λογαριασμό τους αργότερα από το δικό σου)",
  411. temp7_info:"Όλα τα χωριά που δεν ανήκουν σε σένα ή στη φυλή σου και έχουν κάποιο bonus παραγωγής πόρου και περισσότερους από 5.000 πόντους. Επίσης, όλα τα χωριά με περισσότερους από 9.000 πόντους",
  412. temp8_info:"Όλα τα χωριά παικτών που δεν ανήκουν σε σένα ή στη φυλή σου και έχουν bonus στρατολόγησης στο Εργαστήριο",
  413. info_1:"Επιλέξτε μία από τις διαθέσιμες επιλογές στα δεξιά.<br><br> Επιλέγοντας <b>Όλα</b> απενεργοποιείται κάθε ρύθμιση που αφορά είδος χωριού, όνομα ιδιοκτήτη και ετικέτα φυλής. Μπορείτε να καθορίσετε αν θα συμπεριληφθούν ή όχι τα χωριά σας ή τα χωριά της φυλής σας στην αναζήτηση. <br><br> Επιλέγοντας <b>Επιλογή</b> θα εφαρμοστούν όλες οι επιλεγμένες ρυθμίσεις, εκτός από αυτές που περιλαμβάνονται στις κατηγορίες <i>Χωριά Bonus</i> και <i>Πρότυπα</i>.<br><br> Επιλέγοντας <b>Bonus</b> θα εφαρμοστούν μόνο οι ρυθμίσεις στη κατηγορία <i>Χωριά Bonus</i> για τα είδη χωριών.<br><br> Επιλέγοντας <b>Πρότυπα</b> μια πληθώρα έτοιμων ρυθμίσεων θα εμφανιστεί. Επιλέξτε κατά βούληση. Η συγκεκριμένη επιλογή απενεργοποιεί κάθε άλλη ρύθμιση που αφορά είδη χωριών.",
  414. info_2:"<b>Επιλέξτε</b> τη συγκεκριμένη ρύθμιση για να συμπεριλάβετε στην αναζήτηση χωριά βαρβάρων. <br><b>Αποεπιλέξτε</b> για να αποκλείσετε.",
  415. info_3:"<b>Επιλέξτε</b> τη συγκεκριμένη ρύθμιση για να συμπεριλάβετε στην αναζήτηση χωριά παικτών χωρίς φυλή. <br><b>Αποεπιλέξτε</b> για να αποκλείσετε.",
  416. info_4:"<b>Επιλέξτε</b> τη συγκεκριμένη ρύθμιση για να συμπεριλάβετε στην αναζήτηση χωριά παικτών που ανήκουν σε φυλή. <br><b>Αποεπιλέξτε</b> για να αποκλείσετε.",
  417. info_5:"<b>Επιλέξτε</b> οποιοδήποτε επιλογή από τις ακόλουθες για να συμπεριλάβετε τα αναγραφόμενα είδη χωριών στην αναζήτηση. <br><br> Επιλέγοντας <b>Βάρβαρα</b> το script θα αναζητήσει κάθε βάρβαρο χωριό χωρίς bonus.<br><br><b>Αποεπιλέξτε</b> οποιαδήποτε επιλογή για να αποκλείσετε το αναγραφόμενο είδος χωριού από την αναζήτηση.",
  418. info_7:"<b>Επιλέξτε</b> τη συγκεκριμένη ρύθμιση για να συμπεριλάβετε στην αναζήτηση τα δικά σας χωριά. <br><b>Αποεπιλέξτε</b> για να αποκλείσετε.",
  419. info_8:"<b>Επιλέξτε</b> τη συγκεκριμένη ρύθμιση για να συμπεριλάβετε στην αναζήτηση τα χωριά της φυλής σας. <br><b>Αποεπιλέξτε</b> για να αποκλείσετε.",
  420. info1:"Εισάγετε τον επιθυμητό αριθμό Ηπείρου π.χ. 44. <br><br> Προσθέστε περισσότερους Ηπείρους διαχωρίζοντας τα νούμερά τους με <b>κόμμα</b>. Π.χ. <b><i>45,55,54,44</i></b>.",
  421. info2:"Εισάγετε στα πεδία <b>Πάνω αριστερά</b> και <b>Κάτω δεξιά</b> <u>συντεταγμένες χωριών</u> μεταξύ των οποίων θα αναζητηθούν χωριά στο χάρτη. <br><br>Η συγκεκριμένη μέθοδος αναζήτησης εφαρμόζει ένα πλαίσιο ορθογωνίου παραλληλογράμμου στο χάρτη εντός των ορίων του οποίου θα εκτελεστεί η διαδικασία αναζήτησης χωριών βάση κριτηρίων.",
  422. info3:"Εισάγετε τους <b>ελάχιστους πόντους</b> των χωριών βάση των οποίων θα αναζητηθούν χωριά στο χάρτη. <br><br>Σε περίπτωση που χρησιμοποιήσετε τετραψήφιο ή πενταψήφιο αριθμό μην προσθέσετε τελεία για διαχωρισμό χιλιάδων π.χ. εισάγετε 5000 αντί για 5.000.",
  423. info4:"Εισάγετε τους <b>μέγιστους πόντους</b> των χωριών βάση των οποίων θα αναζητηθούν χωριά στο χάρτη. <br><br>Σε περίπτωση που χρησιμοποιήσετε τετραψήφιο ή πενταψήφιο αριθμό μην προσθέσετε τελεία για διαχωρισμό χιλιάδων π.χ. εισάγετε 5000 αντί για 5.000.",
  424. info5:"Στη συγκεκριμένη κατηγορία αναζητείτε χωριά βάση <b>απόστασης</b> από μια συγκεκριμένη συντεταγμένη στο χάρτη. Η αναζήτηση απαιτεί το καθορισμό των εξής παραμέτρων: <br><br> <b><u>Πεδία:</u></b> εισάγετε τα μέγιστα πεδία απόστασης στο χάρτη από την επιλεγμένη συντεταγμένη βάση των οποίων θα αναζητηθούν χωριά. <br><br> <b><u>Κέντρο:</u></b> εισάγετε μια συντεταγμένη στο χάρτη που θα αποτελέσει το κέντρο συμμετρίας από το οποίο θα υπολογιστούν οι αποστάσεις αναζήτησης χωριών.",
  425. info6:"Εισάγετε ονόματα παικτών, των οποίων τα χωριά θα συμπεριληφθούν στην αναζήτηση στη καθορισμένη περιοχή χάρτη. <br><br>Προσθέστε ονόματα διαχωρίζοντας τα με <b> -- </b> π.χ. Tsalkapone--Dream Slayer",
  426. info7:"Εισάγετε ετικέτες (όχι ονομασίες) φυλών, των οποίων τα χωριά θα συμπεριληφθούν στην αναζήτηση στη καθορισμένη περιοχή χάρτη. <br><br> Προσθέστε ετικέτες φυλών διαχωρίζοντας τες με <b> -- </b> π.χ. GO--N*M",
  427. info8:"Εισάγετε ονόματα παικτών, των οποίων τα χωριά θα <b><font color='red'>αποκλειστούν</font></b> από την αναζήτηση. <br><br>Προσθέστε ονόματα διαχωρίζοντας τα με <b> -- </b> π.χ. Tsalkapone--Dream Slayer",
  428. info9:"Εισάγετε ετικέτες (όχι ονομασίες) φυλών, των οποίων τα χωριά θα <b><font color='red'>αποκλειστούν</font></b> από την αναζήτηση. <br><br> Προσθέστε ετικέτες φυλών διαχωρίζοντας τες με <b> -- </b> π.χ. GO--N*M",
  429. table_des:"Σχεδιασμός Πίνακα",
  430. col_con:"Ρυθμίσεις στηλών",
  431. col_styles:"Ρυθμίσεις εμφάνισης",
  432. sequ:"Αρίθμηση",
  433. col_plus:"Επιπλέον στήλη",
  434. syn:"Συντεταγμένες",
  435. claim_tag:"Προσθήκη του bb-code [claim] σε κάθε συντεταγμένη του πίνακα.",
  436. points_bold:"Προσθήκη του bb-code [b] (έντονη γραφή) στους πόντους των χωριών του πίνακα.",
  437. owner_bb:"Προσθήκη του bb-code [player] σε κάθε παίκτη του πίνακα.",
  438. tribe_bb:"Προσθήκη του bb-code [ally] σε κάθε φυλή του πίνακα.",
  439. seq_bb:"Προσθήκη του bb-code [b] (έντονη γραφή) και <b><font color='red'>κόκκινου χρωματισμού</font></b> σε κάθε αρίθμηση του πίνακα.",
  440. co_tit:"Τίτλος",
  441. col_title:"Εισαγωγή τίτλου για την πρόσθετη στήλη.",
  442. bb_codes:"BB-Codes",
  443. bold:"Έντονη γραφή",
  444. bold_color:"Έντονη γραφή & χρώμα",
  445. player_tag:"Προσθήκη του bb-code [player] σε κάθε γραμμή της συγκεκριμένης στήλης.",
  446. t_player:"Παίκτης",
  447. t_name:"Όνομα",
  448. player_tag_all:"Προσθήκη συγκεκριμένου ονόματος παίκτη σε κάθε γραμμή της συγκεκριμένης στήλης.",
  449. tribe_tag:"Προσθήκη του bb-code [tribe] σε κάθε γραμμή της συγκεκριμένης στήλης.",
  450. t_tribe:"Φυλή",
  451. t_tag:"Ετικέτα",
  452. tribe_tag_all:"Προσθήκη συγκεκριμένης ετικέτας φυλής σε κάθε γραμμή της συγκεκριμένης στήλης.",
  453. col_info:"<b>Επιλέξτε</b> οποιαδήποτε επιλογή της συγκεκριμένης στήλης για να προσθέτε μια στήλη στο πίνακα διατηρώντας την ετικέτα κάθε επιλογής ως <b>τίτλο στήλης</b>. Ο κάθε τίτλος αντιπροσωπεύει το είδος του δεδομένου κάθε εξαγώμενης συντεταγμένης που θα συμπεριληφθεί στο πίνακα. <br><br> Επιλέγοντας την επιλογή <b>Επιπλέον στήλη</b> σας προσφέρεται η δυνατότητα να εισάγετε ένα επιθυμητό τίτλο.",
  454. tsal_links:"Χρήσιμοι Σύνδεσμοι & Πληροφορίες",
  455. linkth:"Περιγραφή",
  456. infoth:"Σύνδεσμοι & Πληροφορίες",
  457. link1:"Ρυθμίσεις κόσμου",
  458. link2:"Στατιστικά κόσμου",
  459. link3:"Στατιστικά ανάπτυξης παικτών",
  460. link4:"Χάρτης κατακτήσεων",
  461. link5:"Τελευταία ενημέρωνες κατακτήσεις",
  462. link6:"Κατακτήσεις σε παρόντα χρόνο",
  463. link7:"Μέγιστοι πόντοι βάρβαρων",
  464. link8:"Μέγιστη απόσταση αριστοκράτη (σε πεδία στο χάρτη)",
  465. new_tab:"Άνοιγμα συνδέσμου σε νέα καρτέλα",
  466. scripts_pro:"Επιλογή εμφάνισης/απόκρυψης της Παραγωγής Scripts Εντολών",
  467. scripts_prod:"Παραγωγή Scripts Εντολών",
  468. script1:"Fake Script No1",
  469. script2:"Fake Script No2",
  470. script3:"Fake scripts για φυλετικό φόρουμ ή ταχυδρομείο",
  471. script4:"Farming Script",
  472. script5:"Nuke/Support Script",
  473. script_info1:"<b><u>Μέθοδος Μονάδων:</u></b> Το συγκεκριμένο script επιλέγει μόνο ένα είδος μονάδας για εισαγωγή. Η επιλογή μονάδας εξαρτάται από τη ταχύτητα των μονάδων. Αρχικά επιλέγει κριό και εν τέλει βαρύ. Δύναται να αλλάξετε τη σειρά προτεραιότητας στη μεταβλητή <b><font color='red'>Tsalkapone_units_order</font></b>. <br><br><b><font color='maroon'>Σημείωση:</font></b> Οι ανιχνευτές αποτελούν εξαίρεση στο κανόνα και η τιμή τους εισάγεται ανεξάρτητα. <br><br> <b><u>Μέθοδος Συντεταγμένων:</u></b> Το script επιλέγει μια τυχαία συντεταγμένη από τους επιλεγμένους στόχους για εισαγωγή.",
  474. script_info2:"<b><u>Μέθοδος Μονάδων:</u></b> Το συγκεκριμένο script επιλέγει μόνο ένα είδος μονάδας για εισαγωγή. Η επιλογή μονάδας εξαρτάται από τη ταχύτητα των μονάδων. Αρχικά επιλέγει κριό και εν τέλει βαρύ. Δύναται να αλλάξετε τη σειρά προτεραιότητας στη μεταβλητή <b><font color='red'>Tsalkapone_units_order</font></b>. <br><br><b><font color='maroon'>Σημείωση:</font></b> Οι ανιχνευτές αποτελούν εξαίρεση στο κανόνα και η τιμή τους εισάγεται ανεξάρτητα. <br><br> <b><u>Μέθοδος Συντεταγμένων:</u></b> Το script ακολουθεί διαδοχική επιλογή συντεταγμένων για εισαγωγή. Δύναται να επιλέξετε συγκεκριμένο στόχο από τη <b>Λίστα στόχων</b>",
  475. script_info3:"Ο κώδικας που παρατίθεται στα δεξιά περιλαμβάνει τα εξής scripts:<br><br>1. Fake script με τις διαθέσιμες μονάδες και τυχαία επιλογή στόχου (δείτε το <b>Fake Script No1</b> για περισσότερες πληροφορίες). <br><br>2. Fake script με διαθέσιμες μονάδες και διαδοχική και συγκεκριμένη επιλογή στόχου (δείτε το <b>Fake Script No2</b> για περισσότερες πληροφορίες). <br><br>3. Fake script με κριό ή καταπέλτη και τυχαία επιλογή στόχου.<br><br> Ο κώδικας είναι συμβατός με τους bb-codes του παιχνιδιού και δύναται να επικολληθεί όπως είναι σε φυλετικό φόρουμ ή σε μήνυμα ταχυδρομείου.",
  476. script_info4:"<b><u>Μέθοδος Μονάδων:</u></b> Το συγκεκριμένο script επιλέγει μόνο ένα είδος μονάδας για εισαγωγή. Η επιλογή μονάδας εξαρτάται από μια ρυθμιζόμενη σειρά προτεραιότητας. Αρχικά επιλέγει ελαφρύ ιππικό και εν τέλει κριό. <br><br><b><font color='maroon'>Σημείωση:</font></b> Οι ανιχνευτές αποτελούν εξαίρεση στο κανόνα και η τιμή τους εισάγεται ανεξάρτητα. <br><br> <b><u>Μέθοδος Συντεταγμένων:</u></b> Το script επιλέγει τις συντεταγμένες με διαδοχική ακολουθία παρουσιάζοντας κάθε φορά τη σειρά του στόχου στο σύνολο.",
  477. script_info5:"<b><u>Μέθοδος Μονάδων:</u></b> To script θα εισάγει τις επιλεγμένες τιμές κάθε μονάδας. Αν η τιμή μιας μονάδας εντός του μέρους συγκέντρωσης είναι ίση με το μηδέν τότε θα αγνοηθεί από το script. Αν είναι μικρότερη της επιλεγμένης θα εισαχθούν όλες οι εναπομείνατες μονάδες. Αν επιθυμείτε να εισάγετε όλο το πλήθος μιας μονάδας απλά επιλέξτε μια μεγάλη τιμή π.χ. 24000 ή 1e6 (=1.000.000). <br><br> <b><u>Μέθοδος Συντεταγμένων:</u></b> Το script επιλέγει τις συντεταγμένες με διαδοχική ακολουθία παρουσιάζοντας κάθε φορά τη σειρά του στόχου στο σύνολο.",
  478. c_results:"Αποτελέσματα Αναζήτησης",
  479. tsal_format:"Μορφή εξαγωγής αποτελεσμάτων",
  480. add_styles:"Πρόσθετες διαμορφώσεις αποτελεσμάτων",
  481. style_coords:"Συντεταγμένες",
  482. style_players:"Παίκτες",
  483. style_tribes:"Φυλές",
  484. style_numbering:"Στυλ αρίθμησης",
  485. style_order:"Κάθετη/Οριζόντια διάταξη",
  486. style_info1:"<b>Επιλέξτε</b> για να προσθέτε την ετικέτα [claim] σε κάθε συντεταγμένη",
  487. style_info2:"<b>Επιλέξτε</b> για να προσθέτε την ετικέτα [player] στον ιδιοκτήτη κάθε συντεταγμένης",
  488. style_info3:"<b>Επιλέξτε</b> για να προσθέτε την ετικέτα [ally] στη φυλή κάθε ιδιοκτήτη κάθε συντεταγμένης",
  489. style_info4:"<b>Επιλέξτε</b> για να προσθέτε την ετικέτα [b] σε κάθε αρίθμηση κάθε συντεταγμένης",
  490. style_info5:"<b>Επιλέξτε</b> για να εφαρμόσετε κάθετη διάταξη στη μορφή αποτελεσμάτων.<br><br><b>Αποεπιλέξτε</b> για να εφαρμόσετε οριζόντια διάταξη στη μορφή αποτελεσμάτων",
  491. data_files:"Δεδομένα αρχείων κόσμου",
  492. data_type:"Όνομα αρχείου",
  493. data_age:"Χρονική ηλικία αρχείου",
  494. data_status:"Κατάσταση ανανέωσης αρχείου",
  495. data_tribes:"Αρχείο φυλών του κόσμου",
  496. data_players:"Αρχείο παικτών του κόσμου",
  497. data_villages:"Αρχείο χωριών του κόσμου",
  498. data_attention:"ΠΡΟΣΟΧΗ: Η μεταφόρτωση των αρχείων του κόσμου ενδέχεται να αργήσει μέχρι μερικά δευτερόλεπτα",
  499. hint1:"Διαθέσιμοι κώδικες μορφοποίησης",
  500. hint2:"Εφαρμογή αρίθμησης",
  501. hint3:"Συντεταμένες χωριού",
  502. hint4:"Πόντοι χωριού",
  503. hint5:"Ονομασία χωριού",
  504. hint6:"Όνομα ιδιοκτήτη χωριού",
  505. hint7:"Ετικέτα φυλής ιδιοκτήτη χωριού",
  506. hint8:"Ονομασία φυλής ιδιοκτήτη χωριού",
  507. hint9:"Ήπειρος χωριού",
  508. hint10:"Πόντοι φυλής ιδιοκτήτη χωριού",
  509. hint11:"Κατάταξη φυλής ιδιοκτήτη χωριού",
  510. hint12:"Κατάταξη ιδιοκτήτη χωριού",
  511. hint13:"Πόντοι ιδιοκτήτη χωριού",
  512. hint14:"Bonus χωριού",
  513. sample_text:"Παράδειγμα τρέχουσας μορφοποίησης",
  514. format_info:"<b>Κλικάρετε</b> πάνω στο ακόλουθο πλαίσιο για να εμφανιστούν οι διαθέσιμοι κώδικες μορφοποίησης. Οποιοδήποτε άλλο σύμβολο ή χαρακτήρα εισάγετε στο πλαίσιο, που δεν είναι πανομοιότυπο με οποιοδήποτε από τους διαθέσιμους κώδικες, θα εισαχθεί σε κάθε εξαγώμενη συντεταγμένη όπως είναι. Η σειρά εμφάνισης κάθε χαρακτήρα ή κώδικα θα τηρήσει τη θέση του στο πλαίσιο. <br><br><b>Μετακινήστε το ποντίκι</b> πάνω από την εικόνα στα αριστερά για προεπισκόπηση ενός υποτιθέμενου εξαγώμενου αποτελέσματος.",
  515. core_info:"<b>Επιλέξτε</b> σε ένα από τα ακόλουθα πλήκτρα για να ενεργοποιήσετε την αντίστοιχη λειτουργία.<br><br><b>Αναζήτηση Χωριών:</b> αναζητήστε κάθε χωριό που πληρεί τα επιλεγμένα κριτήρια αναζήτησης.<br><br><b>Αποθήκευση Ρυθμίσεων:</b> αποθηκεύστε κάθε τιμή του script. Οι τιμές των πεδίων <u>Κέντρο</u> και <u>Περιοχή Χάρτη</u> δεν θα αποθηκευτούν. Ωστόσο, μπορείτε να αποθηκεύσετε τη τιμή του πεδίου <u>Κέντρο</u> και να την εισάγετε επιλέγοντας το πλήκτρο <u>Τελευταίο χωριό</u>.<br>Οι <u>ON-OFF</u> επιλογές θα αποθηκευτούν επίσης.<br><br><b>Επιλογή Αποτελεσμάτων:</b> επιλέξτε το κείμενο που εμφανίζεται στο πλαίσιο <u>Αποτελεσμάτων Αναζήτησης</u>",
  516. data_info1:"Η συγκεκριμένη στήλη υποδεικνύει το χρόνο που έχει μεσολαβήσει από τη τελευταία ενημέρωση κάθε τύπου αρχείου δεδομένων",
  517. data_info2:"Αν δεν έχετε μεταμορφώσει ένα αρχείο θα εμφανιστεί το ακόλουθο κείμενο",
  518. data_info3:"Αν ένα αρχείο αποτελείται από δεδομένα μεγάλου μεγέθους θα μπορείτε να το ανανεώνετε οποιαδήποτε στιγμή. Σε αυτή τη περίπτωση θα εμφανιστεί η ακόλουθη εικόνα",
  519. data_info4:"Αν ένα αρχείο δεν έχει ενημερωθεί για περισσότερο από μια ώρα ή αποτελείται από δεδομένα μεγάλου μεγέθους θα μπορείτε να το ανανεώσετε",
  520. forum_sc1:"Fake Script No1 - Τυχαία επιλογή συντεταγμένης",
  521. forum_sc2:"Fake Script No2 - Διαδοχική επιλογή συντεταγμένης",
  522. forum_sc3:"Fake Script No3 - Τυχαία επιλογή, μόνο κριός ή καταπέλτης",
  523. forum_1:"Επιλέξτε [b]T[/b] στο πληκτρολόγιό σας, εφόσον ενεργοποιήσετε το script για να λάβετε περισσότερες πληροφορίες για τις μεταβλητές του και πως μπορείτε να το ρυθμίσετε κατά βούληση",
  524. forum_2:"Κώδικας Script",
  525. },
  526. buttons:{
  527. lang_open:"Άνοιγμα επιλογής γλώσσας",
  528. lang_close:"Κλείσιμο επιλογής γλώσσας",
  529. set_show:"Εμφάνιση",
  530. set_hide:"Απόκρυψη",
  531. close_popup:"Κλείσιμο παραθύρου",
  532. table_show:"Εμφάνιση κώδικα πίνακα",
  533. table_hide:"Απόκρυψη κώδικα πίνακα",
  534. searching:"Αναζήτηση Χωριών",
  535. save_set:"Αποθήκευση Ρυθμίσεων",
  536. results_select:"Επιλογή Αποτελεσμάτων",
  537. show_bonus:"Εμφάνιση Λίστας",
  538. hide_bonus:"Απόκρυψη Λίστας",
  539. cur_vil:"Τελευταίο χωριό",
  540. all_map:"Όλος ο Χάρτης",
  541. data_update:"Ανανέωση δεδομένων",
  542. },
  543. notes:{
  544. saved:"Οι Ρυθμίσεις αποθηκεύτηκαν επιτυχώς",
  545. active:"Η Αναζήτηση Χωριών έχει ήδη ενεργοποιηθεί",
  546. delayed:"Η Αναζήτηση Χωριών ενεργοποιήθηκε. Η φόρτωση του script μπορεί να διαρκέσει μερικά δευτερόλεπτα. Ευχαριστώ για την υπομονή σας",
  547. up_vil:"Πρέπει να ανανεώσετε τα αρχεία δεδομένων των χωριών του κόσμου",
  548. up_pl:"Πρέπει να ανανεώσετε τα αρχεία δεδομένων των παικτών του κόσμου",
  549. up_tr:"Πρέπει να ανανεώσετε τα αρχεία δεδομένων των φυλών του κόσμου",
  550. last_coord:"Δεν βρέθηκαν αποθηκευμένες συντεταγμένες.",
  551. data_update:"Ανανέωση δεδομένων",
  552. searching:"Αναζήτηση χωριών. Μην διακόψετε την αναζήτηση μέχρι να ολοκληρωθεί...",
  553. },
  554. };
  555. tsalkapone_trans.arabic= {
  556. general:{
  557. script:"مستخرج الاحداثيات",
  558. menu:"القائمة",
  559. notification:"إعلان من",
  560. selected_one:"اللغة المحددة حالياً",
  561. available:"اللغات المتوفرة",
  562. button_list:"المهام & قائمة الأزرار",
  563. lang_sel:"أنقر لتغيير اللغة المحدده",
  564. message_no:"لا",
  565. message_yes:"نعم",
  566. message_1:"تم تشغيل السكربت على الخريطه",
  567. message_2:" هل تريد تعيين موقعك تلقائيًا لهذه الصفحة؟",
  568. comm:"لا تتردد في إرسال أي رسالة بخصوص أخطاء البرامج النصية أو اقتراح أفكار لها",
  569. funcs:"وصف الوظائف",
  570. buts:"الأزرار",
  571. criteria:"انقرا لإظهار / إخفاء معايير البحث",
  572. major_list:"وظائف اساسية",
  573. sxediasmos:"انقر لإظهار / إخفاء تصميم الجدول",
  574. scripts_pro:"انقر لإظهار / إخفاء برامج نصوص الأوامر",
  575. tsal_styles:"انقر لإظهار / إخفاء ساتيل اضافي ",
  576. tsal_useful:"انقر لعرض / إخفاء روابط ومعلومات مفيدة",
  577. updated:"محدث",
  578. vils:"القرى",
  579. pontoi:"النقاط",
  580. tribe:"القبيلة",
  581. owner:"صاحب",
  582. seq:"S/N", /* Sequence Number */
  583. no_data:"NO DATA",
  584. edited_by:"تم تعديله",
  585. crit:"معايير البحث",
  586. crit1:"معلومات",
  587. type_villages:"تصنيف القرى",
  588. all_villages:"الكل",
  589. selected_villages:"اختياري",
  590. bonus_villages:"علاوة",
  591. tsal_villages:"قوالب",
  592. choice1:"مكافأة الصيادين",
  593. choice2:"البربر العادي",
  594. choice3:"توقف القطار",
  595. choice4:"حصون خارجية",
  596. choice5:"قدامى المحاربين",
  597. choice6:"الناشئين",
  598. choice7:"مناجم الذهب",
  599. choice8:"القرى غير المنقطعة",
  600. yours:"قرى",
  601. my_tribe:"قرى القبيلة",
  602. tsal_attention:"متاح فقط مع <u>القوالب</u>",
  603. bonus_attention:"متاح فقط مع <u>العلاوة</u>",
  604. no_tribe:"لاعبين بلا قبيلة",
  605. yes_tribe:"لاعبين في القبيلة",
  606. barbs:"القرى البربرية",
  607. timi:"طريقة استخارج القرى",
  608. cons:"القارة",
  609. map_area:"منطقة الخريطة",
  610. vil_min:"الحد الادنى للنقاط",
  611. vil_max:"الحد الاعلى للنقاط",
  612. square:"نصف القطر",
  613. fields:"المجالات",
  614. center:"قريتك:",
  615. names:"أسماء اللاعبين",
  616. exnames:"الأصدقاء",
  617. extags:"القبيلة & الحلفاء",
  618. tags:"علامات القبائل",
  619. left_top:"أعلى اليسار",
  620. right_bot:"أسفل اليمين",
  621. vil_bonus:"علاوة القرى",
  622. type_bonus:"نوع العلاوة",
  623. active_bonus:"تفعيل",
  624. barb_find:"القرى البربرية",
  625. barb_vil:"القرى البربرية",
  626. wood_bonus:"+100% إنتاج خشب",
  627. stone_bonus:"+100% إنتاج طمي",
  628. iron_bonus:"+100% إنتاج حديد",
  629. farm_bonus:"+10% تعداد سكاني",
  630. inf_bonus:"+33% تجنيد المشاة",
  631. cav_bonus:"+33% تجنيد الفرسان",
  632. gar_bonus:"+50% الورشة",
  633. res_bonus:"+30% انتاج الموارد",
  634. mer_bonus:"+50% التجار ومساحة التخزين",
  635. temp1:"يعرض الجدول التالي معايير البحث لكل قالب",
  636. temp2:"إسم القالب",
  637. temp3:"المعايير",
  638. temp1_info:"جميع القرى مكافأة التي تنتمي إلى اللاعبين",
  639. temp2_info:"جميع القرى المهجورة التي تتجاوز الحد الأقصى للنقاط في القرى البربرية. هذه هي القرى التي كانت مملوكة للاعبين الذين تم حظرهم أو إعادة تشغيلهم",
  640. temp2_info1:"الحد الادنى للنقاط",
  641. temp3_info:"جميع القرى التي لا تنتمي إلى قبيلة أو أنت وضمن منطقة الحد المتاخمة للمسافة من القرية المختارة في مركز <u> التماثل </ u>",
  642. temp4_info:"جميع القرى غير البربرية التي لا تنتمي إلى قبيلة أو أنت ولديك مكافأة على التعيينات أو المكافآت على سكان المزارع",
  643. temp5_info:"جميع القرى التي تنتمي إلى لاعبين ذوي معرف منخفض عنك (مما يشير إلى أن حسابهم قد سجل دخوله من قبلك)",
  644. temp6_info:"جميع القرى التي تنتمي إلى لاعبين يتمتعون بمعرفة أعلى من تلك الخاصة بك (مما يشير إلى أن حسابهم قد سجل دخولك بعد تسجيل دخولك)",
  645. temp7_info:"جميع القرى التي لا تنتمي إلى قبيلة لك أو لديك أي مكافأة على الموارد وأكثر من 5.000 نقطة. أيضا ، جميع القرى مع أكثر من 9.000 نقطة",
  646. temp8_info:"جميع القرى غير البربرية التي لا تنتمي إلى قبيلة أو أنت مع مكافأة في تجنيد ورشة العمل",
  647. info_1:"حدد أحد الخيارات المعروضة على اليمين. <br> <br> إذا قمت بتحديد الخيار <b> الكل </ b> فيما يتعلق بنوع القرية ، فسيتم تعطيل اسم المالك وعلامة القبيلة. يمكنك اختيار تضمين أو استبعاد قبيلة أو قريتك الخاصة. <br> <br> إذا حددت <b> تم اختيار </ b> جميع الإعدادات التالية ، باستثناء <i> القرى المكافئة </ i> و <i> القوالب </ i> ، فسيتم تطبيقها وفقًا لذلك. < br> <br> إذا اخترت <b> مكافأة </ b> فإن إعداد نوع القرية الوحيد الذي سيتم تطبيقه هو الذي يتم عرضه على الصف المسمى <u> مكافئة القرى </ u>. <br> <br> إذا حددت <b> نماذج </ b> فسيتم عرض قائمة بها إعدادات مختلطة مختلفة. سيتم تعطيل كل الإعدادات الأخرى المتعلقة بنوع القرى.",
  648. info_2:"<b> حدد </ b> هذا الخيار لتشمل القرى البربرية في معايير البحث. <br> <b> ألغِ تحديد </ b> لاستبعادها.",
  649. info_3:"<b> حدد </ b> هذا الخيار لتشمل قرى اللاعبين ، الذين لا ينتمون إلى قبيلة ، في معايير البحث. <br> <b> ألغِ تحديد </ b> لاستبعادها.",
  650. info_4:"<b> حدد </ b> هذا الخيار لتشمل قرى اللاعبين ، الذين ينتمون إلى قبيلة ، في معايير البحث. <br> <b> ألغِ تحديد </ b> لاستبعادها.",
  651. info_5:"<b> حدد </ b> أي خيار من الخيارات التالية لتضمين أنواع محددة من القرى المكافأة في معايير البحث. <br> <br> فحص الخيار <b> البربرية </ b> سيقوم البرنامج النصي بالبحث عن كل قرية بربرية غير مكافأة. <br> <br> <b> قم بإلغاء تحديد أي خيار لإبعاده عن معايير البحث.",
  652. info_7:"<b> حدد </ b> هذا الخيار لتضمين قريتك في معايير البحث. <br> <b> ألغِ تحديد </ b> لاستبعادها.",
  653. info_8:"<b> حدد </ b> هذا الخيار لتضمين قريتك في قبيلة في معايير البحث. <br> <b> ألغِ تحديد </ b> لاستبعادها.",
  654. info1:"أدخل العدد المطلوب (s) لقارة (أي 445). <br> <br> أدخل العدد الذي تريده لتفصل بينها وبين <b> فاصلة (،) </ b>. على سبيل المثال <b> <i> 45،55،45،54 </ i> </ b>.",
  655. info2:"أدخل <b> أعلى يسار </ b> واتجاه <b> أسفل يسار </ b> <b> <font color = 'red'> </ font> </ b> لتصميم منطقة خريطة في القرى التي سيتم البحث فيها. <br> <br> تقوم هذه الطريقة بتصميم مستطيل في الخريطة حيث سيقوم البرنامج النصي بتنفيذ البحث عن القرى التي تستوفي بقية المعايير المحددة.",
  656. info3:"أدخل النقاط الدنيا من القرى ليتم البحث فيها. سيقوم البرنامج النصي بالبحث عن القرى التي لديها نقاط مساوية أو أكثر من القيمة المدخلة. <br> <br> <u> <b> انتباه: </ b> </ u> لا تستخدم التوقف الكامل (.) عند إدخال قيمة ، أي أدخل 5000 بدلاً من 5.000.",
  657. info4:"أدخل الحد الأقصى من نقاط القرى التي سيتم تفتيشها. سيقوم البرنامج النصي بالبحث عن القرى التي لديها نقاط مساوية أو أقل من القيمة المدخلة. <br> <br> <u> <b> انتباه: </ b> </ u> لا تستخدم التوقف الكامل (.) عند إدخال قيمة ، أي أدخل 5000 بدلاً من 5.000.",
  658. info5:"أدخل رقمًا في <b> الحقول </ b> وإحداثيًا في <b> مركز التماثل </ b> للبحث عن القرى الواقعة على مسافة معينة من إحدى القرى. <br> <br> <b> الحقول: </ b> سيقوم البرنامج النصي بالبحث عن القرى الواقعة على مسافة مساوية أو أقل من القيمة التي تم إدخالها. <br> <br> <b> مركز التماثل: </ b> سيبحث البرنامج النصي عن القرى حول هذا الإحداثيات. يتم تطبيق كل قيمة مسافة على هذا الإحداثيات.",
  659. info6:"أدخل اسم اللاعبين الذين سيتم تضمين قراهم في عملية البحث على المنطقة المحددة من الخريطة. <br> <br> أضف عدد اللاعبين الذين ترغب في فصل أسمائهم مع <b> - </ b>. على سبيل المثال <i> Tsalkapone - Dream Slayer </ i>.",
  660. info7:"أدخل علامة القبائل (وليس الاسم) التي تضم قريتها في البحث على المنطقة المحددة من الخريطة. <br> <br> أضف أكبر عدد ممكن من القبائل التي ترغب في فصل أسمائها مع <b> - </ b>. على سبيل المثال <i> G.O .-- N * M </ i>.",
  661. info8:"أدخل اسم اللاعبين الذين ستكون قريتهم <b> <font color = 'red'> مستبعدة </ font> </ b> من معايير البحث. <br> <br> أضف عدد اللاعبين الذين ترغب في فصل أسمائهم مع <b> - </ b>. على سبيل المثال <i> Tsalkapone - Dream Slayer </ i>.",
  662. info9:"أدخل علامة القبائل (وليس الاسم) التي ستكون <b> <font> = <red>> </ font> </ b> بها قرى من معايير البحث. <br> <br> أضف أكبر عدد ممكن من القبائل التي ترغب في فصل أسمائها مع <b> - </ b>. على سبيل المثال <i> G.O .-- N * M </ i>.",
  663. table_des:"تصميم الجدول",
  664. col_con:"إعدادات الأعمدة",
  665. col_styles:"اعدادات التصميم",
  666. sequ:"الترقيم",
  667. col_plus:"أضف العمود",
  668. syn:"اكواد ",
  669. settingsmenu:"قائمة الاعدادات",
  670. tsal_background:"انقر لتمكين / تعطيل خلفية أكثر أناقة",
  671. cur_vil:"انقر لإدخال آخر إحداثيات محفوظة",
  672. all_map:"انقر لإدخال القيم حيثما دعت الحاجة (منطقة الخريطة ، القارات ، نصف القطر) لتضمين الخريطة بأكملها في معايير البحث",
  673. claim_tag:"أضف العلامة [claim] إلى كل تنسيق يتم عرضه في الجدول.",
  674. points_bold:"أضف علامة [b] (غامق) إلى نقاط القرى.",
  675. owner_bb:"أضف علامة [player] إلى اسم كل لاعب معروض في الجدول.",
  676. tribe_bb:"أضف علامة [ally] إلى كل علامة من علامات القبيلة المعروضة على الطاولة.",
  677. seq_bb:"أضف العلامة [b] و <b> <font color = 'red'> اللون الأحمر </ font> </ b> إلى كل ترقيم معروض في الجدول.",
  678. co_tit:"العنوان",
  679. col_title:"Eأدخل عنوان للعمود الإضافي.",
  680. bb_codes:"BB-Codes",
  681. bold:"غامق",
  682. bold_color:"غامق & لون احمر",
  683. player_tag:"أضف علامة [player] إلى كل صف في هذا العمود.",
  684. t_player:"اللاعبن",
  685. t_name:"الاسم",
  686. player_tag_all:"أضف اسم لاعب محدد لكل صف من هذا العمود.",
  687. tribe_tag:"أضف علامة [tribe] إلى كل صف من هذا العمود.",
  688. t_tribe:"القبيلة",
  689. t_tag:"بطاقة",
  690. tribe_tag_all:"أضف علامة معينة من القبيلة لكل صف من هذا العمود.",
  691. col_info:"<b> حدد </ b> أي مربع في هذا العمود لإدخال عمود جديد على رمز الجدول باستخدام علامة خانة الاختيار كـ <b> عنوان العمود </ b>. يمثل كل عنوان نوع بيانات كل قرية مستخرجة سيتم تضمينها في الجدول. <br> <br> يتيح لك تحديد الخيار <b> إضافة عمود </ b> إمكانية إدخال العنوان الذي تريده.",
  692. tsal_links:"روابط ومعلومات مفيدة",
  693. linkth:"الوصف",
  694. infoth:"رابط & معلومات",
  695. link1:"إعدادات العالم",
  696. link2:"وحدات العالم",
  697. link3:"ترتيب النمو",
  698. link4:"قهر خريطة",
  699. link5:"اخر تحديثات",
  700. link6:"حدث عظيم",
  701. link7:"الحد الاعلى للنقاط",
  702. link8:"أقصى مسافة للمتأخر (في حقول الخريطة)",
  703. new_tab:"فتح الرابط على علامة تبويب جديدة",
  704. scripts_prod:"إنتاج البرامج النصية الأوامر",
  705. script1:"السكربت الوهمي 1",
  706. script2:"السكربت الوهمي 2",
  707. script3:"السكربت الوهمي للمنتدى او الرسائل",
  708. script4:"سكربت المزارع",
  709. script5:"سكربت دعم / نيوك",
  710. script_info1:"<b> <u> الوحدات النمطية: </ u> </ b> يختار هذا البرنامج النصي نوع وحدة واحدة فقط لإدراجه في نقطة التجمع. يعتمد اختيار الوحدة على سرعة الوحدات. الخيار الأول هو الكبش والآخر ثقيل. يمكنك تغيير الترتيب في المتغير <b> <font color = 'red'> Tsalkapone_units_order </ font> </ b>. <br> <br> <b> <font color = 'maroon'> ملاحظة: </ font> </ b> الكشافة هي استثناء لهذه القاعدة. سيتم إدراج قيمتها المختارة بغض النظر. <br> <br> <b> <u> طريقة Coords: </ u> </ b> يختار البرنامج النصي إحداثيًا عشوائيًا خارج الأهداف المحددة لإدخاله كهدف في نقطة التجمع. <br> <br> اضغط على <b> T </ b> على لوحة المفاتيح بعد تنشيط البرنامج النصي لمزيد من المعلومات.",
  711. script_info2:"<b> <u> الوحدات النمطية: </ u> </ b> يختار هذا البرنامج النصي نوع وحدة واحدة فقط لإدراجه في نقطة التجمع. يعتمد اختيار الوحدة على سرعة الوحدات. الخيار الأول هو الكبش والآخر ثقيل. يمكنك تغيير الترتيب في المتغير <b> <font color = 'red'> Tsalkapone_units_order </ font> </ b>. <br> <br> <b> <font color = 'maroon'> ملاحظة: </ font> </ b> الكشافة هي استثناء لهذه القاعدة. سيتم إدراج قيمتها المختارة بغض النظر. <br> <br> <b> <u> طريقة Coords: </ u> </ b> يختار البرنامج النصي إحداثيات خارج الأهداف المحددة بترتيب متتالي. يمكنك إدخال هدف مرغوب في اختيار إحداثياته من قائمة <b> الأهداف </ b>. <br> <br> اضغط على <b> T </ b> على لوحة المفاتيح بعد تنشيط البرنامج النصي لمزيد من المعلومات.",
  712. script_info3:"يتكون الرمز المعروض على اليمين من البرامج النصية التالية:<br><br>1. البرنامج النصي وهمية باستخدام جميع الوحدات المتاحة والكوول عشوائي' الاختيار (انظر <b> السيناريو المزيف No1 </ b> لمزيد من المعلومات). <BR> الصفحة 2. البرنامج النصي وهمية باستخدام جميع الوحدات المتاحة والكوول عشوائي' الاختيار (انظر <b> السيناريو المزيف No2 </ b> لمزيد من المعلومات). <BR> الصفحة 3. برنامج نصي مزيف باستخدام ذاكرة الوصول العشوائي أو المنجنيق و الاحداثيات اختيار. <br> <br> الكود المعروض متوافق مع اللعبة'من الكود bb-codes ويمكن لصقها في المنتديات القبلية أو كرسالة'نص ",
  713. script_info4:"<b> <u> الوحدات النمطية: </ u> </ b> يختار هذا البرنامج النصي نوع وحدة واحدة فقط لإدراجه في نقطة التجمع. يعتمد اختيار الوحدة على ترتيب أولوية الوحدة القابل للتخصيص. <br> <br> <b> <font color = 'maroon'> ملاحظة: </ font> </ b> الكشافة هي استثناء لهذه القاعدة. سيتم إدراج قيمتها المختارة بغض النظر. <br> <br> <b> <u> طريقة Coords: </ u> </ b> يختار البرنامج النصي إحداثيات من الأهداف المحددة بترتيب متتالي يعرض رقم الطلب لكل هدف. <br> <br> اضغط على <b> T </ b> على لوحة المفاتيح بعد تنشيط البرنامج النصي لمزيد من المعلومات.",
  714. script_info5:"<b> <u> الوحدات النمطية: </ u> </ b> سيقوم البرنامج النصي بإدراج كل قيمة محددة لكل وحدة. إذا كانت الوحدات المتوفرة من نوع الوحدة تساوي صفراً ، فإن البرنامج النصي سيتخطى هذا النوع من الوحدة. إذا كان أعلى من الصفر ولكن أقل من القيمة المحددة ، فسيتم إدراج كل مبلغ متبقي من الوحدة. إذا كنت ترغب في إدراج جميع الوحدات من نوع وحدة معين ، فأدخل قيمة عالية بما يكفي ، أي 24000 أو 1e6 (= 1 مليون) </ b>. على سبيل المثال ، إذا أدخلت <b> 1e6 </ b> في الرماح والسيوف ، فإن البرنامج النصي سيُدخل كل الرمح والسعاة </ u> </ b>. <br> <br> <b> <u> طريقة Coords: </ u> </ b> يختار البرنامج النصي إحداثيات من الأهداف المحددة بترتيب متتالي يعرض رقم الطلب لكل هدف. <br> <br> <b> <font color = 'red'> تم تعديل النص البرمجي المعروض على اليمين ليتم استخدامه كبرنامج نصي nuke. يقوم بإدراج كل فأس ، ضوء ، ذاكرة الوصول العشوائي ، marcher و 100 كشافة في نقطة التجمع. </ font> </ b>. <br> <br> اضغط على <b> T </ b> على لوحة المفاتيح بعد تنشيط النص البرمجي لمزيد من المعلومات.",
  715. c_results:"نتائج البحث",
  716. tsal_format:"تحديد شكل النتائج",
  717. add_styles:"تسايل اضافي",
  718. style_coords:"الاحداثيات",
  719. style_players:"اللاعبين",
  720. style_tribes:"القبائل",
  721. style_numbering:"اسلوب الترقيم",
  722. style_order:"عمودي / ترتيب أفقي",
  723. style_info1:"<b> حدد </ b> لإضافة شفرة المطالبة [المطالبة] إلى كل إحداثي مستخلص",
  724. style_info2:"<b> حدد </ b> لإضافة bbcode [player] إلى كل مالك لاستخراج مقتطفات",
  725. style_info3:"<b> حدد </ b> لإضافة bbcode [ally] إلى كل قبيلة مالك إحداثيات مقتطفات",
  726. style_info4:"<b> حدد </ b> لإضافة bb-code إلى كل عنصر ترقيم إحداثيات استخراج",
  727. style_info5:"<b> حدد </ b> لعرض المستخلص المنسق بترتيب عمودي. <br> <br> <b> ألغِ تحديد </ b> لعرضها بترتيب أفقي",
  728. data_files:"بيانات ملفات البيانات",
  729. data_type:"اسم الملف",
  730. data_age:"عمر الملف",
  731. data_status:"حالة الملفات",
  732. data_tribes:"ملف بيانات القبائل في العالم",
  733. data_players:"ملف بيانات اللاعبين في العالم",
  734. data_villages:"ملف بيانات قرى العالم",
  735. data_attention:"تنبيه: قد تستمر معاملة ملف كل البيانات لعدة ثوانٍ",
  736. hint1:"رموز التنسيق المتاحة",
  737. hint2:"تضمين الترقيم لكل نتيجة",
  738. hint3:"احداثيات القرى",
  739. hint4:"نقاط القرى",
  740. hint5:"اسم القرى",
  741. hint6:"اسم صاحب القرية",
  742. hint7:"شعار قبيلة مالك القرية",
  743. hint8:"اسم قبيلة مالك القرية",
  744. hint9:"القارة حيث كل قرية",
  745. hint10:"نقاط قبيلة مالك القرية",
  746. hint11:"ترتيب قبيلة مالك القرية",
  747. hint12:"ترتيب مالك القرية",
  748. hint13:"نقاط مالك القرية",
  749. hint14:"مكافئة القريه",
  750. sample_text:"مثال معاينة التنسيق",
  751. format_info:"<b> انقر فوق </ b> على إدخال النص التالي لعرض أكواد التنسيق المتاحة. يمكنك إدخال أي عدد تريده من الشفرات. سيتم إضافة أي حرف أو رمز آخر تضيفه ، لا يطابق أيًا من الرموز المتاحة ، كما هو الحال في كل إحداثي مستخلص. <br> <br> <b> حرك الماوس </ b> فوق الصورة الموجودة على اليمين لمعاينة مثال الإخراج الخاص بالتنسيق الحالي.",
  752. core_info:"<b> انقر فوق </ b> على أي من الأزرار التالية لتشغيل إحدى الوظائف المناظرة. <br> <br> <b> بحث في القرى: </ b> ابحث في كل قرية تحقق المعايير المحددة. <br> <br> <b> حفظ الإعدادات: </ b> احفظ كل قيمة قابلة للتخصيص للبرنامج النصي. لن يتم حفظ قيم <u> مركز التماثل </ u> و <u> منطقة الخريطة </ u>. يمكنك حفظ إحداثيات مركز <u> التماثل </ u> واستخدامها بالنقر فوق الزر <u> آخر قرية </ u>. </ strong> </ strong> ستقوم قيم <u> ON-OFF </ u> كما يمكن حفظها. <br> <br> <b> حدد النتائج: </ b> حدد نص الإخراج المعروض على <u> نتائج البحث </ u>",
  753. data_info1:"يعرض هذا العمود مقدار الوقت المنقضي منذ آخر تحديث لكل ملف بيانات",
  754. data_info2:"إذا لم تقم بمعاملة ملف البيانات ، فسيظهر النص التالي",
  755. data_info3:"إذا كان ملف البيانات يتكون من كمية كبيرة من العناصر ، فستتمكن من تحديثه في أي وقت. في هذه الحالة ، سيظهر الرمز التالي",
  756. data_info4:"إذا لم يتم تحديث ملف البيانات لأكثر من ساعة أو يتكون من كمية كبيرة من العناصر ، فستتمكن من تحديثه",
  757. forum_sc1:"سكربت الوهميات 1 - احداثيات عشوائية",
  758. forum_sc2:"سكربت الوهميات 2 - إحداثيات متتالية",
  759. forum_sc3:"سكربت الوهميات 3 - احداثيات عشوائية, محطمة & مقلاع فقط",
  760. forum_1:"اضغط على [b] T [/ b] على لوحة المفاتيح بعد تنشيط النص البرمجي للحصول على مزيد من المعلومات حول المتغيرات والإعدادات الخاصة به.",
  761. forum_2:"كود السكربت",
  762. },
  763. buttons:{
  764. lang_open:"احتيار لغة",
  765. lang_close:"اختيار اللغة المغلقة",
  766. set_show:"عرض",
  767. set_hide:"إخفاء",
  768. close_popup:"إغلاق النافذة المنبثقة",
  769. table_show:"إظهار رمز الجدول",
  770. table_hide:"إخفاء رمز الجدول",
  771. searching:"بحث للقرى",
  772. save_set:"حفظ الاعدادات",
  773. results_select:"اختر النتائج",
  774. show_bonus:"عرض القائمة",
  775. hide_bonus:"إخفاء القائمة",
  776. cur_vil:"اخر قرية",
  777. all_map:"الخريطة كاملة",
  778. data_update:"تحديث ملف البيانات",
  779. },
  780. notes:{
  781. saved:"تم حفظ الإعدادات بنجاح",
  782. active:"مستخرج الاحداثيات المتقدمه - نشط بالفعل",
  783. delayed:"تم تنشيط مستخرج الاحداثيات المتقدم. قد يستغرق التحميل بضع ثوانٍ حتى يكتمل. شكرا لصبرك",
  784. up_vil:"تحتاج الى تحديث بيانات قرى العالم",
  785. up_pl:"تحتاج الى تحديث بيانات قرى اللاعبين",
  786. up_tr:"تحتاج الى تحديث بيانات قرى القبائل",
  787. last_coord:"لم يتم العثور على أي إحداثيات محفوظة. تأكد من النقر فوق حفظ الإعدادات",
  788. searching:"البحث عن القرى. لا تقاطع أثناء البحث ...",
  789. },
  790. };
  791. return tsalkapone_trans[lang];
  792. }());
  793.  
  794. if (document.getElementById('tsalkapone_FarmFinderPopup'))
  795. {UI.SuccessMessage('<font color=gold><b><center><u>'+tsalkapone_trans.general.notification+' Tsalkapone</u></center></b></font> <br><br> '+tsalkapone_trans.notes.active+'.', 5000);}
  796.  
  797. else {
  798.  
  799.  
  800.  
  801. {UI.SuccessMessage('<font color=gold><b><center><u>'+tsalkapone_trans.general.notification+' Tsalkapone</u></center></b></font> <br><br> '+tsalkapone_trans.notes.delayed+'.', 5000);}
  802. var tsaldiamorfwsi='<link rel="stylesheet" type="text/css" href="https://dl.dropboxusercontent.com/s/r3ov8brxa6oxoal/Tsalkapone.Advanced_Coords_Extractor.css" />';
  803. var tsalbody='<style>';
  804. tsalbody+='.tsalkembed1{ font-family: "Comic Sans MS", cursive, sans-serif;font-style:italic;color: gold;-webkit-animation: mymove1 3s infinite; -moz-animation: mymove1 3s infinite; animation: mymove1 6s infinite;font-weight: bold;}';
  805. tsalbody+='@-webkit-keyframes mymove1 {50% {color: red;}} @-moz-keyframes mymove1 {50% {color: red;}} @keyframes mymove1 {50% {color:red;}';
  806. tsalbody+='</style>';
  807.  
  808. $("head").append(tsaldiamorfwsi+tsalbody);
  809.  
  810.  
  811. var lang_img='';
  812. if (lang=="greek") {lang_img ='<img title="Ελληνικά" style="cursor:help;" height="20px" width="30px" src="https://dl.dropboxusercontent.com/s/ivyojb6w9cb9pem/flag_greece.gif">';}
  813. else if (lang=="english") {lang_img ='<img height="20px" style="cursor:help;" title="English/American" width="30px" src="https://dl.dropboxusercontent.com/s/y6tn9ko0g8k2xfx/flagenglezicon.gif">';}
  814. else if (lang=="arabic") {lang_img ='<img height="20px" style="cursor:help;" title="arabic/العربية" width="30px" src="https://dl.dropboxusercontent.com/s/p4730smmx13rdjm/AbuRajih.gif">';}
  815. var win=(window.main||self);
  816.  
  817. var script={
  818. id:'{AD48DC2A-89F2-4B3D-A9E3-E9352A763DA0}',
  819. name:'Advanced Coords Extractor',
  820. version:1.01,
  821. minGameVersion:7.00,
  822. author:{
  823. name:'Tsalkapone',
  824. email:'tsalkapone@hotmail.com',
  825. url:'https://forum.tribalwars.net/index.php?members/tsalkapone.114063/'
  826. },
  827. credit:'',
  828. runOnce:true
  829. };
  830.  
  831. // Replace these strings with the correct language translation.
  832. var config={
  833. 'userMsg':{
  834. }
  835. };
  836.  
  837. // ........................................................................
  838. function fnAjax(url,method,params,type,isAsync,callback){
  839. var payload=null;
  840.  
  841. $.ajax({
  842. 'async':isAsync,
  843. 'url':url,
  844. 'data':params,
  845. 'dataType':type,
  846. 'type':String(method||'GET').toUpperCase(),
  847. 'error':function(req,status,err){throw(status);},
  848. 'success':function(data,status,req){if(!isAsync){payload=data;}if(typeof(callback)=='function'){callback(data,status,req);}}
  849. });
  850.  
  851. if(!isAsync){
  852. if(typeof(callback)=='function'){
  853. callback(payload);
  854. }
  855.  
  856. return payload;
  857. }
  858. } // fnAjax
  859. // ........................................................................
  860.  
  861. function loadXMLDoc() {
  862. var xmlhttp = new XMLHttpRequest();
  863. xmlhttp.onreadystatechange = function() {
  864. if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
  865. myFunction(xmlhttp);
  866. }
  867. };
  868. xmlhttp.open("GET", "/interface.php?func=get_config", true);
  869. xmlhttp.send();
  870. }
  871. function myFunction(xml) {
  872. var xmlDoc = xml.responseXML;
  873. var table="";
  874. var x = xmlDoc.getElementsByTagName("config")[0];
  875. var x1=x.getElementsByTagName('barbarian_max_points')[0].childNodes[0].textContent; /* or textContent */
  876. var x2=x.getElementsByTagName('max_dist')[0].childNodes[0].textContent;
  877. localStorage.setItem('barb_max',x1);
  878. localStorage.setItem('snob_dist',x2);
  879. }
  880.  
  881. loadXMLDoc();
  882. var pageurltsal = window.location.href;
  883. var pageurltsal1 = pageurltsal.split("//");
  884. var pageurltsal2 = pageurltsal1[1].split("/");
  885. var pageurltsal3 = pageurltsal1[1].split(".");
  886. var pageurltsal5 = pageurltsal3[2].split("/");
  887. var xwra ='';
  888. if (game_data.market != "en") { xwra = game_data.market+"."; }
  889. var pageurltsal4 = pageurltsal3[1]+"."+pageurltsal5[0];
  890. var Tsalsite1='http://' +xwra+'twstats.com/' + game_data.world + '/index.php?page=ennoblements&live=live';
  891. var Tsalsite2='https://' + pageurltsal2[0] + '/stat.php?mode=settings';
  892. var Tsalsite3='https://' + pageurltsal2[0] + '/stat.php';
  893. var Tsalsite4='http://' +xwra+'twstats.com/' + game_data.world + '/index.php?page=ennoblements';
  894. var Tsalsite5='http://' +xwra+'twstats.com/' + game_data.world + '/index.php?page=growth_rankings';
  895. var Tsalsite6='http://' +xwra+'twstats.com/' + game_data.world + '/index.php?page=conquer_map';
  896.  
  897.  
  898.  
  899.  
  900. function fnExecute(branch,debugEnabled){try{
  901. var villagesDAT=null;
  902. var playersDAT=null;
  903. var tribesDAT=null;
  904. var resultCoords=[];
  905. var detail={};
  906.  
  907.  
  908. // ........................................................................
  909. function fnBuildPlayerIDList(playerNames){
  910. var playerIDList=null;
  911.  
  912. if(playerNames&&(playerNames.length>0)){
  913. playerIDList=[];
  914.  
  915. $.each(playerNames,function(i,e){
  916. var name=e.toLowerCase();
  917.  
  918. if(playersDAT[name]){
  919. playerIDList.push(playersDAT[name].id);
  920. }
  921. });
  922. }
  923.  
  924. return playerIDList;
  925. } // fnBuildPlayerIDList
  926. // ........................................................................
  927. function fnBuildTribeIDList(tribeTags){
  928. var tribeIDList=null;
  929.  
  930. if(tribeTags&&(tribeTags.length>0)){
  931. tribeIDList=[];
  932.  
  933. $.each(tribeTags,function(i,e){
  934. var tag=e.toLowerCase();
  935.  
  936. if(tribesDAT[tag]){
  937. tribeIDList.push(tribesDAT[tag].id);
  938. }
  939. });
  940. }
  941.  
  942. return tribeIDList;
  943. } //fnBuildTribeIDList
  944. // ........................................................................
  945. function fnFindPlayer(playerID){
  946. var player=null;
  947.  
  948. $.each(playersDAT,function(i,e){
  949. if(e.id==playerID){
  950. player=e;
  951. return true;
  952. }
  953. });
  954.  
  955. return player;
  956. } //fnFindPlayer
  957. // ........................................................................
  958. function fnFindTribe(tribeID){
  959. var tribe=null;
  960.  
  961. $.each(tribesDAT,function(i,e){
  962. if(e.id==tribeID){
  963. tribe=e;
  964. return true;
  965. }
  966. });
  967.  
  968. return tribe;
  969. } //fnFindTribe
  970. // ........................................................................
  971. function Point(x,y){return {'x':x,'y':y};}
  972. // ........................................................................
  973. function Rect(top,left,bottom,right){return {'top':top,'left':left,'bottom':bottom,'right':right};}
  974. // ........................................................................
  975. function pointInRect(point,rect){return(point.x>=rect.left&&point.x<=rect.right&&point.y>=rect.top&&point.y<=rect.bottom);}
  976. // ........................................................................
  977. function fnIsInsideRegion(coord,mapRegion){
  978. var tempCoord1=twUtil.extractCoord(coord);
  979. if(!tempCoord1){
  980. return false;
  981. }
  982.  
  983. var tempCoord2=twUtil.extractCoord(mapRegion.topLeft);
  984. if(!tempCoord2){
  985. return false;
  986. }
  987.  
  988. var tempCoord3=twUtil.extractCoord(mapRegion.bottomRight);
  989. if(!tempCoord3){
  990. return false;
  991. }
  992.  
  993. tempCoord1=tempCoord1.split('|');
  994. tempCoord2=tempCoord2.split('|');
  995. tempCoord3=tempCoord3.split('|');
  996.  
  997. // ##################################################################
  998. // HACK: not sure why I need to reverse the x/y co-ordinates here ???
  999. // ##################################################################
  1000. var point=Point(tempCoord1[1],tempCoord1[0]);
  1001. // ##################################################################
  1002.  
  1003. var rect=Rect(tempCoord2[0],tempCoord2[1],tempCoord3[0],tempCoord3[1]);
  1004.  
  1005. return pointInRect(point,rect);
  1006. } // fnIsInsideRegion
  1007. // ........................................................................
  1008.  
  1009. function fnFindFarms(){
  1010.  
  1011. twUtil.debug('<span style="color:gray;">CALL: fnFindFarms()...</span>');
  1012.  
  1013. var alertMsg='<font color=gold><b><center><u>'+tsalkapone_trans.general.notification+' Tsalkapone</u></center></b></font><br><br>';
  1014. if(!(villagesDAT&&$.trim(JSON.stringify(villagesDAT)))){
  1015. alertMsg+='<font color=white><b>'+tsalkapone_trans.notes.up_vil+'</b></font><br>';
  1016. }
  1017. if(!(playersDAT&&$.trim(JSON.stringify(playersDAT)))){
  1018. alertMsg+='<font color=white><b>'+tsalkapone_trans.notes.up_pl+'</b></font><br>';
  1019. }
  1020. if(!(tribesDAT&&$.trim(JSON.stringify(tribesDAT)))){
  1021. alertMsg+='<font color=white><b>'+tsalkapone_trans.notes.up_tr+'</b></font><br>';
  1022. }
  1023. if(!(villagesDAT&&$.trim(JSON.stringify(villagesDAT))) || !(playersDAT&&$.trim(JSON.stringify(playersDAT))) || !(tribesDAT&&$.trim(JSON.stringify(tribesDAT)))){
  1024. UI.ErrorMessage(alertMsg, 10000);
  1025.  
  1026.  
  1027. return;
  1028. }
  1029.  
  1030.  
  1031. var curConfig=fnCurrentConfig();
  1032.  
  1033. //NOTE: these fields are not part of the std config (we don't want to save it)
  1034. var srcCoord=twUtil.extractCoord((curConfig.radius>0)?$.trim($('#tsalkapone_RadiusCentre').val()):'')||win.game_data.village.coord;
  1035. var mapRegion={
  1036. topLeft:twUtil.extractCoord($.trim($('#tsalkapone_MRTopLeft').val()))||'000|000',
  1037. bottomRight:twUtil.extractCoord($.trim($('#tsalkapone_MRBottomRight').val()))||'999|999',
  1038. };
  1039. var hasPlayerFilter1=!!$.trim($('#tsalkapone_exPlayers').val());
  1040. var hasTribeFilter1=!!$.trim($('#tsalkapone_exTribes').val());
  1041. var hasPlayerFilter=!!$.trim($('#tsalkapone_Players').val());
  1042. var hasTribeFilter=!!$.trim($('#tsalkapone_Tribes').val());
  1043.  
  1044. // Build PlayerID List.
  1045. // TODO...
  1046. var playerIDs=fnBuildPlayerIDList(curConfig.players);
  1047. var playerIDs1=fnBuildPlayerIDList(curConfig.explayers);
  1048.  
  1049. //Build TribeID List.
  1050. // TODO...
  1051. var tribeIDs=fnBuildTribeIDList(curConfig.tribes);
  1052. var tribeIDs1=fnBuildTribeIDList(curConfig.extribes);
  1053.  
  1054. // Reset the co-ordinates.
  1055. resultCoords=[];
  1056.  
  1057. $.each(villagesDAT,function(i,e){
  1058. var player=null;
  1059. var tribe=null;
  1060.  
  1061. // Ignore your own villages.
  1062. /* if(curConfig.myvillages){
  1063. if(e.ownerID==win.game_data.player.id){
  1064. player=fnFindPlayer(e.ownerID);
  1065. tribe=player?fnFindTribe(player.tribeID):null;
  1066. resultCoords.push(e.coord);
  1067. detail[e.coord]={village:e,player:player,tribe:tribe}; // TODO: allow your own villages.
  1068. return true;
  1069. }
  1070. } */
  1071.  
  1072. // Min Points Filter.
  1073. if((curConfig.minPoints>=0)&&(e.points<curConfig.minPoints)){
  1074. return true;
  1075. }
  1076.  
  1077. // Max Points Filter.
  1078. if((curConfig.maxPoints>=0)&&(e.points>curConfig.maxPoints)){
  1079. return true;
  1080. }
  1081.  
  1082. // Radius Filter.
  1083. if((curConfig.radius>0)&&srcCoord&&(twUtil.fields(srcCoord,e.coord)>curConfig.radius)){
  1084. return true;
  1085. }
  1086.  
  1087. // Map Region Filter.
  1088. if(!fnIsInsideRegion(e.coord,mapRegion)){
  1089. return true;
  1090. }
  1091.  
  1092. // Continent Filter.
  1093. if(curConfig.continents&&(curConfig.continents.length>0)&&(curConfig.continents.indexOf(e.continent)<0)){
  1094. return true;
  1095. }
  1096.  
  1097. // All villages Filter.
  1098. if(curConfig.AllVillages){
  1099.  
  1100. player=fnFindPlayer(e.ownerID);
  1101. tribe=player?fnFindTribe(player.tribeID):null;
  1102. if(e.ownerID==win.game_data.player.id&&!curConfig.myvillages){
  1103.  
  1104. return true;
  1105. }
  1106. if (!curConfig.mytribe&&player.tribeID==win.game_data.player.ally&&e.ownerID!=win.game_data.player.id){
  1107. return true;
  1108. }
  1109.  
  1110.  
  1111. else{
  1112. player=fnFindPlayer(e.ownerID);
  1113. tribe=player?fnFindTribe(player.tribeID):null;
  1114. resultCoords.push(e.coord);
  1115. detail[e.coord]={village:e,player:player,tribe:tribe};
  1116. return true;
  1117. }
  1118.  
  1119. }
  1120. // Selected Criteria Filter
  1121.  
  1122. else if(curConfig.Selectedcriteria){
  1123.  
  1124. player=fnFindPlayer(e.ownerID);
  1125. tribe=player?fnFindTribe(player.tribeID):null;
  1126.  
  1127. // Player Filter.
  1128. if(hasPlayerFilter1&&playerIDs1&&(playerIDs1.indexOf(e.ownerID)>=0)){
  1129.  
  1130. return true;
  1131. }
  1132.  
  1133. // Tribe Filter.
  1134. if(hasTribeFilter1&&tribeIDs1){
  1135. if(player&&player.tribeID&&(tribeIDs1.indexOf(player.tribeID)>=0)){
  1136.  
  1137. return true;
  1138. } }
  1139.  
  1140.  
  1141. if (curConfig.mytribe){
  1142. player=fnFindPlayer(e.ownerID);
  1143. tribe=player?fnFindTribe(player.tribeID):null;
  1144. if(player.tribeID==win.game_data.player.ally&&e.ownerID!=win.game_data.player.id){
  1145. resultCoords.push(e.coord);
  1146. detail[e.coord]={village:e,player:player,tribe:tribe};
  1147. return true;
  1148. }
  1149. }
  1150. else if (e.tribeID==win.game_data.player.ally){
  1151. return true;
  1152. }
  1153.  
  1154. if(!curConfig.myvillages) {
  1155. if(e.ownerID==win.game_data.player.id){
  1156.  
  1157. return true;
  1158. }}
  1159. else if (e.ownerID==win.game_data.player.id){
  1160. player=fnFindPlayer(e.ownerID);
  1161. tribe=player?fnFindTribe(player.tribeID):null;
  1162. resultCoords.push(e.coord);
  1163. detail[e.coord]={village:e,player:player,tribe:tribe}; // TODO: allow your own villages.
  1164. return true;
  1165. }
  1166. // No tribe Filter.
  1167. if(curConfig.Notribe){
  1168. player=fnFindPlayer(e.ownerID);
  1169. tribe=player?fnFindTribe(player.tribeID):null;
  1170. if(e.ownerID>0&&player.tribeID==0){
  1171. resultCoords.push(e.coord);
  1172. detail[e.coord]={village:e,player:player,tribe:tribe};
  1173. return true;
  1174. }
  1175. }
  1176.  
  1177. // With tribe Filter.
  1178. if(curConfig.Yestribe){
  1179. player=fnFindPlayer(e.ownerID);
  1180. tribe=player?fnFindTribe(player.tribeID):null;
  1181. if(e.ownerID>0&&player.tribeID>0){
  1182. resultCoords.push(e.coord);
  1183. detail[e.coord]={village:e,player:player,tribe:tribe};
  1184. return true;
  1185. }
  1186. }
  1187.  
  1188. // Barb Filter.
  1189. if(curConfig.barbsOnly){
  1190. if(!e.ownerID){
  1191. resultCoords.push(e.coord);
  1192. detail[e.coord]={village:e,player:null,tribe:null};
  1193. return true;
  1194. }
  1195.  
  1196. }
  1197.  
  1198. player=fnFindPlayer(e.ownerID);
  1199. tribe=player?fnFindTribe(player.tribeID):null;
  1200.  
  1201. // Player Filter.
  1202. if(hasPlayerFilter&&playerIDs&&(playerIDs.indexOf(e.ownerID)>=0)){
  1203. resultCoords.push(e.coord);
  1204. detail[e.coord]={village:e,player:player,tribe:tribe};
  1205. return true;
  1206. }
  1207.  
  1208. // Tribe Filter.
  1209. else if(hasTribeFilter&&tribeIDs){
  1210. if(player&&player.tribeID&&(tribeIDs.indexOf(player.tribeID)>=0)){
  1211. resultCoords.push(e.coord);
  1212. detail[e.coord]={village:e,player:player,tribe:tribe};
  1213. return true;
  1214. }
  1215.  
  1216.  
  1217. } }
  1218.  
  1219. else if(curConfig.tsalvillages){
  1220. // Bonus Hunters template.
  1221. if(curConfig.tsalchoices == "tsal_ch1"){
  1222. if(e.bonus>0 && e.ownerID>0){
  1223. player=fnFindPlayer(e.ownerID);
  1224. tribe=player?fnFindTribe(player.tribeID):null;
  1225. resultCoords.push(e.coord);
  1226. detail[e.coord]={village:e,player:player,tribe:tribe};
  1227. return true;
  1228. }
  1229.  
  1230. }
  1231.  
  1232. // Ghost Barbarians template
  1233. if(curConfig.tsalchoices == "tsal_ch2"){
  1234. var pontoi = localStorage.getItem('barb_max');
  1235. var orio = Number(pontoi)+500;
  1236. if(e.points>orio && !e.ownerID){
  1237.  
  1238. resultCoords.push(e.coord);
  1239. detail[e.coord]={village:e,player:null,tribe:null};
  1240. return true;
  1241. }
  1242. }
  1243. // The Train Stop template
  1244. if(curConfig.tsalchoices == "tsal_ch3"){
  1245. var apostasi = localStorage.getItem('snob_dist');
  1246. player=fnFindPlayer(e.ownerID);
  1247. tribe=player?fnFindTribe(player.tribeID):null;
  1248. if(srcCoord&&(twUtil.fields(srcCoord,e.coord)<=apostasi)&&e.ownerID!=win.game_data.player.id&&player.tribeID!=win.game_data.player.ally){
  1249.  
  1250. resultCoords.push(e.coord);
  1251. detail[e.coord]={village:e,player:player,tribe:tribe};
  1252. return true;
  1253. }
  1254.  
  1255. }
  1256. // Foreign Fortresses template
  1257. if(curConfig.tsalchoices == "tsal_ch4"){
  1258. player=fnFindPlayer(e.ownerID);
  1259. tribe=player?fnFindTribe(player.tribeID):null;
  1260. if (e.bonus>=4 && e.bonus<=7 && e.ownerID>0 && e.ownerID!=win.game_data.player.id&&player.tribeID!=win.game_data.player.ally) {
  1261.  
  1262. resultCoords.push(e.coord);
  1263. detail[e.coord]={village:e,player:player,tribe:tribe};
  1264. return true;
  1265. }
  1266.  
  1267. }
  1268. // Veterans template
  1269. if(curConfig.tsalchoices == "tsal_ch5"){
  1270.  
  1271. player=fnFindPlayer(e.ownerID);
  1272. tribe=player?fnFindTribe(player.tribeID):null;
  1273.  
  1274. if (e.ownerID<win.game_data.player.id) {
  1275.  
  1276. resultCoords.push(e.coord);
  1277. detail[e.coord]={village:e,player:player,tribe:tribe};
  1278. return true;
  1279. }
  1280.  
  1281. }
  1282. // Rookies template
  1283. if(curConfig.tsalchoices == "tsal_ch6"){
  1284. player=fnFindPlayer(e.ownerID);
  1285. tribe=player?fnFindTribe(player.tribeID):null;
  1286. if (e.ownerID>0 && e.ownerID>win.game_data.player.id) {
  1287.  
  1288. resultCoords.push(e.coord);
  1289. detail[e.coord]={village:e,player:player,tribe:tribe};
  1290. return true;
  1291. }
  1292.  
  1293. }
  1294. // The Gold Mines template
  1295. if(curConfig.tsalchoices == "tsal_ch7"){
  1296. player=fnFindPlayer(e.ownerID);
  1297. tribe=player?fnFindTribe(player.tribeID):null;
  1298. if (e.bonus>=1 && e.bonus<=3 && e.ownerID!=win.game_data.player.id&&player.tribeID!=win.game_data.player.ally && e.points >=5000|| e.bonus==8 && e.ownerID!=win.game_data.player.id&&player.tribeID!=win.game_data.player.ally && e.points>=5000 || e.points >=9000 && e.ownerID!=win.game_data.player.id&&player.tribeID!=win.game_data.player.ally ) {
  1299.  
  1300. resultCoords.push(e.coord);
  1301. detail[e.coord]={village:e,player:player,tribe:tribe};
  1302. return true;
  1303. }
  1304.  
  1305. }
  1306. // The Unbroken Villages
  1307. if(curConfig.tsalchoices == "tsal_ch8"){
  1308. player=fnFindPlayer(e.ownerID);
  1309. tribe=player?fnFindTribe(player.tribeID):null;
  1310. if (e.bonus==7 && e.ownerID>0 && e.ownerID!=win.game_data.player.id&&player.tribeID!=win.game_data.player.ally) {
  1311.  
  1312. resultCoords.push(e.coord);
  1313. detail[e.coord]={village:e,player:player,tribe:tribe};
  1314. return true;
  1315. }
  1316.  
  1317. }
  1318. }
  1319.  
  1320.  
  1321. else if(curConfig.Bonusvillages){
  1322. player=fnFindPlayer(e.ownerID);
  1323. tribe=player?fnFindTribe(player.tribeID):null;
  1324. if (curConfig.mytribe&&player.tribeID==win.game_data.player.ally){
  1325.  
  1326. resultCoords.push(e.coord);
  1327. detail[e.coord]={village:e,player:player,tribe:tribe};
  1328. return true;
  1329. }
  1330. if(e.ownerID==win.game_data.player.id&&curConfig.myvillages){
  1331.  
  1332. resultCoords.push(e.coord);
  1333. detail[e.coord]={village:e,player:player,tribe:tribe};
  1334. return true;
  1335. }
  1336.  
  1337. // Bonus filter 0.
  1338. if(curConfig.tsalbonus0){
  1339. if(e.bonus==0 && !e.ownerID ){
  1340. player=fnFindPlayer(e.ownerID);
  1341. tribe=player?fnFindTribe(player.tribeID):null;
  1342. resultCoords.push(e.coord);
  1343. detail[e.coord]={village:e,player:player,tribe:tribe};
  1344. return true;
  1345. }
  1346.  
  1347. }
  1348.  
  1349. // Bonus filter 1.
  1350. if(curConfig.tsalbonus1){
  1351. if(e.bonus == 1){
  1352. player=fnFindPlayer(e.ownerID);
  1353. tribe=player?fnFindTribe(player.tribeID):null;
  1354. resultCoords.push(e.coord);
  1355. detail[e.coord]={village:e,player:player,tribe:tribe};
  1356. return true;
  1357. }
  1358.  
  1359. }
  1360.  
  1361. // Bonus filter 2.
  1362. if(curConfig.tsalbonus2){
  1363. if(e.bonus == 2){
  1364. player=fnFindPlayer(e.ownerID);
  1365. tribe=player?fnFindTribe(player.tribeID):null;
  1366. resultCoords.push(e.coord);
  1367. detail[e.coord]={village:e,player:player,tribe:tribe};
  1368. return true;
  1369. }
  1370.  
  1371. }
  1372.  
  1373. // Bonus filter 3.
  1374. if(curConfig.tsalbonus3){
  1375. if(e.bonus == 3){
  1376. player=fnFindPlayer(e.ownerID);
  1377. tribe=player?fnFindTribe(player.tribeID):null;
  1378. resultCoords.push(e.coord);
  1379. detail[e.coord]={village:e,player:player,tribe:tribe};
  1380. return true;
  1381. }
  1382.  
  1383. }
  1384.  
  1385. // Bonus filter 4.
  1386. if(curConfig.tsalbonus4){
  1387. if(e.bonus == 4){
  1388. player=fnFindPlayer(e.ownerID);
  1389. tribe=player?fnFindTribe(player.tribeID):null;
  1390. resultCoords.push(e.coord);
  1391. detail[e.coord]={village:e,player:player,tribe:tribe};
  1392. return true;
  1393. }
  1394.  
  1395. }
  1396.  
  1397. // Bonus filter 5.
  1398. if(curConfig.tsalbonus5){
  1399. if(e.bonus == 5){
  1400. player=fnFindPlayer(e.ownerID);
  1401. tribe=player?fnFindTribe(player.tribeID):null;
  1402. resultCoords.push(e.coord);
  1403. detail[e.coord]={village:e,player:player,tribe:tribe};
  1404. return true;
  1405. }
  1406.  
  1407. }
  1408.  
  1409. // Bonus filter 6.
  1410. if(curConfig.tsalbonus6){
  1411. if(e.bonus == 6){
  1412. player=fnFindPlayer(e.ownerID);
  1413. tribe=player?fnFindTribe(player.tribeID):null;
  1414. resultCoords.push(e.coord);
  1415. detail[e.coord]={village:e,player:player,tribe:tribe};
  1416. return true;
  1417. }
  1418.  
  1419. }
  1420.  
  1421. // Bonus filter 7.
  1422. if(curConfig.tsalbonus7){
  1423. if(e.bonus == 7){
  1424. player=fnFindPlayer(e.ownerID);
  1425. tribe=player?fnFindTribe(player.tribeID):null;
  1426. resultCoords.push(e.coord);
  1427. detail[e.coord]={village:e,player:player,tribe:tribe};
  1428. return true;
  1429. }
  1430.  
  1431. }
  1432.  
  1433. // Bonus filter 8.
  1434. if(curConfig.tsalbonus8){
  1435. if(e.bonus == 8){
  1436. player=fnFindPlayer(e.ownerID);
  1437. tribe=player?fnFindTribe(player.tribeID):null;
  1438. resultCoords.push(e.coord);
  1439. detail[e.coord]={village:e,player:player,tribe:tribe};
  1440. return true;
  1441. }
  1442.  
  1443. }
  1444.  
  1445. // Bonus filter 9.
  1446. if(curConfig.tsalbonus9){
  1447. if(e.bonus == 9){
  1448. player=fnFindPlayer(e.ownerID);
  1449. tribe=player?fnFindTribe(player.tribeID):null;
  1450. resultCoords.push(e.coord);
  1451. detail[e.coord]={village:e,player:player,tribe:tribe};
  1452. return true;
  1453. }
  1454.  
  1455. }
  1456.  
  1457. }
  1458.  
  1459. });
  1460.  
  1461. // Sort the co-ordinates.
  1462. resultCoords=resultCoords.sort(function(a,b){return twUtil.fields(srcCoord,a)-twUtil.fields(srcCoord,b);});
  1463.  
  1464. fnDisplayOutput();
  1465. $('#tsalkapone_CoordCount').text('('+resultCoords.length+')');
  1466. } // fnFindFarms
  1467. // ........................................................................
  1468. function fnCurrentConfig(){
  1469. return{
  1470. barbsOnly:$('#tsalkapone_BarbOnly').is(':checked'),
  1471. radiuscenter:$('#tsalkapone_RadiusCentre').val(),
  1472. myvillages:$('#tsalkapone_MyVil').is(':checked'),
  1473. mytribe:$('#tsalkapone_Mytribe').is(':checked'),
  1474. tsalchoices:$('#tsalkapone_choices').val(),
  1475. tsalbonus0:$('#tsal_bonus0').is(':checked'),
  1476. tsalbonus1:$('#tsal_bonus1').is(':checked'),
  1477. tsalbonus2:$('#tsal_bonus2').is(':checked'),
  1478. tsalbonus3:$('#tsal_bonus3').is(':checked'),
  1479. tsalbonus4:$('#tsal_bonus4').is(':checked'),
  1480. tsalbonus5:$('#tsal_bonus5').is(':checked'),
  1481. tsalbonus6:$('#tsal_bonus6').is(':checked'),
  1482. tsalbonus7:$('#tsal_bonus7').is(':checked'),
  1483. tsalbonus8:$('#tsal_bonus8').is(':checked'),
  1484. tsalbonus9:$('#tsal_bonus9').is(':checked'),
  1485. Notribe:$('#tsalkapone_Notribe').is(':checked'),
  1486. Yestribe:$('#tsalkapone_Yestribe').is(':checked'),
  1487. AllVillages:$('#tsalkapone_AllVillages').is(':checked'),
  1488. tsalset1:$('#tsalset1').is(':checked'),
  1489. tsalset2:$('#tsalset2').is(':checked'),
  1490. tsalset3:$('#tsalset3').is(':checked'),
  1491. tsalset4:$('#tsalset4').is(':checked'),
  1492. tsalset5:$('#tsalset5').is(':checked'),
  1493. tsalset6:$('#tsalset6').is(':checked'),
  1494. tsalset7:$('#tsalset7').is(':checked'),
  1495. Bonusvillages:$('#tsalkapone_Bonusvillages').is(':checked'),
  1496. tsalvillages:$('#tsalkapone_tsalvillages').is(':checked'),
  1497. Selectedcriteria:$('#tsalkapone_Selectedcriteria').is(':checked'),
  1498. continents:$.map(($('#tsalkapone_Continents').val()||'').match(/\d+/g)||[],function(e){return twUtil.int(e);}),
  1499. minPoints:twUtil.int($('#tsalkapone_MinPoints').val()||'-1',10),
  1500. maxPoints:twUtil.int($('#tsalkapone_MaxPoints').val()||'-1',10),
  1501. radius:$.trim($('#tsalkapone_Radius').val())||'-1',
  1502. players:($.trim($('#tsalkapone_Players').val())||'').split('--'),
  1503. tribes:($.trim($('#tsalkapone_Tribes').val())||'').split('--'),
  1504. explayers:($.trim($('#tsalkapone_exPlayers').val())||'').split('--'),
  1505. extribes:($.trim($('#tsalkapone_exTribes').val())||'').split('--'),
  1506. bbEncoded:$('#tsalkapone_BBEncoded').is(':checked'),
  1507. bbplayerEncoded:$('#tsalBBplayerEncoded').is(':checked'),
  1508. bbtribeEncoded:$('#tsalBBtribeEncoded').is(':checked'),
  1509. bb1Encoded:$('#tsalBB1Encoded').is(':checked'),
  1510. bb4Encoded:$('#tsalBB4Encoded').is(':checked'),
  1511. bb2Encoded:$('#tsalBB2Encoded').is(':checked'),
  1512. bb3Encoded:$('#tsalBB3Encoded').is(':checked'),
  1513. bb21Encoded:$('#tsalBB21Encoded').is(':checked'),
  1514. bb31Encoded:$('#tsalBB31Encoded').is(':checked'),
  1515. bb22Encoded:$('#tsalBB22Encoded').is(':checked'),
  1516. bb32Encoded:$('#tsalBB32Encoded').is(':checked'),
  1517. tsalEncoded:$('#tsalBBEncoded').is(':checked'),
  1518. tsalsyn:$('#Tsalsyntetagmenes').is(':checked'),
  1519. tsalbbmetritis:$('#TsalBBmet').is(':checked'),
  1520. tsalmetrisi:$('#Tsalmet1').is(':checked'),
  1521. tsalbbmetrisi:$('#TsalBBmet1').is(':checked'),
  1522. tsalpaiktis:$('#Tsalowner').is(':checked'),
  1523. tsalpontoi:$('#Tsalpoints').is(':checked'),
  1524. tsalfules:$('#Tsaltribe').is(':checked'),
  1525. tsalpros:$('#Tsalpros').is(':checked'),
  1526. tsalpros1:$('#Tsalpros1').is(':checked'),
  1527. format:$.trim($('#tsalkapone_Format').val())||'{c}'
  1528. };
  1529. } // fnCurrentConfig
  1530. // ........................................................................
  1531. function fnLoadConfig(){
  1532. var curConfig=twCache.fetch(script.id+'.config')||{
  1533. barbsOnly:false,
  1534. myvillages:false,
  1535. mytribe:false,
  1536. tsalchoices:undefined,
  1537. tsalbonus0:false,
  1538. tsalbonus1:false,
  1539. tsalbonus2:false,
  1540. tsalbonus3:false,
  1541. tsalbonus4:false,
  1542. tsalbonus5:false,
  1543. tsalbonus6:false,
  1544. tsalbonus7:false,
  1545. tsalbonus8:false,
  1546. tsalbonus9:false,
  1547. Notribe:false,
  1548. Yestribe:false,
  1549. AllVillages:true,
  1550. tsalset1:true,
  1551. tsalset2:false,
  1552. tsalset3:false,
  1553. tsalset4:true,
  1554. tsalset5:false,
  1555. tsalset6:true,
  1556. tsalset7:true,
  1557. Bonusvillages:false,
  1558. tsalvillages:false,
  1559. Selectedcriteria:false,
  1560. continents:undefined,
  1561. minPoints:-1,
  1562. maxPoints:-1,
  1563. radius:25,
  1564. players:undefined,
  1565. tribes:undefined,
  1566. bbEncoded:false,
  1567. bbplayerEncoded:false,
  1568. bbtribeEncoded:false,
  1569. bb1Encoded:false,
  1570. bb4Encoded:false,
  1571. bb2Encoded:false,
  1572. bb3Encoded:false,
  1573. bb21Encoded:false,
  1574. bb31Encoded:false,
  1575. bb22Encoded:false,
  1576. bb32Encoded:false,
  1577. tsalsyn:true,
  1578. tsalpaiktis:false,
  1579. tsalpontoi:false,
  1580. tsalbbmetritis:false,
  1581. tsalmetrisi:false,
  1582. tsalbbmetrisi:false,
  1583. tsalfules:false,
  1584. tsalpros:false,
  1585. tsalpros1:false,
  1586. radiuscenter:win.game_data.village.coord,
  1587. tsalEncoded:true,
  1588. format:'{c}'
  1589. };
  1590.  
  1591. if(curConfig.players=='*** Coming Soon ***'){
  1592. curConfig.players=undefined;
  1593. }
  1594.  
  1595. if(curConfig.tribes=='*** Coming Soon ***'){
  1596. curConfig.tribes=undefined;
  1597. }
  1598. $('#tsalkapone_choices').val(curConfig.tsalchoices);
  1599. $('#tsalkapone_MyVil').attr('checked',curConfig.myvillages);
  1600. $('#tsalkapone_Mytribe').attr('checked',curConfig.mytribe);
  1601. $('#tsal_bonus0').attr('checked',curConfig.tsalbonus0);
  1602. $('#tsal_bonus1').attr('checked',curConfig.tsalbonus1);
  1603. $('#tsal_bonus2').attr('checked',curConfig.tsalbonus2);
  1604. $('#tsal_bonus3').attr('checked',curConfig.tsalbonus3);
  1605. $('#tsal_bonus4').attr('checked',curConfig.tsalbonus4);
  1606. $('#tsal_bonus5').attr('checked',curConfig.tsalbonus5);
  1607. $('#tsal_bonus6').attr('checked',curConfig.tsalbonus6);
  1608. $('#tsal_bonus7').attr('checked',curConfig.tsalbonus7);
  1609. $('#tsal_bonus8').attr('checked',curConfig.tsalbonus8);
  1610. $('#tsal_bonus9').attr('checked',curConfig.tsalbonus9);
  1611. $('#tsalkapone_Notribe').attr('checked',curConfig.Notribe);
  1612. $('#tsalkapone_Yestribe').attr('checked',curConfig.Yestribe);
  1613. $('#tsalkapone_AllVillages').attr('checked',curConfig.AllVillages);
  1614. $('#tsalset1').attr('checked',curConfig.tsalset1);
  1615. $('#tsalset2').attr('checked',curConfig.tsalset2);
  1616. $('#tsalset3').attr('checked',curConfig.tsalset3);
  1617. $('#tsalset4').attr('checked',curConfig.tsalset4);
  1618. $('#tsalset5').attr('checked',curConfig.tsalset5);
  1619. $('#tsalset6').attr('checked',curConfig.tsalset6);
  1620. $('#tsalset7').attr('checked',curConfig.tsalset7);
  1621. $('#tsalkapone_Bonusvillages').attr('checked',curConfig.Bonusvillages);
  1622. $('#tsalkapone_tsalvillages').attr('checked',curConfig.tsalvillages);
  1623. $('#tsalkapone_Selectedcriteria').attr('checked',curConfig.Selectedcriteria);
  1624. $('#tsalkapone_Continents').val((curConfig.continents||[]).join(','));
  1625. $('#tsalkapone_MRTopLeft').val('000|000');
  1626. $('#tsalkapone_MRBottomRight').val('999|999');
  1627. $('#tsalkapone_MinPoints').val((curConfig.minPoints>=0)?curConfig.minPoints:'');
  1628. $('#tsalkapone_MaxPoints').val((curConfig.maxPoints>=0)?curConfig.maxPoints:'');
  1629. $('#tsalkapone_BBEncoded').attr('checked',curConfig.bbEncoded);
  1630. $('#tsalBBplayerEncoded').attr('checked',curConfig.bbplayerEncoded);
  1631. $('#tsalBBtribeEncoded').attr('checked',curConfig.bbtribeEncoded);
  1632. $('#tsalBB1Encoded').attr('checked',curConfig.bb1Encoded);
  1633. $('#tsalBB4Encoded').attr('checked',curConfig.bb4Encoded);
  1634. $('#tsalBB2Encoded').attr('checked',curConfig.bb2Encoded);
  1635. $('#tsalBB3Encoded').attr('checked',curConfig.bb3Encoded);
  1636. $('#tsalBB21Encoded').attr('checked',curConfig.bb21Encoded);
  1637. $('#tsalBB31Encoded').attr('checked',curConfig.bb31Encoded);
  1638. $('#tsalBB22Encoded').attr('checked',curConfig.bb22Encoded);
  1639. $('#tsalBB32Encoded').attr('checked',curConfig.bb32Encoded);
  1640. $('#tsalBBEncoded').attr('checked',curConfig.tsalEncoded);
  1641. $('#Tsalpoints').attr('checked',curConfig.tsalpontoi);
  1642. $('#Tsalsyntetagmenes').attr('checked',curConfig.tsalsyn);
  1643. $('#TsalBBmet').attr('checked',curConfig.tsalbbmetritis);
  1644. $('#TsalBBmet1').attr('checked',curConfig.tsalbbmetrisi);
  1645. $('#Tsalmet1').attr('checked',curConfig.tsalmetrisi);
  1646. $('#Tsalowner').attr('checked',curConfig.tsalpaiktis);
  1647. $('#Tsaltribe').attr('checked',curConfig.tsalfules);
  1648. $('#Tsalpros').attr('checked',curConfig.tsalpros);
  1649. $('#Tsalpros1').attr('checked',curConfig.tsalpros1);
  1650. $('#tsalkapone_Radius').val((parseFloat(curConfig.radius||'0.0')>0.0)?curConfig.radius:'');
  1651. /* $('#tsalkapone_RadiusCentre').val(curConfig.radiuscenter||win.game_data.village.coord); */
  1652. $('#tsalkapone_RadiusCentre').val(win.game_data.village.coord);
  1653. $('#tsalkapone_Players').val((curConfig.players||[]).join(','));
  1654. $('#tsalkapone_Tribes').val((curConfig.tribes||[]).join(','));
  1655. $('#tsalkapone_exPlayers').val((curConfig.explayers||[]).join(','));
  1656. $('#tsalkapone_exTribes').val((curConfig.extribes||[]).join(','));
  1657. $('#tsalkapone_Format').val(curConfig.format||'{c}');
  1658. } // fnLoadConfig
  1659. // ........................................................................
  1660. function fnSaveConfig(){
  1661. twCache.store(script.id+'.config',fnCurrentConfig());
  1662. UI.SuccessMessage('<font color=gold><b><center><u>'+tsalkapone_trans.general.notification+' Tsalkapone</u></center></b></font> <br><br> '+tsalkapone_trans.notes.saved+'', 5000);
  1663. } // fnSaveConfig
  1664. // ........................................................................
  1665. function fnTsalcoords(){
  1666. var x = document.getElementById('tsalkapone_RadiusCentre').value;
  1667. localStorage.setItem('last_coord',x);
  1668. }//fnTsalcoords
  1669. // ........................................................................
  1670. function Tsalkaponebackground() {
  1671. var y= document.getElementById('tsal_back_style');
  1672. var x = document.getElementById('tsalset6').checked;
  1673. var x1 = 'https://dl.dropboxusercontent.com/s/2hmdpx3fmu93zix/xruAdS3.jpg';
  1674. var x2 = '/graphic/background/bg-tile.jpg';
  1675. if (x == true) { y.style.backgroundImage="url('"+x1+"')";}
  1676. else { y.style.backgroundImage="url('"+x2+"')";}
  1677. }
  1678. //fnTsalkaponebackground
  1679. // ........................................................................
  1680. function fnTsalkaponemagic(){
  1681. var x1 = document.getElementById('tsalsettings');
  1682. var x2 = document.getElementById('tsalsxediasmos');
  1683. if (x1.style.display == "none" && x2.style.display == "none")
  1684. {setTimeout(function(){document.getElementById('olakena').innerHTML = '<iframe width="500" height="350" src="https://www.youtube.com/embed/aop1Fn-IBzQ?loop=1;autoplay=1;" frameborder="0" allowfullscreen></iframe>';},500);}
  1685. else {document.getElementById('olakena').innerHTML = '';}
  1686. }
  1687. //fnTsalkaponemagic
  1688. // ........................................................................
  1689. function tsalkaponemagic(x) {
  1690. var tsal_check = document.getElementById(x).checked;
  1691. var tsal_ele = document.getElementsByClassName(x);
  1692. if (tsal_check == true)
  1693. {for(var i =0, il = tsal_ele.length;i<il;i++){
  1694. tsal_ele[i].style.display="";}}
  1695. else {for(var i =0, il = tsal_ele.length;i<il;i++){
  1696. tsal_ele[i].style.display="none";}}
  1697. }
  1698. //tsalkaponemagic
  1699. // ........................................................................
  1700. function fnDisplayOutput(){
  1701. var isBBEncoded=$('#tsalkapone_BBEncoded').is(':checked');
  1702. var isBBplayerEncoded=$('#tsalBBplayerEncoded').is(':checked');
  1703. var isBBtribeEncoded=$('#tsalBBtribeEncoded').is(':checked');
  1704. var isBB1Encoded=$('#tsalBB1Encoded').is(':checked');
  1705. var isBB4Encoded=$('#tsalBB4Encoded').is(':checked');
  1706. var isBB2Encoded=$('#tsalBB2Encoded').is(':checked');
  1707. var isBB3Encoded=$('#tsalBB3Encoded').is(':checked');
  1708.  
  1709. var isBB21Encoded=$('#tsalBB21Encoded').is(':checked');
  1710. var isBB31Encoded=$('#tsalBB31Encoded').is(':checked');
  1711. var isBB22Encoded=$('#tsalBB22Encoded').is(':checked');
  1712. var isBB32Encoded=$('#tsalBB32Encoded').is(':checked');
  1713. var istsalbbmetritis=$('#TsalBBmet').is(':checked');
  1714. var istsalEncoded=$('#tsalBBEncoded').is(':checked');
  1715. var istsalpontoi=$('#Tsalpoints').is(':checked');
  1716. var istsalfules=$('#Tsaltribe').is(':checked');
  1717. var istsalpros=$('#Tsalpros').is(':checked');
  1718. var istsalpros1=$('#Tsalpros1').is(':checked');
  1719. var istsalsyn=$('#Tsalsyntetagmenes').is(':checked');
  1720. var istsalbbmetrisi=$('#TsalBBmet1').is(':checked');
  1721. var istsalmetrisi=$('#Tsalmet1').is(':checked');
  1722. var istsalpaiktis=$('#Tsalowner').is(':checked');
  1723.  
  1724. var format=$.trim($('#tsalkapone_Format').val());
  1725.  
  1726. if(format){
  1727. var output='';
  1728.  
  1729. var tsaltable='';
  1730. var tsalmenu1='';
  1731. var tsalmenu2='';
  1732. var tsalmenu3='';
  1733. var tsalmenu4='';
  1734. var tsalmenu5='';
  1735. var tsalmenu6='';
  1736. var tsalmenu7='';
  1737. var tsalgrammes='';
  1738. var tsalxwria='';
  1739. var tsaltitlos=document.getElementById("Tsalstili1").value;
  1740. var tsaltitlos1=document.getElementById("Tsalstili2").value;
  1741. var tsalkapone1=document.getElementById("Tsalper1").value;
  1742. var tsalkapone2=document.getElementById("Tsalper2").value;
  1743. var tsalkapone3=document.getElementById("Tsalper3").value;
  1744. var tsalkapone4=document.getElementById("Tsalper4").value;
  1745. var tsalbb21=document.getElementById("tsalBB21Encoded");
  1746. var tsalbb31=document.getElementById("tsalBB31Encoded");
  1747. var tsalbb22=document.getElementById("tsalBB22Encoded");
  1748. var tsalbb32=document.getElementById("tsalBB32Encoded");
  1749. var tsal21=document.getElementById("Tsalper1");
  1750. var tsal31=document.getElementById("Tsalper2");
  1751. var tsal22=document.getElementById("Tsalper3");
  1752. var tsal32=document.getElementById("Tsalper4");
  1753.  
  1754. if (isBB21Encoded)
  1755. {tsalbb31.disabled = true; tsal31.disabled = true; tsalbb31.checked = false;}
  1756. if (isBB31Encoded) {tsalbb21.disabled = true; tsal21.disabled = true; tsalbb21.checked = false;}
  1757. if (!isBB31Encoded && !isBB21Encoded) {tsalbb31.disabled = false; tsal31.disabled = false; tsal21.disabled = false; tsalbb21.disabled = false;}
  1758.  
  1759. if (isBB22Encoded)
  1760. {tsalbb32.disabled = true; tsal32.disabled = true; tsalbb32.checked = false;}
  1761. if (isBB32Encoded) {tsalbb22.disabled = true; tsal22.disabled = true; tsalbb22.checked = false;}
  1762. if (!isBB32Encoded && !isBB22Encoded) {tsalbb32.disabled = false; tsal32.disabled = false; tsal22.disabled = false; tsalbb22.disabled = false;}
  1763.  
  1764.  
  1765. $.each(resultCoords,function(i,e){
  1766.  
  1767. var village=detail[e].village;
  1768. var player=detail[e].player;
  1769. var tribe=detail[e].tribe;
  1770. var tsalkapone_bonus=detail[e].village.bonus;
  1771.  
  1772. if(player&&!player.id){
  1773. player=null;
  1774. }
  1775.  
  1776. if(tribe&&!tribe.id){
  1777. tribe=null;
  1778. }
  1779.  
  1780. twUtil.debug(JSON.stringify(player)+'<br/>'+JSON.stringify(tribe)+'<br/><br/>');
  1781. var realCount = 0;
  1782. for (var j = 0; j <= i; j++) {
  1783. if (resultCoords[j] != null) {
  1784. realCount++;
  1785. }
  1786. }
  1787. var vil_bonus ='';
  1788.  
  1789. if (tsalkapone_bonus == 1){vil_bonus =''+tsalkapone_trans.general.wood_bonus+'';}
  1790. else if (tsalkapone_bonus == 8){vil_bonus =''+tsalkapone_trans.general.res_bonus+'';}
  1791. else if (tsalkapone_bonus == 2){vil_bonus =''+tsalkapone_trans.general.stone_bonus+'';}
  1792. else if (tsalkapone_bonus == 3){vil_bonus =''+tsalkapone_trans.general.iron_bonus+'';}
  1793. else if (tsalkapone_bonus == 4){vil_bonus =''+tsalkapone_trans.general.farm_bonus+'';}
  1794. else if (tsalkapone_bonus == 5){vil_bonus =''+tsalkapone_trans.general.inf_bonus+'';}
  1795. else if (tsalkapone_bonus == 6){vil_bonus =''+tsalkapone_trans.general.cav_bonus+'';}
  1796. else if (tsalkapone_bonus == 7){vil_bonus =''+tsalkapone_trans.general.gar_bonus+'';}
  1797. else if (tsalkapone_bonus == 9){vil_bonus =''+tsalkapone_trans.general.mer_bonus+'';}
  1798. else if (player === null){vil_bonus =''+tsalkapone_trans.general.barb_vil+'';}
  1799.  
  1800.  
  1801. output+=format
  1802. .replace(/\{ct\}/ig,(istsalbbmetritis?'[b]'+realCount+'.[/b]':''+realCount+'.'))
  1803. .replace(/\{c\}/ig,(isBBEncoded?'[claim]'+e+'[/claim]':e))
  1804. .replace(/\{cp\}/ig,village.points)
  1805. .replace(/\{cn\}/ig,village.name)
  1806. .replace(/\{p\}/ig,player?(isBBplayerEncoded?'[player]'+player.name+'[/player]':player.name):'')
  1807. .replace(/\{tn\}/ig,tribe?tribe.name:'')
  1808. .replace(/\{pr\}/ig,player?player.rank:'')
  1809. .replace(/\{pt\}/ig,player?player.points:'')
  1810. .replace(/\{tp\}/ig,tribe?tribe.points:'')
  1811. .replace(/\{tr\}/ig,tribe?tribe.rank:'')
  1812. .replace(/\{bonus\}/ig,vil_bonus?vil_bonus:'')
  1813. .replace(/\{t\}/ig,tribe?(isBBtribeEncoded?'[ally]'+tribe.tag+'[/ally]':tribe.tag):'')
  1814. .replace(/\{con\}/ig,village.continent)
  1815. +(istsalEncoded?'\n':' ');
  1816. tsalxwria+="[*]"+(istsalmetrisi?(istsalbbmetrisi?' [b][color=#ff0000]'+realCount+'[/color][/b] [|]':' '+realCount+' [|]'):'')+(isBB1Encoded?'[claim]'+e+'[/claim]':' '+e+' ')+(istsalpontoi?(isBB4Encoded?'[|] [b]'+village.points+'[/b] ':'[|] '+village.points+' '):'')+(istsalpaiktis?(player?(isBB2Encoded?'[|][player]'+player.name+'[/player]':'[|]'+player.name+''):'[|][b]βάρβαρο[/b]'):'')+(istsalfules?(tribe?(isBB3Encoded?'[|][ally]'+tribe.tag+'[/ally]':'[|]'+tribe.tag+''):'[|][b]χωρίς φυλή[/b]'):'')+(istsalpros?(isBB21Encoded?'[|][player]'+tsalkapone1+'[/player]':(isBB31Encoded?'[|][ally]'+tsalkapone2+'[/ally]':'[|] ')):'')+(istsalpros1?(isBB22Encoded?'[|][player]'+tsalkapone3+'[/player]':(isBB32Encoded?'[|][ally]'+tsalkapone4+'[/ally]':'[|] ')):'')+'\n';
  1817.  
  1818.  
  1819.  
  1820. });
  1821.  
  1822.  
  1823. $('#tsalkapone_Output').val(output);
  1824.  
  1825. tsalmenu1+="[color=#006600]"+tsalkapone_trans.general.vils+"[/color]";
  1826. tsalmenu2+=(istsalpontoi?"[||][color=#ff0066]"+tsalkapone_trans.general.pontoi+"[/color]":"");
  1827. tsalmenu3+=(istsalpaiktis?"[||][color=#0086b3]"+tsalkapone_trans.general.owner+"[/color]":"");
  1828. tsalmenu4+=(istsalfules?"[||][color=#ff0000]"+tsalkapone_trans.general.tribe+"[/color]":"");
  1829. tsalmenu5+=(istsalpros?"[||][b]"+tsaltitlos+"[/b]":"");
  1830. tsalmenu6+=(istsalpros1?"[||][color=#0000ff]"+tsaltitlos1+"[/color]":"");
  1831. tsalmenu7+=(istsalmetrisi?"[||][color=#ff0000]"+tsalkapone_trans.general.seq+"[/color]":"");
  1832. tsaltable+="[table][**]"+tsalmenu7+""+tsalmenu1+""+tsalmenu2+""+tsalmenu3+""+tsalmenu4+""+tsalmenu5+""+tsalmenu6+"[/**]";
  1833. tsalgrammes+=""+tsalxwria+"[/table]";
  1834. $('#tsalperiexomeno').val(tsaltable+tsalgrammes);
  1835.  
  1836. }
  1837. else{
  1838. $('#tsalkapone_Output').val((isBBEncoded?'[claim]':'')+resultCoords.join(istsalEncoded?'[/claim]\n[claim]':isBBEncoded?'[/claim] [claim]':' '));
  1839. }
  1840.  
  1841. var tsal="";
  1842. var tsalk= resultCoords.join(" ");
  1843. tsal+="javascript:var Tsalkapone_coords='" +tsalk+ "';var Tsalkapone_scouts=1;var Tsalkapone_units_order={ram:1,catapult:1,sword:1,spear:1,axe:1,archer:1,light:1,marcher:1,heavy:1};$.getScript('https://dl.dropboxusercontent.com/s/n0945rwkzzqa4pl/Tsalkapone.Fake_Script_No1_ek.js');void 0;";
  1844. $('#tsalOutput').val(tsal);
  1845.  
  1846. var tsal2="";
  1847. tsal2+="javascript:var Tsalkapone_scouts=1;var Tsalkapone_units_order={ram:1,catapult:1,sword:1,spear:1,axe:1,archer:1,light:1,marcher:1,heavy:1};var Tsalkapone_coords='" +tsalk+ "';var config={Tsalkapone_target:'Tsalkapone',Tsalkapone_repeat:1,Tsalkapone_cookieID:'fake'};$.getScript('https://dl.dropboxusercontent.com/s/jyufjpwbdo8h0id/Tsalkapone.Fake_Script_No2_ek.js');void 0;";
  1848. $('#tsal2Output').val(tsal2);
  1849.  
  1850. var tsal1="";
  1851. tsal1+="javascript:var Tsalkapone_coords='"+tsalk+"';var Tsalkapone_secure_attack=true;var spy=1; var ram=0;var catapult=0; var light=2; var heavy=5; var marcher=5;var axe=20;var spear=10; var archer=20; var sword=15; var Tsalkapone_script_title='Farming';var Tsalkapone_cookieID='farming1';$.getScript('https://dl.dropboxusercontent.com/s/7vi0gt5hgs46qzy/Tsalkapone.Farming_Script_ek.js');void 0;";
  1852. $('#tsal1Output').val(tsal1);
  1853.  
  1854. var tsal4="";
  1855. tsal4+="javascript:var Tsalkapone_coords='"+tsalk+"';var snob=0;var spy=100; var ram=1e6;var catapult=0; var light=1e6; var heavy=0; var marcher=1e6;var axe=1e6;var spear=0; var archer=0; var sword=0; var Tsalkapone_script_title='Nuke';var Tsalkapone_cookieID='nuke1';$.getScript('https://dl.dropboxusercontent.com/s/uqon51aliz193wm/Tsalkapone.Nuke_Support_script_ek.js');void 0;";
  1856. $('#tsal4Output').val(tsal4);
  1857.  
  1858. var tsal3in="[spoiler="+tsalkapone_trans.general.forum_sc1+"]\n"+tsalkapone_trans.general.forum_1+"\n\n[spoiler="+tsalkapone_trans.general.forum_2+"][code]javascript:var Tsalkapone_coords='" +tsalk+ "';var Tsalkapone_scouts=5;var Tsalkapone_units_order={ram:1,catapult:1,sword:1,spear:1,axe:1,archer:1,light:1,marcher:1,heavy:1};$.getScript('https://dl.dropboxusercontent.com/s/n0945rwkzzqa4pl/Tsalkapone.Fake_Script_No1_ek.js');void 0;[/code][/spoiler][/spoiler]";
  1859. tsal3in+="\n\n[spoiler="+tsalkapone_trans.general.forum_sc2+"]\n"+tsalkapone_trans.general.forum_1+"\n\n[spoiler="+tsalkapone_trans.general.forum_2+"][code]javascript:var Tsalkapone_scouts=5;var Tsalkapone_units_order={ram:1,catapult:1,sword:1,spear:1,axe:1,archer:1,light:1,marcher:1,heavy:1};var Tsalkapone_coords='" +tsalk+ "';var config={Tsalkapone_target:'Tsalkapone',Tsalkapone_repeat:1,Tsalkapone_cookieID:'fake'};$.getScript('https://dl.dropboxusercontent.com/s/jyufjpwbdo8h0id/Tsalkapone.Fake_Script_No2_ek.js');void 0;[/code][/spoiler][/spoiler]";
  1860. tsal3in+="\n\n[spoiler="+tsalkapone_trans.general.forum_sc3+"]\n"+tsalkapone_trans.general.forum_1+"\n\n[spoiler="+tsalkapone_trans.general.forum_2+"][code]javascript:var Tsalkapone_coords='" +tsalk+ "';var Tsalkapone_scouts=5;var Tsalkapone_units_order={ram:1,catapult:1,sword:0,spear:0,axe:0,archer:0,light:0,marcher:0,heavy:0};$.getScript('https://dl.dropboxusercontent.com/s/n0945rwkzzqa4pl/Tsalkapone.Fake_Script_No1_ek.js');void 0;[/code][/spoiler][/spoiler]";
  1861. var tsal3="";
  1862. tsal3+=tsal3in;
  1863. $('#tsal3Output').val(tsal3);
  1864. } // fnDisplayOutput
  1865. // ........................................................................
  1866. function fnCheckVillagesDAT(){
  1867.  
  1868. var ageMS=undefined;
  1869.  
  1870. var cacheVal=twCache.fetch('villagesDAT');
  1871. if(cacheVal&&$.trim(JSON.stringify(cacheVal))){
  1872. villagesDAT=cacheVal.data;
  1873. ageMS=(new Date()).getTime()-cacheVal.lastRefresh;
  1874. }
  1875.  
  1876. if(ageMS!=undefined){
  1877.  
  1878. $('#tsalkapone_VillagesDATAge').html('<font color=maroon><b>'+twUtil.formatMS2(ageMS,true)+'</b></font>');
  1879. if(Math.floor(ageMS/(1000*60*60))>=1){
  1880. $('#tsalkapone_RefreshVillagesDAT').show();
  1881. document.getElementById('tsalvillages').innerHTML ='';
  1882. }
  1883. else{
  1884. $('#tsalkapone_RefreshVillagesDAT').hide();
  1885. document.getElementById('tsalvillages').innerHTML ='<img src="https://dl.dropboxusercontent.com/s/bsngxrgbazbnfaz/tsalkapone_update.gif" height=30px;" width="120px;">';
  1886. }
  1887. }
  1888.  
  1889. else{
  1890. var tsal_players = document.getElementById('tsalplayers').innerHTML;
  1891. var tsal_tribes = document.getElementById('tsaltribes').innerHTML;
  1892. if ( tsal_players.indexOf("update") > -1 && tsal_tribes.indexOf("update") > -1 ){
  1893. $('#tsalkapone_VillagesDATAge').html('<img src="https://dl.dropboxusercontent.com/s/a02tk591hjrbfuy/tsalkapone_spinner.gif" height=50px;" width="50px;">');
  1894. $('#tsalkapone_RefreshVillagesDAT').show();}
  1895. else { $('#tsalkapone_VillagesDATAge').html('<span class="tsalkembed2 pulse1" >*** '+tsalkapone_trans.general.no_data+' ***</span>');
  1896. $('#tsalkapone_RefreshVillagesDAT').show();
  1897. }
  1898. } } // fnCheckVillagesDAT
  1899. // ........................................................................
  1900. function fnCheckPlayersDAT(){
  1901. var ageMS=undefined;
  1902.  
  1903. var cacheVal=twCache.fetch('playersDAT');
  1904. if(cacheVal&&$.trim(JSON.stringify(cacheVal))){
  1905. playersDAT=cacheVal.data;
  1906. ageMS=(new Date()).getTime()-cacheVal.lastRefresh;
  1907. }
  1908.  
  1909. if(ageMS!=undefined){
  1910. $('#tsalkapone_PlayersDATAge').html('<font color=maroon><b>'+twUtil.formatMS2(ageMS,true)+'</b></font>');
  1911. if(Math.floor(ageMS/(1000*60*60))>=1){
  1912. $('#tsalkapone_RefreshPlayersDAT').show();
  1913. document.getElementById('tsalplayers').innerHTML ='';
  1914. }
  1915. else{
  1916. $('#tsalkapone_RefreshPlayersDAT').hide();
  1917. document.getElementById('tsalplayers').innerHTML ='<img src="https://dl.dropboxusercontent.com/s/bsngxrgbazbnfaz/tsalkapone_update.gif" height=30px;" width="120px;">';
  1918. }
  1919. }
  1920. else{
  1921. $('#tsalkapone_PlayersDATAge').html('<span class="tsalkembed2 pulse1" >*** '+tsalkapone_trans.general.no_data+' ***</span>');
  1922. $('#tsalkapone_RefreshPlayersDAT').show();
  1923. }
  1924. } // fnCheckPlayersDAT
  1925. // ........................................................................
  1926. function fnCheckTribesDAT(){
  1927.  
  1928. var ageMS=undefined;
  1929.  
  1930. var cacheVal=twCache.fetch('tribesDAT');
  1931. if(cacheVal&&$.trim(JSON.stringify(cacheVal))){
  1932. tribesDAT=cacheVal.data;
  1933. ageMS=(new Date()).getTime()-cacheVal.lastRefresh;
  1934. }
  1935.  
  1936. if(ageMS!=undefined){
  1937. $('#tsalkapone_TribesDATAge').html('<font color=maroon><b>'+twUtil.formatMS2(ageMS,true)+'</b></font>');
  1938. if(Math.floor(ageMS/(1000*60*60))>=1){
  1939. $('#tsalkapone_RefreshTribesDAT').show();
  1940. document.getElementById('tsaltribes').innerHTML ='';
  1941. }
  1942. else{
  1943. $('#tsalkapone_RefreshTribesDAT').hide();
  1944. document.getElementById('tsaltribes').innerHTML ='<img src="https://dl.dropboxusercontent.com/s/bsngxrgbazbnfaz/tsalkapone_update.gif" height=30px;" width="120px;">';
  1945. }
  1946. }
  1947. else{
  1948. $('#tsalkapone_TribesDATAge').html('<span class="tsalkembed2 pulse1" >*** '+tsalkapone_trans.general.no_data+' ***</span>');
  1949. $('#tsalkapone_RefreshTribesDAT').show();
  1950. }
  1951. } // fnCheckTribesDAT
  1952. // ........................................................................
  1953. function fnRefreshVillagesDAT(){
  1954. villagesDAT=twConfig.fetchVillagesDAT(1);
  1955. fnCheckVillagesDAT();
  1956. } // fnRefreshVillagesDAT
  1957. // ........................................................................
  1958. function fnRefreshPlayersDAT(){
  1959. playersDAT=twConfig.fetchPlayersDAT(1);
  1960. fnCheckPlayersDAT();
  1961. } // fnRefreshPlayersDAT
  1962. // ........................................................................
  1963. function fnRefreshTribesDAT(){
  1964. tribesDAT=twConfig.fetchTribesDAT(1);
  1965. fnCheckTribesDAT();
  1966. } // fnRefreshTribesDAT
  1967. // ........................................................................
  1968. function fnInjectGUIControls(){
  1969. if($('#tsalkapone_FarmFinderPopup').length>0){
  1970. $('#tsalkapone_FarmFinderPopup').show();
  1971.  
  1972. return;
  1973. }
  1974.  
  1975.  
  1976. var pontoi = localStorage.getItem('barb_max');
  1977. var apostasi = localStorage.getItem('snob_dist');
  1978. var tsalsyntetagmeni='';
  1979. var y = localStorage.getItem('last_coord');
  1980. if (localStorage.last_coord) {tsalsyntetagmeni = y;}
  1981. else {tsalsyntetagmeni =tsalkapone_trans.notes.last_coord;}
  1982. var barb_pontoi = localStorage.getItem('barb_max');
  1983. var barb_orio = Number(pontoi)+500;
  1984.  
  1985. var tsalmenu='<div id="tsalkapone_FarmFinderPopup" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:900;">';
  1986. tsalmenu+='<div id="tsal_back_style" style="background:url(https://dl.dropboxusercontent.com/s/2hmdpx3fmu93zix/xruAdS3.jpg);-webkit-background-size: 100% 100%;-moz-background-size: 100% 100%;-o-background-size: 100% 100%;background-size: 100% 100%;opacity:0.7;position:absolute;top:0;left:0;width:100%;height:1150px;z-index:5;"></div>';
  1987. tsalmenu+='<div id="Tsaldrag" class="ui-widget-content ui-draggable" style="position:relative;margin:auto;padding:0;top:60px;width:1100px;z-index:999;">';
  1988. tsalmenu+='<a href="#" onclick="$(\'#tsalkapone_FarmFinderPopup\').hide();return false;" style="position:absolute;right:-4px;top:-4px;">';
  1989. tsalmenu+='<img src="graphic/login_close.png" title="'+tsalkapone_trans.buttons.close_popup+'" alt="Close" style="border:none;">';
  1990. tsalmenu+='</a>';
  1991. tsalmenu+='<div align="center" style="width:1100px;height:30px;line-height:30px;background:url(https://dl.dropboxusercontent.com/s/wwavk9gdi2dhbo5/tsalkapone_top.png) repeat-x"><font color="darkorange" size="4"><b><u>'+tsalkapone_trans.general.script+'</u></b>';
  1992. tsalmenu+='<sup><span style="font-size:small;"><b><i><font color="darkorange">v'+script.version.toFixed(2)+'</font></i></b></span></sup>&emsp;</font> <a class="tsalprofile" href="https://forum.tribalwars.net/index.php?members/tsalkapone.114063/" target="_blank">'+tsalkapone_trans.general.edited_by+' Tsalkapone</a></div>';
  1993. tsalmenu+='<div style="padding:10px 20px;width:100%;height:100%;min-height:80px;background:url(https://dl.dropboxusercontent.com/s/w3owzk4toxsjucn/news_background.png) repeat-y">';
  1994. tsalmenu+='<div style="padding:3px 6px;width:95%;">';
  1995. tsalmenu+='<div id="tsalkaponemagicscripttable" style="width:100%;" class="target-select clearfix vis float_left">';
  1996. tsalmenu+= "<table class='vis' width='100%'><tbody>";
  1997. tsalmenu+='<tr><th><font color="maroon"><b>'+tsalkapone_trans.general.settingsmenu+'</b></font></th>';
  1998. tsalmenu+='<th width="20%"><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="tsalset7" ><label class="onoffswitch-label" for="tsalset7"><span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div></th></tr>';
  1999. tsalmenu+='</tbody></table></div>';
  2000. tsalmenu+='<span class="tsalset7" id="tsal_mainmenu"><div id="tsalkaponemagicscripttable2" style="width:100%;" class="target-select clearfix vis float_left">';
  2001. tsalmenu+= "<table class='vis' width='100%'><tbody>";
  2002. tsalmenu+="<table class='vis' width='100%'><tr><th width='70%'><font color=blue>"+tsalkapone_trans.general.funcs+"</font></th><th width='25%'><font color=blue>"+tsalkapone_trans.general.buts+"</font></th></tr>";
  2003. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.criteria+'</b></font></td>';
  2004. tsalmenu+='<td><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="tsalset1" checked><label class="onoffswitch-label" for="tsalset1"><span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div></td>';
  2005. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.sxediasmos+'</b></font></td>';
  2006. tsalmenu+='<td><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="tsalset2" ><label class="onoffswitch-label" for="tsalset2"><span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div></td>';
  2007. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.scripts_pro+'</b></font></td>';
  2008. tsalmenu+='<td><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="tsalset3" ><label class="onoffswitch-label" for="tsalset3"><span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div></td>';
  2009. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.tsal_styles+'</b></font></td>';
  2010. tsalmenu+='<td><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="tsalset4" checked><label class="onoffswitch-label" for="tsalset4"><span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div></td>';
  2011. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.tsal_useful+'</b></font></td>';
  2012. tsalmenu+='<td><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="tsalset5" ><label class="onoffswitch-label" for="tsalset5"><span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div></td>';
  2013. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.tsal_background+'</b></font></td>';
  2014. tsalmenu+='<td><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="tsalset6" ><label class="onoffswitch-label" for="tsalset6"><span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div></td>';
  2015. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.lang_sel+'</b></font></td>';
  2016. tsalmenu+='<td><font style="font-family: \'Arial Black\', Gadget, sans-serif;"><span id="openfilter1"><input type="button" value="'+tsalkapone_trans.buttons.lang_open+'" id="openfilterbut1" class="btn tsalbutton"></span><span id="closefilter1" style="display:none">';
  2017. tsalmenu+='<input class="btn tsalbutton" type="button" value="'+tsalkapone_trans.buttons.lang_close+'" id="closefilterbut1"></span></td></tr>';
  2018. tsalmenu+='<tr><td><font color="maroon"><b>'+tsalkapone_trans.general.selected_one+'</b></font></td>';
  2019. tsalmenu+='<td><span id="selectedone"><center>'+lang_img+'</center></span><span id="columnfilter1" style="display:none" class="vis"><font size="2">';
  2020. tsalmenu+='<br><br><center><font color="blue"><b><u>'+tsalkapone_trans.general.available+'</u></b></font></center>';
  2021. tsalmenu+='<input type="radio" name="language" value="greek" id="greek_lang" ><img title="Greek \n\nBy Tsalkapone" style="cursor:help;" height="20px" width="30px" src="https://dl.dropboxusercontent.com/s/ivyojb6w9cb9pem/flag_greece.gif"><br>';
  2022. tsalmenu+='<input type="radio" name="language" value="english" id="english_lang" checked><img height="20px" style="cursor:help;" title="English/American \n\nBy Tsalkapone" width="30px" src="https://dl.dropboxusercontent.com/s/y6tn9ko0g8k2xfx/flagenglezicon.gif"><br>';
  2023.  
  2024. /* Araic language Added up By Abu.Rajih */
  2025. tsalmenu+='<input type="radio" name="language" value="arabic" id="arabic_lang" checked><img height="20px" style="cursor:help;" title="arabic/العربية \n\nBy Abu.Rajih" width="30px" src="https://dl.dropboxusercontent.com/s/p4730smmx13rdjm/AbuRajih.gif"><br>';
  2026. /* Date: 03-08-2018 lovely By:Abu.Rajih */
  2027.  
  2028. tsalmenu+='</span></td></tr>';
  2029. tsalmenu+="</tbody></table></div></span>";
  2030. tsalmenu+='<table><tr><td width="50%"><span id="olakena"></span>';
  2031. tsalmenu+='<span class="tsalset1" id="tsalsettings"><table id="tsalkapone_Settings" class="vis">';
  2032. tsalmenu+='<tr><th colspan="2"><b><font color="darkmagenta"><center>'+tsalkapone_trans.general.crit+'</center></font></b></th></tr>';
  2033. tsalmenu+='<tr><th style="padding:2px 10px;"><b><font color="blue"><center>'+tsalkapone_trans.general.crit1+'</center></font></b></th><th style="padding:2px 10px;"><b><font color="blue"><center>'+tsalkapone_trans.general.timi+'</center></font></b></th></tr>';
  2034. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo2">'+tsalkapone_trans.general.info_1+'</span></span>&nbsp;'+tsalkapone_trans.general.type_villages+'</td>';
  2035. tsalmenu+='<td style="padding:2px 10px;align:center;" ><input style="cursor:pointer" id="tsalkapone_AllVillages" name="village_type" type="radio" checked/>&nbsp;'+tsalkapone_trans.general.all_villages+'';
  2036. tsalmenu+='&emsp;<input style="cursor:pointer" id="tsalkapone_Bonusvillages" name="village_type" type="radio"/>&nbsp;'+tsalkapone_trans.general.bonus_villages+'';
  2037. tsalmenu+='&emsp;<input style="cursor:pointer" id="tsalkapone_tsalvillages" name="village_type" type="radio"/>&nbsp;'+tsalkapone_trans.general.tsal_villages+'';
  2038. tsalmenu+='&emsp;<input style="cursor:pointer" id="tsalkapone_Selectedcriteria" name="village_type" type="radio"/>&nbsp;'+tsalkapone_trans.general.selected_villages+'</td></tr>';
  2039. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" >';
  2040. tsalmenu+='<span class="tsalinfo2">';
  2041. tsalmenu+=''+tsalkapone_trans.general.temp1+':<br><br>';
  2042. tsalmenu+='<table class="vis" width="100%"><tr><th width="30%"><center><font color="maroon">'+tsalkapone_trans.general.temp2+'</font></center></th><th><center><font color="maroon">'+tsalkapone_trans.general.temp3+'</font></center></th></tr>';
  2043. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice1+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp1_info+'</td></tr>';
  2044. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice2+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp2_info+'<br><b><font color="maroon">'+tsalkapone_trans.general.temp2_info1+': '+barb_orio+'</font></b></td></tr>';
  2045. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice3+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp3_info+'</td></tr>';
  2046. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice4+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp4_info+'</td></tr>';
  2047. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice5+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp5_info+'</td></tr>';
  2048. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice6+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp6_info+'</td></tr>';
  2049. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice7+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp7_info+'</td></tr>';
  2050. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.choice8+'</td><td style="padding:2px 10px;">'+tsalkapone_trans.general.temp8_info+'</td></tr>';
  2051. tsalmenu+='</table>';
  2052. tsalmenu+='</span></span>&nbsp;'+tsalkapone_trans.general.tsal_villages+'';
  2053. tsalmenu+='<td style="padding:2px 10px;align:center;" ><span class="pulse1" id="tsal_attention1" style="display:none">'+tsalkapone_trans.general.tsal_attention+'</span>';
  2054. tsalmenu+='<span id="tsal_villages_span"><select id="tsalkapone_choices"><option value="tsal_ch1">'+tsalkapone_trans.general.choice1+'</option>';
  2055. tsalmenu+='<option value="tsal_ch2">'+tsalkapone_trans.general.choice2+'</option>';
  2056. tsalmenu+='<option value="tsal_ch3">'+tsalkapone_trans.general.choice3+'</option>';
  2057. tsalmenu+='<option value="tsal_ch4">'+tsalkapone_trans.general.choice4+'</option>';
  2058. tsalmenu+='<option value="tsal_ch5">'+tsalkapone_trans.general.choice5+'</option>';
  2059. tsalmenu+='<option value="tsal_ch6">'+tsalkapone_trans.general.choice6+'</option>';
  2060. tsalmenu+='<option value="tsal_ch7">'+tsalkapone_trans.general.choice7+'</option>';
  2061. tsalmenu+='<option value="tsal_ch8">'+tsalkapone_trans.general.choice8+'</option>';
  2062. tsalmenu+='</select></span></td></tr>';
  2063. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info_7+'</span></span>&nbsp;'+win.game_data.player.name+' ~ '+tsalkapone_trans.general.yours+'</td>';
  2064. tsalmenu+='<td style="padding:2px 10px;align:center;" ><input style="cursor:pointer" id="tsalkapone_MyVil" type="checkbox"/></td></tr>';
  2065. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info_8+'</span></span>&nbsp;'+tsalkapone_trans.general.my_tribe+'</td>';
  2066. tsalmenu+='<td style="padding:2px 10px;align:center;" ><input style="cursor:pointer" id="tsalkapone_Mytribe" type="checkbox"/></td></tr>';
  2067. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info_2+'</span></span>&nbsp;'+tsalkapone_trans.general.barbs+'</td>';
  2068. tsalmenu+='<td style="padding:2px 10px;align:center;" ><input style="cursor:pointer" id="tsalkapone_BarbOnly" type="checkbox"/></td></tr>';
  2069. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info_3+'</span></span>&nbsp;'+tsalkapone_trans.general.no_tribe+'</td>';
  2070. tsalmenu+='<td style="padding:2px 10px;align:center;" ><input style="cursor:pointer" id="tsalkapone_Notribe" type="checkbox"/></td></tr>';
  2071. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info_4+'</span></span>&nbsp;'+tsalkapone_trans.general.yes_tribe+'</td>';
  2072. tsalmenu+='<td style="padding:2px 10px;align:center;" ><input style="cursor:pointer" id="tsalkapone_Yestribe" type="checkbox"/></td></tr>';
  2073. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" >';
  2074. tsalmenu+='<span class="tsalinfo">'+tsalkapone_trans.general.info_5+'</span></span>&nbsp;'+tsalkapone_trans.general.vil_bonus+'</td>';
  2075. tsalmenu+='<td style="padding:2px 10px;align:center;" ><span class="pulse1" id="tsal_attention" style="display:none">'+tsalkapone_trans.general.bonus_attention+'</span>';
  2076. tsalmenu+='<span id="bonus_villages_span"><span id="bonus_show"><input id="tsal_showbonus" type="button" value="'+tsalkapone_trans.buttons.show_bonus+'" class="btn tsalbutton"></span>';
  2077. tsalmenu+='<span id="bonus_hide" style="display:none;"><input id="tsal_hidebonus" type="button" value="'+tsalkapone_trans.buttons.hide_bonus+'" class="btn tsalbutton"></span>';
  2078. tsalmenu+='<span id="bonus_list" style="display:none"><table class="vis" width="100%"><tr><th><font color="maroon">'+tsalkapone_trans.general.type_bonus+'</font></th><th><font color="maroon">'+tsalkapone_trans.general.active_bonus+'</font></th></tr>';
  2079. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/map/v3_left.png">&nbsp;'+tsalkapone_trans.general.barb_find+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus0" type="checkbox"></td></tr>';
  2080. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/wood.png">&nbsp;'+tsalkapone_trans.general.wood_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus1" type="checkbox"></td></tr>';
  2081. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/stone.png">&nbsp;'+tsalkapone_trans.general.stone_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus2" type="checkbox"></td></tr>';
  2082. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/iron.png">&nbsp;'+tsalkapone_trans.general.iron_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus3" type="checkbox"></td></tr>';
  2083. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/farm.png">&nbsp;'+tsalkapone_trans.general.farm_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus4" type="checkbox"></td></tr>';
  2084. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/barracks.png">&nbsp;'+tsalkapone_trans.general.inf_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus5" type="checkbox"></td></tr>';
  2085. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/stable.png">&nbsp;'+tsalkapone_trans.general.cav_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus6" type="checkbox"></td></tr>';
  2086. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/garage.png">&nbsp;'+tsalkapone_trans.general.gar_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus7" type="checkbox"></td></tr>';
  2087. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/all.png">&nbsp;'+tsalkapone_trans.general.res_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus8" type="checkbox"></td></tr>';
  2088. tsalmenu+='<tr><td style="border: 1px solid maroon;"><img height="40px;" width="50px;" src="/graphic/bonus/storage.png">&nbsp;'+tsalkapone_trans.general.mer_bonus+'</td><td style="border: 1px solid maroon;"><input id="tsal_bonus9" type="checkbox"></td></tr>';
  2089. tsalmenu+='</table></span></span></td></tr>';
  2090. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info1+'</span></span>&nbsp;'+tsalkapone_trans.general.cons+'</td>';
  2091. tsalmenu+='<td style="padding:2px 10px;align:center;"><input size="30" id="tsalkapone_Continents"/></td></tr>';
  2092. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info2+'</span></span>&nbsp;'+tsalkapone_trans.general.map_area+'</td>';
  2093. tsalmenu+='<td style="padding:2px 10px;"><span style="margin-left:0.5em;margin-right:0.5em;">'+tsalkapone_trans.general.left_top+':</span><input id="tsalkapone_MRTopLeft" size="5"/><span style="margin-left:0.5em;margin-right:0.5em;"><br>'+tsalkapone_trans.general.right_bot+':</span><input id="tsalkapone_MRBottomRight" size="5"/></td></tr>';
  2094. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info3+'</span></span>&nbsp;'+tsalkapone_trans.general.vil_min+'</td>';
  2095. tsalmenu+='<td style="padding:2px 10px;"><input min="0" type="number" id="tsalkapone_MinPoints"/></td></tr>';
  2096. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info4+'</span></span>&nbsp;'+tsalkapone_trans.general.vil_max+'</td>';
  2097. tsalmenu+='<td style="padding:2px 10px;"><input min="0" type="number" id="tsalkapone_MaxPoints"/></td></tr>';
  2098. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info5+'</span></span>&nbsp;'+tsalkapone_trans.general.square+'</td>';
  2099. tsalmenu+='<td style="padding:2px 10px;"><span style="margin-left:0.5em;margin-right:0.5em;">'+tsalkapone_trans.general.fields+':</span><input type="number" min="0" id="tsalkapone_Radius" size="3"/>';
  2100. tsalmenu+='&emsp;<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.all_map+'.</span></span>&nbsp;<input class="btn tsalbutton" type="button" id="tsal_allmap" value="'+tsalkapone_trans.buttons.all_map+'">';
  2101. tsalmenu+='<span style="margin-left:0.5em;margin-right:0.5em;"><br>'+tsalkapone_trans.general.center+': </span><input id="tsalkapone_RadiusCentre" size="5"/>&emsp;';
  2102. tsalmenu+='<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.cur_vil+'.<br><br>'+tsalsyntetagmeni+'</span></span>&nbsp;<input class="btn tsalbutton" type="button" id="tsal_curvil" value="'+tsalkapone_trans.buttons.cur_vil+'"></td></tr>';
  2103. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip" ><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png"><span class="tsalinfo">'+tsalkapone_trans.general.info6+'</span></span>&nbsp;'+tsalkapone_trans.general.names+'</td>';
  2104. tsalmenu+='<td style="padding:2px 10px;"><input size="45" id="tsalkapone_Players"/></td></tr>';
  2105. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip" ><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info7+'</span></span>&nbsp;'+tsalkapone_trans.general.tags+'</td>';
  2106. tsalmenu+='<td style="padding:2px 10px;"><input size="45" id="tsalkapone_Tribes"/></td></tr>';
  2107. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip" ><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png"><span class="tsalinfo">'+tsalkapone_trans.general.info8+'</span></span>&nbsp;'+tsalkapone_trans.general.exnames+'</td>';
  2108. tsalmenu+='<td style="padding:2px 10px;"><input size="45" id="tsalkapone_exPlayers"/></td></tr>';
  2109. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip" ><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.info9+'</span></span>&nbsp;'+tsalkapone_trans.general.extags+'</td>';
  2110. tsalmenu+='<td style="padding:2px 10px;"><input size="45" id="tsalkapone_exTribes"/></td></tr>';
  2111. tsalmenu+='</table></span>';
  2112. tsalmenu+='<span class="tsalset2" id="tsalsxediasmos" style="display:none;"><br><table id="Tsalpinakas" width="100%" class="vis">';
  2113. tsalmenu+='<tr><th colspan="2"><b><font color="darkmagenta"><center>'+tsalkapone_trans.general.table_des+'</center></font></b></th></tr>';
  2114. tsalmenu+='<tr><th style="padding:2px 10px;"><b><font color="blue"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.col_info+'</span></span>&nbsp;'+tsalkapone_trans.general.col_con+'</font></b></th><th style="padding:2px 10px;"><b><font color="red">'+tsalkapone_trans.general.col_styles+'</font></b></th></tr>';
  2115. tsalmenu+='<tr><td style="padding:2px 10px;" width="40%"><input style="cursor:pointer" id="Tsalsyntetagmenes" type="checkbox" checked disabled/><label for="Tsalsyntetagmenes">'+tsalkapone_trans.general.syn+'</label></td>';
  2116. tsalmenu+='<td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.claim_tag+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB1Encoded" type="checkbox"/><label for="tsalBB1Encode">'+tsalkapone_trans.general.bb_codes+'</label></td></tr>';
  2117. tsalmenu+='<tr><td style="padding:2px 10px;"><input style="cursor:pointer" id="Tsalpoints" type="checkbox"/><label for="Tsalpoints">'+tsalkapone_trans.general.pontoi+'</label></td>';
  2118. tsalmenu+='<td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.points_bold+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB4Encoded" type="checkbox"/><label for="tsalBB4Encode">'+tsalkapone_trans.general.bold+'</label></td></tr>';
  2119. tsalmenu+='<tr><td style="padding:2px 10px;"><input style="cursor:pointer" id="Tsalowner" type="checkbox"/><label for="Tsalowner">'+tsalkapone_trans.general.owner+'</label></td>';
  2120. tsalmenu+='<td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.owner_bb+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB2Encoded" type="checkbox"/><label for="tsalBB2Encode">'+tsalkapone_trans.general.bb_codes+'</label></td></tr>';
  2121. tsalmenu+='<tr><td style="padding:2px 10px;"><input style="cursor:pointer" id="Tsaltribe" type="checkbox"/><label for="Tsaltribe">'+tsalkapone_trans.general.tribe+'</label></td>';
  2122. tsalmenu+='<td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.tribe_bb+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB3Encoded" type="checkbox"/><label for="tsalBB3Encode">'+tsalkapone_trans.general.bb_codes+'</label></td></tr>';
  2123. tsalmenu+='<tr><td style="padding:2px 10px;"><input style="cursor:pointer" id="Tsalmet1" type="checkbox"/><label for="Tsalmet1">'+tsalkapone_trans.general.sequ+'</label></td>';
  2124. tsalmenu+='<td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.seq_bb+'</span></span>&nbsp;<input style="cursor:pointer" id="TsalBBmet1" type="checkbox"/><label for="TsalBBmet1">'+tsalkapone_trans.general.bold_color+'</label></td></tr>';
  2125. tsalmenu+='<tr><td style="padding:2px 10px;"><input style="cursor:pointer" id="Tsalpros" type="checkbox"/><label for="Tsalpros">'+tsalkapone_trans.general.col_plus+'</label></td>';
  2126. tsalmenu+='<td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.col_title+'</span></span>&nbsp;<span>'+tsalkapone_trans.general.co_tit+':</span><input type="text" id="Tsalstili1" value=""/>';
  2127. tsalmenu+='<br><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.player_tag+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB21Encoded" type="checkbox"/><label for="tsalBB3Encode">'+tsalkapone_trans.general.t_player+' ||';
  2128. tsalmenu+='</label>&nbsp;<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.player_tag_all+'</span></span>&nbsp;<span>'+tsalkapone_trans.general.t_name+':</span><input type="text" size=10 id="Tsalper1" value=""/>';
  2129. tsalmenu+='<br><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.tribe_tag+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB31Encoded" type="checkbox"/><label for="tsalBB3Encode">'+tsalkapone_trans.general.t_tribe+' ||';
  2130. tsalmenu+='</label>&nbsp;<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.tribe_tag_all+'</span></span>&nbsp;<span>'+tsalkapone_trans.general.t_tag+':</span><input size=10 type="text" id="Tsalper2" value=""/></td></tr>';
  2131. tsalmenu+='<tr><td style="padding:2px 10px;"><input style="cursor:pointer" id="Tsalpros1" type="checkbox"/><label for="Tsalpros1">'+tsalkapone_trans.general.col_plus+'</label></td>';
  2132. tsalmenu+='<td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.col_title+'</span></span>&nbsp;<span>'+tsalkapone_trans.general.co_tit+':</span><input type="text" id="Tsalstili2" value=""/><br>';
  2133. tsalmenu+='<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.player_tag+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB22Encoded" type="checkbox"/><label for="tsalBB3Encode">'+tsalkapone_trans.general.t_player+' ||';
  2134. tsalmenu+='</label>&nbsp;<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.player_tag_all+'</span></span>&nbsp;<span>'+tsalkapone_trans.general.t_name+':</span><input type="text" size=10 id="Tsalper3" value=""/><br>';
  2135. tsalmenu+='<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.tribe_tag+'</span></span>&nbsp;<input style="cursor:pointer" id="tsalBB32Encoded" type="checkbox"/><label for="tsalBB3Encode">'+tsalkapone_trans.general.t_tribe+' ||';
  2136. tsalmenu+='</label>&nbsp;<span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.tribe_tag_all+'</span></span>&nbsp;<span>'+tsalkapone_trans.general.t_tag+':</span><input size=10 type="text" id="Tsalper4" value=""/></td></tr>';
  2137. tsalmenu+='<tr><td style="padding:2px 10px;" colspan="2"><center><span id="tsalpinakasopen" style="display:none"><input type="button" class="btn tsalbutton" value="'+tsalkapone_trans.buttons.table_show+'" id="Tsalopentab"></span>';
  2138. tsalmenu+='<span id="tsalpinakasclose"><input type="button" class="btn tsalbutton" value="'+tsalkapone_trans.buttons.table_hide+'" id="Tsalclosetab"></center></td></tr>';
  2139. tsalmenu+="<tr><td colspan='2'><span id='pinakasmesa'><textarea id='tsalperiexomeno' cols='70' rows='5' style='overflow-x:hidden;overflow-y:auto;' onfocus='this.select();'></textarea></span></td></tr>";
  2140. tsalmenu+='</table></span>';
  2141. tsalmenu+='</td>';
  2142. tsalmenu+='<td>';
  2143. tsalmenu+='<div id="tsalkaponemagicscripttable2" style="width:98%;" class="target-select clearfix vis float_left">';
  2144. tsalmenu+='<h4><center><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo3">'+tsalkapone_trans.general.core_info+'.</span></span>&nbsp;<font color=darkgreen>Tsalkapone. '+tsalkapone_trans.general.major_list+'</font></center></h4>';
  2145. tsalmenu+='<table class="vis" width="100%"><tr><td><center><span class="tsaltooltip"><input id="tsalkapone_FindFarms" type="button" class="btn tsalbutton" value="'+tsalkapone_trans.buttons.searching+'"/></center></td>';
  2146. tsalmenu+='<td><center><input type="button" value="'+tsalkapone_trans.buttons.save_set+'" class="btn tsalbutton" id="tsalkapone_SaveConfig"></center></td>';
  2147. tsalmenu+='<td><center><input type="button" value="'+tsalkapone_trans.buttons.results_select+'" class="btn tsalbutton" id="tsalkapone_select"></center></td>';
  2148. tsalmenu+='</tr></table></div>';
  2149. tsalmenu+='<span class="tsalset5" id="tsaluseful" style="display:none;"><br><table id="Tsalusefulinfo" width="100%" class="vis">';
  2150. tsalmenu+='<tr><th colspan="2"><b><font color="darkmagenta"><center>'+tsalkapone_trans.general.tsal_links+'</center></font></b></th></tr>';
  2151. tsalmenu+='<tr><th><b><font color="blue"><center>'+tsalkapone_trans.general.linkth+'</center></font></b></th><th><b><font color="blue"><center>'+tsalkapone_trans.general.infoth+'</center></font></b></th></tr>';
  2152. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link1+'</td>';
  2153. tsalmenu+='<td><a href="'+Tsalsite2+'" target="_blank"><center><img title="'+tsalkapone_trans.general.new_tab+'" src="/graphic/icons/paste.png"></center></a></td></tr>';
  2154. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link2+'</td>';
  2155. tsalmenu+='<td><a href="'+Tsalsite3+'" target="_blank"><center><img title="'+tsalkapone_trans.general.new_tab+'" src="/graphic/icons/paste.png"></center></a></td></tr>';
  2156. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link3+'</td>';
  2157. tsalmenu+='<td><a href="'+Tsalsite5+'" target="_blank"><center><img title="'+tsalkapone_trans.general.new_tab+'" src="/graphic/icons/paste.png"></center></a></td></tr>';
  2158. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link4+'</td>';
  2159. tsalmenu+='<td><a href="'+Tsalsite6+'" target="_blank"><center><img title="'+tsalkapone_trans.general.new_tab+'" src="/graphic/icons/paste.png"></center></a></td></tr>';
  2160. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link5+'</td>';
  2161. tsalmenu+='<td><a href="'+Tsalsite4+'" target="_blank"><center><img title="'+tsalkapone_trans.general.new_tab+'" src="/graphic/icons/paste.png"></center></a></td></tr>';
  2162. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link6+'</td>';
  2163. tsalmenu+='<td><a href="'+Tsalsite1+'" target="_blank"><center><img title="'+tsalkapone_trans.general.new_tab+'" src="/graphic/icons/paste.png"></center></a></td></tr>';
  2164. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link7+'</td>';
  2165. tsalmenu+='<td><center><b><font color="red">'+pontoi+'</font></b></center></td></tr>';
  2166. tsalmenu+='<tr><td style="padding:2px 10px;">'+tsalkapone_trans.general.link8+'</td>';
  2167. tsalmenu+='<td><center><b><font color="red">'+apostasi+'</font></b></center></td></tr>';
  2168. tsalmenu+='</table></span>';
  2169. tsalmenu+='<span class="tsalset3" id="tsalscripts" style="display:none;"><br><table id="Tsalparagwgiscripts" width="100%" class="vis">';
  2170. tsalmenu+='<tr><th colspan="2"><b><font color="darkmagenta"><center>'+tsalkapone_trans.general.scripts_prod+'</center></font></b></th></tr>';
  2171. tsalmenu+='<tr><td><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.script_info1+'</span></span>&nbsp;<b><font color="green">'+tsalkapone_trans.general.script1+'</font></b></td>';
  2172. tsalmenu+='<td><textarea id="tsalOutput" cols="30" rows="3" style="overflow-x:hidden;overflow-y:auto;" onfocus="this.select();"></textarea></td></tr>';
  2173. tsalmenu+='<tr><td><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.script_info2+'</span></span>&nbsp;<b><font color="green">'+tsalkapone_trans.general.script2+'</font></b></td>';
  2174. tsalmenu+='<td><textarea id="tsal2Output" cols="30" rows="3" style="overflow-x:hidden;overflow-y:auto;" onfocus="this.select();"></textarea></td></tr>';
  2175. tsalmenu+='<tr><td><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.script_info3+'</span></span>&nbsp;<b><font color="green">'+tsalkapone_trans.general.script3+'</font></b></td>';
  2176. tsalmenu+='<td><textarea id="tsal3Output" cols="30" rows="3" style="overflow-x:hidden;overflow-y:auto;" onfocus="this.select();"></textarea></td></tr>';
  2177. tsalmenu+='<tr><td><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.script_info5+'</span></span>&nbsp;<b><font color="green">'+tsalkapone_trans.general.script5+'</font></b></td>';
  2178. tsalmenu+='<td><textarea id="tsal4Output" cols="30" rows="3" style="overflow-x:hidden;overflow-y:auto;" onfocus="this.select();"></textarea></td></tr>';
  2179. tsalmenu+='<tr><td><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.script_info4+'</span></span>&nbsp;<b><font color="green">'+tsalkapone_trans.general.script4+'</font></b></td>';
  2180. tsalmenu+='<td><textarea id="tsal1Output" cols="30" rows="3" style="overflow-x:hidden;overflow-y:auto;" onfocus="this.select();"></textarea></td></tr>';
  2181. tsalmenu+='</table></span>';
  2182. tsalmenu+='<table id="tsalkapone_Result" class="vis" width="100%"><br>';
  2183. tsalmenu+='<tr><th colspan="2"><span class="tsalresults"><b><font size="4" color="darkgreen"><center><u>'+tsalkapone_trans.general.c_results+'</u></center></font></b></span><div style="float:right;"><span id="tsalkapone_CoordCount">(0)</span></div></th></tr>';
  2184. tsalmenu+=' <tr><td width="20%"><span class="tsaltooltip"><span id="tsalsample" class="tsalinfo1"></span>';
  2185. tsalmenu+='<img id="tsalsample_img" height="70px;" width="160px;" style="cursor:help" src="https://dl.dropboxusercontent.com/s/1uhr6byjpq9cchr/Tsalkapone_sample.gif" ></span>';
  2186. tsalmenu+='</td><td style="padding:5px 5px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.format_info+'</span></span>&nbsp;<b><font color="red"><u>'+tsalkapone_trans.general.tsal_format+':</u></font></b><br><br>';
  2187. tsalmenu+='<input id="tsalkapone_Format" type="text" style="width:240px;margin-left:1px;" value="{c}"/><span id="tsalkapone_Hint"></span></td></tr>';
  2188. tsalmenu+='<tr><td colspan="2"><textarea id="tsalkapone_Output" cols="60" rows="12" style="overflow-x:hidden;overflow-y:auto;"></textarea></td></tr>';
  2189. tsalmenu+='</table>';
  2190. tsalmenu+='<span class="tsalset4" id="tsalstyles"><table id="tsalstylestable" class="vis" width="100%">';
  2191. tsalmenu+='<tr><th colspan="2"><center><b><font color="green">'+tsalkapone_trans.general.add_styles+'</font></b></center></th><tr>';
  2192. tsalmenu+='<tr><th width="60%"><center><b><font color="blue">'+tsalkapone_trans.general.linkth+'</font></b></center></th><th><center><b><font color="blue">'+tsalkapone_trans.general.active_bonus+'</font></b></center></th><tr>';
  2193. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.style_info1+'.</span></span>&nbsp;'+tsalkapone_trans.general.style_coords+'</td><td align="center"><input style="cursor:pointer" id="tsalkapone_BBEncoded" type="checkbox"/></td></tr>';
  2194. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.style_info2+'.</span></span>&nbsp;'+tsalkapone_trans.general.style_players+'</td><td align="center"><input style="cursor:pointer" id="tsalBBplayerEncoded" type="checkbox"/></td></tr>';
  2195. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.style_info3+'.</span></span>&nbsp;'+tsalkapone_trans.general.style_tribes+'</td><td align="center"><input style="cursor:pointer" id="tsalBBtribeEncoded" type="checkbox"/></td></tr>';
  2196. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.style_info4+'.</span></span>&nbsp;'+tsalkapone_trans.general.style_numbering+'</td><td align="center"><input style="cursor:pointer" id="TsalBBmet" type="checkbox"/></td></tr>';
  2197. tsalmenu+='<tr><td style="padding:2px 10px;"><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.style_info5+'.</span></span>&nbsp;'+tsalkapone_trans.general.style_order+'</td><td align="center"><input style="cursor:pointer" id="tsalBBEncoded" type="checkbox"></td></tr>';
  2198. tsalmenu+='</table></span></div>';
  2199. tsalmenu+='</td>';
  2200. tsalmenu+='</tr>';
  2201. tsalmenu+='<tr><td colspan="2"><div id="tsalkaponemagicscripttable2" style="width:95%;" class="target-select clearfix vis float_left">';
  2202. tsalmenu+='<h4><center><font color=darkgreen>'+tsalkapone_trans.general.data_files+'</font></center></h4>';
  2203. tsalmenu+='<table class="vis" width="100%">';
  2204. tsalmenu+='<tr><th width="40%"><center><font color="blue">'+tsalkapone_trans.general.data_type+'</font></center></th>';
  2205. tsalmenu+='<th><center><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.data_info1+'.<br><br>'+tsalkapone_trans.general.data_info2+':<br><span class="tsalkembed2 pulse1" >*** '+tsalkapone_trans.general.no_data+' ***</span><br><br>'+tsalkapone_trans.general.data_info3+':<br><img src="https://dl.dropboxusercontent.com/s/a02tk591hjrbfuy/tsalkapone_spinner.gif" height=30px;" width="30px;">.</span></span>&nbsp;<font color="blue">'+tsalkapone_trans.general.data_age+'</font></center></th>';
  2206. tsalmenu+='<th><center><span class="tsaltooltip"><img style="cursor: help; height:13px; width:13px" src="graphic/questionmark.png" ><span class="tsalinfo">'+tsalkapone_trans.general.data_info4+'.</span></span>&nbsp;<font color="blue">'+tsalkapone_trans.general.data_status+'</font></center></th></tr>';
  2207. tsalmenu+='<tr><td><span style="font-weight:bold;">'+tsalkapone_trans.general.data_players+'</span></td>';
  2208. tsalmenu+='<td><center><span id="tsalkapone_PlayersDATAge"></span></center></td>';
  2209. tsalmenu+='<td><center><input type ="button" class="btn tsalbutton" id="tsalkapone_RefreshPlayersDAT" style="display:none;" value="'+tsalkapone_trans.buttons.data_update+'"><span class="tsalyo" id="tsalplayers"></span></center></td></tr>';
  2210. tsalmenu+='<tr><td><span style="font-weight:bold;">'+tsalkapone_trans.general.data_tribes+'</span></td><td><center><span id="tsalkapone_TribesDATAge"></span></center></td>';
  2211. tsalmenu+='<td><center><input type ="button" class="btn tsalbutton" id="tsalkapone_RefreshTribesDAT" style="display:none;" value="'+tsalkapone_trans.buttons.data_update+'"><span id="tsaltribes" class="tsalyo"></span></center></td></tr>';
  2212. tsalmenu+='<tr><td><span style="font-weight:bold;">'+tsalkapone_trans.general.data_villages+'</span></td><td><center><span id="tsalkapone_VillagesDATAge"></span></center></td>';
  2213. tsalmenu+='<td><center><input type ="button" class="btn tsalbutton" id="tsalkapone_RefreshVillagesDAT" style="display:none;" value="'+tsalkapone_trans.buttons.data_update+'"><span id="tsalvillages" class="tsalyo"></span></center></td></tr>';
  2214. tsalmenu+='<tr><td colspan="3"><center><span class="tsalkembed1"><img width="20px;" src="https://dl.dropboxusercontent.com/s/s9swak86tirwdpd/Tsalkapone.%20Warning.gif">&emsp;'+tsalkapone_trans.general.data_attention+'</span></center></td></tr>';
  2215. tsalmenu+='</table></div></td></tr></table>';
  2216. tsalmenu+='</div></div>';
  2217. tsalmenu+='<div style="width: 1100px; height: 30px; background:url(https://dl.dropboxusercontent.com/s/q367kvxnn8ebetn/tsalkapone_bottom.png) repeat-x;"></div>';
  2218. tsalmenu+='</div>';
  2219. $('body').append(tsalmenu);
  2220.  
  2221. /*==== register ====*/
  2222. var tsalscript = {
  2223. scriptname: 'Advanced Coords Extractor',
  2224. version: '1.0',
  2225. author: 'Tsalkapone',
  2226. email: 'tsalkapone@hotmail.com',
  2227. broken: false
  2228. };
  2229. $.post(ScriptAPI.url,tsalscript);
  2230.  
  2231. if (get_lang == "greek") {document.getElementById('greek_lang').checked = true;}
  2232. else if (get_lang == "english") {document.getElementById('english_lang').checked = true; }
  2233. else if (get_lang == "arabic") {document.getElementById('arabic_lang').checked = true; }
  2234. $("#english_lang").click(function(){
  2235. localStorage.setItem("advanced_extractor_lang","english");
  2236. location.reload();
  2237. });
  2238.  
  2239. $("#greek_lang").click(function(){
  2240. localStorage.setItem("advanced_extractor_lang","greek");
  2241. location.reload();
  2242. });
  2243.  
  2244. $("#arabic_lang").click(function(){
  2245. localStorage.setItem("advanced_extractor_lang","arabic");
  2246. location.reload();
  2247. });
  2248.  
  2249. $("#tsalkapone_select").click(function(){
  2250. $('#tsalkapone_Output').select();
  2251. });
  2252. $("#tsal_curvil").click(function(){
  2253. var y = localStorage.getItem('last_coord');
  2254. if (localStorage.last_coord) {document.getElementById('tsalkapone_RadiusCentre').value = y;} else {UI.ErrorMessage('<font color=gold><b><center>'+tsalkapone_trans.general.notification+' Tsalkapone</center></b></font> <br><br>'+tsalkapone_trans.notes.last_coord+'.', 5000);}
  2255. });
  2256.  
  2257. $("#tsal_allmap").click(function(){
  2258. document.getElementById('tsalkapone_Continents').value = '';
  2259. document.getElementById('tsalkapone_MRTopLeft').value = '000|000';
  2260. document.getElementById('tsalkapone_MRBottomRight').value = '999|999';
  2261. document.getElementById('tsalkapone_Radius').value = '';
  2262. });
  2263. $("#tsal_showbonus").click(function(){
  2264. document.getElementById('bonus_hide').style.display="";
  2265. document.getElementById('bonus_show').style.display="none";
  2266. document.getElementById('bonus_list').style.display="";
  2267. });
  2268. $("#tsal_hidebonus").click(function(){
  2269. document.getElementById('bonus_hide').style.display="none";
  2270. document.getElementById('bonus_show').style.display="";
  2271. document.getElementById('bonus_list').style.display="none";
  2272. });
  2273. $("#openfilterbut1").click(function(){
  2274. document.getElementById('columnfilter1').style.display="";
  2275. document.getElementById('openfilter1').style.display="none";
  2276. document.getElementById('closefilter1').style.display="";
  2277. });
  2278. $("#closefilterbut1").click(function(){
  2279. document.getElementById('columnfilter1').style.display="none";
  2280. document.getElementById('openfilter1').style.display="";
  2281. document.getElementById('closefilter1').style.display="none";
  2282. });
  2283. $("#tsalkapone_reveal").click(function(){
  2284. document.getElementById('tsalkapone_rev_hide').style.display="";
  2285. document.getElementById('tsalkapone_rev_show').style.display="none";
  2286. document.getElementById('tsalkapone_twconfig').style.display="";
  2287. });
  2288. $("#tsalkapone_hide").click(function(){
  2289. document.getElementById('tsalkapone_rev_hide').style.display="none";
  2290. document.getElementById('tsalkapone_rev_show').style.display="";
  2291. document.getElementById('tsalkapone_twconfig').style.display="none";
  2292. });
  2293. $("#Tsalopentab").click(function(){
  2294. document.getElementById('tsalpinakasclose').style.display="";
  2295. document.getElementById('tsalpinakasopen').style.display="none";
  2296. document.getElementById('pinakasmesa').style.display="";
  2297. });
  2298. $("#Tsalclosetab").click(function(){
  2299. document.getElementById('tsalpinakasclose').style.display="none";
  2300. document.getElementById('tsalpinakasopen').style.display="";
  2301. document.getElementById('pinakasmesa').style.display="none";
  2302. });
  2303.  
  2304. $("#tsalsample_img").mouseover(function(){
  2305. var format_sample=$.trim($('#tsalkapone_Format').val());
  2306. var sample_output=format_sample
  2307. .replace(/\{ct\}/ig,'1.')
  2308. .replace(/\{c\}/ig,'500|500')
  2309. .replace(/\{cp\}/ig,'5500')
  2310. .replace(/\{cn\}/ig,'Tsalkapone No1')
  2311. .replace(/\{p\}/ig,'Tsalkapone')
  2312. .replace(/\{tn\}/ig,'Nightmare')
  2313. .replace(/\{pr\}/ig,'11')
  2314. .replace(/\{pt\}/ig,'458600')
  2315. .replace(/\{tp\}/ig,'23560470')
  2316. .replace(/\{tr\}/ig,'3')
  2317. .replace(/\{bonus\}/ig,''+tsalkapone_trans.general.inf_bonus+'')
  2318. .replace(/\{t\}/ig,'N*M')
  2319. .replace(/\{con\}/ig,'45');
  2320. document.getElementById('tsalsample').innerHTML = '<b><font color="darkmagenta"><u>'+tsalkapone_trans.general.sample_text+':</u></font></b><br><br>'+sample_output;
  2321. });
  2322.  
  2323.  
  2324.  
  2325. // Wire up any relevant events.
  2326. $('#tsalset1').click(function(){fnRefreshControls(); tsalkaponemagic(this.id); fnTsalkaponemagic(); } );
  2327. $('#tsalset2').click(function(){fnRefreshControls(); tsalkaponemagic(this.id); fnTsalkaponemagic(); } );
  2328. $('#tsalset3').click(function(){fnRefreshControls(); tsalkaponemagic(this.id);});
  2329. $('#tsalset4').click(function(){fnRefreshControls(); tsalkaponemagic(this.id);});
  2330. $('#tsalset5').click(function(){fnRefreshControls(); tsalkaponemagic(this.id);});
  2331. $('#tsalset6').click(function(){Tsalkaponebackground();});
  2332. $('#tsalset7').click(function(){fnRefreshControls(); tsalkaponemagic(this.id);});
  2333. $('#tsalkapone_AllVillages').click(function(){fnRefreshControls();});
  2334. $('#tsalkapone_Bonusvillages').click(function(){fnRefreshControls();});
  2335. $('#tsalkapone_tsalvillages').click(function(){fnRefreshControls();});
  2336. $('#tsalkapone_Selectedcriteria').click(function(){fnRefreshControls();});
  2337. $('#tsalkapone_FindFarms').click(function(){fnCheckVillagesDAT();fnCheckPlayersDAT();fnCheckTribesDAT();fnFindFarms();});
  2338. $('#tsalkapone_SaveConfig').click(function(){fnSaveConfig();fnTsalcoords();});
  2339. $('#tsalkapone_BBEncoded').click(function(){fnDisplayOutput();});
  2340. $('#tsalBBplayerEncoded').click(function(){fnDisplayOutput();});
  2341. $('#tsalBBtribeEncoded').click(function(){fnDisplayOutput();});
  2342. $('#tsalBB1Encoded').click(function(){fnDisplayOutput();});
  2343. $('#tsalBB4Encoded').click(function(){fnDisplayOutput();});
  2344. $('#tsalBB2Encoded').click(function(){fnDisplayOutput();});
  2345. $('#tsalBB3Encoded').click(function(){fnDisplayOutput();});
  2346. $('#tsalBB21Encoded').click(function(){fnDisplayOutput();});
  2347. $('#tsalBB31Encoded').click(function(){fnDisplayOutput();});
  2348. $('#tsalBB22Encoded').click(function(){fnDisplayOutput();});
  2349. $('#tsalBB32Encoded').click(function(){fnDisplayOutput();});
  2350. $('#Tsalowner').click(function(){fnDisplayOutput();});
  2351. $('#Tsalmet1').click(function(){fnDisplayOutput();})
  2352. $('#TsalBBmet').click(function(){fnDisplayOutput();})
  2353. $('#TsalBBmet1').click(function(){fnDisplayOutput();})
  2354. $('#Tsalsyntetagmenes').click(function(){fnRefreshControls();});
  2355. $('#Tsalpros').click(function(){fnDisplayOutput();});
  2356. $('#Tsalpros1').click(function(){fnDisplayOutput();});
  2357. $('#Tsalpoints').click(function(){fnDisplayOutput();});
  2358. $('#Tsaltribe').click(function(){fnDisplayOutput();});
  2359. $('#tsalBBEncoded').click(function(){fnDisplayOutput();});
  2360. $('#tsalkapone_RefreshVillagesDAT').click(function(){fnRefreshVillagesDAT();});
  2361. $('#tsalkapone_RefreshPlayersDAT').click(function(){fnRefreshPlayersDAT();});
  2362. $('#tsalkapone_RefreshTribesDAT').click(function(){fnRefreshTribesDAT();});
  2363. var tsalkapone_hint = '<font color=darkgreen><b><u>'+tsalkapone_trans.general.hint1+':</u></b></font> <br><br>';
  2364. tsalkapone_hint+='<font color=darkmagenta><b>{ct}</b></font> -> '+tsalkapone_trans.general.hint2+' <hr><font color=darkmagenta>';
  2365. tsalkapone_hint+='<b>{c}</b></font> -> '+tsalkapone_trans.general.hint3+'<br/>';
  2366. tsalkapone_hint+='<font color=darkmagenta><b>{cp}</b></font> -> '+tsalkapone_trans.general.hint4+'<br/><font color=darkmagenta>';
  2367. tsalkapone_hint+='<b>{cn}</b></font> -> '+tsalkapone_trans.general.hint5+'<br/>';
  2368. tsalkapone_hint+='<font color=darkmagenta><b>{con}</b></font> -> '+tsalkapone_trans.general.hint9+'<br>';
  2369. tsalkapone_hint+='<font color=darkmagenta><b>{bonus}</b></font> -> '+tsalkapone_trans.general.hint14+'<hr>';
  2370. tsalkapone_hint+='<font color=darkmagenta><b>{p}</b></font> -> '+tsalkapone_trans.general.hint6+'<br/>';
  2371. tsalkapone_hint+='<font color=darkmagenta><b>{pr}</b></font> -> '+tsalkapone_trans.general.hint12+'<br/>';
  2372. tsalkapone_hint+='<font color=darkmagenta><b>{pt}</b></font> -> '+tsalkapone_trans.general.hint13+'<hr>';
  2373. tsalkapone_hint+='<font color=darkmagenta><b>{t}</b></font> -> '+tsalkapone_trans.general.hint7+'<br/>';
  2374. tsalkapone_hint+='<font color=darkmagenta><b>{tn}</b></font> -> '+tsalkapone_trans.general.hint8+'<br/>';
  2375. tsalkapone_hint+='<font color=darkmagenta><b>{tp}</b></font> -> '+tsalkapone_trans.general.hint10+'<br/>';
  2376. tsalkapone_hint+='<font color=darkmagenta><b>{tr}</b></font> -> '+tsalkapone_trans.general.hint11+'';
  2377.  
  2378.  
  2379. $('#tsalkapone_Hint').html(tsalkapone_hint);
  2380. $('#tsalkapone_Hint').css({
  2381. display:'none',
  2382. position:'absolute',
  2383. left:$('#tsalkapone_Format').css('right'),
  2384. width:'300px',
  2385. marginTop:'-4px',
  2386. border:'1px solid #c93',
  2387. padding:'10px 12px',
  2388. backgroundColor:'#ffc'
  2389. });
  2390. $('#tsalkapone_Format').on('focus',function(){$('#tsalkapone_Hint').css({display:'inline'});});
  2391. $('#tsalkapone_Format').on('blur',function(){$('#tsalkapone_Hint').css({display:'none'});});
  2392.  
  2393. fnLoadConfig();
  2394. fnRefreshControls();
  2395. Tsalkaponebackground();
  2396. fnCheckVillagesDAT();
  2397. fnCheckPlayersDAT();
  2398. fnCheckTribesDAT();
  2399. } // fnInjectGUIControls
  2400. // ........................................................................
  2401. function fnRefreshControls(){
  2402. var state=document.getElementById('tsalkapone_tsalvillages').checked;
  2403. var state2=document.getElementById('tsalkapone_AllVillages').checked;
  2404. var state3=document.getElementById('tsalkapone_Selectedcriteria').checked;
  2405. var state1=document.getElementById('tsalkapone_Bonusvillages').checked;
  2406. var note1 = document.getElementById('bonus_villages_span');
  2407. var note2 = document.getElementById('tsal_attention');
  2408. var note3 = document.getElementById('tsal_attention1');
  2409. var note4 = document.getElementById('tsal_villages_span');
  2410. var tsalset1 = document.getElementById('tsalset1').checked;
  2411. var tsal_set1 = document.getElementsByClassName('tsalset1')[0];
  2412. if (tsalset1 == true){tsal_set1.style.display="";} else {tsal_set1.style.display="none";}
  2413. var tsalset2 = document.getElementById('tsalset2').checked;
  2414. var tsal_set2 = document.getElementsByClassName('tsalset2')[0];
  2415. if (tsalset2 == true){tsal_set2.style.display="";} else {tsal_set2.style.display="none";}
  2416. var tsalset3 = document.getElementById('tsalset3').checked;
  2417. var tsal_set3 = document.getElementsByClassName('tsalset3')[0];
  2418. if (tsalset3 == true){tsal_set3.style.display="";} else {tsal_set3.style.display="none";}
  2419. var tsalset4 = document.getElementById('tsalset4').checked;
  2420. var tsal_set4 = document.getElementsByClassName('tsalset4')[0];
  2421. if (tsalset4 == true){tsal_set4.style.display="";} else {tsal_set4.style.display="none";}
  2422. var tsalset5 = document.getElementById('tsalset5').checked;
  2423. var tsal_set5 = document.getElementsByClassName('tsalset5')[0];
  2424. if (tsalset5 == true){tsal_set5.style.display="";} else {tsal_set5.style.display="none";}
  2425. var tsalset7 = document.getElementById('tsalset7').checked;
  2426. var tsal_set7 = document.getElementById('tsal_mainmenu');
  2427. if (tsalset7 == true){tsal_set7.style.display="";} else {tsal_set7.style.display="none";}
  2428.  
  2429. if (state1 === true){
  2430. note1.style.display="";
  2431. note2.style.display="none";
  2432. note3.style.display="";
  2433. note4.style.display="none";
  2434. $('#tsalkapone_Notribe').attr('checked',false);
  2435. $('#tsalkapone_Yestribe').attr('checked',false);
  2436. $('#tsalkapone_BarbOnly').attr('checked',false);
  2437. $('#tsalkapone_MyVil').attr('checked',false);
  2438. $('#tsalkapone_Mytribe').attr('checked',false);
  2439. $('#tsalkapone_MyVil').attr('disabled','disabled');
  2440. $('#tsalkapone_Mytribe').attr('disabled','disabled');
  2441. $('#tsalkapone_Notribe').attr('disabled','disabled');
  2442. $('#tsalkapone_Yestribe').attr('disabled','disabled');
  2443. $('#tsalkapone_BarbOnly').attr('disabled','disabled');
  2444. $('#tsalkapone_Players').attr('disabled','disabled');
  2445. $('#tsalkapone_Tribes').attr('disabled','disabled');
  2446. $('#tsalkapone_exPlayers').attr('disabled','disabled');
  2447. $('#tsalkapone_exTribes').attr('disabled','disabled');
  2448. }
  2449. if (state === true){
  2450. note3.style.display="none";
  2451. note4.style.display="";
  2452. note1.style.display="none";
  2453. note2.style.display="";
  2454. $('#tsalkapone_Notribe').attr('checked',false);
  2455. $('#tsalkapone_Yestribe').attr('checked',false);
  2456. $('#tsalkapone_BarbOnly').attr('checked',false);
  2457. $('#tsalkapone_MyVil').attr('checked',false);
  2458. $('#tsalkapone_Mytribe').attr('checked',false);
  2459. $('#tsalkapone_MyVil').attr('disabled','disabled');
  2460. $('#tsalkapone_Mytribe').attr('disabled','disabled');
  2461. $('#tsalkapone_Notribe').attr('disabled','disabled');
  2462. $('#tsalkapone_Yestribe').attr('disabled','disabled');
  2463. $('#tsalkapone_BarbOnly').attr('disabled','disabled');
  2464. $('#tsalkapone_Players').attr('disabled','disabled');
  2465. $('#tsalkapone_Tribes').attr('disabled','disabled');
  2466. $('#tsalkapone_exPlayers').attr('disabled','disabled');
  2467. $('#tsalkapone_exTribes').attr('disabled','disabled');
  2468. }
  2469. if (state2 === true) {
  2470. note3.style.display="";
  2471. note4.style.display="none";
  2472. note1.style.display="none";
  2473. note2.style.display="";
  2474. $('#tsalkapone_Notribe').attr('checked',false);
  2475. $('#tsalkapone_Yestribe').attr('checked',false);
  2476. $('#tsalkapone_BarbOnly').attr('checked',false);
  2477. $('#tsalkapone_MyVil').attr('disabled',false);
  2478. $('#tsalkapone_Mytribe').attr('disabled',false);
  2479. $('#tsalkapone_MyVil').attr('checked',true);
  2480. $('#tsalkapone_Mytribe').attr('checked',true);
  2481. $('#tsalkapone_Notribe').attr('disabled','disabled');
  2482. $('#tsalkapone_Yestribe').attr('disabled','disabled');
  2483. $('#tsalkapone_BarbOnly').attr('disabled','disabled');
  2484. $('#tsalkapone_Players').attr('disabled','disabled');
  2485. $('#tsalkapone_Tribes').attr('disabled','disabled');
  2486. $('#tsalkapone_exPlayers').attr('disabled','disabled');
  2487. $('#tsalkapone_exTribes').attr('disabled','disabled');
  2488. }
  2489.  
  2490. if (state3 === true){
  2491. note3.style.display="";
  2492. note4.style.display="none";
  2493. note1.style.display="none";
  2494. note2.style.display="";
  2495. $('#tsalkapone_MyVil').attr('disabled',false);
  2496. $('#tsalkapone_Mytribe').attr('disabled',false);
  2497. $('#tsalkapone_Notribe').attr('disabled',false);
  2498. $('#tsalkapone_Yestribe').attr('disabled',false);
  2499. $('#tsalkapone_BarbOnly').attr('disabled',false);
  2500. $('#tsalkapone_MyVil').attr('disabled',false);
  2501. $('#tsalkapone_Players').attr('disabled',false);
  2502. $('#tsalkapone_Tribes').attr('disabled',false);
  2503. $('#tsalkapone_exPlayers').attr('disabled',false);
  2504. $('#tsalkapone_exTribes').attr('disabled',false);
  2505. }
  2506.  
  2507.  
  2508.  
  2509.  
  2510. } //fnRefreshControls
  2511. // ........................................................................
  2512. function fnBootStrapper(){
  2513. if(!twConfig.hasMinVersion(script.minGameVersion)){
  2514. var msg='Το συγκεκριμένο script απαιτεί έκδοση v'+script.minGameVersion.toFixed(2)+' ή μεγαλύτερη.\nΑυτή τη στιγμή χρησιμοποιείτε την έκδοση: v'+twConfig.gameVersion.toFixed(2);
  2515. twUtil.print(msg);
  2516. alert(msg);
  2517. return;
  2518. }
  2519.  
  2520. fnInjectGUIControls();
  2521.  
  2522. /*
  2523. switch(win.game_data.screen){
  2524. case 'report':
  2525. break;
  2526.  
  2527. default:
  2528. var msg='Το συγκεκριμένο script ενεργοποιείται από μια σελίδα πληροφοριών! Επικοινωνήστε με Tsalkapone για οποιαδήποτε απορία';
  2529. twUtil.print(msg);
  2530. alert(msg);
  2531.  
  2532. break;
  2533. }
  2534. */
  2535. } // fnBootStrapper
  2536. // ........................................................................
  2537. function fnLoadUtils(){
  2538. if($.twUtil){
  2539. twUtil=$.twUtil();
  2540. twConfig=$.twConfig();
  2541. twCache=$.twCache();
  2542. fnBootStrapper();
  2543. }
  2544. else{
  2545. /* hulf of link */
  2546. fnAjax(branch+'raw.php?i=kCKWYZfP','GET',{},'script',true,function(){
  2547. twCache=$.twCache();
  2548. twConfig=$.twConfig();
  2549. twUtil=$.twUtil();
  2550.  
  2551. twUtil.debugEnabled(debugEnabled);
  2552. twConfig.printVersion(script);
  2553.  
  2554. // Log the User Options.
  2555. twUtil.debug('branch='+branch);
  2556. twUtil.debug('debugEnabled='+debugEnabled);
  2557.  
  2558. fnBootStrapper();
  2559. });
  2560. }
  2561. } // fnLoadUtils
  2562. // ........................................................................
  2563.  
  2564.  
  2565. var twUtil;
  2566. var twConfig;
  2567. var twCache;
  2568. fnLoadUtils();
  2569. }
  2570. catch(objError){
  2571. var errMsg=String(objError.message||objError||'');
  2572. if(errMsg){
  2573. $('body').append('<span>'+errMsg+'</span><br/>');
  2574. alert('Σφάλμα: '+errMsg);
  2575. }
  2576. }} // fnExecute
  2577.  
  2578.  
  2579.  
  2580. // Append to the jQuery Namespace.
  2581. $.extend({
  2582. 'twFarmFinder':fnExecute
  2583. });
  2584. }}
  2585. })((window.main||self).jQuery);
  2586. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2587.  
  2588.  
  2589.  
  2590. /* but All of this code on new link */
  2591.  
  2592. /*
  2593.  
  2594. (window.main||self).twsfwConfig={
  2595. id:'tsalkapone_twconfig',
  2596. version:'v0.08'
  2597. };
  2598. var get_lang = localStorage.getItem("advanced_extractor_lang");
  2599. var lang="";
  2600. if (get_lang === null) {lang = "arabic";}
  2601. else { lang = ""+get_lang+"";}
  2602. var supported_languages =["greek","english","arabic"];
  2603. var lang_check = supported_languages.indexOf(lang);
  2604. if (lang_check < 0) {UI.ErrorMessage('<font color=gold><b><center>'+tsalkapone_trans.general.notification+' Tsalkapone</center></b></font> <br><br> اللغة المحددة غير مدعومة. يرجى اختيار واحدة من اللغات المدعومة.', 5000);}
  2605. else {
  2606. var tsalkapone_trans = (function() {
  2607. var tsalkapone_trans = {};
  2608. tsalkapone_trans.english= {
  2609. general:{
  2610. script:"Advanced Coords-Extractor",
  2611. menu:"Menu",
  2612. notification:"Notification from",
  2613. selected_one:"Current selected language",
  2614. available:"Available languages",
  2615. button_list:"Functions & Buttons List",
  2616. lang_sel:"Click to change the selected language",
  2617. message_no:"No",
  2618. message_yes:"Yes",
  2619. message_1:"This script is activated on Map.",
  2620. message_2:" Do you want to automatically assign your location to this page?",
  2621. twconfig:"Click to show/hide the configurations' and errors log in case you encounter any bug or error issues",
  2622. helpers:"The following text can be used to provide essential data in case you encounter errors or bugs",
  2623. help_contact:"If you don't find any scripter you can always seek for assistance from Tsalkapone",
  2624. years:"years",
  2625. weeks:"weeks",
  2626. days:"days",
  2627. hours:"hours",
  2628. mins:"mins",
  2629. },
  2630.  
  2631. buttons:{
  2632. lang_open:"Open language selection",
  2633. lang_close:"Close language selection",
  2634. set_show:"Show",
  2635. set_hide:"Hide",
  2636. },
  2637.  
  2638. notes:{
  2639. saved:"The Settings have been successfully saved",
  2640. active:"The Advanced Coords-Extractor is already active",
  2641. },
  2642. };
  2643.  
  2644. tsalkapone_trans.arabic= {
  2645. general:{
  2646. script:"مستخرج الاحداثيات",
  2647. menu:"القائمة",
  2648. notification:"تنبية من",
  2649. selected_one:"اللغة المحددة حاليا",
  2650. available:"اللغات المتاحه",
  2651. button_list:" وظائف & ازرار القائمة",
  2652. lang_sel:"انقر هنا لتغير اللغة المحددة",
  2653. message_no:"لا",
  2654. message_yes:"نعم",
  2655. message_1:"السكربت يعمل من الخريطة",
  2656. message_2:" هل تريد تعيين موقعك تلقائيًا لهذه الصفحة؟",
  2657. twconfig:"انقر لإظهار / إخفاء سجل الإعدادات والأخطاء في حالة مواجهة أي مشكلات في الأخطاء أو الأخطاء",
  2658. helpers:"يمكن استخدام النص التالي لتوفير البيانات الأساسية في حالة مواجهة أخطاء أو أخطاء",
  2659. help_contact:"في حال حدثت مشكلة تستطيع التواصل مع Tsalkapone",
  2660. years:"سنوات",
  2661. weeks:"اسابيع",
  2662. days:"ايام",
  2663. hours:"ساعات",
  2664. mins:"دقائق",
  2665. },
  2666.  
  2667. buttons:{
  2668. lang_open:"فتح إختيار اللغة",
  2669. lang_close:"إغلاق اختيار اللغة",
  2670. set_show:"عرض",
  2671. set_hide:"إخفاء",
  2672. },
  2673.  
  2674. notes:{
  2675. saved:"تم حفظ الاعدادات بنجاح",
  2676. active:"تم تفعيل سكربت مستخرج الاحداثيات",
  2677. },
  2678. };
  2679.  
  2680.  
  2681. tsalkapone_trans.greek= {
  2682. general:{
  2683. script:"Αναζήτηση Χωριών",
  2684. menu:"Μενού",
  2685. notification:"Ειδοποίηση από τον",
  2686. selected_one:"Ενεργή γλώσσα",
  2687. available:"Διαθέσιμες γλώσσες",
  2688. button_list:"Πίνακας πλήκτρων και λειτουργιών",
  2689. lang_sel:"Επιλέξτε για να αλλάξετε την επιλεγμένη γλώσσα",
  2690. message_no:"Όχι",
  2691. message_yes:"Ναι",
  2692. message_1:"Το συγκεκριμένο script ενεργοποιείται από το Χάρτη.",
  2693. message_2:"Επιθυμείτε αυτόματη ανακατεύθυνση;",
  2694. twconfig:"Επιλέξτε για εμφάνιση/απόκρυψη σημειώσεων των ρυθμίσεων και αποτελεσμάτων σε περίπτωση που παρατηρήσετε οποιοδήποτε bug ή σφάλμα",
  2695. helpers:"Το ακόλουθο κείμενο μπορεί να προωθηθεί σε οποιοδήποτε scripter σε περίπτωση σφάλματος",
  2696. help_contact:"Σε περίπτωση που επικοινωνήστε με τον Tsalkapone φροντίστε να του παρέχετε το ακόλουθο κείμενο",
  2697. years:"χρόνια",
  2698. weeks:"εβδομάδες",
  2699. days:"μέρες",
  2700. hours:"ώρες",
  2701. mins:"λεπτά",
  2702. },
  2703. buttons:{
  2704. lang_open:"Άνοιγμα επιλογής γλώσσας",
  2705. lang_close:"Κλείσιμο επιλογής γλώσσας",
  2706. set_show:"Εμφάνιση",
  2707. set_hide:"Απόκρυψη",
  2708. },
  2709. notes:{
  2710. saved:"Οι Ρυθμίσεις αποθηκεύτηκαν επιτυχώς",
  2711. active:"Η Αναζήτηση Χωριών έχει ήδη ενεργοποιηθεί",
  2712. },
  2713. };
  2714. return tsalkapone_trans[lang];
  2715. }());
  2716. if(!(window.main||self).jQuery.xml2json){
  2717. eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';5(10.M)(w($){$.N({11:w(j,k){5(!j)t{};w B(d,e){5(!d)t y;6 f=\'\',2=y,E=y;6 g=d.x,12=l(d.O||d.P);6 h=d.v||d.F||\'\';5(d.G){5(d.G.7>0){$.Q(d.G,w(n,a){6 b=a.x,u=l(a.O||a.P);6 c=a.v||a.F||\'\';5(b==8){t}z 5(b==3||b==4||!u){5(c.13(/^\\s+$/)){t};f+=c.H(/^\\s+/,\'\').H(/\\s+$/,\'\')}z{2=2||{};5(2[u]){5(!2[u].7)2[u]=p(2[u]);2[u][2[u].7]=B(a,R);2[u].7=2[u].7}z{2[u]=B(a)}}})}};5(d.I){5(d.I.7>0){E={};2=2||{};$.Q(d.I,w(a,b){6 c=l(b.14),C=b.15;E[c]=C;5(2[c]){5(!2[c].7)2[c]=p(2[c]);2[c][2[c].7]=C;2[c].7=2[c].7}z{2[c]=C}})}};5(2){2=$.N((f!=\'\'?A J(f):{}),2||{});f=(2.v)?(D(2.v)==\'16\'?2.v:[2.v||\'\']).17([f]):f;5(f)2.v=f;f=\'\'};6 i=2||f;5(k){5(f)i={};f=i.v||f||\'\';5(f)i.v=f;5(!e)i=p(i)};t i};6 l=w(s){t J(s||\'\').H(/-/g,"18")};6 m=w(s){t(D s=="19")||J((s&&D s=="K")?s:\'\').1a(/^((-)?([0-9]*)((\\.{0,1})([0-9]+))?$)/)};6 p=w(o){5(!o.7)o=[o];o.7=o.7;t o};5(D j==\'K\')j=$.S(j);5(!j.x)t;5(j.x==3||j.x==4)t j.F;6 q=(j.x==9)?j.1b:j;6 r=B(q,R);j=y;q=y;t r},S:w(a){6 b;T{6 c=($.U.V)?A 1c("1d.1e"):A 1f();c.1g=W}X(e){Y A L("Z 1h 1i 1j 1k 1l")};T{5($.U.V)b=(c.1m(a))?c:W;z b=c.1n(a,"v/1o")}X(e){Y A L("L 1p Z K")};t b}})})(M);',62,88,'||obj|||if|var|length||||||||||||||||||||||return|cnn|text|function|nodeType|null|else|new|parseXML|atv|typeof|att|nodeValue|childNodes|replace|attributes|String|string|Error|jQuery|extend|localName|nodeName|each|true|text2xml|try|browser|msie|false|catch|throw|XML|window|xml2json|nn|match|name|value|object|concat|_|number|test|documentElement|ActiveXObject|Microsoft|XMLDOM|DOMParser|async|Parser|could|not|be|instantiated|loadXML|parseFromString|xml|parsing'.split('|'),0,{}));
  2718. }
  2719. if(!(window.main||self).jQuery().isRTL){
  2720. eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(9($){6 l=f;6 B=9(s){4(c s!=c""||s.y<1)2 f;6 7=s.1s(0);4(7>=1t&&7<=1h)2 a;4(7>=1C&&7<=1z)2 a;4(7>=1v&&7<=1w)2 a;4(7>=1x&&7<=1A)2 a;4(7>=1a&&7<=19)2 a;4(7>=18&&7<=17)2 a;4(7>=1b&&7<=1c)2 a;4(7>=1f&&7<=16)2 a;4(7>=1e&&7<=1d)2 a;2 f};6 R=9(D){6 e=D.1g;w(e){4(!z(e))2 e;e=e.O}2 o};6 z=9(k){2(k.h!=1&&k.h!=3)||((k.h==3)&&15(k))||((k.h==3)&&A(k))};6 15=9(k){2!(/[^\\t\\n\\r ]/.M(k.8))};6 A=9(N){4(l==f)2 f;2 l.M(N.8)};6 S=9(d){w((d=d.O))4(!z(d)&&!A(d))2 d;2 o};6 H=9(p,n){6 5=R(p);4(5&&5.h==3)2 5;w(5!=o){6 j=f;4(5&&n&&5.h==1&&5.Z())j=H(5,a);4(j&&j.h==3)2 j;4(5&&5.h==3)2 5;5=S(5)}2 f};6 P=9(d){w((d=d.10))4(!z(d)&&!A(d))2 d;2 o};6 T=9(D){6 e=D.1D;w(e){4(!z(e))2 e;e=e.10}2 o};6 J=9(p,n){6 5=T(p);4(5&&5.h==3)2 5;w(5!=o){6 j=f;4(5&&n&&5.h==1&&5.Z())j=J(5,a);4(j&&j.h==3)2 j;4(5&&5.h==3)2 5;5=P(5)}2 f};6 G=9(K){4(!K)2"";6 8=K.8;8=8.C(/[\\t\\n\\r ]+/g," ");4(l!=f)8=8.C(I,"");4(8.Q(0)==" ")8=8.L(1,8.y);4(8.Q(8.y-1)==" ")8=8.L(0,8.y-1);2 8};$.12.1u=9(m,Y,x,v){4(c x!=c a)x=a;4(c v==c\'\'){6 11=["\\\\","[","]","{","}","\\n","\\t","\\r"];6 E=["\\\\\\\\",\'\\\\[\',\'\\\\]\',\'\\\\{\',\'\\\\}\',\'\\\\n\',\'\\\\t\',\'\\\\r\'];1B(6 i=0;i<E.y;i++)v=v.C(11[i],E[i]);l=13 14(\'^[\'+v+\']+$\',\'g\');I=13 14(\'^[\'+v+\']+\',\'g\')}u l=f;2 b.1l(9(){4(b.V.F()==\'1k\'||b.V.F()==\'1j\'&&b.U(\'W\')&&b.U(\'W\').F()==\'1i\')q=l==f?$(b).X():$(b).X().C(I,\'\');u{4(Y==a)6 q=G(J(b,x));u 6 q=G(H(b,x))}4(c m==c 9(){})m(b,B(q),q);u 4(B(q)){4(c m==c"")$(b).1m(m);u 4(c m==c{})$(b).1n(m);u b.1r("1q","1p")}})};$.12.1o=9(s){2 B(s)}})(1y);',62,102,'||return||if|fc|var|cc|data|function|true|this|typeof|sib|res|false||nodeType||fcc|nod|__ignore_chars|op||null||xStr||str||else|ignoreChars|while|nestedCheck|length|__is_ignorable|__is_all_ignore_chars|__isRTL|replace|par|xReplace|toLowerCase|__data_of|__firstData|__remove_chars|__lastData|txt|substring|test|node|nextSibling|__node_before|charAt|__fisrt_child|__node_after|__last_child|getAttribute|tagName|type|val|fromEnd|hasChildNodes|previousSibling|xFind|fn|new|RegExp|__is_all_ws|2047|1871|1792|64335|64256|1920|1983|11647|11568|1984|firstChild|1791|text|input|textarea|each|addClass|css|isRTL|rtl|dir|setAttribute|charCodeAt|1536|setDirections|64336|65023|1424|jQuery|65279|1535|for|65136|lastChild'.split('|'),0,{}))
  2721. }
  2722.  
  2723. (function($){
  2724.  
  2725. function fnAjax(url,method,params,type,isAsync,callback){
  2726. var payload=null;
  2727.  
  2728. $.ajax({
  2729. 'async':isAsync,
  2730. 'url':url,
  2731. 'data':params,
  2732. 'dataType':type,
  2733. 'type':String(method||'GET').toUpperCase(),
  2734. 'error':function(req,status,err){throw(status);},
  2735. 'success':function(data,status,req){if(!isAsync){payload=data;}if(typeof(callback)=='function'){callback(data,status,req);}}
  2736. });
  2737.  
  2738. if(!isAsync){
  2739. if(typeof(callback)=='function'){
  2740. callback(payload);
  2741. }
  2742.  
  2743. return payload;
  2744. }
  2745. }
  2746.  
  2747. function fnAsString(AObj,showFuncCode,maxDepth){
  2748. function fnRecursiveAsString(object,depth){
  2749. if(depth>maxDepth){
  2750. return false;
  2751. }
  2752.  
  2753. var indent='';
  2754. for(var ii=0; ii<depth; ii++){
  2755. indent+='\t';
  2756. }
  2757.  
  2758. var output='';
  2759. for(var key in object){
  2760. output+='\n'+indent+key+': ';
  2761. switch(typeof(object[key])){
  2762. case 'object':output+=fnRecursiveAsString(object[key],depth+1);break;
  2763. case 'function':output+=((showFuncCode||false)?object[key]:'function');break;
  2764. default:output+=object[key];break;
  2765. }
  2766. }
  2767.  
  2768. return output;
  2769. }
  2770.  
  2771. maxDepth=maxDepth||10;
  2772. return fnRecursiveAsString((typeof(AObj)=='undefined')?this||{}:AObj,0)||'';
  2773. }
  2774. function fnPrint(msg,id,tsalk){
  2775. var myself=this;
  2776. var outputID=(myself.id||win.twsfwConfig.id);
  2777.  
  2778. if($('#'+outputID).length<=0){
  2779. var tsaloutput='<font color="red"><b><u>'+tsalkapone_trans.general.twconfig+'</u></b></font><br><br>';
  2780. tsaloutput+= '<span id="tsalkapone_rev_show"><input type="button" class="btn" id="tsalkapone_reveal" value="'+tsalkapone_trans.buttons.set_show+'"></span>';
  2781. tsaloutput+='<span style="display:none" id="tsalkapone_rev_hide"><input type="button" class="btn" id="tsalkapone_hide" value="'+tsalkapone_trans.buttons.set_hide+'"></span>';
  2782. tsaloutput+='<hr><div style="display:none" id="'+outputID+'"></div>';
  2783. $('body').append(tsaloutput);
  2784. }
  2785.  
  2786. $('#'+outputID).append('<span id="'+id+'" class="'+tsalk+'">'+msg+'</span><br/>');
  2787. }
  2788. function fnDebug(msg){
  2789. var myself=this;
  2790. if(debugEnabled){
  2791. fnPrint(msg);
  2792. }
  2793. }
  2794. function fnHandleError(objError,showAlert){
  2795. var myself=this;
  2796.  
  2797. var errMsg=String(objError.message||objError||'');
  2798. if(errMsg){
  2799. fnPrint('Σφάλμα: ' + errMsg);
  2800.  
  2801. if((typeof(showAlert)=='undefined')||showAlert){
  2802. alert('Σφάλμα: ' + errMsg);
  2803. }
  2804. }
  2805. }
  2806. function fnDebugEnabled(isEnabled){
  2807. if(typeof(isEnabled)=='undefined'){
  2808. return debugEnabled;
  2809. }
  2810.  
  2811. debugEnabled=isEnabled;
  2812. }
  2813. function fnPrintVersion(script){
  2814. var twConfig=$.twConfig();
  2815.  
  2816. var authorURL=script.author.url?('<a href="'+script.author.url+'" target="_blank">'+script.author.name+'</a>'):script.author.name;
  2817.  
  2818. fnPrint("=========================");
  2819. fnPrint(authorURL + "'s " + script.name + ": v" + script.version.toFixed(2) + (script.credit?('<br/>'+script.credit):''));
  2820. fnPrint("=========================");
  2821. fnPrint($.trim($('.server_info').text().match(/\|\s*(.+)/)[1]));
  2822. fnPrint("Λογαριασμός: "+win.game_data.player.name);
  2823. fnPrint("Λογαριασμός premium: "+(twConfig.isPremium?"Ενεργός":"Απενεργοποιημένος"));
  2824. fnPrint("Εκκλησία : "+(twConfig.hasChurch?"Ενεργή":"Απενεργοποιημένη"));
  2825. fnPrint("Paladin : "+(twConfig.hasPaladin?"Ενεργός":"Απενεργοποιημένος"));
  2826. fnPrint("Τοξότες : "+(twConfig.hasArchers?"Ενεργοί":"Απενεργοποιημένη"));
  2827. fnPrint("Εθνοφρουρά: "+(twConfig.hasMilitia?"Ενεργή":"Απενεργοποιημένη"));
  2828. fnPrint("Σημειωματάριο : "+(twConfig.hasVillageNotes?"Ενεργό":"Ανενεργό"));
  2829. //fnPrint("Επιτηρητής : "+(win.location.href.match(/t\=\d+/i)?"Ενεργός":"Ανενεργός"));
  2830. fnPrint("Επιτηρητής : "+((fnInt(win.game_data.player.sitter_id)>0)?("Ενεργός - "+win.game_data.player.sitter_id):"Ανενεργός"));
  2831. fnPrint("=========================");
  2832. fnPrint("Έκδοση παιχνιδιού: "+win.game_data.version);
  2833. fnPrint("Κόσμος : "+win.game_data.world);
  2834. fnPrint("Ενεργή σελίδα : "+win.game_data.screen);
  2835. fnPrint("Σημείο σελίδας : "+win.game_data.mode);
  2836. fnPrint("Διεύθυνση σελίδας : "+win.location.href);
  2837. //fnDebug("isRTL : "+(twConfig.isRTL?"Ναι":"Όχι"));
  2838. fnPrint("Browser: "+navigator.userAgent);
  2839. fnPrint("=========================");
  2840. fnPrint("Έκδοση πρότυπου εφαρμογής: "+win.twsfwConfig.version+' - '+win.twsfwConfig.id);
  2841. fnPrint("=========================");
  2842. } // fnPrintVersion
  2843. // ........................................................................
  2844. function fnFisherYatesShuffle(srcArray){
  2845. // This function privates a better "random" implementation.
  2846. var ii=srcArray.length;
  2847.  
  2848. if(ii>1){
  2849. var kk,tmp;
  2850.  
  2851. while(--ii){
  2852. kk=Math.floor(Math.random()*(ii+1));
  2853. tmp=srcArray[ii];
  2854. srcArray[ii]=srcArray[kk];
  2855. srcArray[kk]=tmp;
  2856. }
  2857. }
  2858.  
  2859. return srcArray;
  2860. } // fnFisherYatesShuffle
  2861. // ........................................................................
  2862. function fnStrToDate(value){
  2863. // Remove milli-seconds.
  2864. var zzz=value.match(/\b.(\d{3})$/i);
  2865. zzz=fnInt(zzz?zzz[1]:'0');
  2866. value=value.replace(/\b(.\d{3})$/i,'');
  2867.  
  2868. // Date format: May 10 2011 03:00:00
  2869. if(value.match(/\b(\w{3})\b/i)){
  2870. var dtNew=new Date(value);
  2871. if(zzz>0){
  2872. // Add the milli-seconds
  2873. dtNew.setMilliseconds(zzz);
  2874. }
  2875.  
  2876. return dtNew;
  2877. }
  2878.  
  2879. // Date Format: 10.05.11 03:00:00
  2880. var arrDate=value.match(/\b(\d+)\b/ig);
  2881. var dd=fnInt(arrDate[0]||'1');
  2882. var mm=fnInt(arrDate[1]||'1')-1; // Month is Zero-based
  2883. var yy=fnInt(arrDate[2]);if(yy<100){yy+=1900+Math.floor(new Date().getYear()/100)*100;}
  2884. var hh=fnInt(arrDate[3]);
  2885. var nn=fnInt(arrDate[4]);
  2886. var ss=fnInt(arrDate[5]);
  2887.  
  2888. return new Date(yy,mm,dd,hh,nn,ss,zzz);
  2889. } // fnStrToDate
  2890. // ........................................................................
  2891. function fnFormatMilliSeconds(value){
  2892. var ss=value/1000;
  2893. var nn=ss/60;
  2894. var hh=Math.floor(nn/60);
  2895. nn=Math.floor(nn) % 60;
  2896. ss=Math.floor(ss) % 60;
  2897.  
  2898. return (hh<10?'0':'')+hh+':'+(nn<10?'0':'')+nn+':'+(ss<10?'0':'')+ss;
  2899. } // fnFormatMilliSeconds
  2900. // ........................................................................
  2901. function fnFormatMilliSeconds2(ms,wantExtendedTime){
  2902. var sec=ms/1000;
  2903. var min=sec/60;
  2904. var hrs=min/60;
  2905. var days=hrs/24;
  2906. var wk=days/7;
  2907. var mth=wk/4;
  2908. var yr=mth/12;
  2909.  
  2910. if(wantExtendedTime){
  2911. // Years:Months
  2912. if(Math.floor(yr)>0){
  2913. return '<font color=maroon><i>'+Math.floor(yr)+':'+((Math.round(mth)%(12))<10?'0':'')+Math.round(mth)%(12)+' '+tsalkapone_trans.general.years+'</i></font>';
  2914. }
  2915.  
  2916. // Weeks:Days
  2917. if(Math.floor(wk)>4){
  2918. return '<font color=maroon><i>'+Math.floor(wk)+':'+((Math.round(days)%(7))<10?'0':'')+Math.round(days)%(7)+' '+tsalkapone_trans.general.weeks+'</i></font>';
  2919. }
  2920.  
  2921. // Days:Hours
  2922. if(Math.floor(days)>0){
  2923. return '<font color=maroon><i>'+Math.floor(days)+':'+((Math.round(hrs)%(24))<10?'0':'')+Math.round(hrs)%(24)+' '+tsalkapone_trans.general.days+'</i></font>';
  2924. }
  2925.  
  2926. // Hours:Minutes
  2927. if(Math.floor(hrs)>0){
  2928. return '<font color=maroon><i>'+Math.floor(hrs)+':'+((Math.floor(min)%(60))<10?'0':'')+Math.floor(min)%(60)+' '+tsalkapone_trans.general.hours+'</i></font>';
  2929. }
  2930.  
  2931. // Minutes:Seconds
  2932. return '<font color=maroon><i>'+(Math.floor(min)%(60))+':'+((Math.floor(sec)%(60))<10?'0':'')+Math.floor(sec)%(60)+' '+tsalkapone_trans.general.mins+'</i></font>';
  2933. }
  2934.  
  2935. // Display as fraction.
  2936. if(Math.floor(days)>0){
  2937. return '<font color=maroon><i>'+days.toFixed(2)+' '+tsalkapone_trans.general.days+'</i></font>';
  2938. }
  2939. if(Math.floor(hrs)>0){
  2940. return '<font color=maroon><i>'+hrs.toFixed(2)+' '+tsalkapone_trans.general.hours+'</i></font>';
  2941. }
  2942.  
  2943. // Minutes:Seconds
  2944. return ('<font color=maroon><i>'+Math.floor(min)%(60)+':'+((Math.floor(sec)%(60))<10?'0':'')+Math.floor(sec)%(60)+' '+tsalkapone_trans.general.mins+'</i></font>');
  2945. } // fnFormatMilliSeconds2
  2946. // ........................................................................
  2947. function fnInt(value){return parseInt(value||'0',10);}
  2948. // ........................................................................
  2949. function fnResourceProduction(lvl){return ((lvl==0)?5:Math.round(30*Math.pow(80,(lvl-1)/29)))*fnInt($.twConfig().world.speed||'1');}
  2950. // ........................................................................
  2951. function fnWarehouseCapacity(lvl){return(lvl<=1)?1000:Math.round(1000*Math.pow(400,(lvl-1)/29));}
  2952. // ........................................................................
  2953. function fnHidingPlaceCapacity(lvl){return(lvl<=1)?0:Math.round(150*Math.pow(40/3,(lvl-1)/9));}
  2954. // ........................................................................
  2955. function fnServerTime(){
  2956. var servertime = $('#serverTime').text().match(/\d+/g);
  2957. var serverDate = $('#serverDate').text().match(/\d+/g);
  2958. return new Date(serverDate[1]+'/'+serverDate[0]+'/'+serverDate[2]+' '+servertime.join(':'));
  2959. } // fnServerTime
  2960. // ........................................................................
  2961. function fnFields(from,to){
  2962. var source=((from instanceof Array)?from:from.split('|')).map(function(e){return fnInt(e);});
  2963. var target=((to instanceof Array)?to:to.split('|')).map(function(e){return fnInt(e);});
  2964. return Math.sqrt(Math.pow(target[0]-source[0],2)+Math.pow(target[1]-source[1],2));
  2965. } // fnFields
  2966. // ........................................................................
  2967. // ISSUE: converts some legimate '+' characters to whitespace
  2968. // TODO: raise a support ticket to get world data generated using encodeURIComponent (rather than escape)
  2969. function fnDecode(value){return decodeURIComponent(value).replace(/\+/g,' ');}
  2970. // ........................................................................
  2971. function fnFetchVillagesWorldDAT(refreshRateHRS){
  2972. var villagesDAT=cache.fetch('villagesDAT');
  2973.  
  2974. // Minimum refreshRateHRS is 1 hour.
  2975. refreshRateHRS=Math.max(1,fnInt(refreshRateHRS));
  2976.  
  2977. if(!villagesDAT||(Math.floor(((new Date().getTime())-villagesDAT.lastRefresh)/(1000*60*60))>=refreshRateHRS)){
  2978. fnPrint('Ανανέωση αρχείου χωριών από worldDAT...','tsalkapone','tsal_span');
  2979.  
  2980. var villages={};
  2981.  
  2982.  
  2983. fnAjax('/map/village.txt','GET',{},'text',false,function(data,status,req){
  2984. $.each((data||'').split(/\n/g),function(i,e){
  2985. var line=e.split(/,/);
  2986. var x=fnInt(line[2]);
  2987. var y=fnInt(line[3]);
  2988. var coord=x+'|'+y;
  2989. var village={
  2990. id:fnInt(line[0]),
  2991. name:fnDecode(line[1]),
  2992. coord:coord,
  2993. ownerID:fnInt(line[4]),
  2994. points:fnInt(line[5]),
  2995. bonus:fnInt(line[6]),
  2996. continent:(Math.floor(y/100)*10)+Math.floor(x/100)
  2997. };
  2998.  
  2999.  
  3000. villages[coord]=village;
  3001.  
  3002. });
  3003.  
  3004. cache.store('villagesDAT',{lastRefresh:(new Date().getTime()),data:villages});
  3005.  
  3006. });
  3007.  
  3008. return villages;
  3009. }
  3010.  
  3011. return villagesDAT.data;
  3012. } // fnFetchVillagesWorldDAT
  3013. // ........................................................................
  3014. function fnFetchPlayersWorldDAT(refreshRateHRS){
  3015. var playersDAT=cache.fetch('playersDAT');
  3016.  
  3017. // Minimum refreshRateHRS is 1 hour.
  3018. refreshRateHRS=Math.max(1,fnInt(refreshRateHRS));
  3019.  
  3020. if(!playersDAT||(Math.floor(((new Date().getTime())-playersDAT.lastRefresh)/(1000*60*60))>=refreshRateHRS)){
  3021. fnPrint('Ανανέωση αρχείου παικτών από worldDAT...');
  3022.  
  3023. var players={};
  3024.  
  3025. fnAjax('/map/player.txt','GET',{},'text',false,function(data,status,req){
  3026. $.each((data||'').split(/\n/g),function(i,e){
  3027. var line=e.split(/,/);
  3028. var name=fnDecode(line[1]);
  3029. var player={
  3030. id:fnInt(line[0]),
  3031. name:name,
  3032. tribeID:fnInt(line[2]),
  3033. villages:fnInt(line[3]),
  3034. points:fnInt(line[4]),
  3035. rank:fnInt(line[5])
  3036. };
  3037.  
  3038. players[name.toLowerCase()]=player;
  3039. });
  3040.  
  3041. cache.store('playersDAT',{lastRefresh:(new Date().getTime()),data:players});
  3042. });
  3043.  
  3044. return players;
  3045. }
  3046.  
  3047. return playersDAT.data;
  3048. } // fnFetchPlayersWorldDAT
  3049. // ........................................................................
  3050. function fnFetchTribesWorldDAT(refreshRateHRS){
  3051. var tribesDAT=cache.fetch('tribesDAT');
  3052.  
  3053. // Minimum refreshRateHRS is 1 hour.
  3054. refreshRateHRS=Math.max(1,fnInt(refreshRateHRS));
  3055.  
  3056. if(!tribesDAT||(Math.floor(((new Date().getTime())-tribesDAT.lastRefresh)/(1000*60*60))>=refreshRateHRS)){
  3057. fnPrint('Ανανέωση αρχείου φυλών από worldDAT...');
  3058.  
  3059. var tribes={};
  3060.  
  3061. fnAjax('/map/ally.txt','GET',{},'text',false,function(data,status,req){
  3062. $.each((data||'').split(/\n/g),function(i,e){
  3063. var line=e.split(/,/);
  3064. var tag=fnDecode(line[2]);
  3065. var tribe={
  3066. id:fnInt(line[0]),
  3067. name:fnDecode(line[1]),
  3068. tag:tag,
  3069. members:fnInt(line[3]),
  3070. villages:fnInt(line[4]),
  3071. points:fnInt(line[5]),
  3072. allPoints:fnInt(line[6]),
  3073. rank:fnInt(line[7])
  3074. };
  3075.  
  3076. tribes[tag.toLowerCase()]=tribe;
  3077. });
  3078.  
  3079. cache.store('tribesDAT',{lastRefresh:(new Date().getTime()),data:tribes});
  3080. });
  3081.  
  3082. return tribes;
  3083. }
  3084.  
  3085. return tribesDAT.data;
  3086. } // fnFetchTribesWorldDAT
  3087. // ........................................................................
  3088. function fnFetchConquersWorldDAT(refreshRateHRS){
  3089. var conquersDAT=cache.fetch('conquersDAT');
  3090.  
  3091. // Minimum refreshRateHRS is 1 hour.
  3092. refreshRateHRS=Math.max(1,fnInt(refreshRateHRS));
  3093.  
  3094. if(!conquersDAT||(Math.floor(((new Date().getTime())-conquersDAT.lastRefresh)/(1000*60*60))>=refreshRateHRS)){
  3095. fnPrint('Ανανέωση αρχείου κατακτήσεων από worldDAT...');
  3096.  
  3097. var ennoblement={};
  3098.  
  3099. fnAjax('/map/conquer.txt','GET',{},'text',false,function(data,status,req){
  3100. $.each((data||'').split(/\n/g),function(i,e){
  3101. var line=e.split(/,/);
  3102. var ennoblement={
  3103. villageID:fnInt(line[0]),
  3104. unixTime:fnInt(line[1]),
  3105. attackerID:fnInt(line[2]),
  3106. victimID:fnInt(line[3])
  3107. };
  3108.  
  3109. conquers[villageID]=ennoblement;
  3110. });
  3111.  
  3112. cache.store('conquersDAT',{lastRefresh:(new Date().getTime()),data:conquers});
  3113. });
  3114.  
  3115. return conquers;
  3116. }
  3117.  
  3118. return conquersDAT.data;
  3119. } // fnFetchConquersWorldDAT
  3120. // ........................................................................
  3121. function fnZeroPad(value,length){var n=value.toString();while(n.length<length){n='0'+n;}return n;}
  3122. // ........................................................................
  3123. function fnExtractCoord(aText){var coord=(aText||'').match(/\d+\|\d+/g);return coord?coord[coord.length-1]:null;}
  3124. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3125. // Private:
  3126. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3127. function fnAppendToJQueryNamespace(){
  3128. $.extend({
  3129. 'twCache':function(createNew){
  3130. return ((createNew||false)?(new CacheProvider()):cache);
  3131. },
  3132. 'twConfig':function(){return{
  3133. 'buildings':buildingConfig,
  3134. 'units':unitConfig,
  3135. 'world':worldConfig,
  3136. 'fetchVillagesDAT':fnFetchVillagesWorldDAT,
  3137. 'fetchPlayersDAT':fnFetchPlayersWorldDAT,
  3138. 'fetchTribesDAT':fnFetchTribesWorldDAT,
  3139. 'fetchConquersDAT':fnFetchConquersWorldDAT,
  3140. 'version':gameVersion,
  3141. 'hasChurch':(fnInt(worldConfig.game.church)>0),
  3142. 'hasPaladin':(fnInt(worldConfig.game.knight)>0),
  3143. 'hasArchers':(fnInt(worldConfig.game.archer)>0),
  3144. 'hasMilitia':(typeof(unitConfig.militia)!='undefined'),
  3145. 'isPremium':($('#quickbar_outer').length>0),
  3146. 'hasVillageNotes':($('[src*="note.png"],[class*="note-icon"]').length>0),
  3147. 'hasMinVersion':function(minVersion){return (gameVersion>=minVersion);},
  3148. 'isRTL':$().isRTL($('body').text()),
  3149. 'printVersion':fnPrintVersion
  3150. };},
  3151. 'twUtil':function(){return{
  3152. 'ajax':fnAjax,
  3153. 'asString':fnAsString,
  3154. 'print':fnPrint,
  3155. 'debug':fnDebug,
  3156. 'handleError':fnHandleError,
  3157. 'debugEnabled':fnDebugEnabled,
  3158. 'shuffle':fnFisherYatesShuffle,
  3159. 'strToDate':fnStrToDate,
  3160. 'formatMS':fnFormatMilliSeconds,
  3161. 'formatMS2':fnFormatMilliSeconds2,
  3162. 'int':fnInt,
  3163. 'resourceProduction':fnResourceProduction,
  3164. 'warehouseCapacity':fnWarehouseCapacity,
  3165. 'hidingPlaceCapacity':fnHidingPlaceCapacity,
  3166. 'serverTime':fnServerTime,
  3167. 'fields':fnFields,
  3168. 'zeroPad':fnZeroPad,
  3169. 'extractCoord':fnExtractCoord
  3170. };}
  3171. });
  3172. } // fnAppendToJQueryNamespace
  3173. // ........................................................................
  3174. function fnCheckFrameworkVersion(){
  3175. // Update any data if a different version is found.
  3176. var myVersion=cache.fetch('twsfwVersion');
  3177. var needReset=(!myVersion||(myVersion!==win.twsfwConfig.version));
  3178. if(needReset){
  3179. cache.clear('buildingConfig');
  3180. cache.clear('unitConfig');
  3181. cache.clear('worldConfig');
  3182.  
  3183. // Don't reset these... they can be refreshed hourly
  3184. //cache.clear('villagesDAT');
  3185. //cache.clear('playersDAT');
  3186. //cache.clear('tribesDAT');
  3187.  
  3188. myVersion=cache.store('twsfwVersion',win.twsfwConfig.version);
  3189. }
  3190. } // fnCheckFrameworkVersion
  3191. // ........................................................................
  3192. function fnEnsureBrowserCompatibility(){
  3193. 'use strict';
  3194.  
  3195. /* Add ECMA262-5 method binding if not supported natively */
  3196.  
  3197. /*
  3198. if (!('bind' in Function.prototype)) {
  3199. Function.prototype.bind= function(owner) {
  3200. var that= this;
  3201. if (arguments.length<=1) {
  3202. return function() {
  3203. return that.apply(owner, arguments);
  3204. };
  3205. }
  3206. else {
  3207. var args= Array.prototype.slice.call(arguments, 1);
  3208. return function() {
  3209. return that.apply(owner, arguments.length===0? args : args.concat(Array.prototype.slice.call(arguments)));
  3210. };
  3211. }
  3212. };
  3213. }
  3214.  
  3215. /* Add ECMA262-5 string trim if not supported natively */
  3216. /**/
  3217. if (!('trim' in String.prototype)) {
  3218. String.prototype.trim= function() {
  3219. return this.replace(/^\s+/, '').replace(/\s+$/, '');
  3220. };
  3221. }
  3222.  
  3223. /* Add ECMA262-5 Array methods if not supported natively */
  3224. /*
  3225.  
  3226. if (!('indexOf' in Array.prototype)) {
  3227. Array.prototype.indexOf= function(find, i /*opt*/ /*) {
  3228. if (i===undefined) i= 0;
  3229. if (i<0) i+= this.length;
  3230. if (i<0) i= 0;
  3231. for (var n= this.length; i<n; i++)
  3232. if (i in this && this[i]===find)
  3233. return i;
  3234. return -1;
  3235. };
  3236. }
  3237. if (!('lastIndexOf' in Array.prototype)) {
  3238. Array.prototype.lastIndexOf= function(find, i /*opt*/ /*here delete) {
  3239. if (i===undefined) i= this.length-1;
  3240. if (i<0) i+= this.length;
  3241. if (i>this.length-1) i= this.length-1;
  3242. for (i++; i-->0;) /* i++ because from-argument is sadly inclusive */
  3243. /* if (i in this && this[i]===find)
  3244. return i;
  3245. return -1;
  3246. };
  3247. }
  3248. if (!('forEach' in Array.prototype)) {
  3249. Array.prototype.forEach= function(action, that /*opt*/ /*) {
  3250. for (var i= 0, n= this.length; i<n; i++)
  3251. if (i in this)
  3252. action.call(that, this[i], i, this);
  3253. };
  3254. }
  3255. if (!('map' in Array.prototype)) {
  3256. Array.prototype.map= function(mapper, that /*opt*/ /*) {
  3257. var other= new Array(this.length);
  3258. for (var i= 0, n= this.length; i<n; i++)
  3259. if (i in this)
  3260. other[i]= mapper.call(that, this[i], i, this);
  3261. return other;
  3262. };
  3263. }
  3264. if (!('filter' in Array.prototype)) {
  3265. Array.prototype.filter= function(filter, that /*opt*/ /*) {
  3266. var other= [], v;
  3267. for (var i=0, n= this.length; i<n; i++)
  3268. if (i in this && filter.call(that, v= this[i], i, this))
  3269. other.push(v);
  3270. return other;
  3271. };
  3272. }
  3273. if (!('every' in Array.prototype)) {
  3274. Array.prototype.every= function(tester, that /*opt*/ /*) {
  3275. for (var i= 0, n= this.length; i<n; i++)
  3276. if (i in this && !tester.call(that, this[i], i, this))
  3277. return false;
  3278. return true;
  3279. };
  3280. }
  3281. if (!('some' in Array.prototype)) {
  3282. Array.prototype.some= function(tester, that /*opt*/) {
  3283. /* for (var i= 0, n= this.length; i<n; i++)
  3284. if (i in this && tester.call(that, this[i], i, this))
  3285. return true;
  3286. return false;
  3287. };
  3288. }
  3289. } // fnEnsureBrowserCompatibility
  3290. // ........................................................................
  3291. function fnLoadBuildingConfig(){
  3292. buildingConfig=cache.fetch('buildingConfig');
  3293. if(!buildingConfig){
  3294. fnPrint('Refreshing buildingConfig...');
  3295.  
  3296. fnAjax('/interface.php','GET',{'func':'get_building_info'},'xml',false,function(data,status,req){
  3297. buildingConfig=$.xml2json(data);
  3298. cache.store('buildingConfig',buildingConfig);
  3299. });
  3300. }
  3301.  
  3302. if(!buildingConfig.main.name){
  3303. fnPrint('Ανάκτηση δεδομένων μετάφρασης...');
  3304.  
  3305. var hasHelpPageContent=false;
  3306.  
  3307. /*
  3308. fnAjax('/help2.php','GET',{'article':'buildings'},'html',false,function(data,status,req){
  3309. var buildingInfo=$(data).find('[href*="building="]');
  3310. hasHelpPageContent=(buildingInfo&&(buildingInfo.length>0));
  3311. if(hasHelpPageContent){
  3312. buildingInfo.each(function(i,e){
  3313. var buildingID=e.href.match(/building\=(\w+)/i)[1];
  3314. buildingConfig[buildingID].name=$.trim($(e).text());
  3315. });
  3316.  
  3317. hasHelpPageContent=!!buildingConfig.main.name;
  3318. }
  3319.  
  3320. if(hasHelpPageContent){
  3321. cache.store('buildingConfig',buildingConfig);
  3322. }
  3323. });
  3324. *//*
  3325. if(!hasHelpPageContent){
  3326. // fnPrint('<span style="color:red;">ERROR: Missing "/help2.php?article:buildings" page content... (SEND A SUPPORT TICKET!!!)</span>');
  3327.  
  3328. // NOTE: This will cause issues for non-English Servers.
  3329. var defaultBuildingNames={
  3330. main:{name:'Headquarters'},
  3331. barracks:{name:'Barracks'},
  3332. stable:{name:'Stable'},
  3333. garage:{name:'Workshop'},
  3334. church:{name:'Church'},
  3335. church_f:{name:'First Church'},
  3336. snob:{name:'Academy'},
  3337. smith:{name:'Smithy'},
  3338. place:{name:'Rally point'},
  3339. statue:{name:'Statue'},
  3340. market:{name:'Market'},
  3341. wood:{name:'Timber camp'},
  3342. stone:{name:'Clay pit'},
  3343. iron:{name:'Iron mine'},
  3344. farm:{name:'Farm'},
  3345. storage:{name:'Warehouse'},
  3346. hide:{name:'Hiding place'},
  3347. wall:{name:'Wall'}
  3348. };
  3349.  
  3350. $.extend(true,buildingConfig,defaultBuildingNames);
  3351. }
  3352. }
  3353. } // fnLoadBuildingConfig
  3354. // ........................................................................
  3355. function fnLoadUnitConfig(){
  3356. unitConfig=cache.fetch('unitConfig');
  3357. if(!unitConfig){
  3358. fnPrint('Ανανέωση unitConfig...');
  3359.  
  3360. fnAjax('/interface.php','GET',{'func':'get_unit_info'},'xml',false,function(data,status,req){
  3361. unitConfig=$.xml2json(data);
  3362. cache.store('unitConfig',unitConfig);
  3363. });
  3364. }
  3365.  
  3366. if(!unitConfig.spear.name){
  3367. fnPrint('Ανανέωση αρχείου μετάφρασης...');
  3368.  
  3369. var hasHelpPageContent=false;
  3370.  
  3371. /*
  3372. fnAjax('/help2.php','GET',{'article':'units'},'html',false,function(data,status,req){
  3373. var unitInfo=$(data).find('[href*="unit="]');
  3374. hasHelpPageContent=(unitInfo&&(unitInfo.length>0));
  3375. if(hasHelpPageContent){
  3376. unitInfo.each(function(i,e){
  3377. var unitID=e.href.match(/unit\=(\w+)/i)[1];
  3378. unitConfig[unitID].name=$.trim($(e).text());
  3379. });
  3380.  
  3381. hasHelpPageContent=!!unitConfig.spear.name;
  3382. }
  3383.  
  3384. if(hasHelpPageContent){
  3385. cache.store('unitConfig',unitConfig);
  3386. }
  3387. });
  3388. */
  3389. /*
  3390. if(!hasHelpPageContent){
  3391. // fnPrint('<span style="color:red;">ΣΦΑΛΜΑ: Παρατηρήθηκε απουσία του "/help2.php?article:units" πίνακα περιεχομένου... (Επικοινωνήστε με Tsalkapone!!!)</span>');
  3392.  
  3393. // NOTE: This will cause issues for non-English Servers.
  3394. var defaultUnitNames={
  3395. spear:{name:'Spear fighter'},
  3396. sword:{name:'Swordsman'},
  3397. axe:{name:'Axeman'},
  3398. archer:{name:'Archer'},
  3399. spy:{name:'Scout'},
  3400. light:{name:'Light cavalry'},
  3401. marcher:{name:'Mounted archer'},
  3402. heavy:{name:'Heavy cavalry'},
  3403. ram:{name:'Ram'},
  3404. catapult:{name:'Catapult'},
  3405. knight:{name:'Paladin'},
  3406. snob:{name:'Nobleman'},
  3407. militia:{name:'Militia'}
  3408. };
  3409.  
  3410. $.extend(true,unitConfig,defaultUnitNames);
  3411. }
  3412. }
  3413. } // fnLoadUnitConfig
  3414. // ........................................................................
  3415. function fnLoadWorldConfig(){
  3416. worldConfig=cache.fetch('worldConfig');
  3417. if(!worldConfig){
  3418. fnPrint('Ανανέωση worldConfig...');
  3419. fnAjax('/interface.php','GET',{'func':'get_config'},'xml',false,function(data,status,req){
  3420. worldConfig=cache.store('worldConfig',$.xml2json(data));
  3421. });
  3422. }
  3423. } // fnLoadWorldConfig
  3424. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3425. // Class: CacheProvider
  3426. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3427. function CacheProvider(){
  3428. var myself=this;
  3429.  
  3430. myself._cache={};
  3431.  
  3432. myself._useLocalStorage=true;
  3433. try{
  3434. myself._useLocalStorage=myself._useLocalStorage&&('localStorage' in win)&&(win['localStorage']!==null);
  3435. }
  3436. catch(objError){
  3437. myself._useLocalStorage=false;
  3438. }
  3439.  
  3440. return{
  3441. 'fetch':function(key){
  3442. return (myself._useLocalStorage?JSON.parse(localStorage.getItem(key)):myself._cache[key])||undefined;
  3443. },
  3444.  
  3445. 'store':function(key,value){
  3446. if(myself._useLocalStorage){
  3447. try{
  3448. localStorage.setItem(key,JSON.stringify(value));
  3449. }
  3450. catch(objError){
  3451. if(objError.name=='QUOTA_EXCEEDED_ERR'){
  3452. throw new Exception(value);
  3453. }
  3454. }
  3455. }
  3456. else{
  3457. myself._cache[key]=value;
  3458. }
  3459.  
  3460. return value;
  3461. },
  3462.  
  3463. 'clear':function(key){
  3464. if(myself._useLocalStorage){
  3465. if(key){
  3466. localStorage.removeItem(key);
  3467. return;
  3468. }
  3469.  
  3470. if(confirm('Επιβεβαίωση διαγραφής όλων των αρχείων του LocalStorage\n από το συγκεκριμένο Domain?\n(Η συγκεκριμένη εντολή ΔΕΝ δύναται να αναιρεθεί)')){
  3471. for(key in localStorage){
  3472. if(localStorage.hasOwnProperty(key)){
  3473. localStorage.removeItem(key);
  3474. }
  3475. }
  3476. }
  3477. }
  3478. else{
  3479. // NOTE: "delete" is not supported by some flavours of IE
  3480. //delete myself._cache[key];
  3481. myself._cache[key]=null;
  3482. }
  3483. },
  3484.  
  3485. 'rename':function(oldKey,newKey,overwrite){
  3486. var obj=this.fetch(newKey);
  3487. if(obj&&!overwrite){
  3488. return false;
  3489. }
  3490.  
  3491. obj=this.fetch(oldKey);
  3492. if(obj){
  3493. this.clear(oldKey);
  3494. return this.store(newKey,obj);
  3495. }
  3496.  
  3497. return false;
  3498. },
  3499.  
  3500. 'spaceUsed':function(){
  3501. return '*** NOT IMPLEMENTED ***';
  3502. },
  3503.  
  3504. 'spaceRemaining':function(){
  3505. return '*** NOT IMPLEMENTED ***';
  3506. },
  3507.  
  3508. 'keys':function(){
  3509. var result=[];
  3510.  
  3511. var cache=(myself._useLocalStorage)?localStorage:myself._cache;
  3512.  
  3513. for(var key in cache){
  3514. if(cache.hasOwnProperty(key)){
  3515. result.push(key);
  3516. }
  3517. }
  3518.  
  3519. return result;
  3520. }
  3521. };
  3522. } // CacheProvider::constructor
  3523. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3524. function fnCheckBlacklist(){
  3525. if(win.game_data.world=='zz2'){
  3526. //if([15287,16555,22835].indexOf(parseInt(win.game_data.player.id,10))>=0){
  3527. if([16467].indexOf(parseInt(win.game_data.player.id,10))<0){
  3528. alert('Ενημέρωση '+win.game_data.player.name+'!\n\nΗ λειτουργικότητα των scripts απενεργοποιήθηκε από τον Tsalkapone\nΕπικοινωνήστε μαζί του για οποιαδήποτε απορία');
  3529. return false;
  3530. }
  3531. }
  3532.  
  3533. return true;
  3534. } // fnCheckBlacklist
  3535. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3536.  
  3537. // Always run this first!
  3538. fnEnsureBrowserCompatibility();
  3539.  
  3540. var win=(window.main||self);
  3541.  
  3542. if(!fnCheckBlacklist()){
  3543. return;
  3544. }
  3545.  
  3546. fnPrint('<span style="color:blue;font-weight:bold;">'+tsalkapone_trans.general.helpers+'<br><br/>'+tsalkapone_trans.general.help_contact+'</span><hr>');
  3547.  
  3548. var debugEnabled=false;
  3549. var cache=new CacheProvider();
  3550. var buildingConfig;
  3551. var unitConfig;
  3552. var worldConfig;
  3553. var gameVersion=win.game_data.version.match(/[\d|\.]+/g);
  3554. gameVersion=(gameVersion?parseFloat(gameVersion[1]):-1);
  3555.  
  3556. if(!win.game_data.mode){
  3557. var vmode=win.$('#overview_menu td[class="selected"] a').attr('href');
  3558. vmode=vmode?vmode.match(/mode\=(\w*)/i):null;
  3559. win.game_data.mode=vmode?vmode[1]:null;
  3560. }
  3561.  
  3562. fnCheckFrameworkVersion();
  3563. fnLoadWorldConfig();
  3564. fnLoadUnitConfig();
  3565. fnLoadBuildingConfig();
  3566. fnAppendToJQueryNamespace();
  3567. })((window.main||self).jQuery);
  3568. }
  3569. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3570.  
  3571. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement