Альгария
http://www.algaria.ru/

Код дайсов
http://www.algaria.ru/viewtopic.php?f=23&t=1047
Страница 1 из 1

Автор:  admin [ 01 ноя 2010, 13:54 ]
Заголовок сообщения:  Код дайсов

всё, что нашёл
помню что тестировал оба мода, но оставил один
и ещё много правил в коде в процессе отладки

Вложения:
DiceBBCode_2_0_0B.zip [39.04 Кб]
Скачиваний: 480
dice.zip [39.96 Кб]
Скачиваний: 485

Автор:  Алек [ 01 ноя 2010, 18:25 ]
Заголовок сообщения: 

Спасибо!

Автор:  Wicont [ 31 июл 2011, 03:39 ]
Заголовок сообщения: 

Народ, очень прошу, если не сложно, можете дать код дайса для Юкоза? Заранее огромное спасибо. Просто видел подобное чудо на некоторых форумах Юкоза. Буду очень благодарен.

Автор:  admin [ 01 авг 2011, 13:15 ]
Заголовок сообщения: 

Вот код дайсов для Юкоза

Код:

<!-- DICEscript -->
<script language="javascript" type="text/javascript">
// <!--
function Dice(id,seed1,seed2)
{
var seed = parseInt(seed1)*parseInt(seed2.substring(0,2)+seed2.substring(3,5));
if (seed==0) { seed = parseInt(seed1)*parseInt(1+seed2.substring(0,2)+seed2.substring(3,5)); }
var s = document.all[id].innerHTML;
var fi=0;
var ds="";
var ios=0, ioe=0, ios2=0, ioe2=0, ioA,ioB,ioC,A,B,C,res,res1,ress;
var aven=1;
while(s.indexOf("[dice]",fi) != -1)
{
aven++;
ios=s.indexOf("[dice]",fi);
ioe=s.indexOf("]",ios);

// document.write("begin tag: "+s.substring(ios,ioe+1)+"<br>");

if(s.substring(ios,ioe+1)=="[dice]")
{
ios2=s.indexOf("[",ioe);
ioe2=s.indexOf("]",ios2);

// document.write("end tag: "+s.substring(ios2,ioe2+1)+"<br>");

if(s.substring(ios2,ioe2+1)=="[/dice]")
{
ioA=s.indexOf("d",ioe);
A=parseInt(s.substring(ioe+1,ioA));
ioB=s.indexOf("+",ioA);
if(ioB==-1 || ioB>ios2)
{
ioB=s.indexOf("-",ioA);
C=-1;
} else C=1;

// document.write("ioA: "+ioA+"<br>");

// document.write("seed1: "+seed1+"<br>");
// document.write("seed2: "+seed2+"<br>");
// document.write("substr02: "+seed2.substring(0,2)+"<br>");
// document.write("substr35: "+seed2.substring(3,5)+"<br>");
// document.write("substr_summ: "+seed2.substring(0,2)+seed2.substring(3,5)+"<br>");
// document.write("substr_summ_int: "+parseInt(seed2.substring(0,2)+seed2.substring(3,5))+"<br>");

// document.write("seed: "+seed+"<br>");

// document.write("sign on position "+ioB+"<br>");

if(ioB==-1 || ioB>ios2)
{
B=parseInt(s.substring(ioA+1,ioe2-1));
C=0;
}
else
{
B=parseInt(s.substring(ioA+1,ioB));
C*=parseInt(s.substring(ioB+1,ioe2-1));
}

// document.write("AdB + C<br>");
// document.write("A = "+A+"<br>");
// document.write("B = "+B+"<br>");
// document.write("C = "+C+"<br>");

var i;
res=0;
ress="";
for(i=0;i<A;i++)
{
res1=Math.floor((Math.log(seed*(ioe2-ios)*aven*(i+1))*10000000)%1*B)+1;
ress+=String(res1);
if(i!=A-1) ress+="+";
res+=parseInt(res1);
}
if(A>1) ress="("+ress+")";

// document.write("res = "+res+"<br>");
//ave+=res;

if(C==0 && A==1) ds="<div class=\"dice\"><img src=\"dice.gif\" style=\"float:left\">&nbsp;Бросок дайсов: "+A+"d"+B+" = <b>"+res+"</b></div>";
else if(C==0 && A>1) ds="<div class=\"dice\"><img src=\"dice.gif\" style=\"float:left\">&nbsp;Бросок дайсов: "+A+"d"+B+" = "+ress+" = <b>"+res+"</b></div>";
else if(C<0) ds="<div class=\"dice\"><img src=\"dice.gif\" style=\"float:left\">&nbsp;Бросок дайсов: "+A+"d"+B+" - "+(-C)+" = "+ress+" - "+(-C)+" = <b>"+(res+C)+"</b></div>";
else if(C>0) ds="<div class=\"dice\"><img src=\"dice.gif\" style=\"float:left\">&nbsp;Бросок дайсов: "+A+"d"+B+" + "+C+" = "+ress+" + "+C+" = <b>"+(res+C)+"</b></div>";
s=s.substring(0,ios)+ds+s.substring(ioe2+1,s.length);
}
}
fi=ios+6;
}

//ave/=aven;
// document.write("!!!! ave = "+ave+" !!!!<br>");

document.all[id].innerHTML=s;
}
//
// -->
</script>
<!-- /DICEscript -->




