nie wieder 105h Wegdauer :) if (strlen($zahl) == 1) { return "0".$zahl; } elseif (strlen($zahl) > 2) { return "99"; } else { return $zahl; } } function calculate_distance($x1, $y1, $x2, $y2) { //Berechnung der Felder, die zwischen A und B liegen $S1 = $x1 - $x2; $S2 = $y1 - $y2; $SQuadrat = $S1 * $S1 + $S2 * $S2; return sqrt($SQuadrat); } function calculate_time($volk, $tid, $strecke, $sekunde=false) { //Berechnung der Zeit, die eine Einheit für x Felder benötigt $ZEIT = $strecke / tempo($volk.$tid); $ZEITh = (int) $ZEIT; //--Zeit in Stunden $ZEIT1 = $ZEIT*60; //Gesamtzeit in Minuten $ZEITm = $ZEIT1%60; //--Zeit in Minuten $ZEIT1 = $ZEIT*3600; //Gesamtzeit in Sekunden $ZEITs = (int) ($ZEIT1-$ZEITh*3600-$ZEITm*60); //--Zeit in Sekunden $dauer = shortnumber($ZEITh).":".shortnumber($ZEITm).":".shortnumber($ZEITs); if ($sekunde) { return $ZEIT1; } else { return $dauer; } } //Start Berechnung "Max Dauer" $h_now = date('H'); $min_now = date('i'); $s_now = date('s'); //Sekunden $s_max_dauer = $s - $s_now; if ($s_max_dauer < 0) { $s_max_dauer = 60 + $s_max_dauer; $min_now++; } //Minuten $min_max_dauer = $min - $min_now; if ($min_max_dauer < 0) { $min_max_dauer = 60 + $min_max_dauer; $h_now++; } //Stunden $h_max_dauer = $h - $h_now; if ($h_max_dauer < 0) { $h_max_dauer = 24 + $h_max_dauer; } //mysql Abfrage: holt ALLE Truppen //x1, y1 Herkunft --- x2, y2 Standort $sql="SELECT t.t1, t.t2, t.t3, t.t4, t.t5, t.t6, t.t7, t.t8, t.t9, t.x1, t.x2, t.y1, t.y2, s.name, s.sid, s.volk FROM ".PREFIX."truppen t, ".PREFIX."spieler s WHERE s.sid = t.sid ORDER BY s.name"; $result = mysql_query($sql) OR die(mysql_error()); //Beginn der Ergebnistabelle echo ""; //Headerzeile echo ""; echo ""; echo ""; //Zeilenanfang echo ""; //Spieler echo ""; //Herrkunft (optional) if(isset($_POST['herkunft'])) echo ""; //Standort echo ""; //Truppenzahl echo ""; //Dauer echo ""; //Zeilenende echo ""; //--definierung der Variabeln, die später sortiert und ausgegeben werden. $spieler = array(); $herkunft = array(); $standort = array(); $dauer = array(); $data = array(); //--sortiert Daten die zu weit weg sind aus und listet die anderen auf while ($row = mysql_fetch_assoc($result)) { $truppe=""; $max_dauer="00:00:00"; //Berechnung der Strecke (Felder von Standort zu Herrkunft) + (Felder von Herrkunft zum Ziel) $gesamt_strecke = calculate_distance($row['x2'], $row['y2'], $row['x1'], $row['y1']) + calculate_distance($row['x1'], $row['y1'], $x, $y); for ($i=1; $i<=9; $i++) { if (($row['t'.$i] > 0) AND ($art==art($row['volk'].$i) OR art($row['volk'].$i)=="" OR $spion==art($row['volk'].$i)) AND (calculate_time($row['volk'], $i, $gesamt_strecke) <= shortnumber($h_max_dauer).":".shortnumber($min_max_dauer).":".shortnumber($s_max_dauer))) { $truppe.=$row['t'.$i]."
".text('umkreis_header21')." ".shortnumber($h_max_dauer).":".shortnumber($min_max_dauer).":".shortnumber($s_max_dauer)." ".text('umkreis_header22')."
".text('umkreis_spieler')."".text('umkreis_herkunft')."".text('umkreis_standort')."".text('umkreis_anzahl')."".text('umkreis_dauer')."
".$row['t'.$i]." ".text('t_'.$row['volk'].$i)."
".text('umkreis_overlib1').calculate_time($row['volk'], $i, $gesamt_strecke)."
".text('umkreis_overlib2')."
');\" onmouseout=\"return nd();\"> "; if (calculate_time($row['volk'], $i, $gesamt_strecke) > $max_dauer) { $max_dauer=calculate_time($row['volk'], $i, $gesamt_strecke); } } } if (!empty($truppe)) { $spieler[] = $row['name']; $herkunft[] = "');\" onmouseout=\"return nd();\">".$row['x1']."|".$row['y1'].""; $standort[] = "');\" onmouseout=\"return nd();\">".$row['x2']."|".$row['y2'].""; $dauer[] = $max_dauer; $data[] = $truppe; } } //--Sortierung array_multisort($dauer, SORT_ASC, $spieler, $herkunft, $standort, $data); //--Ausgabe foreach ($spieler as $key => $wert) { //Zeilenanfang echo ""; //Spielername echo "".$spieler[$key].""; //Herkunft (optional) if(isset($_POST['herkunft'])) echo "".$herkunft[$key].""; //Standort echo "".$standort[$key].""; //Truppenzahl echo "".$data[$key].""; //Dauer echo "".$dauer[$key].""; //Zeilenende echo ""; } //--Tabellenende echo ""; ?>