- Оценка реакций
- 1.029
Тема была любезно предоставлена .US сервером (оригинал)
Спасибо RatedRR за предоставленую сборку
Одобренные скрипты:
Спасибо RatedRR за предоставленую сборку
Одобренные скрипты:
- Наложение данных на карту - Последние атаки - пока не доступна для новой версии
Код:javascript:(window.main||self).$.getScript('http://ftp.innogames.net/~tracey/scripts/map_attack_overlay.js',function(){ var script=new MapAttackOverlay(); script.execute();}); void(0);
- Генератор скрипта входящих атак - еще не переделан на под наш сервер
Код:javascript: var format = "{unit} {sent} {coords} {player} {duration} {distance} {return} {attack_id}"; var titleArr = ["Scout", "LC", "HC", "Axe", "Sword", "Ram", "***Noble***"]; var showMS = false; var n = 'fnGenerateTaggerScript'; var s = 'http://crosstrigger.com/tw/generate_tagger.js'; var a = (window.frames.length > 0) ? window.main : window; var z = 0; function c(m) { a.document.body.appendChild(a.document.createTextNode(m)); a.document.body.appendChild(a.document.createElement('br')); } function e() { if (!a.document.getElementById(n)) { c("Embedding Script..."); var A = a.document.createElement('script'); A.id = n; A.type = 'text/javascript'; A.src = s + '?' + Math.round(Math.random() * 1000000); a.document.getElementsByTagName("head")[0].appendChild(A); setTimeout(e, 1000); return false; } if (typeof(a.fnGenerateTaggerScript) == "undefined") { c("Finalizing Script..."); setTimeout(e, 1000); return false; } try { c("Executing Script" + (z > 0 ? " (retry " + z + ")" : "") + "..."); a.fnGenerateTaggerScript(format, titleArr, showMS); } catch (errorObj) { z++; if (z < 3) { setTimeout(e, 1000); } else { c("Script Failed"); } return false; } return true; } e();void(0); }
Описание: Создаёт настраиваемый сценарий(скрипт) переименования входящей атаки. Подгружает скоростные данные войск и мира для точной обработки данных. Произведённый с данным скриптом сценарий(скрипт) соответствует правилам игры.
- Планировщик операций - еще не переделан на под наш сервер
Код:Javascript: $.getScript("http://dl.dropbox.com/u/24469843/Tribalwars/Scripts/op_gen.js"); void(0);
Описание:Скрипт создает план операции против игрока с его профиля.
- Скрипт массового набора - Обсуждение
Код:javascript: var n = prompt(" 1.insert your name 2.insert your name 3.insert your name 4.insert your name 5.insert your name 6.insert your name ", "0");n = parseInt(n); if (n == 1) { var units = [0, 200, 0, 0, 15, 0, 0, 2191, 0, 100]; } else if (n == 2) { var units = [0, 0, 0, 0, 15, 30, 0, 0, 0, 0]; } else if (n == 3) { var units = [0, 0, 0, 0, 15, 0, 0, 0, 0, 40]; } else if (n == 4) { var units = [0, 400, 0, 0, 15, 0, 0, 2191, 0, 100]; } else if (n == 5) { var units = [0, 0, 0, 0, 15, 0, 0, 0, 0, 0]; } else if (n == 6) { var units = [0, 8, 0, 7, 0, 0, 0, 0, 0, 100]; } else { var units = [0, 0, 0, 0, 0, 0, 0, 0]; } var farm = 200; var res = [0, 0, 0]; if (game_data.mode != 'mass') $(location).attr('href', game_data.link_base_pure + 'train&mode=mass'); function D(a, b) { v = []; if (a.length == b.length) { for (t = 0; t < a.length; t++) { if (b[t] != 0) { v[t] = a[t] * 1.0 / b[t] } else { v[t] = 0 } } } return v } function Q(r) { v = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (u = 3; u < r.cells.length; u++) { try { v[u - 3] = parseInt(r.cells[u].childNodes[1].childNodes[1].firstChild.title, 10) } catch (e) {} if (isNaN(v[u - 3])) { v[u - 3] = 0 } } return v } function R(r) { v = [0, 0, 0, 0]; var s = r.cells[1].textContent.split("\n"); var f = r.cells[2].innerHTML.split("/"); v[0] = parseInt(s[1].replace(".", ""), 10) - res[0]; v[1] = parseInt(s[2].replace(".", ""), 10) - res[1]; v[2] = parseInt(s[3].replace(".", ""), 10) - res[2]; v[3] = f[1] - f[0] - farm; return v } function P(r) { v = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (u = 3; u < r.cells.length; u++) { try { v[u - 3] = parseInt(r.cells[u].childNodes[1].textContent.split("\n")[2], 10) } catch (e) {} if (isNaN(v[u - 3])) { v[u - 3] = 0 } } return v } c = $("table.vis");c = c[2].rows; if ($("#mass_train_table [src*=unit_archer]").length == 0) { f = ["spear", "sword", "axe", "spy", "light", "heavy", "ram", "catapult"]; s = [[50, 30, 10, 1], [30, 30, 70, 1], [60, 30, 40, 1], [50, 50, 20, 2], [125, 100, 250, 4], [200, 150, 600, 6], [300, 200, 200, 5], [320, 400, 100, 8]] } else { f = ["spear", "sword", "axe", "archer", "spy", "light", "marcher", "heavy", "ram", "catapult"]; s = [[50, 30, 10, 1], [30, 30, 70, 1], [60, 30, 40, 1], [100, 30, 60, 1], [50, 50, 20, 2], [125, 100, 250, 4], [250, 100, 150, 5], [200, 150, 600, 6], [300, 200, 200, 5], [320, 400, 100, 8]] } for (r = 1; r < c.length; r++) { b = []; z = [0, 0, 0, 0]; for (i = 0; i < f.length; i++) { b[i] = units[i] - (Q(c[r])[i] + P(c[r])[i]); if (b[i] < 0) { b[i] = 0 } for (j = 0; j < 4; j++) { z[j] += s[i][j] * b[i] } }; a = D(R(c[r]), z), h = a[0]; for (t = 1; t < a.length; t++) { if (a[t] < h) { h = a[t] } } if (h > 1.0) { h = 1.0 } for (i = 0; i < f.length; i++) { n = b[i] * h; if (n < 0) { n = 0 } if (n > 1) { if (c[r].cells[3 + i].childNodes[3]) { x = c[r].cells[3 + i].childNodes[3]; x.value = parseInt(n, 10) } } } } end()
Вставляйте номер выбранной группы в выпадающее окошко и рекрутирование пройдет по описанной в скрипте форме. Группы и соотношение войск легко меняются в самом скрипте - Сортировщик атак - еще не переделан на под наш сервер
Код:javascript: function c() { var a = (window.frames.length > 0) ? window.main.document : document; var b = a.createElement('script'); b.type = 'text/javascript'; b.src = 'http://www.crosstrigger.com/tw/sort.js?' + Math.round(Math.random() * 1000000); a.getElementsByTagName('head')[0].appendChild(b); } c();
- TribalWars Map – Внешний инструмент - автоматический выбор мира пока не рабоет, но скоро появится
Код:javascript: var url = 'http://www.tribalwarsmap.com/ru/traveltimes2'; if (location.hostname.split('.')[1] == 'tribalwars') { url += '?world='; var world = location.hostname.split('.')[0]; if (world == 'classic') { url += 'c1'; } else { url += world.substring(2); }; var query = ''; if (window.main) { query = window.main.location.search.substring(1).split('&'); } else { query = window.location.search.substring(1).split('&'); }; var village = false; var dest = false; for (i = 0; i < query.length; i++) { query[i] = query[i].split('='); if (query[i][0] == 'village') { url += '&start=' + query[i][1]; } else if (query[i][0] == 'screen' && query[i][1] == 'info_village') { village = true; } else if (query[i][0] == 'id') { dest = '&destination=' + query[i][1]; } }; if (village && dest) { url += dest; } } void window.open(url);
- Добавление колонок добычи - еще не переделан на под наш сервер
Код:javascript: var ukScript = "http://ftp.innogames.net/~tracey/scripts/twcheese_commandHauls.js"; var gameDoc = (window.frames.length > 0) ? window.main.document : document; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = ukScript; gameDoc.getElementsByTagName('head')[0].appendChild(script); void(0);
Описание: Скрипт добавляет ресурсы, которые несут ваши войска домой, в обзоре приказов.
- Battle Report Evaluator
Код:javascript:var%20ukScript="http://ftp.innogames.net/~tracey/scripts/twcheese_BRE.js";var%20gameDoc=(window.frames.length>0)?window.main.document:document;var%20script=document.createElement('script');script.type='text/javascript';script.src=ukScript;gameDoc.getElementsByTagName('head')[0].appendChild(script);void(0);
Summary: Run from a report it allows you to break down the required information that you need. Other features run from the report overview also occur. - Спам-генератор
Код:javascript: function c() { var a = (window.frames.length > 0) ? window.main.document : document; var b = a.createElement('script'); b.type = 'text/javascript'; b.src = 'http://www.crosstrigger.com/tw/fake_maker.js?' + Math.round(Math.random() * 1000000); a.getElementsByTagName('head')[0].appendChild(b); } c();
Описание: Берёт координаты страницы игрока и создает спамскрипы по континентам и на все деревни. - Групировка деревень - пока не рабоет
Код:javascript: function c() { var a = document; if (window.frames.length > 0) a = window.main.document; var b = a.createElement('script'); b.type = 'text/javascript'; b.src = 'http://www.the-hangout.co.cc/Tribalwars/js/grouper.js'; a.getElementsByTagName('head')[0].appendChild(b); } c();
Описание: Выбирает деревни в обзоре групп по заданным параметрам
- Snipe
Код:javascript: function c() { try { var a = (window.frames.length > 0) ? window.main.document : document; var n = 'snipe_script'; var u = 'http://www.crosstrigger.com/tw/snipe.js?' + Math.round(Math.random() * 1000000); if (!a.URL.match(/screen\=overview_villages\&mode\=combined/i)) { window.location.search = 'screen=overview_villages&mode=combined' + '&' + String(a.URL.match(/[\&\?]t\=\d+/i)).replace(/[\?\&]/, ''); return false; } if (a.getElementById(n)) { return false; } var b = a.createElement('script'); b.id = n; b.type = 'text/javascript'; b.src = u; a.getElementsByTagName('head')[0].appendChild(b); } catch (o) { alert('Error: ' + String(o.message || o)); } } c(); void(0);
Описание: Creates a notebook output for when to snipe an incoming attack and where from. However, milliseconds have to be added onto the times. Valuable for sniping any noble train.
- Блокировка отсчёта времени
Код:javascript: if (timers.length > 0) { tmptimers = timers; timers = []; } else { timers = tmptimers; } void(0);
Описание: Остановка и запуск отсчёта времени.
_______________________
- Счетчик войск
Код:javascript:$.getScript('http://www.crosstrigger.com/tw/v7/troop_counter.js');void(0);
Описание: Считает войска в обзоре войск и распределяет в различные группы, которые можно потом вывести списком координат. - Переназвать деревни по локации с континентом
Код:javascript: var doc = (window.frames.length > 0) ? window.main.document : document; var eleCoords = $('#base_coords')[0]; if (eleCoords) { rename(eleCoords.value.match(/(\d+)\|(\d+)/)); } else { $('#combined_table th:contains("Village")').html( 'Target Village: <input type=text id="base_coords" value="50|50"/>'); } function zeroPad(number, length) { var n = number.toString(); while (n.length < length) { n = "0" + n; } return n; } function SQ(x) { return Math.pow(x, 2); } function V(z) { return (z % 25100); } function D(s, d) { return Math.round(Math.sqrt(SQ(V(d[1]) - V(s[1])) + SQ(V(d[2]) - V(s[2])))); } function K(x, y) { return (Math.floor(y / 100) * 10) + Math.floor(x / 100); } function rename(base) { var coord; base[1] = parseInt(base[1], 10); base[2] = parseInt(base[2], 10); $('#combined_table span[id*=label_text_], #combined_table input').each(function(index, element) { if (element.id.match(/label_text_/i)) { coord = element.innerHTML.match(/(\d+)\|(\d+)/); } else if (element.id.match(/edit_input_/i)) { var xx = parseInt(coord[1], 10); var yy = parseInt(coord[2], 10); var ns = (V(yy) < 50) ? 'N' : 'S'; var ew = (V(xx) < 50) ? 'W' : 'E'; var nm = 'K' + zeroPad(K(xx, yy), 2) + ' ' + ns + ew + ' ' + zeroPad(D(coord, base), 3); element.value = nm; } else if (element.type == "button") { element.click(); } }); } void(0);
Описание: Переназывает деревни по следующимими способами:
- KYX: K - континент деревни.
- Компас: 4 направления компаса NE, NW, SW, SE.
- Поля от центра континента
_______________________
- Переименовщик команд
Код:javascript: function e() { var n = "rename&delete", s = "http://damouse.wartool.net/collectables/rename_delete_main.js"; var a = window.frames.length > 0 ? window.main : window; function c(m) { a.document.body.appendChild(a.document.createTextNode(m)); a.document.body.appendChild(a.document.createElement("br")) } if (a.document.getElementById(n) == null) { c("Creating script entry in doc head..."); var A = a.document.createElement("script"); A.id = n; A.type = "text/javascript"; A.src = s; a.document.getElementsByTagName("head")[0].appendChild(A); setTimeout(e, 500); return } if (typeof a.document.getElementById(n) == "undefined" || typeof a.appendIcons == 'undefined') { c("Loading script..."); setTimeout(e, 200); return 0 } c("Loaded"); if (a.document.URL.match(/screen=report/)) { eval("a.appendIcons('fake')") } else { eval("a.overView()") } } e();
Описание: Переименование исходящих атак по определенным критериям. - Proximity Script
Код:javascript: var central = prompt("Coords Plox!", ""); var win = window.frames.length > 0 ? window.main : window; var J = win.$; var doc = window.document; var table = J("table[id$=_table]").filter(":not(#group_table)").get(0); var rows = []; var q; var p; var rowHeight = table.rows[1].cells[0].rowSpan; function get_distance(a, b) { var a = a.split("|"); var b = b.split("|"); var c = b[0] - a[0]; var d = b[1] - a[1]; return Math.sqrt(c * c + d * d) } for (q = 1; q < table.tBodies[0].rows.length; q += rowHeight) { var row = table.tBodies[0].rows[q]; var coords = J.trim(J(row.cells[0]).text()).match(/\((\d+\|\d+)\) +K\d+$/)[1]; var rowGroup = []; for (p = 0; p < rowHeight; ++p) { rowGroup[p] = table.tBodies[0].rows[q + p] } rows[(q - 1) / rowHeight] = [coords, rowGroup] } rows = rows.sort(function(a, b) { return get_distance(a[0], central) - get_distance(b[0], central) }); for (q = 0; q < rows.length; ++q) { for (p = 0; p < rowHeight; ++p) { table.tBodi es[0].appendChild(rows[q][1][p]) } } void 0;
- OD Calculator
Код:javascript: var win = window.frames.length ? window.main : window; var doc = win.document; var J = win.$; var oda = 0; var odd = 0; var od = 0; function fetch(x) { x = J("table:has(th:contains('" + x + "')):last table td:contains('Losses:')").parent().html(); return (x == null) ? [] : x.match(/\d+/g); } var al = fetch('Attacker:');al = al.slice(1); var dl = fetch('Defender:');dl = dl.slice(1); switch (al.length) { case 9: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 1 + dl[4] * 5 + dl[5] * 23 + dl[6] * 4 + dl[7] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 13 + al[5] * 15 + al[6] * 8 + al[7] * 200; break; case 10: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 1 + dl[4] * 5 + dl[5] * 23 + dl[6] * 4 + dl[7] * 12 + dl[8] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 13 + al[5] * 15 + al[6] * 8 + al[7] * 10 + al[8] * 200; break; case 11: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 5 + dl[4] * 1 + dl[5] * 5 + dl[6] * 6 + dl[7] * 23 + dl[8] * 4 + dl[9] * 12 + dl[10] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 2 + al[5] * 13 + al[6] * 12 + al[7] * 15 + al[8] * 8 + al[9] * 10 + al[10] * 200; break; case 12: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 5 + dl[4] * 1 + dl[5] * 5 + dl[6] * 6 + dl[7] * 23 + dl[8] * 4 + dl[9] * 12 + dl[10] * 40 + dl[11] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 2 + al[5] * 13 + al[6] * 12 + al[7] * 15 + al[8] * 8 + al[9] * 10 + al[10] * 20 + al[11] * 200; break; } od = oda + odd; alert("Total OD gained from battle: " + od + "\n\nODA: " + oda + "\n\nODD: " + odd); void(0);
Последнее редактирование модератором: