Нашел скрипт который производит начисление вирт-денег за сообщение и репутацию на форуме, поставил первые 2-3 дня - радость, 4-5 - хм... странные искажения (ну и ладно), теперь все время замечаю что скрипт начал неправильно работать он искажает суму например:
надо 7.5
показывает 7.00000000005или
надо 7.5
показывает
7.0000004
умы яваскриптов помогите решить проблему
<script language="JavaScript">
var nick = ['ZloVeЩиЙ','XxMARSxX','Vientam']; //список пользователей
//Кому и сколько платили:
nick['ZloVeЩиЙ'] = '0'; // выплата текстом (пишем что хотим но только в одинарных ковычках)
nick['XxMARSxX'] = 69; // выплата числом
nick['Vietnam'] = 11+22+33-55; // выплата несколькими платежами 11 первый 22 второй 33 третий 55 штраф
Mcost=0.05; //стоит 1 сообщение (ща стоит 5 центов)
Rcost=0.05; //за +1 балл репутации +5 центов за -1 балл -5 центов
messages=$POSTS$;
rep=$REP_RATING$;
Mmoney=Math.round(100 * messages * Mcost)/100;
Mrep=Math.round(100 * rep * Rcost)/100;
for(var i=0; i<nick.length; i++) {
if('$USERNAME$'==nick[i]) {
N=nick[i];
if(isNaN(nick[N])) {
ue='$';
Tmoney=Mmoney + Mrep;
} else {
ue='$';
Tmoney=Mmoney + Mrep - Math.abs(nick[N]);
}
cashout=ue + nick[N];
break;
}
else
{
Tmoney=Mmoney + Mrep;
cashout='0'; //выводится если ничего не платили
}
}
if(Tmoney) {
document.write('<div align="center">');
document.write('<BR>RuR: <font color="green"><b>'+ Tmoney +'</b></font>');
document.write('<BR>Выплачено: <font color=red><b>'+ cashout +'</b></font>');
document.write('</div>');
}
</script>
Исправит скрипт...
Правила форума
1. Темы с названиями Помогите, Как сделать, Хелп, Не могу найти и так далее будут перенесении в мусорку без предупреждения!
2. Любой транс-лит будет удален, так что подумайте стоит ли писать транс-литом.
3. Темы не по тематике этого раздела будут также перенесены в мусорку. (Например по DLE, phpBB, php скриптам и так далее...)
4. Не забываем про Общие правила форума!
1. Темы с названиями Помогите, Как сделать, Хелп, Не могу найти и так далее будут перенесении в мусорку без предупреждения!
2. Любой транс-лит будет удален, так что подумайте стоит ли писать транс-литом.
3. Темы не по тематике этого раздела будут также перенесены в мусорку. (Например по DLE, phpBB, php скриптам и так далее...)
4. Не забываем про Общие правила форума!
Re: Исправит скрипт...
Код: Выделить всё
...
... Math.round(100 * Tmoney)/100; ...
... Math.round(100 * cashout)/100; ...
...Ахтунг!
Делаю всякую херню для ЮкОз за доллары или не делаю если просьба пахнет бредом перегретого мозга.
А у меня Windows 7

Что такое НЕТЕЛИБ?
Делаю всякую херню для ЮкОз за доллары или не делаю если просьба пахнет бредом перегретого мозга.
А у меня Windows 7


Что такое НЕТЕЛИБ?
Re: Исправит скрипт...
а поподробней!?
Re: Исправит скрипт...
ХхМарсХх, может все таки ткнеш носом куда надо, раз начал помоги до конца его исправит, вроде по подсчетам должно быть одно ап иногда такое показывает....
Re: Исправит скрипт...
Код: Выделить всё
............
document.write('<div align="center">');
document.write('<BR>RuR: <font color="green"><b>'+ Math.round(100 * Tmoney)/100 +'</b></font>');
document.write('<BR>Выплачено: <font color=red><b>'+ Math.round(100 * cashout)/100 +'</b></font>');
document.write('</div>');
............Ахтунг!
Делаю всякую херню для ЮкОз за доллары или не делаю если просьба пахнет бредом перегретого мозга.
А у меня Windows 7

Что такое НЕТЕЛИБ?
Делаю всякую херню для ЮкОз за доллары или не делаю если просьба пахнет бредом перегретого мозга.
А у меня Windows 7


