Пример #1
0
function UnitTime($unit)
{
    global $game, $RACE_DATA, $UNIT_DATA;
    $time = $UNIT_DATA[$unit][4];
    $time *= $RACE_DATA[$game->player['user_race']][2];
    $time /= 100;
    $time *= 100 - 2 * ($game->planet['research_4'] * $RACE_DATA[$game->player['user_race']][20]);
    if ($time < 1) {
        $time = 1;
    }
    $time = round($time, 0);
    $time *= TICK_DURATION;
    return Zeit($time);
}
Пример #2
0
             $text = TICK_DURATION . constant($game->sprache("TEXT21"));
         }
         if ($planet['unittrainid_' . $planet['unittrain_actual']] == 12) {
             $text = TICK_DURATION . constant($game->sprache("TEXT21"));
         }
         $academy = constant($game->sprache("TEXT22")) . ' (' . $text . ' <b>' . Zeit(TICK_DURATION * ($planet['unittrainid_nexttime'] - $ACTUAL_TICK)) . '</b>)';
     }
     // ALT, habs times changed, should fit now better. Greeting Mojo ;)
     /*$unitcount=($planet['unit_1']*2+$planet['unit_2']*3+$planet['unit_3']*4+$planet['unit_4']*4+$planet['unit_5']*4+$planet['unit_6']*4);
     		if ($unitcount>$planet['max_units']-4)
     		{
     			
     		}*/
 }
 if (isset($planet['shipyard_active'])) {
     $shipbuild = constant($game->sprache("TEXT24")) . ' <b>' . Zeit(TICK_DURATION * ($planet['shipyard_active'] - $ACTUAL_TICK)) . '</b>';
 }
 // Set colors for the symbols
 if (FULL_DETAILS) {
     $building_color = ($planet['building_finish'] - $ACTUAL_TICK) / 12;
     $research_color = ($planet['research_finish'] - $ACTUAL_TICK) / 12;
 } else {
     $building_color = ($planet['build_active'] - $ACTUAL_TICK) / 12;
     $research_color = ($planet['research_active'] - $ACTUAL_TICK) / 12;
 }
 if ($building_color > 8) {
     $building_color = 8;
 }
 if ($building_color < 0) {
     $building_color = 0;
 }
