Добрый день
Есть вот такой скрипт дайсов. Нужна помощь с тем, чтобы кнопка активации скрипта показывалась только в конкретном топике и не была доступна в остальных.
<!---CКРИПТ ДАЙСОВ----> <script type="text/javascript"> function unhtml(s) { return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"); } function numword(s,one,two,many) { return(((s%100>=10 && s%100<=20) || s%10>=5) ? many : (s%10==1 ? one : two)); } function dice() { var FoundErrors = ''; var diceRes="" var CountCube = prompt("Сколько дайсов кидаешь?", "1"); if(CountCube>100 || CountCube<=0) { alert("Нельзя столько дайсов в одни руки."); return false;} var SideCube = prompt("Сколько граней у твоего дайса?", "6"); if(SideCube>1000 || SideCube<=0){ alert("Попробуй ещё раз. Не бывает таких дайсов."); return false;} var ReasonCube = unhtml(prompt("По какому поводу испытываешь свою удачу?", ""). replace(/\s+/g," ").replace("]"," ")); for(i=0; i<CountCube;i++) { var dice = (Math.round(Math.random()*SideCube)); if(dice==0) dice=1; diceRes += dice*1936+"-"; } smile('[dice='+diceRes+CountCube+':'+SideCube+ ':'+ReasonCube+']'); } function addDice(post, from, internal) { var str = post.innerHTML; var a = $(post).closest('.post').innerHTML; var u = ""; var num = +post.id.match(/\d+/g)[0]; var date = new Date(+$(post).attr('data-posted')*1000).getSeconds(); var fCanRandomise = 1; var ran = num + date; return str .replace( /\[dice=((?:\d+[-—])*)(?:(\d)(\d+)|(\d+)(:)(\d+)(?::)()(?:([^\]]*))?)]/g, function(a, dice, diceC, diceS, adieC, fNewScheme, adieS, adieB, adieR) { dice = dice.replace(/[-—]/g, '-'); adieB = adieB.replace(/[-—]/g, '-'); diceC = parseInt(fNewScheme ? adieC : diceC); diceS = parseInt(fNewScheme ? adieS : diceS); adieB = parseInt(adieB ? adieB : 0); if(adieB > 0) adieB='+'+adieB; if(!fCanRandomise && fNewScheme) return '<div class="quote-box"><blockquote><p><b>ДАЙСЫ ПОДВЕЛИ — СООБЩИТЕ АДМИНАМ</b></p></blockquote></div>'; var i, diceR = 0, s = '<div class="quote-box"><blockquote ' + 'style="text-align:left"><p>' + '<b>На столе ' + diceC + numword(diceC,' дайс с ',' дайса с ',' дайсов с ') + diceS + numword(diceS,' гранью',' гранями',' гранями') + (adieB ? (adieB>0 ? ' и бонусом ' : ' и пенальти ')+adieB : '') + (adieR ? ', узнаём:</b><br><i>'+adieR+'</i><b>' : '') + '<br /><br />Звёзды посчитали' + (fNewScheme ? '' : '(старая схема)')+'</b>: ('; dice = dice.split("-"); for (var i=0; i < dice.length-1; ++i) { var d = parseInt(dice[i]/1936); date=((date>>1)+((date&1)<<21))&0x3fffff; num=((num>>1)+((num&1)<<22))&0x7fffff; if(fNewScheme) d = (ran=(((ran>>1)+(((ran&1) ? 0 : 1)<<23)+d+date)^num)&0xffffff)%diceS + 1; diceR += d; s+= (i?' + ':'') + d; } if (adieB) diceR += parseInt(adieB); return (s + (adieB ? ')'+adieB : ')') + '=' + diceR + '</p></blockquote></div>'); } ); } $(document).ready(function() { if (! FORUM.topic) return; $('.post-content').each(function(i, post) { post.innerHTML = addDice(post); }); }); </script>
<!---CКРИПТ ДАЙСОВ----> <input class="button dice-button" type="button" onclick="dice()" value="Кинуть дайсы" />