Что такое НЕТЕЛИБ?
Re: Исправит скрипт...
Спасибо тебе ХхМАРСХх, знал бы как поставил +
Но в след с решением появилась еще одна проблема теперь когда прописываю чило к выплате из общей сумы все вычитается но в месте выплачено пишется не число которое выплатили...
<script language="JavaScript">
var nick = ['ZloVeЩиЙ','XxMARSxX','Vientam'];
nick['ZloVeЩиЙ'] = '0.85';
nick['XxMARSxX'] = 69;
nick['Vietnam'] = 11+22+33-55;
Mcost=0.05;
Rcost=0.05;
messages=$POSTS$;
rep=$REP_RATING$;
Mmoney=Math.round(100 * messages * Mcost)/100;
Mrep=Math.round(100 * rep * Rcost)/100;
for(var i=0; i<nick.length; i++) {
if('$USERNAME$'==nick[i]) {
N=nick[i];
if(isNaN(nick[N])) {
ue='$';
Tmoney=Mmoney + Mrep;
} else {
ue='$';
Tmoney=Mmoney + Mrep - Math.abs(nick[N]);
}
cashout=ue + nick[N];
break;
}
else
{
Tmoney=Mmoney + Mrep;
cashout='0';
}
}
if(Tmoney) {
document.write('<div align="center">');
document.write('<BR>RuR: <font color="green"><b>'+ Math.round(100 * Tmoney)/100 +'</b></font>');
document.write('<BR>Выплачено: <font color=red><b>'+ Math.round(100 * cashout)/100 +'</b></font>');
document.write('</div>');
}
</script>
Зловещий всего (7.85)
Рур: 7
Выплаченно: NaN
Помоги исправить и эту ошибку, а я пошел тебе юзербар искать )
Но в след с решением появилась еще одна проблема теперь когда прописываю чило к выплате из общей сумы все вычитается но в месте выплачено пишется не число которое выплатили...
<script language="JavaScript">
var nick = ['ZloVeЩиЙ','XxMARSxX','Vientam'];
nick['ZloVeЩиЙ'] = '0.85';
nick['XxMARSxX'] = 69;
nick['Vietnam'] = 11+22+33-55;
Mcost=0.05;
Rcost=0.05;
messages=$POSTS$;
rep=$REP_RATING$;
Mmoney=Math.round(100 * messages * Mcost)/100;
Mrep=Math.round(100 * rep * Rcost)/100;
for(var i=0; i<nick.length; i++) {
if('$USERNAME$'==nick[i]) {
N=nick[i];
if(isNaN(nick[N])) {
ue='$';
Tmoney=Mmoney + Mrep;
} else {
ue='$';
Tmoney=Mmoney + Mrep - Math.abs(nick[N]);
}
cashout=ue + nick[N];
break;
}
else
{
Tmoney=Mmoney + Mrep;
cashout='0';
}
}
if(Tmoney) {
document.write('<div align="center">');
document.write('<BR>RuR: <font color="green"><b>'+ Math.round(100 * Tmoney)/100 +'</b></font>');
document.write('<BR>Выплачено: <font color=red><b>'+ Math.round(100 * cashout)/100 +'</b></font>');
document.write('</div>');
}
</script>
Зловещий всего (7.85)
Рур: 7
Выплаченно: NaN
Помоги исправить и эту ошибку, а я пошел тебе юзербар искать )
Re: Исправит скрипт...
попробуй вторую версию http://web-codes.net/viewtopic.php?p=234#p234, она удобнее и там короче все уже исправлено
либо сравни соответствующие или похожие строки второго скрипта и первого
либо сравни соответствующие или похожие строки второго скрипта и первогоАхтунг!
Делаю всякую херню для ЮкОз за доллары или не делаю если просьба пахнет бредом перегретого мозга.
А у меня Windows 7

Что такое НЕТЕЛИБ?
Делаю всякую херню для ЮкОз за доллары или не делаю если просьба пахнет бредом перегретого мозга.
А у меня Windows 7


Что такое НЕТЕЛИБ?
Re: Исправит скрипт...
Спасибо и на этом... А сравнивать мне безсмисленно так как в ЯваСкрипте ничего непонимаю...
Думаю просто уберу из этого скрипта поле выплаченно...
Еще раз спасибо
Думаю просто уберу из этого скрипта поле выплаченно...
Еще раз спасибо