Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Код дайсов 
Автор Сообщение
Аватара пользователя

Зарегистрирован: 20 авг 2009, 20:02
Сообщения: 2099
Всего постов: 2000+
Сообщение Код дайсов
всё, что нашёл
помню что тестировал оба мода, но оставил один
и ещё много правил в коде в процессе отладки


Вложения:
DiceBBCode_2_0_0B.zip [39.04 Кб]
Скачиваний: 533
dice.zip [39.96 Кб]
Скачиваний: 554
01 ноя 2010, 13:54
Профиль
Аватара пользователя

Зарегистрирован: 27 авг 2009, 16:06
Сообщения: 1652
Всего постов: 2000+WWW
Сообщение 
Спасибо!

_________________
Мои мульты: Эрвин ван Рэйн, Альгар, Эшгран, Шагриз


01 ноя 2010, 18:25
Профиль ICQ

Зарегистрирован: 31 июл 2011, 03:25
Сообщения: 6
Сообщение 
Народ, очень прошу, если не сложно, можете дать код дайса для Юкоза? Заранее огромное спасибо. Просто видел подобное чудо на некоторых форумах Юкоза. Буду очень благодарен.


31 июл 2011, 03:39
Профиль
Аватара пользователя

Зарегистрирован: 20 авг 2009, 20:02
Сообщения: 2099
Всего постов: 2000+
Сообщение 
Вот код дайсов для Юкоза

Код:

<!-- 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>






01 авг 2011, 13:15
Профиль

Зарегистрирован: 31 июл 2011, 03:25
Сообщения: 6
Сообщение 
Огромное спасибо =). Только вы бы не могли подсказать, как этот скрипт установить?


03 авг 2011, 13:23
Профиль
Аватара пользователя

Зарегистрирован: 20 авг 2009, 20:02
Сообщения: 2099
Всего постов: 2000+
Сообщение 
Скрипт вставляется в тему оформления. Он сам всё обрабатывает.
Надо только вызвать его, например, по body onload, либо последней командой в конце страницы.

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


04 авг 2011, 16:17
Профиль

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

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

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


05 авг 2011, 07:01
Профиль

Зарегистрирован: 31 июл 2011, 03:25
Сообщения: 6
Сообщение 
Помогите пожалуйста)


13 авг 2011, 14:12
Профиль
Аватара пользователя

Зарегистрирован: 20 авг 2009, 20:02
Сообщения: 2099
Всего постов: 2000+
Сообщение 
я бы рад, да времени сейчас нет :(
только в сентябре если ...

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


15 авг 2011, 23:33
Профиль

Зарегистрирован: 31 июл 2011, 03:25
Сообщения: 6
Сообщение 
admin писал(а):
я бы рад, да времени сейчас нет только в сентябре если ...

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

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

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

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


19 авг 2011, 14:25
Профиль

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


23 ноя 2011, 17:35
Профиль
Аватара пользователя

Зарегистрирован: 20 авг 2009, 20:02
Сообщения: 2099
Всего постов: 2000+
Сообщение 
Вам надо разобраться с редактированием шаблона UCOZ.
Никто за вас эту работу делать не будет.

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

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

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


24 ноя 2011, 17:42
Профиль
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Hopesland Рейтинг Ролевых Ресурсов
Powered by phpBB