votept
serrrios
votept
Ты гений, гениальное простоserrrios писал(а):(const(up)/porog) - const(dl) = dl(dost) ??
VoVZiK13
Не работает, во первых если у человека 0.000 бонуса то дебагер выбрасывает ошибку типа на ноль делить нельзя и в общем получается бредовая цифра. Я с тобой согласен насчёт того что бы отделить бонус от ратио и менять его допустим на аплоад.serrrios писал(а):А так формула учитывая бонус выглядит как-то так: (const(up)/porog) - const(dl) + (const(up)/bonus) = dl(dost)
VoVZiK13
Код: Выделить всё
Если (бонус>0)
{
(const(up)/porog) - const(dl) + (const(up)/bonus) = dl(dost);
}
иначе
{
(const(up)/porog) - const(dl) = dl(dost);
}
serrrios
Код: Выделить всё
(($up / porog) * $bonus) - $down
VoVZiK13
Обойти это легко, если доступное получаем отрицательное, то просто пишем что все пипец качать больше нельзя =)))) Хотя можно глянуть саму функцию и сделать чтобы считала =)VoVZiK13 писал(а):то есть в минус функция "get_formatted_filesize"
Код: Выделить всё
function get_dostup($up, $down, $skip=0, $bonus=0.000, $minratio=0)
{
//settype($up, 'integer');//Byte
//settype($down, 'integer');//Byte
settype($skip, 'integer');//Gb
$dostup=0;
if($skip && $down < $skip*1024*1024*1024)
{
$dostup='=)';
}
else if(!$up && !$down)
{
$dostup='=|';
}
else if(!$up && $down)
{
$dostup='=)';
}
else if(!$down && $up)
{
$dostup=number_format(($up / $minratio), 2, '.', '');
}
else
{
$dostup=number_format((($up / $minratio)-$down), 2, '.', '');
}
if($bonus!=0.000 && !in_array($dostup, array('Inf.', 'Seed.', 'Leech.', 'None.')))
{
settype($bonus, 'float');
$dostup=number_format(($dostup + ($up / $bonus)), 2, '.', '');
}
if($dostup<0)
{
$dostup='=(';
return $dostup;
}
else
{
return get_formatted_filesize($dostup);
}
}
serrrios
Всё правильно согласен, идеальная формула без бонуса.serrrios писал(а):если не учитывать бонус считаем: (50гб/0.5)-50гб = 50гб? это по формуле
Единичный случайserrrios писал(а):Теперь с бонусом: (50гб/0.5)-50гб+(50гб/1) = 100гб - что у нас тоже верно =)
VoVZiK13
serrrios