Код (Text): <?php //коэффициент для перевода алмазов для ресурсов = 200 include ("updUser.php"); define ("RUBY_COST", 1000); $auth_key = $_POST['hash']; $id = intval($_POST['id']); $in = $_POST["in"]; $out = $_POST["out"]; $lvl = $_POST["plvl"]; $num = intval($_POST["num"]); if ($auth_key != h($id)) exit("req=false&error=auth_error"); if ($num < 0) exit ("req=false&error=invalid_num"); $str = "SELECT resources.gold,resources.diamond,resources.millet FROM resources WHERE id = $id"; $req = mysql_query($str, $db); if (!$req) exit ("req=false&error=mysql_error"); $arr = mysql_fetch_array($req); if ($arr[$in] < $num) exit ("req=false&error=need_more_resources"); $course = floor(RUBY_COST * ((double)$arr["course"]+1)); function getRates($in,$out,$course){ switch ($in) { case "gold": //if ($out == "ruby") return 1 / $course; if ($out == "millet") return 0.95; break; case "millet": //if ($out == "ruby") return 0.95 * 1 / floor($course); if ($out == "gold") return 0.95; break; case "diamond": if ($out == "gold") return 200 * $lvl; if ($out == "millet") return 200; break; //case "ruby": //if ($out == "gold") return floor(0.8 * $course); //if ($out == "millet") return floor(0.8 * (1/0.95 * $course)); //break; } return 0; } $dout = getRates($in, $out , $course) * $num; $str = "UPDATE resources SET resources.$in = $arr[$in] - $num, resources.$out = $arr[$out] + $dout WHERE id=$id"; $req = mysql_query($str, $db); if (!$req) exit ("req=false&error=mysql_error&p=1"); echo "req=true&$in=".($arr[$in] - $num)."&$out=".($arr[$out] + $dout); ?> в строках Код (Text): case "diamond": if ($out == "gold") return 200 * $lvl; if ($out == "millet") return 200; break; нужно умножить на $lvl, а на деле не умножается. Как исправить?