Адрес форума: http://dreamworld.magicrpg.ru/
Проблема: Сломались функции в профиле. "Локация" должна указывать на последнее место, где отписывался человек(находился игровой персонаж) в игровом форуме, но сейчас там непонятные символы. Кроме того сломалось много чего еще.
Значок с книжкой должен указывать на вписанную ссылку на анкету, но теперь перекидывает на сломанную страницу.
В медальках и рюкзачке пропал значок помогающий закрыть открывшееся окошко и сами медальки пропали, хотя загружены были в файлы форума.
Может сломалось что-то еще, но это кинулось в глаза больше всего. Скрин прикреплю. Помогите пожалуйста разобраться с проблемой.
В профиле не видно наград(картинок), которые должны отображаться в окне. Только надписи.
Такая награда как изумруды, которая выдавалась игроку, вообще ломает вид профиля, отображаясь словами, хотя должны быть картинки парящего камушка по аватарке.
Замечания так же отображаются не картинкой, а словами. Там должны были отображаться звездочки и надпись появляться только при наведении курсора. Раньше скриптами занимался человек с которым нет сейчас связи. В файлах форума нашла ссылки ведущими на скрипт. Они я так понимаю были связаны с другим форумом нашего бывшего тех админа(с применением джавы). Можно ли их куда-то перенести, и если можно, то как? Я не очень понимаю, как технически это исправить. Вот сами скрипты:
//Инвентарь Дрима by MavJK //---------------------------------------------- // редактор веще в профиле //---------------------------------------------- var fld3 = $("#fld3"); function BuildItemFields(url, about, idx) { var strStart = "<div id='userItem"+idx+"'>"; var imgstr = "Картинка "+idx+": <input type='text' oninput='itemChange(this,0,"+idx+")' value='"+url+"' size='50' maxlength='999'> <input type='button' onclick='RemoveItem("+idx+")' value='-'><br>"; var aboutstr = "Описание "+idx+": <input type='text' oninput='itemChange(this,1,"+idx+")' value='"+about+"' size='50' maxlength='999'> <br>"; var strEnd = "<br></div>" return strStart+imgstr+aboutstr+strEnd; }; function CalcFreeInvSpace() { var charsRemain = 999-fld3[0].value.length; var remSpaceLabel = $("#remainSpace"); remSpaceLabel.html("Свободное место: "+charsRemain+" символов"); } function ReparseInventory() { if (fld3[0]) { var divs = fld3.parent().find("div"); for(var i=0;i<divs.length;i++) fld3.parent()[0].removeChild(divs[i]); fld3.css("display","none"); //спрятать поле вещей var items = fld3[0].value; //текст в поле вещей var charsRemain = 999-items.length; var itemlist = items.split(";"); if (itemlist.length < 2) { itemlist = ["",items]; } var itemsHtml = ""; for(var i=0;i<itemlist.length-1;i+=2) { itemsHtml += BuildItemFields(itemlist[i],itemlist[i+1],i/2+1); } var ending = "<div><hr><br> <input type='button' onclick='AddNewItem()' value='+'> <span id='remainSpace'>Свободное место: "+charsRemain+" символов</span></div>"; fld3.after(itemsHtml+ending); } } function itemChange(inp, type, idx) { var items = fld3[0].value; //текст в поле вещей var itemlist = items.split(";"); itemlist[(idx-1)*2+type] = inp.value; fld3[0].value = itemlist.join(";"); CalcFreeInvSpace(); } function AddNewItem() { var items = fld3[0].value; //текст в поле вещей var itemlist = items.split(";"); itemlist.splice(itemlist.length,0,"",""); fld3[0].value = itemlist.join(";"); ReparseInventory(); } function RemoveItem(idx) { var items = fld3[0].value; //текст в поле вещей var itemlist = items.split(";"); itemlist.splice((idx-1)*2,2); fld3[0].value = itemlist.join(";"); ReparseInventory(); } if (window.location.search.includes("section=fields")) ReparseInventory(); //---------------------------------------------- // просмотр вещей в постах //---------------------------------------------- function OpenItems(t) { $('div.AwardAllWindow').fadeIn(500); $('div.AwardWindow div#AwardContent').html($(t).parent().parent().find('div')[2].innerHTML); $('div.AwardWindow h3').html('Инвентарь <span>'+ $(t).parent().parent().parent().parent().find('li.pa-author a').text()+'</span>'); } $('.post li.pa-fld3').each(function() { Result = '<table>'; var alt = $(this).find("div").attr("alt"); var parts = alt.split(";"); if (parts.length < 2) parts = ["",alt]; for(var i=0;i<parts.length-1;i+=2) { Result += "<tr height='64px'>\ <td style='text-align: right;' width='160px'><img class='itemInvImg' src='"+parts[i]+"'></td>\ <td><strong>"+parts[i+1]+"</strong></td>\ </tr>" } Result += '</table>'; $(this).html('<div><a href="#" onclick="OpenItems(this); return false;"><div id="iconInventory" title="Инвентарь"></div></a></div><div style="display: none">'+Result+'</div>'); });
//------------------------------------------------------------ // Отправка поста //------------------------------------------------------------ function NPL_Contains(str){ for(var i=0;i<NPL.length;i++) if (NPL[i] == str) return true; return false; } function ClearLocationName(name) { var name; var clearparts = name.split(";;"); if (clearparts.length > 1) name = clearparts[clearparts.length-1]; name = name.replace(" ",""); return name; } function GetLocationURL() { var url = ""; if (window.location.pathname == "/viewtopic.php") { var permalinks = $(".topic .permalink"); url = permalinks[permalinks.length-1].href; } else if (window.location.pathname == "/post.php") { var as = $(".topic a"); url = as[0].href; } url = url.split("#")[1]; return url; } function GetLocationName() { var crumbs = $("#pun-crumbs1 .container"); if (window.location.pathname == "/viewtopic.php") { var parts = crumbs.html().split("»"); return ClearLocationName(parts[parts.length-1]); } else if (window.location.pathname == "/post.php") { var parts = crumbs.find("a"); var locname = parts[parts.length-1].innerHTML; return ClearLocationName(locname); } return ""; } function GetSubforumName() { var crumbs = $("#pun-crumbs1 .container"); var parts = crumbs.find("a"); var locname = ""; if (window.location.pathname == "/viewtopic.php") locname = parts[parts.length-1].innerHTML; else if (window.location.pathname == "/post.php") locname = parts[parts.length-2].innerHTML; return ClearLocationName(locname); } function SetLocInfo() { var subforumName = GetSubforumName(); if (NPL_Contains(subforumName)) { //Подфорум неигровой } else { setcookie("locurl" ,GetLocationURL ()); setcookie("locname",GetLocationName()); } } if ( (window.location.pathname == "/viewtopic.php") || (window.location.pathname == "/post.php" )) { var button = $(".button[name='submit']")[0]; if (button) button.onclick = SetLocInfo; } //------------------------------------------------------------ // Фоновый апдейт //------------------------------------------------------------ if (window.location.search.includes("section=personal") && window.location.pathname == "/profile.php") { if (getcookie("locurl") != false) { var locurl = getcookie("locurl" ); var locname = getcookie("locname"); $(".input #fld4")[0].value = locurl+";;"+locname; setcookie("locurl",locurl,-1); setcookie("locname",locname,-1); setTimeout(function (){$(".button[name='update']")[0].click();},100); } if (GroupID != 1) { $(".input #fld4").css("display","none"); $("label[for='fld4']").css("display","none"); } } //------------------------------------------------------------ // Парсер поля под аватаркой и в профиле //------------------------------------------------------------ function unMav(str) { var p = str.split("%"); for(var i=0;i<p.length;i++) { if (p[i] == "") continue; var prevp = p[i]; p[i] = parseInt(p[i],16); if (p[i] <= 127 || p[i] > 255) { p[i] = unescape("%"+prevp); continue; } p[i] += 848; p[i] = p[i].toString(16); while(p[i].length<4) p[i] = '0'+p[i]; p[i] = "%u"+p[i]; p[i] = unescape(p[i]); } return p.join(""); } var g_urlHead = "http://dreamworld.magicrpg.ru/viewtopic.php?pid="; if (window.location.pathname == "/viewtopic.php") { var websites = $(".post-links .pl-website a"); for(var i=0;i<websites.length;i++) { var locnameurl = websites[i].href.replace("http://dreamworld.magicrpg.ru/click.php?http://",""); var reg = $(websites[i]).parent().parent().parent().parent().find(".pa-avatar"); if (!reg) continue; //??? if (locnameurl.split(";;").length != 2) continue; //еще не обновлено var locurl = locnameurl.split(";;")[0]; locurl = g_urlHead+locurl.replace("p","")+"#"+locurl; var locname = unMav(locnameurl.split(";;")[1]); $("<b>Локация: </b><a href='"+locurl+"'>"+locname+"</a><br>").insertAfter(reg); $(websites[i]).css("display","none"); } }
var avaEms = new Array(); var avaTimer = 0; var avaK = 0; function GetEmerald(old_src) { var links = [ "70198.gif","https://forumstatic.ru/files/0009/24/3d/87295.gif", //red "82396.gif","https://forumstatic.ru/files/0009/24/3d/98590.gif", //yellow "48932.gif","https://forumstatic.ru/files/0009/24/3d/52485.gif", //green "80470.gif","https://forumstatic.ru/files/0009/24/3d/72990.gif", //blue "17736.gif","https://forumstatic.ru/files/0009/24/3d/39760.gif", //sky "22015.gif","https://forumstatic.ru/files/0009/24/3d/32060.gif", //purple "63423.gif","https://forumstatic.ru/files/0009/24/3d/89167.gif", //white "16487.gif","https://forumstatic.ru/files/0009/24/3d/54507.gif", //black "55455.gif","https://forumstatic.ru/files/0009/24/3d/89750.gif" //master ]; for(var i=0;i<links.length;i+=2) { if (links[i] == old_src) return links[i+1]; } return old_src; }; //function var avas = $(".pa-avatar"); for( var i=0; i < avas.length; i++ ) { var fld2 = $(avas[i]); if (!fld2) break; while(true) { if (fld2[0].className == "pa-status-icon") { break; } if (fld2[0].className == "pa-fld2") { avas[i].style.setProperty("position","relative"); var chld = fld2.children(); for( var j=0; j<chld.length;j++) { $(avas[i]).append( "<div id=ava" + avaK + "> </div>"); avaEms[avaK] = $("#ava"+avaK); var parts = chld[j].src.split("/"); parts = parts[parts.length-1]; var emSrc = GetEmerald(parts); avaEms[avaK][0].style.setProperty("background-image","url('"+emSrc+"')"); avaEms[avaK][0].style.setProperty("position","absolute"); if (emSrc === 'https://forumstatic.ru/files/0009/24/3d/89750.gif') { avaEms[avaK][0].style.setProperty("width" ,"128px"); avaEms[avaK][0].style.setProperty("height","128px"); } else { avaEms[avaK][0].style.setProperty("width" ,"54px"); avaEms[avaK][0].style.setProperty("height","42px"); } fld2[0].style.setProperty("display","none"); avaK++; } break; } fld2 = fld2.next(); if (!fld2) break; } }; function updateAvaFunc() { avaTimer += 0.02; if (avaTimer >= 360.0) avaTimer = 0.0; for(var i=0;i<avaK;i++) { var s = Math.sin(avaTimer+i*0.9); var c = Math.cos(avaTimer+i*0.9); avaEms[i][0].style.setProperty( "top" , 40+c*35+"%" ); avaEms[i][0].style.setProperty( "left", 35+s*40+"%" ); } }; var avaIntTimer = setInterval( updateAvaFunc, 1000/20 );
Отредактировано NightAngelTDC (Вс, 7 Ноя 2021 03:11:49)