Пример #3
0
function own_bids()
{
    global $db;
    global $game, $ACTUAL_TICK, $NEXT_TICK;
    $per_page = 20;
    if (isset($_GET['trigger']) && $_GET['trigger'] == 1) {
        $game->option_store('type_0', (int) (1 - $game->option_retr('type_0', 1)));
    }
    if (isset($_GET['trigger']) && $_GET['trigger'] == 2) {
        $game->option_store('type_1', (int) (1 - $game->option_retr('type_1', 1)));
    }
    if (isset($_GET['trigger']) && $_GET['trigger'] == 3) {
        $game->option_store('type_2', (int) (1 - $game->option_retr('type_2', 1)));
    }
    if (isset($_GET['trigger']) && $_GET['trigger'] == 4) {
        $game->option_store('type_3', (int) (1 - $game->option_retr('type_3', 1)));
    }
    $_POST['type_0'] = $game->option_retr('type_0', 1);
    $_POST['type_1'] = $game->option_retr('type_1', 1);
    $_POST['type_2'] = $game->option_retr('type_2', 1);
    $_POST['type_3'] = $game->option_retr('type_3', 1);
    if ($_POST['type_0']) {
        $sels[] = 0;
    }
    if ($_POST['type_1']) {
        $sels[] = 1;
    }
    if ($_POST['type_2']) {
        $sels[] = 2;
    }
    if ($_POST['type_3']) {
        $sels[] = 3;
    }
    if (empty($sels)) {
        $sels[] = 4;
    }
    $game->out('
		<script language="JavaScript">
		function ConfirmClick(text,link)
{
		if (confirm(text)==true)
		{
			location.href=link;
		}
}
		</script>');
    /* 27/02/08 - AC: I'm not pretty sure but, if the function's name is own_bids, probabily variable $own_only is true... */
    $own_only = 0;
    if ($own_only == 0) {
        $str_compare = '<>';
    } else {
        $str_compare = '=';
    }
    $own_system = $db->queryrow('SELECT system_global_x, system_global_y FROM starsystems WHERE system_id = ' . $game->planet['system_id']);
    $sql = 'SELECT s.*,u.user_name,COUNT(b.id) AS num_bids FROM (ship_trade s)
			LEFT JOIN (user u) ON u.user_id=s.user
			LEFT JOIN (bidding b) ON b.trade_id=s.id
			LEFT JOIN (ships sh) ON sh.ship_id=s.ship_id
			LEFT JOIN (ship_templates t) ON t.id=sh.template_id
			WHERE s.user ' . $str_compare . ' ' . $game->player['user_id'] . ' AND b.user='******'user_id'] . ' AND s.end_time>=' . $ACTUAL_TICK . ' AND t.ship_class IN (' . implode(',', $sels) . ') GROUP BY s.id ORDER BY s.end_time ASC
			';
    if (($tradedata = $db->queryrowset($sql)) === false) {
        message(DATABASE_ERROR, 'Internal database error');
    }
    $nr = 0;
    $str_firstfield = constant($game->sprache("TEXT98"));
    if ($own_only) {
        $str_firstfield = constant($game->sprache("TEXT99"));
    }
    $str_lastfield = constant($game->sprache("TEXT64"));
    if ($own_only) {
        $str_lastfield = constant($game->sprache("TEXT100"));
    }
    $str_own = '';
    if ($own_only) {
        $str_own = constant($game->sprache("TEXT101")) . ' ';
    }
    /* 26/02/08 - AC: Check if it's currently present in the url request */
    if (!isset($_REQUEST['page'])) {
        $_REQUEST['page'] = 0;
    }
    $game->out('<center><span class="sub_caption">' . $str_own . ' ' . constant($game->sprache("TEXT8")) . ' ' . HelpPopup($own_only == true ? 'trade_viewownauction' : 'trade_viewauction') . ' :</span></center><br>');
    // Men << >>
    $game->out('<br><center><table border=0 cellpadding=2 cellspacing=2 class="style_inner" width=300><tr>
		<td width=150 align=middle><a href="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&page=' . ($_REQUEST['page'] - 1)) . '">' . constant($game->sprache("TEXT102")) . '</a>
		</td><td width=150 align=middle><a href="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&page=' . ($_REQUEST['page'] + 1)) . '">' . constant($game->sprache("TEXT103")) . '</a>
		</td></tr></table><br>');
    $game->out('<center><table border=0 cellpadding=1 cellspacing=1 class="style_outer">
		<tr><td><span class="sub_caption2">' . constant($game->sprache("TEXT104")) . '</span><br>
		<table border=0 cellpadding=1 cellspacing=1 class="style_inner" width=300>
		<tr>
		<td width=150 valign=top>
		<form name="type0form" method="post" action="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&trigger=1&page=' . $_REQUEST['page']) . '"><input type="checkbox" name="type_0" value="1"' . ($_POST['type_0'] == 1 ? ' checked="checked"' : '') . '  onChange="document.type0form.submit()">' . constant($game->sprache("TEXT105")) . '</form>
		</td><td width=150 valign=top>
		<form name="type1form" method="post" action="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&trigger=2&page=' . $_REQUEST['page']) . '"><input type="checkbox" name="type_1" value="1"' . ($_POST['type_1'] == 1 ? ' checked="checked"' : '') . '  onChange="document.type1form.submit()">' . constant($game->sprache("TEXT106")) . '</form>
		</td></tr><td>
		<form name="type2form" method="post" action="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&trigger=3&page=' . $_REQUEST['page']) . '"><input type="checkbox" name="type_2" value="1"' . ($_POST['type_2'] == 1 ? ' checked="checked"' : '') . '  onChange="document.type2form.submit()">' . constant($game->sprache("TEXT107")) . '</form>
		</td><td>
		<form name="type3form" method="post" action="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&trigger=4&page=' . $_REQUEST['page']) . '"><input type="checkbox" name="type_3" value="1"' . ($_POST['type_3'] == 1 ? ' checked="checked"' : '') . '  onChange="document.type3form.submit()">' . constant($game->sprache("TEXT108")) . '</form>
		</td>
		</tr></table>
		</td>
		</tr></table>
		</center><br>');
    $game->out('<center><table border=0 cellpadding=2 cellspacing=2 width=530 class="style_outer">');
    if (!isset($_REQUEST['page']) || $_REQUEST['page'] < 0) {
        $_REQUEST['page'] = 0;
    }
    $game->out('<tr><td width=530>
	<span class="sub_caption2">' . constant($game->sprache("TEXT109")) . ' ' . ($_REQUEST['page'] + 1) . ' ' . constant($game->sprache("TEXT110")) . ' ~' . round(count($tradedata) / $per_page + 1) . ')</span>');
    $game->out('<table border=0 cellpadding=4 cellspacing=0 width=530 class="style_inner">
	<tr><td width=235><b>' . constant($game->sprache("TEXT111")) . '</u></td><td width=200><b>' . constant($game->sprache("TEXT112")) . '</u></td><td width=25><b>#:</b></td><td width=70><b>' . constant($game->sprache("TEXT113")) . '</b></td>');
    for ($t = $_REQUEST['page'] * $per_page; $t < $_REQUEST['page'] * $per_page + $per_page; $t++) {
        if (isset($tradedata[$t])) {
            $sql = 'SELECT COUNT(*) AS num_bids FROM bidding WHERE trade_id = ' . $tradedata[$t]['id'];
            $count_bid = $db->queryrow($sql);
            $tradedata[$t]['num_bids'] = $count_bid['num_bids'];
            if ($tradedata[$t]['num_bids'] < 2) {
                $actual_price = '<img src="' . $game->GFX_PATH . 'menu_metal_small.gif">&nbsp;' . $tradedata[$t]['resource_1'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_mineral_small.gif">&nbsp;' . $tradedata[$t]['resource_2'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_latinum_small.gif">&nbsp;' . $tradedata[$t]['resource_3'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit1_small.gif">&nbsp;' . $tradedata[$t]['unit_1'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit2_small.gif">&nbsp;' . $tradedata[$t]['unit_2'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit3_small.gif">&nbsp;' . $tradedata[$t]['unit_3'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit4_small.gif">&nbsp;' . $tradedata[$t]['unit_4'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit5_small.gif">&nbsp;' . $tradedata[$t]['unit_5'];
                $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit6_small.gif">&nbsp;' . $tradedata[$t]['unit_6'];
            } else {
                $prelast_bid = $db->queryrow('SELECT * FROM bidding  WHERE trade_id = "' . $tradedata[$t]['id'] . '" ORDER BY max_bid DESC LIMIT 1,1');
                // Um zu testen, ob ein Gleichstand besteht, dann wird ja nicht max_bid +1
                $last_bid = $db->queryrow('SELECT * FROM bidding WHERE trade_id = "' . $tradedata[$t]['id'] . '" ORDER BY max_bid DESC LIMIT 1');
                if ($last_bid['max_bid'] != $prelast_bid['max_bid']) {
                    $actual_price = '<img src="' . $game->GFX_PATH . 'menu_metal_small.gif">&nbsp;' . ($tradedata[$t]['resource_1'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_resource_1']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_mineral_small.gif">&nbsp;' . ($tradedata[$t]['resource_2'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_resource_2']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_latinum_small.gif">&nbsp;' . ($tradedata[$t]['resource_3'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_resource_3']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit1_small.gif">&nbsp;' . ($tradedata[$t]['unit_1'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_unit_1']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit2_small.gif">&nbsp;' . ($tradedata[$t]['unit_2'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_unit_2']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit3_small.gif">&nbsp;' . ($tradedata[$t]['unit_3'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_unit_3']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit4_small.gif">&nbsp;' . ($tradedata[$t]['unit_4'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_unit_4']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit5_small.gif">&nbsp;' . ($tradedata[$t]['unit_5'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_unit_5']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit6_small.gif">&nbsp;' . ($tradedata[$t]['unit_6'] + ($prelast_bid['max_bid'] + 1) * $tradedata[$t]['add_unit_6']);
                } else {
                    $actual_price = '<img src="' . $game->GFX_PATH . 'menu_metal_small.gif">&nbsp;' . ($tradedata[$t]['resource_1'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_resource_1']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_mineral_small.gif">&nbsp;' . ($tradedata[$t]['resource_2'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_resource_2']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_latinum_small.gif">&nbsp;' . ($tradedata[$t]['resource_3'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_resource_3']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit1_small.gif">&nbsp;' . ($tradedata[$t]['unit_1'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_unit_1']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit2_small.gif">&nbsp;' . ($tradedata[$t]['unit_2'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_unit_2']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit3_small.gif">&nbsp;' . ($tradedata[$t]['unit_3'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_unit_3']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit4_small.gif">&nbsp;' . ($tradedata[$t]['unit_4'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_unit_4']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit5_small.gif">&nbsp;' . ($tradedata[$t]['unit_5'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_unit_5']);
                    $actual_price .= '&nbsp;&nbsp;<img src="' . $game->GFX_PATH . 'menu_unit6_small.gif">&nbsp;' . ($tradedata[$t]['unit_6'] + $prelast_bid['max_bid'] * $tradedata[$t]['add_unit_6']);
                }
            }
            $font_color = '#ffffff';
            $font_bold = '';
            if ($tradedata[$t]['font_bold']) {
                $font_bold = '<b>';
            }
            if ($tradedata[$t]['font_colored']) {
                $font_color = '#ffaaaa';
            }
            $game->out('<tr onMouseOver="mOver(this);" onMouseOut="mOut(this);" onClick="location.href=\'' . parse_link('a=trade&view=view_bidding_detail&id=' . $tradedata[$t]['id']) . '\'"  color:' . $font_color . ';">
				<td>' . $font_bold . $tradedata[$t]['header'] . '</b></td><td>' . $font_bold . $actual_price . '</b></td><td>' . $font_bold . $tradedata[$t]['num_bids'] . '</b></td><td>' . $font_bold . Zeit(TICK_DURATION * ($tradedata[$t]['end_time'] - $ACTUAL_TICK) + round($NEXT_TICK / 60, 0)) . '</b></td></tr>');
        }
    }
    $game->out('</table></td></tr></table>');
    // Men << >>
    $game->out('<br><center><table border=0 cellpadding=2 cellspacing=2 class="style_inner" width=300><tr>
		<td width=150 align=middle><a href="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&page=' . ($_REQUEST['page'] - 1)) . '">' . constant($game->sprache("TEXT102")) . '</a>
		</td><td width=150 align=middle><a href="' . parse_link('a=trade&view=' . $_REQUEST['view'] . '&page=' . ($_REQUEST['page'] + 1)) . '">' . constant($game->sprache("TEXT103")) . '</a>
		</td></tr></table>');
}
Пример #4
0

-->

</style>

<body bgcolor="#000000" text="#DDDDDD"  background="/gfx/bg_stars1.gif">

  <table class="style_outer" width="550" align="center" border="0" cellpadding="2" cellspacing="2">
    <tr>
      <td>
        <table class="style_inner" width="550" align="center" border="0" cellpadding="2" cellspacing="2">
    
';
if (isset($_GET['user'])) {
    $user_id = (int) $_GET['user'];
    echo '<td>&nbsp;</td><td><font size="3"><b>' . constant($game->sprache("TEXT1")) . '</b></font></td><td><font size="3"><b>' . get_username_by_id($user_id) . '</b></font></td></tr><tr><td>&nbsp;</td></tr><tr><td></td><td width="235"><b>' . constant($game->sprache("TEXT2")) . '</b></td><td width="200"><b>' . constant($game->sprache("TEXT3")) . '</b></td><td width="70"><b>' . constant($game->sprache("TEXT4")) . '</b></td></tr>';
    $config = $db->queryrow('SELECT * FROM config');
    $sql = 'SELECT * FROM ship_trade WHERE user = '******' AND end_time > ' . $config['tick_id'] . '';
    if (!($q_tradedata = $db->query($sql))) {
        message(DATABASE_ERROR, 'Could not query tradedata');
    }
    while ($tradedata = $db->fetchrow($q_tradedata)) {
        echo '<tr><td width="55" align="center">[<a onclick="opener.window.location=this.href;self.close();return false" href="/game/index.php?a=trade&view=view_bidding_detail&id=' . $tradedata['id'] . '">' . constant($game->sprache("TEXT5")) . '</a>]</td><td>' . $tradedata['header'] . '</td><td><img src="' . PROXY_GFX_PATH . '/skin1/menu_metal_small.gif">&nbsp;' . $tradedata['resource_1'] . '&nbsp;<img src="' . PROXY_GFX_PATH . '/skin1/menu_mineral_small.gif">&nbsp;' . $tradedata['resource_2'] . '&nbsp;<img src="' . PROXY_GFX_PATH . '/skin1/menu_latinum_small.gif">&nbsp;' . $tradedata['resource_3'] . '&nbsp;<br><img src="' . PROXY_GFX_PATH . '/skin1/menu_unit1_small.gif">&nbsp;' . $tradedata['unit_1'] . '&nbsp;<img src="' . PROXY_GFX_PATH . '/skin1/menu_unit2_small.gif">&nbsp;' . $tradedata['unit_2'] . '&nbsp;<img src="' . PROXY_GFX_PATH . '/skin1/menu_unit3_small.gif">&nbsp;' . $tradedata['unit_3'] . '&nbsp;<img src="' . PROXY_GFX_PATH . '/skin1/menu_unit4_small.gif">&nbsp;' . $tradedata['unit_4'] . '&nbsp;<img src="' . PROXY_GFX_PATH . '/skin1/menu_unit5_small.gif">&nbsp;' . $tradedata['unit_5'] . '&nbsp;<img src="' . PROXY_GFX_PATH . '/skin1/menu_unit6_small.gif">&nbsp;' . $tradedata['unit_6'] . '</td><td>' . Zeit(TICK_DURATION * ($tradedata['end_time'] - $config['tick_id'])) . '</td></tr>';
    }
} else {
    echo constant($game->sprache("TEXT6"));
}
echo '</table></td></tr></table></body>
</html>';
$db->close();
function display_ferengi_transfer($planet_id, $planet_system, $system_x, $system_y, $build_11)
{
    global $game, $db;
    $game->out('<br><br>
<table class="style_outer" width="400" align="center" border="0" cellpadding="2" cellspacing="2"><tr><td>
  <table class="style_inner" wisth0"400" align="center" border="0" cellpadding="2" cellspacing="2">');
    if ($game->option_retr('show_trade') == 0) {
        $game->out('
  <tr>
    <td><b>' . constant($game->sprache("TEXT15")) . '  <b>[<a href="' . parse_link('a=tactical_cartography&planet_id=' . $_GET['planet_id'] . '&strade=1') . '"><i>' . constant($game->sprache("TEXT16")) . '</i></a>]</b></td></tr>');
    } elseif ($build_11 < 1 || $game->planet['building_11'] < 1) {
        $game->out('
  <tr>
    <td><b>' . constant($game->sprache("TEXT15")) . '  <b>[<a href="' . parse_link('a=tactical_cartography&planet_id=' . $_GET['planet_id'] . '"&strade=0') . '"><i>' . constant($game->sprache("TEXT17")) . '</i></a>]</b><br><b><br>' . constant($game->sprache("TEXT18")) . '</b></td></tr>');
    } else {
        $game->out('
    <script language="JavaScript">
    function UpdateValues()
    {
    var i;
        var res_1=eval(document.tradeform.res_1.value);
        var res_2=eval(document.tradeform.res_2.value);
        var res_3=eval(document.tradeform.res_3.value);
        ');
        for ($x = 0; $x < 6; $x++) {
            $game->out('
        if (document.tradeform.unit_' . ($x + 1) . '.value>0)
        {
        res_1+=eval("' . UnitPrice($x, 0, $game->player['user_race']) . '")*eval(document.tradeform.unit_' . ($x + 1) . '.value);
        res_2+=eval("' . UnitPrice($x, 1, $game->player['user_race']) . '")*eval(document.tradeform.unit_' . ($x + 1) . '.value);
        res_3+=eval("' . UnitPrice($x, 2, $game->player['user_race']) . '")*eval(document.tradeform.unit_' . ($x + 1) . '.value);
        }
        ');
        }
        if ($game->planet['system_id'] == $planet_system) {
            $distance = 6;
        } else {
            $distance = get_distance(array($game->planet['system_global_x'], $game->planet['system_global_y']), array($system_x, $system_y));
            $velocity = warpf(6);
            $distance = ceil($distance / $velocity / TICK_DURATION);
        }
        $game->out('
        var ttax_set=' . (0.18 - 0.01 * $game->planet['building_11']) . ';
        document.getElementById( "res1" ).firstChild.nodeValue = Math.round(res_1*ttax_set);
        document.getElementById( "res2" ).firstChild.nodeValue = Math.round(res_2*ttax_set);
        document.getElementById( "res3" ).firstChild.nodeValue = Math.round(res_3*ttax_set);
        window.setTimeout( \'UpdateValues()\', 500 );
    }
    </script>

  <form name="tradeform" method="post" action="' . parse_link('a=tactical_cartography&planet_id=' . $_GET['planet_id']) . '">
  <tr>
    <td colspan=3 align="center"><b>' . constant($game->sprache("TEXT19")) . '<br>(' . constant($game->sprache("TEXT22")) . ' ' . Zeit($distance * TICK_DURATION) . ')</b><br><br>
    </td>
  </tr>
  <tr>
  <td><img src=' . $game->GFX_PATH . 'menu_metal_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="res_1" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  <td><img src=' . $game->GFX_PATH . 'menu_unit1_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="unit_1" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  <td><img src=' . $game->GFX_PATH . 'menu_unit4_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="unit_4" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  </tr>

  <tr>
  <td><img src=' . $game->GFX_PATH . 'menu_mineral_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="res_2" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  <td><img src=' . $game->GFX_PATH . 'menu_unit2_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="unit_2" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  <td><img src=' . $game->GFX_PATH . 'menu_unit5_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="unit_5" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  </tr>

  <tr>
  <td><img src=' . $game->GFX_PATH . 'menu_latinum_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="res_3" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  <td><img src=' . $game->GFX_PATH . 'menu_unit3_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="unit_3" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  <td><img src=' . $game->GFX_PATH . 'menu_unit6_small.gif>&nbsp;&nbsp;&nbsp;<input class="field"  style="width: 60px;" type="text" name="unit_6" value="0" onFocus="UpdateValues();">&nbsp&nbsp</td>
  </tr>
  <tr>
  <td colspan=3 align="center">
    <b>' . constant($game->sprache("TEXT20")) . '</b>
    <img src=' . $game->GFX_PATH . 'menu_metal_small.gif>&nbsp;&nbsp;&nbsp;<b id="res1">0</b>
    <img src=' . $game->GFX_PATH . 'menu_mineral_small.gif>&nbsp;&nbsp;&nbsp;<b id="res2">0</b>
    <img src=' . $game->GFX_PATH . 'menu_latinum_small.gif>&nbsp;&nbsp;&nbsp;<b id="res3">0</b>
  </td>
  </tr>
  <tr>
  <td colspan=3 align="center">
    <input class="button" type="submit" name="trade" value="' . constant($game->sprache("TEXT21")) . '"><br><br><b>
    [<a href="' . parse_link('a=tactical_cartography&planet_id=' . $_GET['planet_id'] . '&strade=0') . '"><i>' . constant($game->sprache("TEXT17")) . '</i></a>]</b>
  </td>
  </tr>
  </form>');
    }
    $game->out('</table></td></tr></table><br>');
}
Пример #6
0
function GetBuildingTime($building)
{
    global $game;
    global $RACE_DATA, $BUILDING_DATA, $PLANETS_DATA;
    $time = $BUILDING_DATA[$building][3] + 3 * pow($game->planet['building_' . ($building + 1)], $BUILDING_DATA[$building][4]);
    if ($building == 9) {
        $time = $BUILDING_DATA[$building][3];
    }
    if ($building == 12) {
        $time = $BUILDING_DATA[$building][3];
    }
    $time *= $RACE_DATA[$game->player['user_race']][1];
    $time /= 100;
    $time *= 100 - 2 * ($game->planet['research_4'] * $RACE_DATA[$game->player['user_race']][20]);
    $time *= $PLANETS_DATA[$game->planet['planet_type']][5];
    $time = TICK_DURATION * round($time, 0);
    return Zeit($time);
}
Пример #7
0
function Show_Main()
{
    global $db;
    global $game;
    global $SHIP_TORSO, $SHIP_DESCRIPTION, $UNIT_DESCRIPTION, $UNIT_DATA, $UNIT_NAME, $SHIP_DATA, $PLANETS_DATA, $MAX_BUILDING_LVL, $NEXT_TICK, $ACTUAL_TICK;
    Show_Common_Menues();
    $class_selector_2 = filter_input(INPUT_POST, 'line2', FILTER_SANITIZE_NUMBER_INT);
    if (isset($class_selector_2) && $class_selector_2 >= 0 && $class_selector_2 < 2) {
        $db->query('UPDATE planets SET line_2_preset = ' . $class_selector_2 . ' WHERE planet_id = ' . $game->planet['planet_id']);
        $game->planet['line_2_preset'] = $class_selector_2;
    }
    $class_selector_3 = filter_input(INPUT_POST, 'line3', FILTER_SANITIZE_NUMBER_INT);
    if (isset($class_selector_3) && $class_selector_3 >= 0 && $class_selector_3 < 3) {
        $db->query('UPDATE planets SET line_3_preset = ' . $class_selector_3 . ' WHERE planet_id = ' . $game->planet['planet_id']);
        $game->planet['line_3_preset'] = $class_selector_3;
    }
    $class_selector_4 = filter_input(INPUT_POST, 'line4', FILTER_SANITIZE_NUMBER_INT);
    if (isset($class_selector_4) && $class_selector_4 >= 0 && $class_selector_4 < 4) {
        $db->query('UPDATE planets SET line_4_preset = ' . $class_selector_4 . ' WHERE planet_id = ' . $game->planet['planet_id']);
        $game->planet['line_4_preset'] = $class_selector_4;
    }
    $game->out('<fieldset><legend><span class="sub_caption2">' . constant($game->sprache("TEXT68")) . ' ' . constant($game->sprache("TEXT72")) . '</span></legend><br>');
    $schedulerquery = $db->query('SELECT * FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build<=' . $ACTUAL_TICK . ') AND line_id = 0 ORDER BY start_build ASC');
    if ($db->num_rows() > 0) {
        $game->out('<table border=0 cellpadding=2 cellspacing=2 width="100%" class="style_inner"><caption><span class="sub_caption2">' . constant($game->sprache("TEXT30")) . '</span></caption>');
        $scheduler = $db->fetchrow($schedulerquery);
        $template = $db->queryrow('SELECT * FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $scheduler['ship_type'] . '")');
        $game->out('<tr><th>' . constant($game->sprache("TEXT31")) . '</th><th>' . constant($game->sprache("TEXT32")) . '</th><th>' . constant($game->sprache("TEXT34")) . '</th><th> Azione </th></tr><tr>');
        $game->out('<td width="25%" align="center"> <a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateInfoText($template) . '\', CAPTION, \'' . addslashes($template['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $template['name'] . '</a></td>');
        $game->out('<td width="25%" align="center"> <b id="timer2" title="time1_' . ($NEXT_TICK + TICK_DURATION * 60 * ($scheduler['finish_build'] - $ACTUAL_TICK)) . '_type1_1">&nbsp;</b></td>');
        $queue_query = $db->queryrowset('SELECT ship_type, finish_build FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build>=' . $ACTUAL_TICK . ') AND line_id = 0 ORDER BY start_build ASC');
        $num_rows = $db->num_rows();
        if ($num_rows > 0) {
            $queue_text = '<table width=250 border=0 cellpadding=0 cellspacing=0>';
            foreach ($queue_query as $queue_finish_time) {
                $template = $db->queryrow('SELECT name FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $queue_finish_time['ship_type'] . '")');
                $queue_text .= '<tr><td>' . $template['name'] . '</td><td>' . date("d.M H:i", time() + $NEXT_TICK + ($queue_finish_time['finish_build'] - $ACTUAL_TICK) * TICK_DURATION * 60) . '</td></tr>';
            }
            $queue_text .= '</table>';
            $game->out('<td width="25%" align="center">&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . addslashes($queue_text) . '\', CAPTION, \'' . constant($game->sprache("TEXT76")) . '\', WIDTH, 250, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"> ' . constant($game->sprache("TEXT34")) . $num_rows . ' </a> </td>');
        } else {
            $game->out('<td width="25%" align="center"> ' . constant($game->sprache("TEXT34")) . '0 </td>');
        }
        $game->out('<td width="25%" align="center"><form name="abort" method="post" action="index.php?a=shipyard&a2=abort_build" onSubmit="return document.abort.submita.disabled = true;">
                <input type="hidden" name="correct_abort" value="1">
                <input type="hidden" name="line_correct_abort" value="0">
                <input type="submit" name="submita" class="button" style="width: 100px;" value ="' . constant($game->sprache("TEXT33")) . '">
                </form></td>');
        $game->out('</tr></table><br>');
    }
    $query_line_0 = 'SELECT * FROM ship_templates WHERE owner = ' . $game->player['user_id'] . ' AND removed = 0 AND ship_class = 0 ORDER BY ship_torso ASC, name ASC';
    $list_line_0 = $db->query($query_line_0);
    $n_tplt_0 = $db->num_rows($list_line_0);
    if ($n_tplt_0 > 0) {
        $elements_lines_0 = $db->fetchrowset($list_line_0);
        foreach ($elements_lines_0 as $id => $element_item) {
            $element_item['buildtime'] = $element_item['buildtime'] + round($element_item['buildtime'] * 0.3 * (0.9 - 0.1 * $game->planet['building_8']), 0);
            $maxnum = 0;
            if (!TemplateMetRequirements($element_item)) {
                $build_text = '&nbsp;&nbsp;<span style="color: red">' . constant($game->sprache("TEXT54")) . '</span>';
            } else {
                if ($maxnum = CanAffordTemplate($element_item, $game->player, $game->planet)) {
                    $build_text = '<input type="hidden" name="correct" value="1"><input type="submit" name="submit" class="button" style="width: 60px;" value ="' . constant($game->sprache("TEXT54")) . '">';
                } else {
                    $build_text = '&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateResourceRequestedText($element_item, $game->player, $game->planet) . '\', CAPTION, \'' . constant($game->sprache("TEXT67")) . '\', WIDTH, 170, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"><span style="color: yellow">' . constant($game->sprache("TEXT54")) . '</span></a>';
                }
            }
            $table0[] = '<tr height=15><td width=200><b><a href="' . parse_link('a=ship_template&view=compare&ship0=' . $element_item['id']) . '" onmouseover="return overlib(\'' . CreateInfoText($element_item) . '\', CAPTION, \'' . addslashes($element_item['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $element_item['name'] . '</a></b></td><td>' . Zeit($element_item['buildtime'] * TICK_DURATION) . '</td><td>' . '<form name="send' . $element_item['id'] . '" method="post" action="index.php?a=shipyard&a2=start_build&id=' . $element_item['id'] . '" onSubmit="return document.send' . $element_item['id'] . '.submit.disabled = true;"><input type="hidden" name="line_request" value=0><input type="text" name="count" size="4" class="field_nosize" value="' . $maxnum . '">&nbsp;&nbsp;&nbsp;' . $build_text . '</td></tr></form>';
        }
    } else {
    }
    $game->out('<table border=0 cellpadding=2 cellspacing=2 width="100%" class="style_inner"><tr><td width=200><span class="sub_caption2">' . constant($game->sprache("TEXT51")) . '</span></td><td width=175><span class="sub_caption2">' . constant($game->sprache("TEXT52")) . '</span></td><td width=120><span class="sub_caption2">' . constant($game->sprache("TEXT53")) . '</span></td></tr>');
    if (count($table0) > 0) {
        foreach ($table0 as $row) {
            $game->out($row);
        }
    }
    $game->out('</table>');
    $game->out('</fieldset><br><br>');
    if ($PLANETS_DATA[$game->planet['planet_type']][14] > 1) {
        if (is_null($game->planet['line_2_preset'])) {
            $game->planet['line_2_preset'] = 1;
        }
        $game->out('<fieldset><legend><span class="sub_caption2">' . constant($game->sprache("TEXT69")) . '</span></legend><br>');
        $game->out('<form name="select_line2_class" method="post" action="index.php?a=shipyard">');
        $game->out('<select name="line2" onchange="this.form.submit()">');
        $game->out('<option value=1 ' . ($game->planet['line_2_preset'] == 1 ? 'selected' : '') . '>' . constant($game->sprache("TEXT73")) . '</option>');
        $game->out('<option value=0 ' . ($game->planet['line_2_preset'] == 0 ? 'selected' : '') . '>' . constant($game->sprache("TEXT72")) . '</option>');
        $game->out('</select></form><br>');
        $schedulerquery = $db->query('SELECT * FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build<=' . $ACTUAL_TICK . ') AND line_id = 1 ORDER BY start_build ASC');
        if ($db->num_rows() > 0) {
            $game->out('<table border=0 cellpadding=2 cellspacing=2 width="100%" class="style_inner"><caption><span class="sub_caption2">' . constant($game->sprache("TEXT30")) . '</span></caption>');
            $scheduler = $db->fetchrow($schedulerquery);
            $template = $db->queryrow('SELECT * FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $scheduler['ship_type'] . '")');
            $game->out('<tr><th>' . constant($game->sprache("TEXT31")) . '</th><th>' . constant($game->sprache("TEXT32")) . '</th><th>' . constant($game->sprache("TEXT34")) . '</th><th> Azione </th></tr><tr>');
            $game->out('<td width="25%" align="center"> <a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateInfoText($template) . '\', CAPTION, \'' . addslashes($template['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $template['name'] . '</a></td>');
            $game->out('<td width="25%" align="center"> <b id="timer3" title="time1_' . ($NEXT_TICK + TICK_DURATION * 60 * ($scheduler['finish_build'] - $ACTUAL_TICK)) . '_type1_1">&nbsp;</b></td>');
            $queue_query = $db->queryrowset('SELECT ship_type, finish_build FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build>=' . $ACTUAL_TICK . ') AND line_id = 1 ORDER BY start_build ASC');
            $num_rows = $db->num_rows();
            if ($num_rows > 0) {
                $queue_text = '<table width=250 border=0 cellpadding=0 cellspacing=0>';
                foreach ($queue_query as $queue_finish_time) {
                    $template = $db->queryrow('SELECT name FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $queue_finish_time['ship_type'] . '")');
                    $queue_text .= '<tr><td>' . $template['name'] . '</td><td>' . date("d.M H:i", time() + $NEXT_TICK + ($queue_finish_time['finish_build'] - $ACTUAL_TICK) * TICK_DURATION * 60) . '</td></tr>';
                }
                $queue_text .= '</table>';
                $game->out('<td width="25%" align="center">&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . addslashes($queue_text) . '\', CAPTION, \'' . constant($game->sprache("TEXT76")) . '\', WIDTH, 250, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"> ' . constant($game->sprache("TEXT34")) . $num_rows . ' </a> </td>');
            } else {
                $game->out('<td width="25%" align="center"> ' . constant($game->sprache("TEXT34")) . '0 </td>');
            }
            $game->out('<td width="25%" align="center"><form name="abort" method="post" action="index.php?a=shipyard&a2=abort_build" onSubmit="return document.abort.submita.disabled = true;">
                <input type="hidden" name="correct_abort" value="1">
                <input type="hidden" name="line_correct_abort" value="1">
                <input type="submit" name="submita" class="button" style="width: 100px;" value ="' . constant($game->sprache("TEXT33")) . '">
                </form></td>');
            $game->out('</tr></table><br>');
        }
        $query_line_1 = 'SELECT * FROM ship_templates WHERE owner = ' . $game->player['user_id'] . ' AND removed = 0 AND ship_class = ' . $game->planet['line_2_preset'] . ' ORDER BY ship_torso ASC, name ASC';
        $list_line_1 = $db->query($query_line_1);
        $n_tplt_1 = $db->num_rows($list_line_1);
        if ($n_tplt_1 > 0) {
            $elements_lines_1 = $db->fetchrowset($list_line_1);
            foreach ($elements_lines_1 as $id => $element_item) {
                $element_item['buildtime'] = $element_item['buildtime'] + round($element_item['buildtime'] * 0.3 * (0.9 - 0.1 * $game->planet['building_8']), 0);
                $maxnum = 0;
                if (!TemplateMetRequirements($element_item)) {
                    $build_text = '&nbsp;&nbsp;<span style="color: red">' . constant($game->sprache("TEXT54")) . '</span>';
                } else {
                    if ($maxnum = CanAffordTemplate($element_item, $game->player, $game->planet)) {
                        $build_text = '<input type="hidden" name="correct" value="1"><input type="submit" name="submit" class="button" style="width: 60px;" value ="' . constant($game->sprache("TEXT54")) . '">';
                    } else {
                        $build_text = '&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateResourceRequestedText($element_item, $game->player, $game->planet) . '\', CAPTION, \'' . constant($game->sprache("TEXT67")) . '\', WIDTH, 170, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"><span style="color: yellow">' . constant($game->sprache("TEXT54")) . '</span></a>';
                    }
                }
                $table1[] = '<tr height=15><td width=200><b><a href="' . parse_link('a=ship_template&view=compare&ship0=' . $element_item['id']) . '" onmouseover="return overlib(\'' . CreateInfoText($element_item) . '\', CAPTION, \'' . addslashes($element_item['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $element_item['name'] . '</a></b></td><td>' . Zeit($element_item['buildtime'] * TICK_DURATION) . '</td><td>' . '<form name="send' . $element_item['id'] . '" method="post" action="index.php?a=shipyard&a2=start_build&id=' . $element_item['id'] . '" onSubmit="return document.send' . $element_item['id'] . '.submit.disabled = true;"><input type="hidden" name="line_request" value=1><input type="text" name="count" size="4" class="field_nosize" value="' . $maxnum . '">&nbsp;&nbsp;&nbsp;' . $build_text . '</td></tr></form>';
            }
        } else {
        }
        $game->out('<table border=0 cellpadding=2 cellspacing=2 width="100%" class="style_inner"><tr><td width=200><span class="sub_caption2">' . constant($game->sprache("TEXT51")) . '</span></td><td width=175><span class="sub_caption2">' . constant($game->sprache("TEXT52")) . '</span></td><td width=120><span class="sub_caption2">' . constant($game->sprache("TEXT53")) . '</span></td></tr>');
        if (count($table1) > 0) {
            foreach ($table1 as $row) {
                $game->out($row);
            }
        }
        $game->out('</table>');
        $game->out('</fieldset><br><br>');
    }
    if ($PLANETS_DATA[$game->planet['planet_type']][14] > 2) {
        if (is_null($game->planet['line_3_preset'])) {
            $game->planet['line_3_preset'] = 2;
        }
        $game->out('<fieldset><legend><span class="sub_caption2">' . constant($game->sprache("TEXT70")) . '</span></legend><br>');
        $game->out('<form name="select_line3_class" method="post" action="index.php?a=shipyard">');
        $game->out('<select name="line3" onchange="this.form.submit()">');
        $game->out('<option value=2 ' . ($game->planet['line_3_preset'] == 2 ? 'selected' : '') . '>' . constant($game->sprache("TEXT74")) . '</option>');
        $game->out('<option value=1 ' . ($game->planet['line_3_preset'] == 1 ? 'selected' : '') . '>' . constant($game->sprache("TEXT73")) . '</option>');
        $game->out('<option value=0 ' . ($game->planet['line_3_preset'] == 0 ? 'selected' : '') . '>' . constant($game->sprache("TEXT72")) . '</option>');
        $game->out('</select></form><br>');
        $schedulerquery = $db->query('SELECT * FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build<=' . $ACTUAL_TICK . ') AND line_id = 2 ORDER BY start_build ASC');
        if ($db->num_rows() > 0) {
            $game->out('<table border=0 cellpadding=2 cellspacing=2 width="100%" class="style_inner"><caption><span class="sub_caption2">' . constant($game->sprache("TEXT30")) . '</span></caption>');
            $scheduler = $db->fetchrow($schedulerquery);
            $template = $db->queryrow('SELECT * FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $scheduler['ship_type'] . '")');
            $game->out('<tr><th>' . constant($game->sprache("TEXT31")) . '</th><th>' . constant($game->sprache("TEXT32")) . '</th><th>' . constant($game->sprache("TEXT34")) . '</th><th> Azione </th></tr><tr>');
            $game->out('<td width="25%" align="center"> <a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateInfoText($template) . '\', CAPTION, \'' . addslashes($template['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $template['name'] . '</a></td>');
            $game->out('<td width="25%" align="center"> <b id="timer4" title="time1_' . ($NEXT_TICK + TICK_DURATION * 60 * ($scheduler['finish_build'] - $ACTUAL_TICK)) . '_type1_1">&nbsp;</b></td>');
            $queue_query = $db->queryrowset('SELECT ship_type, finish_build FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build>=' . $ACTUAL_TICK . ') AND line_id = 2 ORDER BY start_build ASC');
            $num_rows = $db->num_rows();
            if ($num_rows > 0) {
                $queue_text = '<table width=250 border=0 cellpadding=0 cellspacing=0>';
                foreach ($queue_query as $queue_finish_time) {
                    $template = $db->queryrow('SELECT name FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $queue_finish_time['ship_type'] . '")');
                    $queue_text .= '<tr><td>' . $template['name'] . '</td><td>' . date("d.M H:i", time() + $NEXT_TICK + ($queue_finish_time['finish_build'] - $ACTUAL_TICK) * TICK_DURATION * 60) . '</td></tr>';
                }
                $queue_text .= '</table>';
                $game->out('<td width="25%" align="center">&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . addslashes($queue_text) . '\', CAPTION, \'' . constant($game->sprache("TEXT76")) . '\', WIDTH, 250, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"> ' . constant($game->sprache("TEXT34")) . $num_rows . ' </a> </td>');
            } else {
                $game->out('<td width="25%" align="center"> ' . constant($game->sprache("TEXT34")) . '0 </td>');
            }
            $game->out('<td width="25%" align="center"><form name="abort" method="post" action="index.php?a=shipyard&a2=abort_build" onSubmit="return document.abort.submita.disabled = true;">
                <input type="hidden" name="correct_abort" value="1">
                <input type="hidden" name="line_correct_abort" value="2">
                <input type="submit" name="submita" class="button" style="width: 100px;" value ="' . constant($game->sprache("TEXT33")) . '">
                </form></td>');
            $game->out('</tr></table><br>');
        }
        $query_line_2 = 'SELECT * FROM ship_templates WHERE owner = ' . $game->player['user_id'] . ' AND removed = 0 AND ship_class = ' . $game->planet['line_3_preset'] . ' ORDER BY ship_torso ASC, name ASC';
        $list_line_2 = $db->query($query_line_2);
        $n_tplt_2 = $db->num_rows($list_line_2);
        if ($n_tplt_2 > 0) {
            $elements_lines_2 = $db->fetchrowset($list_line_2);
            foreach ($elements_lines_2 as $id => $element_item) {
                $element_item['buildtime'] = $element_item['buildtime'] + round($element_item['buildtime'] * 0.3 * (0.9 - 0.1 * $game->planet['building_8']), 0);
                $maxnum = 0;
                if (!TemplateMetRequirements($element_item)) {
                    $build_text = '&nbsp;&nbsp;<span style="color: red">' . constant($game->sprache("TEXT54")) . '</span>';
                } else {
                    if ($maxnum = CanAffordTemplate($element_item, $game->player, $game->planet)) {
                        $build_text = '<input type="hidden" name="correct" value="1"><input type="submit" name="submit" class="button" style="width: 60px;" value ="' . constant($game->sprache("TEXT54")) . '">';
                    } else {
                        $build_text = '&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateResourceRequestedText($element_item, $game->player, $game->planet) . '\', CAPTION, \'' . constant($game->sprache("TEXT67")) . '\', WIDTH, 170, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"><span style="color: yellow">' . constant($game->sprache("TEXT54")) . '</span></a>';
                    }
                }
                $table2[] = '<tr height=15><td width=200><b><a href="' . parse_link('a=ship_template&view=compare&ship0=' . $element_item['id']) . '" onmouseover="return overlib(\'' . CreateInfoText($element_item) . '\', CAPTION, \'' . addslashes($element_item['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $element_item['name'] . '</a></b></td><td>' . Zeit($element_item['buildtime'] * TICK_DURATION) . '</td><td>' . '<form name="send' . $element_item['id'] . '" method="post" action="index.php?a=shipyard&a2=start_build&id=' . $element_item['id'] . '" onSubmit="return document.send' . $element_item['id'] . '.submit.disabled = true;"><input type="hidden" name="line_request" value=2><input type="text" name="count" size="4" class="field_nosize" value="' . $maxnum . '">&nbsp;&nbsp;&nbsp;' . $build_text . '</td></tr></form>';
            }
        } else {
        }
        $game->out('<table border=0 cellpadding=2 cellspacing=2 width=100% class="style_inner"><tr><td width=200><span class="sub_caption2">' . constant($game->sprache("TEXT51")) . '</span></td><td width=175><span class="sub_caption2">' . constant($game->sprache("TEXT52")) . '</span></td><td width=120><span class="sub_caption2">' . constant($game->sprache("TEXT53")) . '</span></td></tr>');
        if (count($table2) > 0) {
            foreach ($table2 as $row) {
                $game->out($row);
            }
        }
        $game->out('</table>');
        $game->out('</fieldset><br><br>');
    }
    if ($PLANETS_DATA[$game->planet['planet_type']][14] > 3) {
        if (is_null($game->planet['line_4_preset'])) {
            $game->planet['line_4_preset'] = 3;
        }
        $game->out('<fieldset><legend><span class="sub_caption2">' . constant($game->sprache("TEXT71")) . '</span></legend><br>');
        $game->out('<form name="select_line4_class" method="post" action="index.php?a=shipyard">');
        $game->out('<select name="line4" onchange="this.form.submit()">');
        $game->out('<option value=3 ' . ($game->planet['line_4_preset'] == 3 ? 'selected' : '') . '>' . constant($game->sprache("TEXT75")) . '</option>');
        $game->out('<option value=2 ' . ($game->planet['line_4_preset'] == 2 ? 'selected' : '') . '>' . constant($game->sprache("TEXT74")) . '</option>');
        $game->out('<option value=1 ' . ($game->planet['line_4_preset'] == 1 ? 'selected' : '') . '>' . constant($game->sprache("TEXT73")) . '</option>');
        $game->out('<option value=0 ' . ($game->planet['line_4_preset'] == 0 ? 'selected' : '') . '>' . constant($game->sprache("TEXT72")) . '</option>');
        $game->out('</select></form><br>');
        $schedulerquery = $db->query('SELECT * FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build<=' . $ACTUAL_TICK . ') AND line_id = 3 ORDER BY start_build ASC');
        if ($db->num_rows() > 0) {
            $game->out('<table border=0 cellpadding=2 cellspacing=2 width="100%" class="style_inner"><caption><span class="sub_caption2">' . constant($game->sprache("TEXT30")) . '</span></caption>');
            $scheduler = $db->fetchrow($schedulerquery);
            $template = $db->queryrow('SELECT * FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $scheduler['ship_type'] . '")');
            $game->out('<tr><th>' . constant($game->sprache("TEXT31")) . '</th><th>' . constant($game->sprache("TEXT32")) . '</th><th>' . constant($game->sprache("TEXT34")) . '</th><th> Azione </th></tr><tr>');
            $game->out('<td width="25%" align="center"> <a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateInfoText($template) . '\', CAPTION, \'' . addslashes($template['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $template['name'] . '</a></td>');
            $game->out('<td width="25%" align="center"> <b id="timer5" title="time1_' . ($NEXT_TICK + TICK_DURATION * 60 * ($scheduler['finish_build'] - $ACTUAL_TICK)) . '_type1_1">&nbsp;</b></td>');
            $queue_query = $db->queryrowset('SELECT ship_type, finish_build FROM scheduler_shipbuild WHERE (planet_id="' . $game->planet['planet_id'] . '") AND (start_build>=' . $ACTUAL_TICK . ') AND line_id = 3 ORDER BY start_build ASC');
            $num_rows = $db->num_rows();
            if ($num_rows > 0) {
                $queue_text = '<table width=250 border=0 cellpadding=0 cellspacing=0>';
                foreach ($queue_query as $queue_finish_time) {
                    $template = $db->queryrow('SELECT name FROM ship_templates WHERE (owner="' . $game->player['user_id'] . '") AND (id="' . $queue_finish_time['ship_type'] . '")');
                    $queue_text .= '<tr><td>' . $template['name'] . '</td><td>' . date("d.M H:i", time() + $NEXT_TICK + ($queue_finish_time['finish_build'] - $ACTUAL_TICK) * TICK_DURATION * 60) . '</td></tr>';
                }
                $queue_text .= '</table>';
                $game->out('<td width="25%" align="center">&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . addslashes($queue_text) . '\', CAPTION, \'' . constant($game->sprache("TEXT76")) . '\', WIDTH, 250, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"> ' . constant($game->sprache("TEXT34")) . $num_rows . ' </a> </td>');
            } else {
                $game->out('<td width="25%" align="center"> ' . constant($game->sprache("TEXT34")) . '0 </td>');
            }
            $game->out('<td width="25%" align="center"><form name="abort" method="post" action="index.php?a=shipyard&a2=abort_build" onSubmit="return document.abort.submita.disabled = true;">
                <input type="hidden" name="correct_abort" value="1">
                <input type="hidden" name="line_correct_abort" value="3">
                <input type="submit" name="submita" class="button" style="width: 100px;" value ="' . constant($game->sprache("TEXT33")) . '">
                </form></td>');
            $game->out('</tr></table><br>');
        }
        $query_line_3 = 'SELECT * FROM ship_templates WHERE owner = ' . $game->player['user_id'] . ' AND removed = 0 AND ship_class = ' . $game->planet['line_4_preset'] . ' ORDER BY ship_torso ASC, name ASC';
        $list_line_3 = $db->query($query_line_3);
        $n_tplt_3 = $db->num_rows($list_line_3);
        if ($n_tplt_3 > 0) {
            $elements_lines_3 = $db->fetchrowset($list_line_3);
            foreach ($elements_lines_3 as $id => $element_item) {
                $element_item['buildtime'] = $element_item['buildtime'] + round($element_item['buildtime'] * 0.3 * (0.9 - 0.1 * $game->planet['building_8']), 0);
                $maxnum = 0;
                if (!TemplateMetRequirements($element_item)) {
                    $build_text = '&nbsp;&nbsp;<span style="color: red">' . constant($game->sprache("TEXT54")) . '</span>';
                } else {
                    if ($maxnum = CanAffordTemplate($element_item, $game->player, $game->planet)) {
                        $build_text = '<input type="hidden" name="correct" value="1"><input type="submit" name="submit" class="button" style="width: 60px;" value ="' . constant($game->sprache("TEXT54")) . '">';
                    } else {
                        $build_text = '&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onmouseover="return overlib(\'' . CreateResourceRequestedText($element_item, $game->player, $game->planet) . '\', CAPTION, \'' . constant($game->sprache("TEXT67")) . '\', WIDTH, 170, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();"><span style="color: yellow">' . constant($game->sprache("TEXT54")) . '</span></a>';
                    }
                }
                $table3[] = '<tr height=15><td width=200><b><a href="' . parse_link('a=ship_template&view=compare&ship0=' . $element_item['id']) . '" onmouseover="return overlib(\'' . CreateInfoText($element_item) . '\', CAPTION, \'' . addslashes($element_item['name']) . '\', WIDTH, 500, ' . OVERLIB_STANDARD . ');" onmouseout="return nd();">' . $element_item['name'] . '</a></b></td><td>' . Zeit($element_item['buildtime'] * TICK_DURATION) . '</td><td>' . '<form name="send' . $element_item['id'] . '" method="post" action="index.php?a=shipyard&a2=start_build&id=' . $element_item['id'] . '" onSubmit="return document.send' . $element_item['id'] . '.submit.disabled = true;"><input type="hidden" name="line_request" value=3><input type="text" name="count" size="4" class="field_nosize" value="' . $maxnum . '">&nbsp;&nbsp;&nbsp;' . $build_text . '</td></tr></form>';
            }
        } else {
        }
        $game->out('<table border=0 cellpadding=2 cellspacing=2 width=100% class="style_inner"><tr><td width=200><span class="sub_caption2">' . constant($game->sprache("TEXT51")) . '</span></td><td width=175><span class="sub_caption2">' . constant($game->sprache("TEXT52")) . '</span></td><td width=120><span class="sub_caption2">' . constant($game->sprache("TEXT53")) . '</span></td></tr>');
        if (count($table3) > 0) {
            foreach ($table3 as $row) {
                $game->out($row);
            }
        }
        $game->out('</table>');
        $game->out('</fieldset><br><br>');
    }
}