Esempio n. 1
0
function CanBuild($user, $planet, $id, $lvl, $destroy)
{
    global $GlobalUni;
    // Стоимость постройки
    $res = BuildPrice($id, $lvl);
    $m = $res['m'];
    $k = $res['k'];
    $d = $res['d'];
    $e = $res['e'];
    $text = '';
    $buildmap = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 41, 42, 43, 44);
    $result = GetResearchQueue($user['player_id']);
    $resqueue = dbarray($result);
    $reslab_operating = $resqueue != null;
    $result = GetShipyardQueue($planet['planet_id']);
    $shipqueue = dbarray($result);
    $shipyard_operating = $shipqueue != null;
    if ($GlobalUni['freeze']) {
        return "Вселенная на паузе!";
    }
    // Не постройка
    if (!in_array($id, $buildmap)) {
        $text = "Неверный ID!";
    } else {
        if ($user['vacation']) {
            $text = "В режиме отпуска (РО) строительство невозможно.";
        } else {
            if ($planet['owner_id'] != $user['player_id']) {
                $text = "Неправильная планета!";
            } else {
                if ($planet['type'] != 0 && ($id == 41 || $id == 42 || $id == 43)) {
                    $text = "Неверный тип планеты.";
                } else {
                    if ($planet['type'] == 0 && ($id == 1 || $id == 2 || $id == 3 || $id == 4 || $id == 12 || $id == 15 || $id == 22 || $id == 23 || $id == 24 || $id == 31 || $id == 33 || $id == 44)) {
                        $text = "Неверный тип планеты.";
                    } else {
                        if ($planet['fields'] >= $planet['maxfields'] && !$destroy) {
                            $text = "На планете нет места для строительства.";
                        } else {
                            if ($id == 31 && $reslab_operating) {
                                $text = "Идёт исследование!";
                            } else {
                                if (($id == 15 || $id == 21) && $shipyard_operating) {
                                    $text = "Корабельная верфь ещё занята.";
                                } else {
                                    if (!IsEnoughResources($planet, $m, $k, $d, $e)) {
                                        $text = "У Вас недостаточно ресурсов!";
                                    } else {
                                        if (!BuildMeetRequirement($user, $planet, $id)) {
                                            $text = "Необходимые требования не выполнены!";
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    if ($destroy) {
        if ($id == 33 || $id == 41) {
            $text = "Лунную базу и терраформер нельзя снести.";
        } else {
            if ($planet["b" . $id] <= 0) {
                $text = "У Вас нет построек этого типа.";
            }
        }
    }
    return $text;
}
            echo "<td class=\"k\"><div id=\"bxx\" class=\"z\"></div><SCRIPT language=JavaScript>\n";
            echo "                  pp=\"" . ($queue['end'] - $now) . "\"\n";
            echo "                  pk=\"" . $queue['list_id'] . "\"\n";
            echo "                  pm=\"remove\"\n";
            echo "                  pl=\"" . $aktplanet['planet_id'] . "\"\n";
            echo "                  ps=\"{$session}\"\n";
            echo "                  t();\n";
            echo "                  </script></tr>\n";
        } else {
            echo "<td class=\"k\"><font color=\"red\"><a href=\"index.php?page=b_building&session={$session}&modus=remove&listid=" . $queue['list_id'] . "&planet=" . $aktplanet['planet_id'] . "\">удалить</a></font></td></td></tr>\n";
        }
    }
}
foreach ($buildmap as $i => $id) {
    $lvl = $aktplanet['b' . $id];
    if (!BuildMeetRequirement($GlobalUser, $aktplanet, $id)) {
        continue;
    }
    echo "<tr>";
    if ($GlobalUser['useskin']) {
        echo "<td class=l>";
        echo "<a href=index.php?page=infos&session={$session}&gid=" . $id . ">";
        echo "<img border='0' src=\"" . UserSkin() . "gebaeude/" . $id . ".gif\" align='top' width='120' height='120'></a></td>";
    }
    echo "<td class=l>";
    echo "<a href=index.php?page=infos&session={$session}&gid=" . $id . ">" . loca("NAME_{$id}") . "</a></a>";
    if ($lvl) {
        echo " (уровень " . $lvl . ")";
    }
    echo "<br>" . loca("SHORT_{$id}");
    $res = BuildPrice($id, $lvl + 1);