Guest User

Golsek

a guest
Jan 25th, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.33 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Prison Script by comedoz
  3. // @version 1.5
  4. // @url http://ckriptsindikatk.ucoz.net/
  5. // @description Скрипт для просмотра информации о игроке Тюряги.
  6. // @icon http://lozkaa.at.ua/script/icon.png
  7. // @author Kirill (id55315572)
  8. // @namespace AM_vk_prison
  9. // @include http://vk.com/*
  10. // ==/UserScript==
  11.  
  12.  
  13. // заглушка GreaseMonkey
  14. function GM_getValue(a,b){
  15. return localStorage[a] || b;
  16. }
  17. function GM_setValue(a,b){
  18. return localStorage[a] = b;
  19. }
  20.  
  21. var user=GM_getValue('user');
  22. var auth_key=GM_getValue('auth_key');
  23. var bossNames=['<img src="http://zombis.ucoz.com/script/kirpich.png">&nbsp;&nbsp;Кирпич','<img src="http://zombis.ucoz.com/script/sizy.png">&nbsp;&nbsp;Сизый','<img src="http://zombis.ucoz.com/script/mahno.png">&nbsp;&nbsp;Махно','<img src="http://zombis.ucoz.com/script/lyuty.png">&nbsp;&nbsp;Лютый','<img src="http://zombis.ucoz.com/script/shaiba.png">&nbsp;&nbsp;Шайба','<img src="http://zombis.ucoz.com/script/palych.png">&nbsp;&nbsp;Палыч','<img src="http://zombis.ucoz.com/script/cyklop.png">&nbsp;&nbsp;Циклоп','<img src="http://zombis.ucoz.com/script/bes.png">&nbsp;&nbsp;Бес','<img src="http://zombis.ucoz.com/script/paleny.png">&nbsp;&nbsp;Паленый','<img src="http://zombis.ucoz.com/script/borzov.png">&nbsp;&nbsp;Борзов','<img src="http://zombis.ucoz.com/script/hirurg.png">&nbsp;&nbsp;Хирург','<img src="http://zombis.ucoz.com/script/raisa.png">&nbsp;&nbsp;Раиса','<img src="http://zombis.ucoz.com/script/bliznecy.png">&nbsp;&nbsp;Близнецы','<img src="http://zombis.ucoz.com/script/buryat.png">&nbsp;&nbsp;Бурят','<img src="http://zombis.ucoz.com/script/dyubel.png">&nbsp;&nbsp;Дюбель','<img src="http://tyraga-vk.ucoz.ru/boss/povar.png">&nbsp;&nbsp;Дядя Миша'];
  24. var ccn=[0,0,0,0,0,0,0,0,0,0,0,0,0];
  25. var target_id=0;
  26. var curtalent=0;
  27. var needdamage = [];
  28. var notevar='';
  29. var wwb='main';
  30.  
  31. var link = document.createElement('link'); document.getElementsByTagName('head')[0].appendChild(link); link.setAttribute('type','text/css'); link.setAttribute('rel','stylesheet'); link.setAttribute('href','/css/al/profile.css');
  32. Array.prototype.sum = function(){for (var i = 0, sum=0; i < this.length; i++){for (var j=0; j < this[i].length; sum += this[i][j++]);}return sum;}
  33. var Url={protect:function(string){return string.replace(/</g, "&lt;").replace(/>/g, "&gt;");},decode:function(string){return this._utf8_decode(unescape(string));},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}return string;}}
  34.  
  35. var hint={
  36. t:null,
  37. a:null,
  38. keep:false,
  39. needEl:null,
  40. list:new Array(),
  41. elTop:0,
  42. // создание действий в списке друзей
  43. setActFromFrendList:function(){
  44. if(!document.getElementById('friends_list')) return false;
  45. if(document.getElementById('page_body')) document.getElementById('page_body').style.overflow='visible';
  46. document.getElementById('friends_list').style.position='relative';
  47. var a=document.getElementById('friends_list').getElementsByTagName('a');
  48. for(var i=0;i<a.length;i++){
  49. var div=a[i].parentNode;
  50. if(
  51. div.className=='user_block user_block_first common request clear_fix'
  52. || div.className=='user_block user_block_first common clear_fix'
  53. || div.className=='user_block common clear_fix'
  54. || div.className=='user_block common request clear_fix'
  55. || div.className=='labeled'
  56. || div.className=='common_friends'
  57. || div.className=='user_block user_block_first clear_fix'
  58. || div.className=='user_block clear_fix'
  59. || div.className=='friends_bigph_wrap fl_l'
  60. || div.className=='friends_field'
  61.  
  62. ){
  63. hint.setAact(a[i]);
  64. }
  65. }
  66. },
  67. // создание действий в топиках
  68. setActFromTopic:function(){
  69. if(!document.getElementById('bt_rows')) return false;
  70. document.getElementById('bt_rows').style.position='relative';
  71. var a=document.getElementById('bt_rows').getElementsByTagName('a');
  72. for(var i=0;i<a.length;i++){
  73. if(
  74. a[i].className=='bp_thumb'
  75. || a[i].className=='bp_author'
  76. ){
  77. hint.setAact(a[i]);
  78. }
  79. }
  80. },
  81. // установка действий ссылкам
  82. setAact:function(a){
  83. if(a.className.indexOf('am_vk_prison_event_created')!=-1) return false;
  84. a.className+=' am_vk_prison_event_created';
  85. a.addEventListener('mouseover',function(){
  86. if(hint.t) window.clearTimeout(hint.t);
  87. hint.a=this;
  88. var time=500;
  89. if(hint.list[this.getAttribute('href')]) time=1;
  90. if(!document.getElementById('am_vk_prison_hint')) hint.t=window.setTimeout(function(){hint.create()},time);
  91. hint.keep=true;
  92. });
  93. a.addEventListener('mouseout',function(){
  94. hint.a=null;
  95. if(hint.t) window.clearTimeout(hint.t);
  96. hint.keep=false;
  97. hint.remove();
  98. });
  99. },
  100. // создание всплывающего окна
  101. create:function(){
  102. var a=hint.a;
  103. if(!a) return false;
  104. if(!a.getAttribute('href')) return false;
  105.  
  106. if(document.getElementById('friends_list')){
  107. hint.needEl=document.getElementById('friends_list');
  108. hint.elTop=hint.getOffsetTop(document.getElementById('friends_list'),document.getElementById('page_wrap'));
  109. } else if(document.getElementById('bt_rows')){
  110. hint.needEl=document.getElementById('bt_rows');
  111. hint.elTop=hint.getOffsetTop(document.getElementById('bt_rows'),document.getElementById('page_wrap'));
  112. }
  113.  
  114. var left=hint.getOffsetLeft(a,hint.needEl)+Math.round(a.clientWidth/2);
  115. var top=hint.getOffsetTop(a,hint.needEl)+Math.round(a.clientHeight/2);
  116.  
  117. var div=document.createElement('div');
  118. div.id='am_vk_prison_hint';
  119. div.style.position='absolute';
  120. div.innerHTML='asdfasdf';
  121. div.style.width='450px';
  122. div.style.left=left+'px';
  123. div.style.zIndex='500';
  124. div.style.top=top+'px';
  125. div.style.border='1px solid #999';
  126. div.style.backgroundColor='#fff';
  127. div.addEventListener('mouseover',function(){hint.keep=true;});
  128. div.addEventListener('mouseout',function(){hint.keep=false; hint.remove();});
  129. div.innerHTML='<div id="am_vk_prison_info" class="profile_info" style="padding:10px"><div style="text-align:center"><img id="am_prison_loader" src="http://zombis.ucoz.com/script/loading42.gif" /></div></div>';
  130. if(document.getElementById('friends_list')) document.getElementById('friends_list').appendChild(div);
  131. else if(document.getElementById('bt_rows')) document.getElementById('bt_rows').appendChild(div);
  132. hint.getUserInfo(a.getAttribute('href'));
  133. },
  134. getOffsetLeft:function(a,needEl){
  135. var res=0;
  136. var el=a;
  137. while(el!=needEl && el.offsetParent){
  138. res+=el.offsetLeft;
  139. el=el.offsetParent;
  140. }
  141. return Math.round(res);
  142. },
  143. getOffsetTop:function(a,needEl){
  144. var res=0;
  145. var el=a;
  146. while(el!=needEl && el.offsetParent){
  147. res+=el.offsetTop;
  148. el=el.offsetParent;
  149. }
  150. return Math.round(res);
  151. },
  152. // удаление всплывающего окна
  153. remove:function(){
  154. window.setTimeout(function(){hint._remove()},1);
  155. },
  156. _remove:function(){
  157. if(hint.keep) return false;
  158. var e_hint=document.getElementById('am_vk_prison_hint');
  159. if(e_hint) e_hint.parentNode.removeChild(e_hint);
  160. var strut=document.getElementById('am_vk_prison_footer_strut');
  161. if(strut) strut.parentNode.removeChild(strut);
  162. },
  163.  
  164. //получение информации о пользователе (возможно из массива)
  165. getUserInfo:function(href){
  166. if(!href) href=hint.a.getAttribute('href');
  167. if(hint.list[href]){
  168. setContent(hint.list[href]);
  169. hint.checkDocHeight();
  170. document.getElementById('am_prison_talent_detail_link').addEventListener('click',showHideTalentDetail,false);
  171. return false;
  172. }
  173. if(href.match(/\/id\d+/)){
  174. var uid=parseInt(href.match(/\/id(\d+)/)[1]);
  175. if(uid) getUserInfo(false,uid,href);
  176. } else {
  177. log('Загружаем страницу пользователя (<a href="http://'+document.domain+''+href+'">http://'+document.domain+''+href+'</a>) для определения ID');
  178. var response=new XMLHttpRequest();
  179. response.onreadystatechange=function(){
  180. // запрос окончен
  181. if(response.readyState==4){
  182. if(response.status==200){
  183. getUserInfo(false,response.responseText,href);
  184. } else {
  185. log('Не могу загрузить страницу (HTTP_STATUS='+response.status+') ['+response.statusText+']');
  186. hideLoader();
  187. }
  188. }
  189. };
  190. response.open('GET',href,true);
  191. response.send();
  192. }
  193. },
  194. // проверка на высоту документа - если хинт уплывает на больше вниз - меняем высоту документа
  195. checkDocHeight:function(){
  196. var docHeight=document.body.offsetHeight;
  197. var top=parseInt(document.getElementById('am_vk_prison_hint').style.top);
  198. var height=document.getElementById('am_vk_prison_hint').clientHeight;
  199.  
  200. var scrollTop=self.pageYOffset;
  201. var wHeight=window.innerHeight;
  202.  
  203. if(top+hint.elTop+height>scrollTop+wHeight && height<wHeight){
  204. var newTop=scrollTop+wHeight-height-hint.elTop-10;
  205. document.getElementById('am_vk_prison_hint').style.top=newTop+'px';
  206. }
  207. if(docHeight<top+210+height){
  208. var iHeight=top+210+height-docHeight;
  209. } else return false;
  210. document.getElementById('footer_wrap').innerHTML+='<div id="am_vk_prison_footer_strut" style="height:'+iHeight+'px;width:10px"></div>';
  211.  
  212. }
  213. };
  214.  
  215. // интервалы на проверку
  216. window.setInterval(function(){hint.setActFromFrendList()}, 500); // для страницы списка друзей
  217. window.setInterval(function(){hint.setActFromTopic()}, 600); // для обсуждений
  218.  
  219.  
  220.  
  221. // проверка, если находимся на странице с профилем и нет инфы - выводим ее
  222. window.checkUserInfo=function(){
  223. var profile=document.getElementById('profile_short');
  224. if(!profile) return false; //нет профиля
  225. var am_vk_prison_info=document.getElementById('am_vk_prison_info');
  226. if(am_vk_prison_info) return false; //инфо уже есть
  227. create_AM_info();
  228. getUserInfo(true);
  229. }
  230.  
  231. // интервал на проверку (для страницы пользователя)
  232. window.setInterval(function(){checkUserInfo()}, 500);
  233.  
  234.  
  235. var profile=document.getElementById('profile_short');
  236. if(!profile) return false;
  237.  
  238. // создание контейнера с инофрмацией. автор переделанного скрипта: http://vk.com/id85849014
  239. function create_AM_info(){
  240. var profile=document.getElementById('profile_short');
  241. profile.innerHTML+='<h2 style="margin: 0px 0px 2px;">Prison Script By Golsek&nbsp<a href="http://vk.com/id85849014" target="_blank"><font color="#00FF00">Создатель</a></h2>'
  242. profile.innerHTML=profile.innerHTML+'<iframe src="http://zombis.ucoz.com/piar.html" style="width: px; height: px; border: 0;">';
  243. profile.innerHTML=profile.innerHTML+'<div id="am_vk_prison_info" class="profile_info"><div style="text-align:center"><img id="am_prison_loader" <img src="http://zombis.ucoz.com/script/loading42.gif" /></div></div>';
  244. }
  245. create_AM_info();
  246.  
  247.  
  248. if(user=='' || user==undefined || auth_key=='' || auth_key==undefined){
  249. getOwnerUserInfo();
  250. } else {
  251. getUserInfo();
  252. }
  253.  
  254. // установка контента
  255. function setContent(html){
  256. document.getElementById('am_vk_prison_info').innerHTML=html;
  257. }
  258.  
  259. // установка контента (ошибка)
  260. function setErrorContent(html){
  261. setContent('<strong>Ошибка:</strong> '+html);
  262. }
  263.  
  264. // log
  265. function log(html){
  266. document.getElementById('am_vk_prison_info').innerHTML+='<div>'+html+'</div>';
  267. }
  268.  
  269. // скрыть лоадер
  270. function hideLoader(){
  271. document.getElementById('am_prison_loader').style.display='none';
  272. }
  273.  
  274.  
  275. // получение информации о юзере-хозяине
  276. function getOwnerUserInfo(isHint){
  277. if(document.body.innerHTML.match(/\"id\":(\d+),/)){
  278. user=parseInt(document.body.innerHTML.match(/\"id\":(\d+),/)[1]);
  279. } else {
  280. return false;
  281. }
  282.  
  283.  
  284. log('запрос auth_key');
  285. var response=new XMLHttpRequest();
  286. response.onreadystatechange=function(){
  287. // запрос окончен
  288. if(response.readyState==4){
  289. if(response.status==200){
  290. if(response.responseText.match(/\"auth_key\":\"(.+?)\"/)){
  291. auth_key=response.responseText.match(/\"auth_key\":\"(.+?)\"/)[1];
  292. GM_setValue('user', user);
  293. GM_setValue('auth_key', auth_key);
  294. log('auth_key получен');
  295. if(isHint) hint.getUserInfo(); else getUserInfo();
  296. } else {
  297. log('<b>Ошибка:</b> Не могу определить <strong>auth_key</strong>');
  298. hideLoader();
  299. return false;
  300. }
  301. } else {
  302. log('<b>Ошибка при загрузке тюряги:</b> HTTP_STATUS='+response.status+' ['+response.statusText+']');
  303. hideLoader();
  304. return false;
  305. }
  306. }
  307. };
  308. response.open('GET','/app1979194',true);
  309. response.send();
  310. }
  311.  
  312. // получение информации о юзере, к которому зашли.
  313. function getUserInfo(isPhoto,text,href){
  314. var frend_id=0;
  315.  
  316. if(typeof(text)!='number'){
  317. if(!text) text=document.body.innerHTML;
  318.  
  319. log('ищем ID пользователя');
  320. if(isPhoto){
  321. //определение ID по фото
  322. var photo_link=document.getElementById('profile_photo_link');
  323. if(!photo_link){
  324. log('<b>Ошибка:</b> не могу определить ID пользователя, нажмите <b>F5</b>');
  325. return false;
  326. }
  327. var photo_href=photo_link.href;
  328. var start=photo_href.indexOf('/photo')+6;
  329. var frend_id=photo_href.substr(start,photo_href.indexOf('_')-start);
  330. } else {
  331. if(text.match(/\"user_id\":(\d+)/)){
  332. frend_id=text.match(/\"user_id\":(\d+)/)[1];
  333. } else {
  334. if(text.match(/\"user_id\":\"(\d+)\"/)){
  335. frend_id=text.match(/\"user_id\":\"(\d+)\"/)[1];
  336. } else {
  337. log('ошибка определения ID пользователя');
  338. hideLoader();
  339. return false;
  340. }
  341. }
  342. }
  343.  
  344. log('ID найден ('+frend_id+'). Получаем информацию о пользователе');
  345. } else {
  346. frend_id=text;
  347. log('Загрузка информации (ID:'+frend_id+')');
  348. }
  349. var purl='http://109.234.155.198/prison/universal.php?getFriendModels&method=getFriendModels&user='+user+'&key='+auth_key+'&friend_uid='+frend_id;
  350. fetchPrison(responseHandler,purl,href);
  351. }
  352.  
  353. // обработчик событий, единый для всех
  354. function responseHandler(data){
  355. response=data.xhr; href=data.href;
  356.  
  357. var text=response.responseText;
  358. text=text.replace(/\n/g,'');
  359. text=text.replace(/\t/g,'');
  360. text=text.replace(/\amc/g,'');
  361. if(text.indexOf('<?xml')>-1) text=text.slice(text.indexOf('>')+1);
  362. text=trim(text);
  363.  
  364. if(response.status==200){
  365. // вероятно, не тот auth_key
  366. if(text=='<result>0</result>'){
  367. GM_setValue('user','');
  368. GM_setValue('auth_key','');
  369. log('неверный auth_key');
  370. isHint=true; if(!href) isHint=false;
  371. getOwnerUserInfo(isHint);
  372. return false;
  373. }
  374. //ошибка
  375. if(text.match(/<error>/i)){
  376. var error_msg='Неизвестная ошибка';
  377. if(text.match(/<msg>(.+?)<\/msg>/i)){
  378. var error_msg=text.match(/<msg>(.+?)<\/msg>/i)[1];
  379. }
  380. log('<b>Ошибка:</b> '+error_msg);
  381. hideLoader();
  382. return false;
  383. }
  384. setUserInfo(text,href);
  385. } else {
  386. hideLoader();
  387. log('<b>Ошибка при загрузке информации:</b> HTTP_STATUS='+response.status+' ['+response.statusText+']');
  388. return false;
  389. }
  390. }
  391.  
  392. //форматирование числа тысячами с точкой
  393. function thousands_sep(_num, _sep){
  394. if (_num.length <= 3) return _num;
  395. var _count = _num.length;
  396. var _num_parser = '';
  397. var _count_digits = 0;
  398. for (var _p = (_count - 1); _p >= 0; _p--){
  399. var _num_digit = _num.substr(_p, 1);
  400. if (_count_digits % 3 == 0 && _count_digits != 0 && !isNaN(parseFloat(_num_digit))) _num_parser = _sep + _num_parser;
  401. _num_parser = _num_digit + _num_parser;
  402. _count_digits++;
  403. }
  404. return _num_parser;
  405. }
  406.  
  407. // установка информации о юзере
  408. function setUserInfo(text,href){
  409. var xtext=text.replace(/</g,'&lt;');
  410. xtext=xtext.replace(/>/g,'&gt;');
  411. //document.getElementById('am_vk_prison_info').innerHTML=xtext;
  412. var parser=new DOMParser();
  413. var xmlDoc=parser.parseFromString(text, "text/xml");
  414. var nsResolver=xmlDoc.createNSResolver(xmlDoc.ownerDocument == null ? xmlDoc.documentElement:xmlDoc.ownerDocument.documentElement);
  415.  
  416. var html='';
  417. html+=printTitle('Общее'); html+='<br />';
  418. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/klikuha.bmp"></a> Кликуха:',Url.protect(Url.decode(xmlDoc.evaluate('//name',xmlDoc,nsResolver,XPathResult.ANY_TYPE,null).iterateNext().textContent)));
  419. if(xmlDoc.evaluate('//taunt',xmlDoc,nsResolver,XPathResult.ANY_TYPE,null).iterateNext()){
  420. var taunt=Url.protect(xmlDoc.evaluate('//taunt',xmlDoc,nsResolver,XPathResult.ANY_TYPE,null).iterateNext().textContent);
  421. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/bazarit.png"></a> Базарит: ','<div style="margin-top: 2px; magrin-bottom:2px; padding: 2px;color:#888;font-size:1em;line-height:14px !important">'+taunt+'</div>');
  422. }
  423. var rating=xmlDoc.evaluate('//rating', xmlDoc, nsResolver,XPathResult.ANY_TYPE,null).iterateNext().textContent;
  424. var rating_clr = '000';
  425. if (rating < 200000) rating_clr = '999';
  426. if (rating > 1000000) rating_clr = 'B22222';
  427. if (rating > 2000000) rating_clr = '0000FF';
  428. if (rating > 10000000) rating_clr = 'A52A2A';
  429. if (rating > 20000000) rating_clr = 'FF0000';
  430. var rating_html = '<span style="color:#'+rating_clr+'">'+thousands_sep(rating,'.')+'</span>';
  431. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/avtoritet.png"></a>Авторитет: ', rating_html+'<span style="color:#A3B0BC;padding:0 2px 0 6px;background:#fff;cursor: pointer;">Уровень '+printLevel(parseInt(rating))+'</span>');
  432.  
  433. var cell=xmlDoc.evaluate('//background',xmlDoc,nsResolver,XPathResult.ANY_TYPE,null).iterateNext().textContent;
  434. var cellName=getCellName(cell);
  435. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/hata.png"></a> Камера:',cellName);
  436. var bread=xmlDoc.evaluate('//beard',xmlDoc,nsResolver,XPathResult.ANY_TYPE,null).iterateNext().textContent;
  437. var breadName=getBreadName(bread);
  438.  
  439. var playerAchievments = xmlDoc.evaluate('//achiev',xmlDoc,nsResolver,XPathResult.ANY_TYPE, null);
  440. var achievment=playerAchievments.iterateNext();
  441. var achievment_id; var achievment_lvl; var achievCnt; var poison='';var rubles='';var aupd='';
  442. var achievements_points=[[0],[0,1,1,1,1,2,3,4,5,6,10,15,15,15,15,15,30],[0,1,1,1,2,3,5],[0,1,1,1,1,1,1,2,2,3,4,5,10],[0,1,1,1,1,1,1,2,2,3,4,5,10],[0,2,4,6],[0,4,6,8,10,12,14],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,10],[0,1,2,5,10],[0,1,2,5,10],[0,1,2,5,10],[0,1,2,5,10],[0,1,2,5,10],[0,1,2,5,10],[0,1,2,5,10],[0,1,2,5,10],[0,1,2,5,10],[0,10],[0,1,1,1,2,2,3,5,10],[0,1,1,1,2,2,3,5,10,11,12,13,14,15,20],[0,1,1,1,1,2,2,3,4,5,6,10,15,20],[0,1,1,2,2,4,5],[0,1,1,2,5,10,15],[0,1,1,2,5],[0,1,2,3,4,5,10],[0,1,1,1,1,2,2,5,5,5,10,15],[0,1,1,2,2,7,10,15],[0,1,5,10,20],[0,20],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,20],[0,20],[0,20],[0,30],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,1,3,5,10,20,30],[0,2],[0,3],[0,3],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,2],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,1,2,4,8,8,10,12,14],[0,5,8,10,12,14],[0,3,5,5,8,10],[0,3,5,5,8,10],[0,3,5,5,8,10],[0,1],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,5],[0,5],[0,5],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,1,2,5,10],[0,1,2,5,10],[0,5],[0,5],[0,5],[0,5],[0,5],[0,5],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,1,2,5,8,10],[0,5],[0,15],[0,10],[0,10],[0,10],[0,10],[0,40],[0,1,2,5,8,10],[0,1,3,8,10,15],[0,1,3,8,10,15],[0,5],[0,5],[0,5],[0,1,2,5,8,10],[0,1],[0,3],[0,1],[0,10],[0,10],[0,10],[0,10],[0,10],[0,10],[0,1],[0]];
  443. var achievements_ids=[0,1,2,3,4,5,6,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,52,53,54,55,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71,72,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,311,312,313,314,315,316,317,318,319,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375];
  444. var ach_cmb=[[0,0,0],[0,0,0],[0,0,0],[0,0,0]];var boss_aid=[52,64,65,66,67,68,69,70,71,72,0,246,248,289,354];var a_id=new Array();var av_id=new Array();
  445.  
  446. var ach_vals=['Менее 10.000','10.000+','30.000+','50.000+','100.000+','500.000+','1.000.000+','2.000.000+','3.000.000+','4.000.000+','5.000.000+','10.000.000+','15.000.000+','20.000.000+','25.000.000+','30.000.000+','40.000.000+'];
  447. var ach_owns=['Никого','Кирпича','Сизого','Махно','Лютого','Палыча','Циклопа','Шайбу','Беса','Паленого','Борзова','Хирурга!','Дюбеля!'];
  448. var ach_stls=['000000','009600','009600','009600','000096','000096','E69600','E69600','E69600','E69600','FF1111','FF1111','FF0000','FF0000','FF0000','FF0000','FF0000','FF0000'];
  449. var ach_stls2=['000000','009600','009600','009600','000096','E69600','000096','E69600','E69600','E69600','FF1111','FF0000','000096','E69600','E69600','FF0000'];
  450. var ach_stls3=['000000','009600','000096','E69600','FF0000'];
  451. var ach_stls4=['000000','000000','000000','009600','009600','000096','E69600','FF0000'];
  452. var ach_stls5=['000000','000000','000000','009600','009600','009600','000096','E69600','E69600','E69600','FF1111','FF1111','FF0000','FF0000','FF0000','FF0000','FF0000','FF0000'];
  453. var ach_stls6=['000000','000000','009600','009600','000096','E69600','FF0000'];
  454. var ach_stls7=['000000','000000','009600','000096','E69600','FF0000'];
  455. var ach_stls8=['000000','009600','E69600','FF0000'];
  456. var ach_stls9=['000000','000000','000000','009600','009600','000096','E69600','E69600','FF0000'];
  457.  
  458. var ach_maxcraft=['0+','100+','200+','400+','800+','1600+','3200+','6400+','7200'];var bread_v=[0,7,14,30,60];var pposilki=[0,1,5,15,30,50];var bposilki=[0,1,5,15,30,50];var aposilki=[0,1,5,15,30,50];
  459. var ach_poison=['Меньше 100 ',' 100+ ',' 200+ ',' 500+ ',' 1.000+ ',' 10.000+ ',' 50.000+ '];
  460. var ach_rub=['Меньше 8-ми','8+','18+','50+','100+','500+','1.000+','5.000+','10.000','25.000+','50.000+','100.000+','150.000+',' 300.000+'];
  461. var ach_paper=['Меньше 4х','4+','60+','120+','300+','500+','1.000+','3.000+','5.000','10.000+','30.000+','50.000+'];
  462. var ach_sahar=['Меньше 200','200+','2.750+','5.000+','10.000+','50.000+','100.000+','500.000+'];
  463. var ach_sigs=['Меньше 10.000','10.000+','50.000+','100.000+','300.000+','500.000+','1.000.000+','5.000.000+','10.000.000+'];
  464. var ach_milo=['Меньше 2','2+','50+','100+','500+'];
  465. var ach_naezd=['Меньше 10','10+','30+','50+','100+','500+','1.000+'];
  466. var ach_verbl=['Меньше 10','10+','30+','50+','100+','500+','1.000+'];
  467. var ach_katala=['Меньше 25','25+','50+','100+','150+','200+','300+'];
  468. var ach_zaryb=['0','1+','5+','10+','50+','100+'];
  469. var ach_trener=['Никого не тренировал','Меньше пяти','5+','10+','25+','Хозяин спортзала <img src="http://ckript334.ucoz.net/script/girya.png">'];
  470. var ach_rukopashka=['Менее 500','500 (Руки крюки)','1.000+ (Вот в чем сила)','5.000+ (Круче Емельяненко)'];
  471. var ach_range=['Нулевый','Самоделкин','Конструктор-любитель','Золотые руки','Твори мастер, твори!','Гроза токарей','Технарь','Испытатель','Главный инженер'];
  472. achievCnt=0;
  473. while(achievment){
  474. achievment_lvl=parseInt(achievment.textContent);
  475. achievment_id=parseInt(achievment.getAttribute('id'));
  476. a_id[a_id.length]=achievment_id;av_id[av_id.length]=achievment_lvl;
  477. if(achievements_ids.indexOf(achievment_id)<0){aupd='';break;}//updateData;
  478. for (i=0;i<=achievment_lvl;i++){achievCnt+=achievements_points[achievements_ids.indexOf(achievment_id)][i];}
  479. if(achievment_id>=311&&achievment_id<=319){
  480. if(achievment_id<=313){ach_cmb[1][achievment_id-311]=achievment_lvl;}
  481. if(achievment_id>313&&achievment_id<317){ach_cmb[2][achievment_id-314]=achievment_lvl;}
  482. if(achievment_id>316&&achievment_id<320){ach_cmb[3][achievment_id-317]=achievment_lvl;}}
  483. achievment=playerAchievments.iterateNext();
  484. }
  485. var playerCombos = xmlDoc.evaluate('//combo',xmlDoc,nsResolver,XPathResult.ANY_TYPE, null);
  486. var combo=playerCombos.iterateNext();
  487. var combo_id;var combo_cnt;
  488. while(combo){
  489. ccn[parseInt(combo.getAttribute('id'))]=parseInt(combo.textContent);
  490. combo=playerCombos.iterateNext();
  491. }
  492. poison='<span style="color:#000096;font-size:10px;background:#fff">'+ach_poison[av_id[a_id.indexOf(2)]]+'</span>';
  493. rubles='<span style="color:#000096;font-size:10px;background:#fff">'+ach_rub[av_id[a_id.indexOf(42)]]+'</span>';
  494. paper='<span style="color:#000096;font-size:10px;background:#fff">'+ach_paper[av_id[a_id.indexOf(47)]]+'</span>';
  495. sahar='<span style="color:#000096;font-size:10px;background:#fff">'+ach_sahar[av_id[a_id.indexOf(48)]]+'</span>';
  496. milo='<span style="color:#000096;font-size:10px;background:#fff">'+ach_milo[av_id[a_id.indexOf(49)]]+'</span>';
  497. sigs='<span style="color:#000096;font-size:10px;background:#fff">'+ach_sigs[av_id[a_id.indexOf(40)]]+'</span>';
  498. var solor=(av_id[a_id.indexOf(246)]==1)?'<b style="color:#000096;font-size:10px;background:#fff"> +Раису</b>':'';
  499. var solos=(av_id[a_id.indexOf(248)]==1)?'<b style="color:#E69600;font-size:10px;background:#fff"> +Близнецов</b>':'';
  500. var solob=(av_id[a_id.indexOf(289)]==1)?'<b style="color:#911e42;font-size:10px;background:#fff"> +Бурята</b>':'';
  501. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/boroda.png"></a> Борода:',breadName+' / <span style="color:#'+ach_stls3[av_id[a_id.indexOf(45)]]+';font-size:10px;background:#fff">'+bread_v[av_id[a_id.indexOf(45)]]+'</span>');
  502. var craftCool=xmlDoc.evaluate('//craft_coolness',xmlDoc,nsResolver,XPathResult.ANY_TYPE,null).iterateNext().textContent;
  503.  
  504. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/shmot.png"></a> Шмот:',craftCool+' / <span title="'+ach_range[av_id[a_id.indexOf(283)]]+'" style="color:#20A020;font-size:10px;background:#fff">'+ach_maxcraft[av_id[a_id.indexOf(283)]]+'</span>');
  505.  
  506.  
  507. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/dostizh.png"></a> Очки достижений:',achievCnt+' / '+achievements_points.sum()+' <a href="/topic-45220578_27680846" id="am_vk_update" style="color:#FF0000;font-size:10px;background:#fff">'+aupd+'</a>');
  508.  
  509.  
  510.  
  511. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/uron.png"></a> Максимум урона:','<b style="color:#'+ach_stls[av_id[a_id.indexOf(1)]]+';font-size:10px;background:#fff">'+ach_vals[av_id[a_id.indexOf(1)]]+'</b>');
  512. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/yad.png"></a> Максимум ядов:','<b style="color:#'+ach_stls6[av_id[a_id.indexOf(2)]]+';font-size:10px;background:#fff">'+ach_poison[av_id[a_id.indexOf(2)]]+'</b>');
  513.  
  514. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/rub.png"></a> Максимум рублей:','<b style="color:#'+ach_stls5[av_id[a_id.indexOf(42)]]+';font-size:10px;background:#fff">'+ach_rub[av_id[a_id.indexOf(42)]]+'</b>');
  515. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/bumaga.png"></a> Максимум бумаги:','<b style="color:#'+ach_stls[av_id[a_id.indexOf(47)]]+';font-size:10px;background:#fff">'+ach_paper[av_id[a_id.indexOf(47)]]+'</b>');
  516. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/sahar.png"></a> Максимум сахара:','<b style="color:#'+ach_stls4[av_id[a_id.indexOf(48)]]+';font-size:10px;background:#fff">'+ach_sahar[av_id[a_id.indexOf(48)]]+'</b>');
  517. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/sigs.png"></a> Максимум папирос:','<b style="color:#'+ach_stls9[av_id[a_id.indexOf(40)]]+';font-size:10px;background:#fff">'+ach_sigs[av_id[a_id.indexOf(40)]]+'</b>');
  518. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/milo.png"></a> Максимум мыла:','<b style="color:#'+ach_stls3[av_id[a_id.indexOf(49)]]+';font-size:10px;background:#fff">'+ach_milo[av_id[a_id.indexOf(49)]]+'</b>');
  519. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/posilka.png"></a> Отправил посылок:','<span title="Пацанские" style="color:#'+ach_stls7[av_id[a_id.indexOf(285)]]+';font-size:10px;background:#fff"><b>'+pposilki[av_id[a_id.indexOf(285)]]+'</b></span> / <span title="Блатные" style="color:#'+ach_stls7[av_id[a_id.indexOf(286)]]+';font-size:10px;background:#fff"><b>'+bposilki[av_id[a_id.indexOf(286)]]+'</b></span> / <span title="Авторитетные" style="color:#'+ach_stls7[av_id[a_id.indexOf(287)]]+';font-size:10px;background:#fff"><b>'+aposilki[av_id[a_id.indexOf(287)]]+'</b></span>');
  520.  
  521. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/naezdy.png"></a> Наездов на корешей:','<b style="color:#'+ach_stls6[av_id[a_id.indexOf(43)]]+';font-size:10px;background:#fff">'+ach_naezd[av_id[a_id.indexOf(43)]]+'</b>');
  522. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/trener.png"></a> Тренер:','<b style="color:#'+ach_stls7[av_id[a_id.indexOf(284)]]+';font-size:10px;background:#fff">'+ach_trener[av_id[a_id.indexOf(284)]]+'</b>');
  523. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/rukopashka.png"></a> Нанес рукопашкой:','<b style="color:#'+ach_stls8[av_id[a_id.indexOf(5)]]+';font-size:10px;background:#fff">'+ach_rukopashka[av_id[a_id.indexOf(5)]]+'</b>');
  524. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/zaryb.png"></a> Зарубы:','<b style="color:#'+ach_stls8[av_id[a_id.indexOf(360)]]+';font-size:10px;background:#fff">'+ach_zaryb[av_id[a_id.indexOf(360)]]+'</b>');
  525.  
  526.  
  527. if(ach_owns[av_id[a_id.indexOf(3)]].length<10){
  528. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/1n1.png"></a> В одного:','<b style="color:#'+ach_stls[av_id[a_id.indexOf(3)]]+';font-size:10px;background:#fff">'+ach_owns[av_id[a_id.indexOf(3)]]+'</b>'+solor+solos+solob);
  529. }else{
  530. html+=printRow('<a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/1n1.png"></a> В одного:','<b style="color:#'+ach_stls[av_id[a_id.indexOf(3)]]+';font-size:10px;background:#fff">'+ach_owns[av_id[a_id.indexOf(3)]]+'</b>');
  531. }
  532.  
  533. html+=printTitle('Победы'); html+='<br />';
  534. var boss_id;
  535. var bosses=xmlDoc.evaluate('//boss',xmlDoc, nsResolver,XPathResult.ANY_TYPE,null);
  536. var boss=bosses.iterateNext(); var medal='';
  537. var aBoss=new Array(); var b_id;
  538. while(boss){
  539. b_id=parseInt(boss.getAttribute('id'));
  540. if(b_id==11) b_id=5.5; // сортировка Хирурга
  541. if(b_id==12) b_id=7.5; // сортировка Раисы
  542. if(b_id==13) b_id=9.5; // сортировка Близнецов
  543. if(b_id==14) b_id=5.4; // сортировка Бурята
  544. if(b_id==16) b_id=5.4; // сортировка Дяди Миши
  545. aBoss[aBoss.length]={id:b_id,cnt:parseInt(boss.textContent),real_id:parseInt(boss.getAttribute('id'))}
  546. boss=bosses.iterateNext();
  547. }
  548. aBoss.sort(sIncrease); var isGroupB1=false; var isGroupB2=false;
  549. for(var i=0;i<aBoss.length;i++){
  550. if(aBoss[i].real_id>=1 && aBoss[i].real_id<=5 && !isGroupB1){
  551. html+='<div class="clear_fix" style="text-align:center"><b style="color:#777;font-size:10px">Беспредельщики</b></div>'; isGroupB1=true;
  552. }
  553. if(aBoss[i].real_id>=6 && aBoss[i].real_id<=10 && !isGroupB2){
  554. html+='<div class="clear_fix" style="text-align:center"><b style="color:#777;font-size:10px">Вертухаи</b></div>'; isGroupB2=true;
  555. }
  556. if(i==1||i==2||i==3){medal=printMedal(aBoss[i].cnt,ach_cmb[i][0],ach_cmb[i][1],ach_cmb[i][2],i)}else{medal=printMedal(aBoss[i].cnt);}
  557. html+=printRow(((av_id[a_id.indexOf(boss_aid[aBoss[i].real_id-1])]===1)&&i<=boss_aid.length&&!(aBoss[i].real_id==11))?'<b title="В одного! + достижение ЯД!" style="color:#'+ach_stls2[aBoss[i].real_id]+';font-size:10px">'+bossNames[aBoss[i].real_id-1]+'</b>':bossNames[aBoss[i].real_id-1],medal+''+aBoss[i].cnt);
  558. }
  559.  
  560. html+=printTitle('Таланты','<a href="javascript:void(0)" id="am_prison_talent_detail_link" class="fl_r" style="color:#A3B0BC;font-size:10px;padding:0 2px 0 6px;background:#fff">Показать подробности</a>'); html+='<br />';
  561. var playerTalents = xmlDoc.evaluate('//talent',xmlDoc,nsResolver,XPathResult.ANY_TYPE, null);
  562. var talent=playerTalents.iterateNext();
  563. sumtalents=0; var talent_id; var talent_detail=[];
  564. while(talent){
  565. cnt=parseInt(talent.textContent);
  566. talent_id=parseInt(talent.getAttribute('id'));
  567. //группировка новых (12.01.2012) талантов
  568. if (talent_id==21){talent_id=8.01}
  569. if (talent_id==22){talent_id=10.01}
  570. if (talent_id==23){talent_id=12.01}
  571. sumtalents+=cnt;
  572. talent_detail[talent_detail.length]={id:talent_id,value:cnt}
  573. talent=playerTalents.iterateNext();
  574. }
  575.  
  576. html+=printRow('<b><a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/talanti.png"></a> <b style="font-size:11px;">Всего вложено:</b></b>','<b style="font-size:14px;">'+sumtalents+'</b>');
  577. var oncedmg=30;
  578. needdamage[0]=0;
  579. for (var i = 1; i < 466; i++) {needdamage[i]=needdamage[i-1]+oncedmg+3;oncedmg=oncedmg+3;}
  580. var selBlock='<font face="arial" size="2"><select title="Выберите желаемое количество талантов" id="prison_selector" onchange="getElementById(&quot;prison_cvalue&quot;).innerHTML=(this.options[this.selectedIndex].value-'+needdamage[sumtalents]+')" style="height:18px;font-family:monospace;font-size:0.9em;line-height:12px !important">';
  581. for(var i=sumtalents;i<466;i++){selBlock+='<option value='+needdamage[i]+'>'+i+'</option>';}
  582. selBlock+='</select></font> нужно нанести <b id="prison_cvalue" style="color:#FF2104;font-size:12px;line-height:12px !important">0</b> урона';
  583. curtalent=needdamage[sumtalents];
  584. if(sumtalents<465){html+=printRow('<b><a href="http://vk.com/id85849014"><img src="http://lozkaa.at.ua/script/to_post_off.gif"></a> <b style="font-size:12px;">Калькулятор :</b></b>',selBlock);}
  585.  
  586. html+='<div id="am_prison_talent_detail" style="display:none">';
  587. talent_detail.sort(sIncrease);
  588. var isGroup1=false; var isGroup2=false; var isGroup3=false; var isGroup4=false;
  589. for(var i=0;i<talent_detail.length;i++){
  590. if(talent_detail[i].id>=1 && talent_detail[i].id<=7 && !isGroup1){
  591. html+='<div class="clear_fix" style="text-align:center"><b style="color:#777;font-size:10px">Специализация в оружии</b></div>'; isGroup1=true;
  592. }
  593. if(talent_detail[i].id>=8 && talent_detail[i].id<=13 && !isGroup2){
  594. html+='<div class="clear_fix" style="text-align:center"><b style="color:#777;font-size:10px">Специализация в рукопашном бою</b></div>'; isGroup2=true;
  595. }
  596. if(talent_detail[i].id>=14 && talent_detail[i].id<=17 && !isGroup3){
  597. html+='<div class="clear_fix" style="text-align:center"><b style="color:#777;font-size:10px">Новый удар</b></div>'; isGroup3=true;
  598. }
  599. if(talent_detail[i].id>=18 && talent_detail[i].id<=19 && !isGroup4){
  600. html+='<div class="clear_fix" style="text-align:center"><b style="color:#777;font-size:10px">Супер таланты</b></div>'; isGroup4=true;
  601. }
  602. html+=getTalentDecs(talent_detail[i].id,talent_detail[i].value);
  603. }
  604. html+='</div>';
  605.  
  606.  
  607. setContent(html);
  608. if(href){
  609. hint.list[href]=html;
  610. hint.checkDocHeight();
  611. }
  612. document.getElementById('am_prison_talent_detail_link').addEventListener('click',showHideTalentDetail,false);
  613. }
  614.  
  615.  
  616. // медали
  617. function printMedal(cnt,b1,b2,b3,b4){
  618. var img=''; var title='';
  619. var cm=['http://dobryak.ucoz.ru/script/kombo0.png',
  620. 'http://dobryak.ucoz.ru/script/kombo1.png',
  621. 'http://dobryak.ucoz.ru/script/kombo2.png',
  622. 'http://dobryak.ucoz.ru/script/kombo3.png',
  623. 'http://dobryak.ucoz.ru/script/kombo4.png',
  624. 'http://dobryak.ucoz.ru/script/kombo5.png']
  625. if(cnt<10){title=''; img='';}
  626. if(cnt>=10){title='Бронза'; img='http://progafft.narod2.ru/skriptik/bronza.png';}
  627. if(cnt>=50){title='Серебро'; img='http://progafft.narod2.ru/skriptik/serebro.png';}
  628. if(cnt>=100){title='Золото'; img='http://progafft.narod2.ru/skriptik/zoloto.png';}
  629. if(b1>=0){return '<div style="position:absolute;left:-60px;top:3px;width:16px;height:18px;background:url('+cm[b1]+') 0 0 no-repeat" title="Пацанское\n'+ccn[b4*3+1]+' раз"></div>'
  630. +'<div style="position:absolute;left:-46px;top:3px;width:16px;height:18px;background:url('+cm[b2]+') 0 0 no-repeat" title="Блатное\n'+ccn[b4*3+2]+' раз"></div>'
  631. +'<div style="position:absolute;left:-32px;top:3px;width:16px;height:18px;background:url('+cm[b3]+') 0 0 no-repeat" title="Авторитетное\n'+ccn[b4*3+3]+' раз"></div>'
  632. +'<div style="float:left;width:1px;height:18px"></div><div style="position:absolute;left:-18px;top:1px;width:16px;height:18px;background:url('+img+') 0 0 no-repeat" title="'+title+'"></div>';}
  633. else{return '<div style="float:left;width:1px;height:18px"></div><div style="position:absolute;left:-18px;top:1px;width:16px;height:18px;background:url('+img+') 0 0 no-repeat" title="'+title+'"></div>';}
  634. }
  635. // расчет уровня из авторитета
  636. function printLevel(raiting){
  637. var level=1; isLevel=false; var start=39; var i=18; var k=0; var total=0;
  638. if(raiting>=start){
  639. k=start; total=k;
  640. while(!isLevel){
  641. if(total<=raiting){
  642. level++;
  643. k+=i;
  644. total+=k;
  645. } else {
  646. isLevel=true;
  647. }
  648. }
  649. }
  650. return level;
  651. }
  652.  
  653.  
  654.  
  655.  
  656. // показать/скрыть таланты
  657. function showHideTalentDetail(){
  658. var obj=document.getElementById('am_prison_talent_detail');
  659. if(obj.style.display=='none'){
  660. obj.style.display='block';
  661. document.getElementById('am_prison_talent_detail_link').innerHTML='Скрыть подробности';
  662. } else {
  663. obj.style.display='none';
  664. document.getElementById('am_prison_talent_detail_link').innerHTML='Показать подробности';
  665. }
  666. }
  667.  
  668. // сортировка массива
  669. function sIncrease(i,ii){
  670. if(i.id>ii.id) return 1;
  671. else if(i.id<ii.id) return -1;
  672. else return 0;
  673. }
  674.  
  675.  
  676. // одна строка
  677. function printRow(title,value){
  678. var html='<div class="clear_fix"><div class="label fl_l">'+title+'</div><div class="labeled fl_l" style="position:relative;overflow:visible">'+value+'</div></div>';
  679. return html;
  680. }
  681.  
  682. // заголовок
  683. function printTitle(text,a){
  684. if(!a) a='';
  685. var html='<h4 style="height:4px;padding-top:10px">'+a+'<b style="padding-right:6px;font-size:11px;background-color:white">'+text+'</b></h4>';
  686. return html;
  687. }
  688.  
  689. // Расширенный список талантов
  690. function getTalentDecs(id,cnt){
  691. var name='Новый талант!'; var max='?'; var descr='';
  692. switch(id){
  693. case 1: name='Тихий убийца'; max=10; descr='Увеличивает урон атаки "Пырнуть финкой" на '+cnt; break;
  694. case 2: name='Хладнокровие'; max=10; descr='Дает '+cnt+'% шанс нанести дополнительные повреждения при атаке "Пырнуть финкой"'; break;
  695. case 3: name='Стрелок'; max=20; descr='Увеличивает урон атаки "Шмальнуть из самопала" на '+cnt; break;
  696. case 4: name='Меткий глаз'; max=10; descr='Дает '+cnt+'% шанс нанести дополнительные повреждения при атаке "Шмальнуть из самопала"'; break;
  697. case 5: name='Химик'; max=10; descr='Увеличивает урон атаки "Подкинуть яда" на '+cnt*10; break;
  698. case 6: name='Хладнокровие'; max=10; descr='Дает '+cnt+'% шанс нанести дополнительные повреждения при атаке "Подкинуть яда"'; break;
  699. case 7: name='Качок'; max=200; descr='Увеличивает показатель бицухи на '+cnt*50; break;
  700. case 8: name='Уличный боец'; max=2; descr='Увеличивает урон атаки "Пальцем в глаз" на '+cnt; break;
  701. case 8.01: name='Перст судьбы'; max=10; descr='Дает '+cnt+'% шанс нанести дополнительные повреждения при атаке "Пальцем в глаз" '; break;
  702. case 9: name='Палец Кунг-фу'; max=10; descr='Уменьшает время перезарядки атаки "Пальцем в глаз" на '+cnt+' мин.'; break;
  703. case 10: name='Кик-боксер'; max=6; descr='Увеличивает урон атаки "Коленом в ухо" на '+cnt; break;
  704. case 10.01: name='Просто ЛОР'; max=10; descr='Дает '+cnt+'% шанс нанести дополнительные повреждения при атаке "Коленом в ухо"'; break;
  705. case 11: name='Хорошая дыхалка'; max=10; descr='Уменьшает время перезарядки атаки "Коленом в ухо" на '+cnt+' мин.'; break;
  706. case 12: name='Футболист'; max=4; descr='Увеличивает урон атаки "Пыром в солнышко" на '+cnt; break;
  707. case 12.01: name='Поступь Чака'; max=10; descr='Дает '+cnt+'% шанс нанести дополнительные повреждения при атаке "Пыром в солнышко"'; break;
  708. case 13: name='Быстрая нога'; max=10; descr='Уменьшает время перезарядки атаки "Пыром в солнышко" на '+printHour(cnt*10); break;
  709. case 14: name='Удар в пах'; max=1; descr='Наносит 30 урона'; break;
  710. case 15: name='Безбашенный'; max=10; descr='Увеличивает урон атаки "Удар в пах" на '+cnt; break;
  711. case 16: name='Ликвидатор'; max=20; descr='Дает '+cnt+'% шанс нанести дополнительные повреждения при атаке "Удар в пах"'; break;
  712. case 17: name='Лишающий радости'; max=32; descr='Уменьшает время перезарядки атаки "Удар в пах" на '+printHour(cnt*10); break;
  713. case 18: name='Вечный бой'; max=30; descr='Увеличивает время боя с боссом на '+printHour(cnt*2); break;
  714. case 19: name='Адреналин'; max=25; descr='Увеличивает максимальную энергию игрока на '+cnt; break;
  715. case 20: name='Гуру химии'; max=5; descr='Увеличивает урон атаки "Подкинуть яда" на '+cnt*10; break;
  716. }
  717.  
  718. return printRow(name,'<div style="float:left">'+cnt+'/'+max+'</div> <div style="font-size:9px;color:#999;margin-left:45px">'+descr+'</div>');
  719. }
  720.  
  721. // время час/мин
  722. function printHour(minute){
  723. var hour=Math.floor(minute/60);
  724. minute=minute-hour*60;
  725. if(hour>0){
  726. if(minute>0){
  727. return hour+' час. '+minute+' мин.';
  728. } else {
  729. return hour+' час.';
  730. }
  731. } else return minute+' мин.';
  732. }
  733.  
  734. // название камеры
  735. function getCellName(number){
  736. switch(number){
  737. case '0': return 'Обычная'; break;
  738. case '1': return 'Кирпича'; break;
  739. case '2': return 'Махно'; break;
  740. case '3': return 'Лютого'; break;
  741. case '4': return 'Шайбы'; break;
  742. case '5': return 'Палёного'; break;
  743. case '6': return 'Борзова'; break;
  744. case '7': return 'Хирурга'; break;
  745. case '8': return 'Борзова <span style="color:#F3505C;font-size:10px;padding:0 2px 0 6px;background:#fff">Авторитетная</span>'; break;
  746. case '9': return 'Раисы'; break;
  747. case '10': return 'Близнецов'; break;
  748. case '11': return 'Махно <span style="color:#F3505C;font-size:10px;padding:0 2px 0 6px;background:#fff">Блатная</span>'; break;
  749. case '12': return 'Лютого <span style="color:#F3505C;font-size:10px;padding:0 2px 0 6px;background:#fff">Блатная</span>'; break;
  750. case '13': return 'Шайбы <span style="color:#F3505C;font-size:10px;padding:0 2px 0 6px;background:#fff">Блатная</span>'; break;
  751. case '14': return 'Бурята'; break;
  752. case '15': return 'Бурята <span style="color:#F3505C;font-size:10px;padding:0 2px 0 6px;background:#fff">Авторитетная</span>'; break;
  753. case '16': return 'Дюбеля'; break;
  754. case '17': return 'Лютого (Гангстерская) <span style="color:#F3505C;font-size:10px;padding:0 2px 0 6px;background:#fff">Выпадает в комбо</span>'; break;
  755. case '18': return 'Дяди Миши'; break;
  756. default: return 'Новая хата! ('+number+')'; break;
  757. }
  758. }
  759.  
  760. // длина бороды
  761. function getBreadName(number){
  762. switch(number){
  763. case '0': return 'Побрит (0)'; break;
  764. case '1': return 'Щетина (1)'; break;
  765. case '2': return 'Бородка (2)'; break;
  766. case '3': return 'Средняя (3)'; break;
  767. case '4': return 'Зарос (4)'; break;
  768. case '5': return 'Пиздец волосня (5)'; break;
  769. default: if(number>=6 && number<=60) return 'Чушкарь ('+number+')'; else return 'ХЗ ('+number+')';
  770. }
  771. }
  772.  
  773.  
  774. function ltrim(str){
  775. var ptrn=/\s*((\S+\s*)*)/;
  776. return str.replace(ptrn,"$1");
  777. }
  778. function rtrim(str){
  779. var ptrn=/((\s*\S+)*)\s*/;
  780. return str.replace(ptrn,"$1");
  781. }
  782. function trim(str){
  783. return ltrim(rtrim(str));
  784. }
  785. function htmlspecialchars(text)
  786. {
  787. var chars = Array("&", "<", ">", '"', "'");
  788. var replacements = Array("&amp;", "&lt;", "&gt;", "&quot;", "'");
  789. for (var i=0; i<chars.length; i++)
  790. {
  791. var re = new RegExp(chars[i], "gi");
  792. if(re.test(text))
  793. {
  794. text = text.replace(re, replacements[i]);
  795. }
  796. }
  797. return text;
  798. }
  799. function probel(str) {
  800. var str=str.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1&thinsp;');
  801. return str; }
  802.  
  803. (function(window, undefined)
  804. {
  805. var w;
  806.  
  807. if (typeof unsafeWindow != undefined)
  808. {
  809. w = unsafeWindow;
  810. }
  811. else
  812. {
  813. w = window;
  814. }
  815.  
  816. if (w.self != w.top)
  817. {
  818. return;
  819. }
  820.  
  821. if (/http:\/\/vk.com/.test(w.location.href))
  822. {
  823. function insertAfter(new_node, existing_node)
  824. {
  825. if (existing_node.nextSibling)
  826. {
  827. existing_node.parentNode.insertBefore(new_node, existing_node.nextSibling);
  828. }
  829. else
  830. {
  831. existing_node.parentNode.appendChild(new_node);
  832. }
  833. }
  834. var rekurl = document.createElement("div");
  835. rekurl.innerHTML = '<div align="center" style="width: 118px;"><a href="http://vk.com/id85849014 target="_blank" class="ad_box_new" id="ad_box_ad_0" onmouseover="leftBlockOver(\'_ad_0\')" onmouseout="leftBlockOut(\'_ad_0\')"><div id="ad_title" class="ad_title_new">Оффициальная группа скрипта</div><span><div class="ad_domain_new">vk.com</div><div style="position: relative;"><img src="http://lozkaa.at.ua/script/icon.png" style=""><div class="ads_play_btn" style="display: none;"></div></span><div id="ad_desc" class="ad_desc_new" style="">Вся информация здесь!</div></div></a></div>';
  836. insertAfter(rekurl, document.getElementById("left_blocks"));
  837. }
  838. })(window);
  839.  
  840.  
  841. function fetchPrison(callback,url,href){
  842. var xhr = new XMLHttpRequest();
  843. xhr.onreadystatechange = function(data){
  844. if(xhr.readyState==4){
  845. callback({xhr:xhr,href:href});
  846. }
  847. }
  848. xhr.open('GET', url, true);
  849. xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  850. xhr.setRequestHeader("Accept", "text/xml");
  851. xhr.send();
  852. };
  853. function onRequest(request, sender, callback) {
  854. if (request.action == 'fetchPrison')
  855. {
  856. fetchPrison(callback,request.url,request.a_href);
  857. }
  858. };
  859. // chrome.extension.onRequest.addListener(onRequest);
Advertisement
Add Comment
Please, Sign In to add comment