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);