Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[10]


Запросы по скриптам[10]

Сообщений 21 страница 40 из 2001

Перевести1

Архивная тема с запросами о создании различных скриптов

Это архивная тема с запросами от пользователей на написание скриптов. Некоторые скрипты могут быть индивидуальным исполнением для конкретного форума, что не гарантирует его работоспособность на другом форуме. Перед использованием скрипта, пожалуйста, внимательно изучите все предыдущие сообщения между автором запроса и исполнителем, в них могут содержаться важные детали о функционале и установке найденного скрипта.
Скрипты, опубликованные в этой теме, могут быть устаревшими и нерабочими, поскольку функционал форумов и стандарты языка javascript или библиотеки jquery могли измениться.

Предыдущая тема - Запросы по скриптам[9]
Следующая тема - Запросы по скриптам[11]

Инструменты для поиска и редактирования стиля (скриптов).

Как с помощью браузера можно определить элемент дизайна.

Каталог скриптов/CSS

Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое НТМЛ и CSS.

Типовые Вопросы (ЧаВо)

Ответы на часто задаваемые вопросы.

Как задавать вопросы! Разница между стилем и скриптом. ( Советы)

Плюс к названию темы еще и Памятка.

+4

Перевести21

Fumuse
Поправил

+1

Перевести22

Deff
Премного благодарна! ^^

0

Перевести23

Приветствую, у меня есть вот такой древний код на дайсы

Код:
<!---дайсометалка---->
<script type="text/javascript">

if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(0).innerHTML="<img src='/i/blank.gif' title='Бросить дайс' id='button-dice' onclick=\"dice();\"/>"
</script>

<script type="text/javascript"> 
 
