DeletedUser
Гость
Столкнулся с серьёзной для меня проблемой - люблю максимально упростить себе жизнь, потому до недавнего времени пугал своим квикбаром друзей(дошёл до 7 фулл-строк). Потом сложил часть ссылок друг в друга, свёл до одной строки плюс две технические. Сейчас начал сворачивать ещё сильнее и тут выскочило
Видел некоторые скрипты, начинающиеся с
оригинал моего кода на 8к:
для справки по содержимому скрипта:
в планах добавить в это чудо ещё 3 мегоссылки, сделанных мною ранее:
. Неприятно. Посмотрел через блокнот - у меня почти 8кБ кода 0оsize_limit exceeded
Видел некоторые скрипты, начинающиеся с
. Вопрос - как сделать подобное с моим художеством?javascript: eval(function(p,a,c,k,e,d){e=function(c)
оригинал моего кода на 8к:
Код:
javascript: var mystr = location.href;mystr = mystr.substring(0, mystr.indexOf('&'));
var innerscript = \'var loccat='
a = annexed b = baseloc c = claimed e = enclave f = planned d = dropped
g = targets(xy) h = handled(targets_vid) i = iplayer(ram_target)';
var loclist='
0F | 582 | 612 | a | Heart 18 | 459 | 642 | b | Hemorroids 1A | 488 | 641 | e | BarField_64NE 1E
| 568 | 627 | e |BarField_65N 29 | 474 | 645 | b | Rings 2C | 518 | 635 | b | FarIt777(65) 2F
| 587 | 641 | e | TBarField_65E 37 | 435 | 660 | b | WestFort 38 | 461 | 657 | e | SRelax64 39
| 475 | 660 | b | G_A_H_SPb 3A | 488 | 656 | e | EastFort 47 | 426 | 677 | e | BarField_64SW 48
| 456 | 676 | e | BarField_64S 4B | 503 | 673 | c | Sw.5A | 491 | 687 | e | BarField_64SE 64 | 393
| 700 | e | WestTower 69 | 467 | 702 | b | AngelNorGard 72 | 358 | 717 | e | Forgotten73 79 | 467
| 717 | b | BonChance 7K | 678 | 717 | f | FarAway 83 | 372 | 726 | f | BabelGum 9A | 482 | 747
| b | Perm 9B | 497 | 747 | e | hstopor 9I | 648 | 748 | c | mrUeff A7 | 438 | 762 | e | DeadMan A8
| 457 | 762 | b | BaseLoc A9 | 474 | 762 | e | Enclave AB | 497 | 762 | b | Murom B7 | 439 | 777
| b | Ellada B9 | 465 | 777 | e | Florida BA | 482 | 777 | e | SouthPark CD | 543 | 792 | c
| GrandBonusCD sorthandle | 505 | 634 | g | mrUeff_LZ sorthandle | 515 | 687 | g | Ledi - I7 sorthandle
| 394 | 589 | g | Ledi - B0 sorthandle | 405 | 604 | g | Ledi - C0 sorthandle | 405 | 619 | g
| Ledi - D0 sorthandle | 400 | 652 | g | Ledi - F0 sorthandle | 420 | 604 | g | Ledi - C1 sorthandle
| 420 | 619 | g | Ledi - D1 sorthandle | 420 | 634 | g | Ledi - E1 sorthandle | 420 | 649 | g
| Ledi - F1 sorthandle | 435 | 585 | g | Ledi - B2 sorthandle | 435 | 604 | g | Ledi - C2 sorthandle
| 435 | 619 | g | Ledi - D2 sorthandle | 435 | 634 | d | Ledi - E2 sorthandle | 436 | 649 | d
| Ledi - F2 sorthandle | 435 | 679 | g | Ledi - H2 sorthandle | 450 | 570 | g | Ledi - A3 sorthandle
| 450 | 585 | g | Ledi - B3 sorthandle | 451 | 604 | g | Ledi - C3 sorthandle | 450 | 619 | g
| Ledi - D3 sorthandle | 450 | 634 | g | Ledi - E3 sorthandle | 450 | 649 | g | Ledi - F3 sorthandle
| 450 | 664 | g | Ledi - G3 sorthandle | 450 | 679 | g | Ledi - H3 sorthandle | 465 | 585 | g
| Ledi - B4 sorthandle | 465 | 619 | d | Ledi - D4 sorthandle | 465 | 634 | g | Ledi - E4 sorthandle
| 465 | 664 | g | Ledi - G4 sorthandle | 482 | 559 | g | Ledi - Z5 sorthandle | 480 | 577 | g
| Ledi - A5 sorthandle | 480 | 591 | g | Ledi - B5 sorthandle | 480 | 619 | g | Ledi - D5 sorthandle
| 480 | 634 | d | Ledi - E5 sorthandle | 492 | 604 | g | Ledi - C6 sorthandle | 495 | 621 | g
| Ledi - D6 unit / unit_sword | 18172 | 0 | h | place unit / unit_axe | 481 | 705 | g
| ScanIt unit / unit_spy | 491 | 687 | g | налсура ( ? ) unit / unit_ram | 1115322 | k54 | i
| player buildings / market | 86762 | max(mrUeff) | h | market ';
/* maplinks */function maplinks(mapa){var loccatz=loccat.split('');
var rs=''; if(mapa==''){for(j=0;j<loccatz.length;j++){l occats=loccatz[j].split(' = ');
rs+=' < a href = javascript: maplinks("'+loccats[0]+'") > '+loccats[1]+' < /a> | ';};}
else if(mapa.length<2){var cati=0;var catn='';for(j=0;j<loccatz.length;j++){loccats=locc atz[j].split('=');
if(mapa==loccats[0]){cati=j;catn=loccats[1];};};rs+='<b>'+catn+' :</b > ';var loclistz=loclist.split('');
for(j=0;j<loclistz.length;j++){loclists=loclist z[j].split(' | ');
if(loclists[3]==mapa){if(cati<5){rs+=' < a href = '+mystr+' & screen = map & x = '+loclists[1]+' & y = '
+loclists[2]+' > '+loclists[0]+'.'+loclists[4]+' < /a> | ';}else if(cati<7){rs+='<a href='
+mystr+'&screen=map&x='+loclists[1]+'&y='+loclists[2]+'><img src=http:/ / cdn.tribalwars.net / graphic / '
+loclists[0]+'.png > '+loclists[4]+' < /a> | ';}else if(cati<8){rs+='<a href='+mystr+'&screen='
+loclists[4]+'&target='+loclists[1]+'><img src=http:/ / cdn.tribalwars.net / graphic / '
+loclists[0]+'.png > '+loclists[2]+' < /a> | ';}else{rs+='<a href='+mystr+'&screen=info_'
+loclists[4]+'&id='+loclists[1]+'><img src=http:/ / cdn.tribalwars.net / graphic / '+loclists[0]
+'.png > '+loclists[2]+' < /a> | ';};};};};if(rs.length>3)rs=rs.substring(0,rs.leng th-3);
document.getElementById('newbar_content').inner HTML=rs;};/ * /maplinks */ /* menuvars */
function renamer() {
rs = '';
renst = '{#q}&{#loc}&{#cutlass}&{#ol d} {#q}&{#encrypt}&{#decrypt}&{#sort}
&{#sort}:0:0 2 3 4 1&{#sort}:0:2 3 1 0 4&Los Angeles {#nr}:3:0';
renz = renst.split('&');
for (j = 0; j < renz.le ngth; j++) {
if (renz[j].search(':') != -1) {
rens = renz[j].split(':');
} else {
rens = new Array(renz[j], '0', '0');
};
rs += '<a href=javascript:n_mvrs("' + rens[0] + '","' + rens[1] + '","'
+ rens[2] + '");>' + renz[j] + '</a> | ';
};
if (rs.length > 3) rs = rs.substring(0, rs.length - 3);
document.getElementById('newbar_content').inner HTML = rs;
}; /* /menuvars */
/*from this point is renamer script*/
/*@contributor Lekensteyn<lekensteyn@gmail.com>;russian version by Krutov Leonid*/
function n_mvrs(village_name, nln, sord) {
var inputs = document.getElementsByTagName('input');
if ((!village_name) | (village_name.search('{#q}') != -1)) {
village_name = prompt('Настройка новых названий для деревень.
Возможности:\n\n*{#k},{#x},{#y},{#c} - функции координат деревни. [c]=[x]|[y];
обычная запись координат в обзоре [c] K[k]\n*{#old} - старое название деревни без изменений *** *{#nr}
- номер деревни по списку\n----------------------\n*{#id} - id деревни\n
*{#sort} - switches fields in index for sort by other field\n
*{#cutlass} - clears all after last space\n*{#loc} - вставляет glid', village_name);
};
if (!village_name);
else if (village_name.length < 3) {
alert('Название деревни не может быть короче 3 символов!');
} else {
var current = 1;
if (village_name.search('{#nr}') != -1) {
if (!nln) nln = prompt('В поле ниже укажите пожалуйста количество символов в номере деревни.\n
Цифра больше единицы - фиксированная длина номера, единица(по умолчанию)\n
даст обычную нумерацию (1,..,9,10,...)', '');
if (nln) nln = nln.match(/\d+/);
nln = nln ? nln * 1 : 0;
if (nln && (current!sord) ? prompt('С какого номера начинать?:', current) : sord)) {
current = current.match(/\d+/);
};
current = current ? current * 1 : 0;
var sln = -1 * nln;
var nrsnew Array(nln)).join('0');
};
var cre = /((\d{1,3})\|(\d{1,3}))\)%20.(\d{1,2})$/;
var transtr = '0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V';
transtr = transtr.split(' '); /* -= sort =- */
if (village_name.search('{#sort}') != -1) {
if (!sord) sord = prompt('Укажите через пробелы новый порядок полей в
индексе относительно старого. 0 - первое поле.', '');
};
function sortie(s) {
var sords = sord.split(' ');
s = s.split(' ');
var nis = '';
for (k = 0; k < sords.length; k++) {
nis += s[sords[k] * 1] + ' ';
};
nis = nis.substring(0, nis.length - 1);
return nis;
}; /* -= /sort =- */
for (var i = 0, l = inputs.length; i < l; i++) {
if (inputs[i].id.indexOf('edit_input') != -1) {
var nr = '' + current;
if (nln > nr.length) nrnrs + nr).substr(sln);
var did = inputs[i].id.match(/\d+/) * 1;
var old = inputs[i].value;
var crd = document.getElementById('label_text_' + did).inn erHTML.match(cre);
var oldi = old.split(' '); /* -= loc =- */
var x = crd[2] * 1;
var y = crd[3] * 1;
var cl = '';
var cx = 0;
var cy = 0;
var cn = 'test';
var locinfo = '';
var cr = '';
var loclistz = loclist.split(' ');
for (j = 0; j < loclistz.length; j++) {
locinfo = loclistz[j].split('|');
k = 1;
if (locinfo[3] == 'h') k = 0;
if (locinfo[3] == 'i') k = 0;
if (locinfo[3] == 'g') k = 0;
if (locinfo[3] == 'd') k = 0;
if (k) {
k = 1;
if ((x - locinfo[1]) < -7) k = 0;
if ((x - locinfo[1]) > 7) k = 0;
if ((y - locinfo[2]) < -7) k = 0;
if ((y - locinfo[2]) > 7) k = 0;
if (k) {
cx = x + 7 - locinfo[1];
cy = y + 7 - locinfo[2];
cl = locinfo[0];
cn = locinfo[4];
};
};
};
cx = transtr[cx];
cy = transtr[cy];
cr = cl + cy + cx + ' ' + cn; /* -= /loc =- */
/* -= cutlass =- */
ci = '';
for (j = 0; j < oldi.length - 1; j++) {
ci += oldi[j] + ' ';
};
ci = ci.substring(0, ci.length - 1); /* -= /cutlass =- */
inputs[i].value = village_name.replace(/{#c}/g, crd[1]).replace(/{#x}/g, crd[2]).replace(/{#y}/g,
crd[3]).replace(/{#k}/g, crd[4]).replace(/{#nr}/g, nr).replace(/{#old}/g, old).replace(/{#id}/g,
did).replace(/{#loc}/g, cr).replace(/{#cutlass}/g, ci).replace(/{#sort}/g, sortie(old)).replace(/{#q}/g, old);
current++;
inputs[i + 1].click();
};
};
};
};\';
var bars=document.getElementsByTagName('
ul ');var oldbar=bars[1].innerHTML;
function putmylink(lh,im,ac){return ' < a href = "'+lh+'" >
< img src = "http://cdn.tribalwars.net/graphic/'+im+'.png" > '+ac+' < /a>';};
var nbmm=putmylink(\'javascript:var bars=document.getElementsByTagName('ul');
bars[1].innerHTML=document.getElementById('oldbar_content ').innerHTML;\',\'delete\',\'\')+' | '
+putmylink(\'javascript:maplinks('');\',\'sorthan dle\',\'\')+' | '
+putmylink(\'javascript:renamer();\',\'rename\',\ '\');
var newbar=\'<script language="JavaScript">\'+innerscript+\'</script > < span id = "oldbar_content"
style = "display:none" > \'+oldbar+\'</span><span id="newbar_mainmenu">\'
+nbmm+\'</span><span id="newbar_content"></span>\';
bars[1].innerHTML=newbar;
для справки по содержимому скрипта:
- список моих локаций(в основном)+локации, к которым я потенциально могу обратить внимание+target-инфа
- функция, генерирующая ссылки на карту по этим координатам либо на площадь/рынок/обзор профиля по id
- функция, генерирующая ссылки для использования скрипта-функции(п.4) переименования деревень с различным набором аргументов
- функция переименования деревень(переведено мной с нидерландского(вроде),источник не укажу;модифицировано(точнее надстроено) для собственных нужд)
- скрипт замены исходной панели новым содержимым с возможностью run-time возврата без перезагрузки страницы, содержимое - кнопка возврата, кнопка генерации ссылок по карте, кнопка генерации ссылок для переименования деревень.
в планах добавить в это чудо ещё 3 мегоссылки, сделанных мною ранее:
- ссылка на переход к определённому обзору определённой группы деревень(в т.ч. окно масс чеканка монет в определённой группе)
- ссылка на переход к определённому зданию(в т.ч. вкладкам в зданиях) в деревне+ввод определённого отряда в площади+несколько ссылок типа перехода к определённой папке писем,своим броням и т.п.
- скрипт-калькулятор для набора войск с возможностью подстановки результата (остаёться только нажать "Призыв")
Последнее редактирование модератором: