fix training finish time

This commit is contained in:
unknown
2012-06-17 08:15:38 +03:00
parent 39e9d02dc2
commit 52dcdb6dfc
12 changed files with 49 additions and 60 deletions
+12 -17
View File
@@ -3199,6 +3199,7 @@ $crannyimg = "<img src=\"".GP_LOCATE."img/g/g23.gif\" height=\"20\" width=\"15\"
unlink("GameEngine/Prevention/training.txt");
}
global $database;
$time = time();
$ourFileHandle = fopen("GameEngine/Prevention/training.txt", 'w');
fclose($ourFileHandle);
$trainlist = $database->getTrainingList();
@@ -3206,26 +3207,20 @@ $crannyimg = "<img src=\"".GP_LOCATE."img/g/g23.gif\" height=\"20\" width=\"15\"
foreach($trainlist as $train) {
$database->updateTraining($train['id'],0);
$trained = 0;
if($train['eachtime'] == 0) { $train['eachtime'] = 1; }
$timepast = $train['timestamp'] - $train['commence'];
if ($timepast >= 0) {
$trained = floor($timepast/$train['eachtime']);
$pop = $train['pop'] * $trained;
if($trained >= $train['amt']) {
$trained = $train['amt'];
}
$timepast = $train['timestamp'] - $time;
$trained = $timepast-($train['amt']-1)*$train['eachtime'];
$pop = $train['pop'];
if($trained <= 0){
if($train['unit']>60 && $train['unit']!=99){
$database->modifyUnit($train['vref'],array($train['unit']-60),array($trained),array(1));
$database->modifyUnit($train['vref'],array($train['unit']-60),array(1),array(1));
}else{
$database->modifyUnit($train['vref'],array($train['unit']),array($trained),array(1));
$database->modifyUnit($train['vref'],array($train['unit']),array(1),array(1));
}
if($train['amt']-$trained <= 0) {
$database->trainUnit($train['id'],0,0,0,0,1,1);
}
if($trained > 0) {
$database->modifyCommence($train['id']);
}
$database->updateTraining($train['id'],$trained);
$database->updateTraining($train['id'],1);
}
if($timepast < 0) {
$database->trainUnit($train['id'],0,0,0,0,1,1);
}
}
}
+8 -14
View File
@@ -2289,10 +2289,8 @@
} elseif(in_array($unit, $trapper)) {
$queued = $technology->getTrainingList(8);
}
if(count($queued) > 0) {
$time = $queued[count($queued) - 1]['commence'] + $queued[count($queued) - 1]['eachtime'] * $queued[count($queued) - 1]['amt'];
}
$now = time();
$now = time();
$uid = $this->getVillageField($vid, "owner");
$artefact = count($this->getOwnUniqueArtefactInfo2($uid,5,3,0));
@@ -2313,7 +2311,11 @@
$each *= 3;
$each = round($each);
}
$q = "INSERT INTO " . TB_PREFIX . "training values (0,$vid,$unit,$amt,$pop,$now,$each,$time)";
if($each == 0){ $each = 1; }
if(count($queued) > 0) {
$time += $queued[count($queued) - 1]['timestamp'] - $now;
}
$q = "INSERT INTO " . TB_PREFIX . "training values (0,$vid,$unit,$amt,$pop,$time,$each)";
} else {
$q = "DELETE FROM " . TB_PREFIX . "training where id = $vid";
}
@@ -2321,8 +2323,7 @@
}
function updateTraining($id, $trained) {
$time = time();
$q = "UPDATE " . TB_PREFIX . "training set amt = amt - $trained, timestamp = $time where id = $id";
$q = "UPDATE " . TB_PREFIX . "training set amt = amt - $trained where id = $id";
return mysql_query($q, $this->connection);
}
@@ -2575,13 +2576,6 @@
return mysql_query($q, $this->connection);
}
function modifyCommence($id) {
$time = time();
$q = "UPDATE " . TB_PREFIX . "training set commence = $time WHERE id=$id";
return mysql_query($q, $this->connection);
}
function getTrainingList() {
$q = "SELECT * FROM " . TB_PREFIX . "training where vref != ''";
$result = mysql_query($q, $this->connection);
+2 -2
View File
@@ -490,9 +490,9 @@ private function trainUnit($unit,$amt,$great=false) {
$iron = ${'u'.$unit}['iron'] * $amt * ($great?3:1);
$crop = ${'u'.$unit}['crop'] * $amt * ($great?3:1);
$each = ($each == 0) ? 1 : $each;
$time = $each*$amt;
if($database->modifyResource($village->wid,$wood,$clay,$iron,$crop,0) && $amt > 0) {
$database->trainUnit($village->wid,$unit+($great?60:0),$amt,${'u'.$unit}['pop'],$each,time(),0);
$database->trainUnit($village->wid,$unit+($great?60:0),$amt,${'u'.$unit}['pop'],$each,time()+$time,0);
}
}
}
+3 -3
View File
@@ -40,13 +40,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -50,13 +50,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</span></td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -104,13 +104,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -16,13 +16,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -16,13 +16,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -39,13 +39,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -39,13 +39,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -107,13 +107,13 @@ include("next.tpl");
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".U99."\" title=\"".U99."\" />";
echo $train['amt']." ".U99."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}
+3 -3
View File
@@ -39,13 +39,13 @@
echo "<img class=\"unit u".$train['unit']."\" src=\"img/x.gif\" alt=\"".$train['name']."\" title=\"".$train['name']."\" />";
echo $train['amt']." ".$train['name']."</td><td class=\"dur\">";
if ($TrainCount == 1 ) {
$NextFinished = $generator->getTimeFormat(($train['commence']+$train['eachtime'])-time());
echo "<span id=timer1>".$generator->getTimeFormat(($train['commence']+($train['eachtime']*$train['amt']))-time())."</span>";
$NextFinished = $generator->getTimeFormat(($train['timestamp']-time())-($train['amt']-1)*$train['eachtime']);
echo "<span id=timer1>".$generator->getTimeFormat($train['timestamp']-time())."</span>";
} else {
echo $generator->getTimeFormat($train['eachtime']*$train['amt']);
}
echo "</td><td class=\"fin\">";
$time = $generator->procMTime($train['commence']+($train['eachtime']*$train['amt']));
$time = $generator->procMTime($train['timestamp']);
if($time[0] != "today") {
echo "on ".$time[0]." at ";
}