<table><tr>
<td id="m17" class="posttdMessage" valign="top">Проверимка=) <br /> [dice]dhoshhbwsb[/dice]

</td>

</tr>

<script language="javascript" type="text/javascript">
//<!--
Dice("m17",17+2,'09:42');
//-->
</script>





Автор:  Wicont [ 03 авг 2011, 13:23 ]
Заголовок сообщения: 

Огромное спасибо =). Только вы бы не могли подсказать, как этот скрипт установить?

Автор:  admin [ 04 авг 2011, 16:17 ]
Заголовок сообщения: 

Скрипт вставляется в тему оформления. Он сам всё обрабатывает.
Надо только вызвать его, например, по body onload, либо последней командой в конце страницы.

А по сути - играйте у нас ;)
Зачем вам UCOZ ?

Автор:  Wicont [ 05 авг 2011, 07:01 ]
Заголовок сообщения: 

Я в JavaScript не силен, поэтому заранее прошу прощения за расспросы. Мне в принципе хотелось бы, чтобы любой пользователь пользовался дайсом на форуме Юкоза. То есть нажал на кнопочку, или ввёл ручками необходимые данные (25d4, 2d8 и тд) и после перезагрузки страницы появлялось генерируемое число.
Этот код я куда только не вставлял, но каких либо результатов не добился.
Вы не могли вы поподробнее расписать, что куда вставлять? Буду очень благодарен.

admin писал(а):
А по сути - играйте у нас Зачем вам UCOZ ?

Да я так и сделаю. Думаю у вас обосноваться =) Пока вот изучаю систему игры.

Автор:  Wicont [ 13 авг 2011, 14:12 ]
Заголовок сообщения: 

Помогите пожалуйста)

Автор:  admin [ 15 авг 2011, 23:33 ]
Заголовок сообщения: 

я бы рад, да времени сейчас нет :(
только в сентябре если ...

а так - начинайте тут пока, сделаю раздел вам и модератором тебя сделаю
это быстро и просто

Автор:  Wicont [ 19 авг 2011, 14:25 ]
Заголовок сообщения: 

admin писал(а):
я бы рад, да времени сейчас нет только в сентябре если ...

Ну ладно, буду ждать)

admin писал(а):
а так - начинайте тут пока, сделаю раздел вам и модератором тебя сделаю это быстро и просто

Да дело в том, что игра то уже создана и перетаскивать её всю сюда довольно долго и проблематично. Я у вас лучше побуду игроком))

Скрытый текст. Необходимо зарегистрироваться.

Автор:  Wicont [ 23 ноя 2011, 17:35 ]
Заголовок сообщения: 

Это снова я)
До сих пор пытаюсь решить проблему с дайсами. Даже начал Ява изучать. Но пока что нуб если честно, а проблема с ролкой так и висит. Дайс который вы выставили - рабочий, но как его завести я так и не понял.
В общем, продолжаю просить помощи))

Автор:  admin [ 24 ноя 2011, 17:42 ]
Заголовок сообщения: 

Вам надо разобраться с редактированием шаблона UCOZ.
Никто за вас эту работу делать не будет.

А вот когда разберетесь - то вставляете код дайсов в шаблон.
Далее, в часть шаблона каждого поста вставляете вот это:
Код:
<script language="javascript" type="text/javascript">
//<!--
Dice("m2012",2012+49,'05:56');
//-->
</script>

Где 2012 - уникальный номер поста в форуме (взять из шаблона), 05:56 - время сохранения поста.
Этот код будет в каждом посте, независимо - есть там дайс или нет.
Он вызывает скрипт, который обрабатывает пост и заменяет вложенные там команды типа
Код:
[diсe]1d20+2[/diсe]

на результат броска.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/