function unhtml(s)
{ return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"); }
 
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("Сколько граней у кубика?", "9");
        if(SideCube>1000 || SideCube<=0){
        alert("Не бывает таких кубиков");         return false;}
        var BonusCube = parseInt(prompt("Какой бонус прибавляем?", "+0"));
        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+
              ':'+BonusCube+':'+ReasonCube+']');
}
 
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; }
      }
 
  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) 
  {
    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(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>

Он всем хорош, но в нем много лишнего.
Помогите оставить тут только окошко с количеством кубиков и количеством граней. Остальные не нужны.
А лучше совсем убрать все окошки, чтобы нажатие кнопки сразу ставило в пост код кубика с условиями заданными в самом коде.

Или есть ли любой другой аналогичный код, который будет выбрасывать число из указанного диапазона, кроме того, что в теме Дайсы. Открытый для гостей форум не вариант.

Отредактировано Иса (Чт, 25 Окт 2018 19:59:23)

0

Перевести24

доброго) а можно переделать этот код, чтобы он всегда работал, а не только при сбоях? т.е. без комментариев легко ставился плюс

Код:
<!-- Правка глюка Репы при  отсутствии скриптов  руссфф  v2-->
<script> if($('#pun-viewtopic').length)$(window).load(function () {
if(!$('#pun-reputation').length)FORUM.PartnerVote = function() { return true; };
});
</script>

Отредактировано бланш (Пт, 2 Ноя 2018 15:59:04)

0

Перевести25

бланш написал(а):

а можно переделать этот код

Вот так попробуйте:
<script>
FORUM.PartnerVote = function() {return true;};
</script>

Иса написал(а):

Помогите оставить тут только окошко с количеством кубиков и количеством граней. Остальные не нужны.

Вот смотрите. Тут у нас запросы на ввод данных:

Иса написал(а):

function dice()
{
        var FoundErrors = '';
        var diceRes=""
        var CountCube = prompt("Количество кубиков", "1");
        if(CountCube>100 || CountCube<=0) {
        alert("Нельзя бросать столько кубиков");  return false;}
        var SideCube = prompt("Сколько граней у кубика?", "9");
        if(SideCube>1000 || SideCube<=0){
        alert("Не бывает таких кубиков");         return false;}
        var BonusCube = parseInt(prompt("Какой бонус прибавляем?", "+0"));
        var ReasonCube = unhtml(prompt("По какому поводу бросок?", "").
           replace(/\s+/g," ").replace("]"," "));

Можно сделать так:

Код:
function dice()
{
        var FoundErrors = '';
        var diceRes=""
        var CountCube = prompt("Количество кубиков", "1");
        if(CountCube>100 || CountCube<=0) {
        alert("Нельзя бросать столько кубиков");  return false;}
        var SideCube = prompt("Сколько граней у кубика?", "9");
        if(SideCube>1000 || SideCube<=0){
        alert("Не бывает таких кубиков");         return false;}
        var BonusCube = 0;
        var ReasonCube = "";

Остались только количество кубиков и грани. Или так:

Код:
function dice()
{
        var FoundErrors = '';
        var diceRes=""
        var CountCube = 2;
        var SideCube = 6;
        var BonusCube = 0;
        var ReasonCube = "";

CountCube - количество кубиков, SideCube - грани. Сколько напишете там, столько и будет. В примере выше будет кидаться два шестигранника.

+1

Перевести26

satsana
не помогло, к сожалению (

+1

Перевести27

бланш
Хм-м. А если так?

Код:
<script> if($('#pun-viewtopic').length)$(window).load(function () {
FORUM.PartnerVote = function() { return true; };
});
</script>

+1

Перевести28

satsana
тоже (

+1

Перевести29

бланш

Код:
<script> if($('#pun-viewtopic').length)$(document).ready(function(){
FORUM.PartnerVote = function() { return true; };
});
</script>

0

Перевести30

А есть такой скрип или тема , где может уже было что то подобное.

Хочу перенести  функцию ЛС в поля профиля , под аватаркой
лучше картинкой в виде письма.

http://s7.uploads.ru/t/X6ng1.png

+1

Перевести31

Deff
все равно не работает
на всякий случай поясню, мб меня просто не так поняли
что хочется, чтобы окошко комментирования не вылезало, даже если плюсы не глючат) а просто автоматом ставился плюс, без обновления стр

+1

Перевести32

Странно, ссылку на форум :flag:

0

Перевести33

Deff
http://chillpop.rusff.ru/

+1

Перевести34

бланш
Странно... Вроде, должно работать. А если тот вариант, который я изначально предлагала, в html-верх поставить?
albino
Примерно так:

Код:
<!-- Перенос ЛС в мини-профиль -->
<style>
.post-author .pl-email {
    display: block;
}
.post-author .pl-email a {
    display: block;
    width: 40px; // ширина картинки
    height: 40px; // высота картинки
    background-image: url(адрес_картинки.png);
    background-color: transparent;
    color: transparent;
}
.post-author .pl-email a span {
    display: none;
}
</style>
<script>
$(function () {
  var p = $('#pun-viewtopic .post');
  if (p.length>0) for (var i=0; i<p.length; i++) {
    $(p[i]).find('.post-links .pl-email:nth-of-type(2)').insertAfter($(p[i]).find('.post-author > ul > :last-child'));
  }
});
</script>

В html-верх можно поставить. Хотя внизу тоже должно работать...

Отредактировано satsana (Сб, 3 Ноя 2018 17:22:41)

+1

Перевести35

satsana
попробовала все три варианта в хтмл-верх, все равно не хочет (

+1

Перевести36

бланш
:dontknow: Русффовые дополнения такие загадочные... Зашла, зарегалась, посмотрела через консоль - с функцией всё в порядке. Возможно, они чего-то там изменили в функционале для борьбы с теми самыми багами при недоступности квадры. По крайней мере, раньше окошко для комментария вылезало вроде как при нажатии на плюсик под постом тоже, а сейчас только в профиле. :dontknow:

+1

Перевести37

satsana
иногда лучше бы этих дополнений не было, конечно)
да, они очень давно убрали этот плюсик возле нуля, как и минус там же)

+1

Перевести38

satsana, благодарю !

Попробую  :cool:

+1

Перевести39

бланш
О, я, кажется, поняла, что не так.
В html-верх:

Код:
<script>
RusffCore.sets.reputation = 0;
FORUM.PartnerVote = function() {return true;};
</script>

Теперь должно сработать.

бланш написал(а):

убрали этот плюсик возле нуля, как и минус там же

Если туда нажать, плюс и минус появятся рядом с количеством голосов.

Отредактировано satsana (Сб, 3 Ноя 2018 22:17:41)

+2

Перевести40

satsana
вот теперь сработало!! спасибо вам огромнейшее  :love:

+1


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[10]