Доброго времени, уважаемые эксперты!
Дайсометалка не хочет работать ни при каких обстоятельствах. Помогите, пожалуйста, обнаружить что я делаю не так?
Отредактировано Коза-дереза (Сб, 3 Апр 2021 13:07:48)
Единый форум поддержки |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Единый форум поддержки » Форум для новичков » Сбой дайсометалки
Доброго времени, уважаемые эксперты!
Дайсометалка не хочет работать ни при каких обстоятельствах. Помогите, пожалуйста, обнаружить что я делаю не так?
Отредактировано Коза-дереза (Сб, 3 Апр 2021 13:07:48)
Коза-дереза
Гостем работает:
Отредактировано Deff (Сб, 3 Апр 2021 12:24:59)
Коза-дереза
Гостем работает:
На данном этапе работает, а когда отправляете он выдает не результат, а ошибку.
На данном этапе работает, а когда отправляете он выдает не результат, а ошибку.
какую ошибку ?
Сделайте скриншот
Коза-дереза написал(а):На данном этапе работает, а когда отправляете он выдает не результат, а ошибку.
какую ошибку ?
Сделайте скриншот
Прошу прощения, думала ее видят гости...
Коза-дереза
Попробуйте(для начала) выставить в Админ-Настройках анти-спам: Низкий или очень низкий...
Коза-дереза
Попробуйте(для начала) выставить в Админ-Настройках анти-спам: Низкий или очень низкий...
выставила, не сработало ни с тем, ни с другим
Коза-дереза
А где брали исходник скрипта ?
Отредактировано Deff (Сб, 3 Апр 2021 12:35:56)
Коза-дереза
А где брали исходник ?
Здесь, на двух других форумах где стоит этот скрипт все работает. До этого у нас стояли другие дайсы и было то же самое. Вот тут работает
Коза-дереза
Ни наю, пока не могу понять... мож к вечеру соберусь с силами...
Попробуйте спросить у автора Дука на http://support.rusff.me/search.php?action=show_recent
Отредактировано Deff (Сб, 3 Апр 2021 12:58:47)
Коза-дереза
Ни наю, пока не могу понять... мож к вечеру соберусь с силами...
Попробуйте спросить у автора на http://support.rusff.me/search.php?action=show_recent
Хорошо, спрошу! Спасибо.
Тоже сталкивалась с этой проблемой: на одном тестовике работало, на рабочем форуме уже нет.
Не помню уже, что конкретно было, но могу сказать, что форуму не нравится эта вот часть:
function addDice(post,from,internal) { var str=post.innerHTML, num=-1, date=-1, a, fCanRandomise=0, u=""; while(post=post.parentNode) if(post.className=="container") if(post=post.parentNode) { if(a=post.innerHTML.match( /class[^<>]+permalink[^<>]+#p(\d+)[^<>]*>[^<>]*(\d+):(\d+):(\d+)[^<>]*<\/a>/i)) { num=a[1]; date=a[4]; fCanRandomise=1; break; } }
Если заменить, то должны заработать. Попробуйте так:
<!--Кубики--> <script type="text/javascript"> if(form=document.getElementById("form-buttons")) { var buttonCell = form.getElementsByTagName("tr")[0].insertCell(20); buttonCell.id = "button-dice"; buttonCell.title = "Кубики"; buttonCell.innerHTML='<img onclick="dice();" src="/i/blank.gif">'; } 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"); var SideCube = prompt("Сколько граней у кубика?", "10"); if(CountCube>12){ alert("Все твои проблемы можно решить на 10 кубах, не перебарщивай "); return false;} if(SideCube>100){ alert("Все твои проблемы можно решить на 100 кубах, не перебарщивай"); return false;} for(i=0; i<CountCube;i++) { var dice = (Math.ceil(Math.random()*SideCube)); diceRes += dice*1936+"-"; } smile('[dice='+diceRes+CountCube+':'+SideCube+']'); } function addDice(post,from,internal) { var str = post.innerHTML, num=-1, date=-1, a, fCanRandomise=0, u=""; 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=parseInt(num+date); return str.replace( /\[dice=((?:\d+-)*)(?:(\d)(\d+)|(\d+)(:)(\d+)(?::(-?\d+):([^\]]*))?)]/g, function(a,dice,diceC,diceS,adieC,fNewScheme,adieS,adieB,adieR) { 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(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>'); }); } if(document.URL.indexOf("viewtopic.php")!=-1) { elm=document.getElementById("pun-main").getElementsByTagName("div"); for(x=0; x<elm.length; ++x) if(elm[x].className=="post-content") elm[x].innerHTML=addDice(elm[x]); } </script> <!--Окончание-->
Тоже сталкивалась с этой проблемой: на одном тестовике работало, на рабочем форуме уже нет.
Не помню уже, что конкретно было, но могу сказать, что форуму не нравится эта вот часть:Код:function addDice(post,from,internal) { var str=post.innerHTML, num=-1, date=-1, a, fCanRandomise=0, u=""; while(post=post.parentNode) if(post.className=="container") if(post=post.parentNode) { if(a=post.innerHTML.match( /class[^<>]+permalink[^<>]+#p(\d+)[^<>]*>[^<>]*(\d+):(\d+):(\d+)[^<>]*<\/a>/i)) { num=a[1]; date=a[4]; fCanRandomise=1; break; } }Если заменить, то должны заработать. Попробуйте так:
Код:<!--Кубики--> <script type="text/javascript"> if(form=document.getElementById("form-buttons")) { var buttonCell = form.getElementsByTagName("tr")[0].insertCell(20); buttonCell.id = "button-dice"; buttonCell.title = "Кубики"; buttonCell.innerHTML='<img onclick="dice();" src="/i/blank.gif">'; } 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"); var SideCube = prompt("Сколько граней у кубика?", "10"); if(CountCube>12){ alert("Все твои проблемы можно решить на 10 кубах, не перебарщивай "); return false;} if(SideCube>100){ alert("Все твои проблемы можно решить на 100 кубах, не перебарщивай"); return false;} for(i=0; i<CountCube;i++) { var dice = (Math.ceil(Math.random()*SideCube)); diceRes += dice*1936+"-"; } smile('[dice='+diceRes+CountCube+':'+SideCube+']'); } function addDice(post,from,internal) { var str = post.innerHTML, num=-1, date=-1, a, fCanRandomise=0, u=""; 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=parseInt(num+date); return str.replace( /\[dice=((?:\d+-)*)(?:(\d)(\d+)|(\d+)(:)(\d+)(?::(-?\d+):([^\]]*))?)]/g, function(a,dice,diceC,diceS,adieC,fNewScheme,adieS,adieB,adieR) { 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(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>'); }); } if(document.URL.indexOf("viewtopic.php")!=-1) { elm=document.getElementById("pun-main").getElementsByTagName("div"); for(x=0; x<elm.length; ++x) if(elm[x].className=="post-content") elm[x].innerHTML=addDice(elm[x]); } </script> <!--Окончание-->
Оно заработало! Огроменное спасибо, вы только что спасли меня от потребности создавать новый форум и переносить на него все q.q
Спасибо ♥♥♥
Пожалуйста
создавать новый форум и переносить на него все q.q
Еще не факт, что помогло бы)
Пожалуйста
Коза-дереза написал(а):создавать новый форум и переносить на него все q.q
Еще не факт, что помогло бы)
Прекрасно помогло, все работает как часы :3
Вы здесь » Единый форум поддержки » Форум для новичков » Сбой дайсометалки