📄 cancelbuildingfromqueue.php
字号:
<?php
/**
* CancelBuildingFromQueue
*
* @version 1
* @copyright 2008 by Chlorel for XNova
*/
function CancelBuildingFromQueue ( &$CurrentPlanet, &$CurrentUser ) {
$CurrentQueue = $CurrentPlanet['b_building_id'];
if ($CurrentQueue != 0) {
// Creation du tableau de la liste de construction
$QueueArray = explode ( ";", $CurrentQueue );
// Comptage du nombre d'elements dans la liste
$ActualCount = count ( $QueueArray );
// Stockage de l'element a 'interrompre'
$CanceledIDArray = explode ( ",", $QueueArray[0] );
$Element = $CanceledIDArray[0];
$BuildMode = $CanceledIDArray[4]; // pour savoir si on construit ou detruit
if ($ActualCount > 1) {
array_shift( $QueueArray );
$NewCount = count( $QueueArray );
// Mise a jour de l'heure de fin de construction theorique du batiment
$BuildEndTime = time();
for ($ID = 0; $ID < $NewCount ; $ID++ ) {
$ListIDArray = explode ( ",", $QueueArray[$ID] );
$BuildEndTime += $ListIDArray[2];
$ListIDArray[3] = $BuildEndTime;
$QueueArray[$ID] = implode ( ",", $ListIDArray );
}
$NewQueue = implode(";", $QueueArray );
$ReturnValue = true;
$BuildEndTime = '0';
} else {
$NewQueue = '0';
$ReturnValue = false;
$BuildEndTime = '0';
}
// Ici on va rembourser les ressources engag茅es ...
// Deja le mode (car quand on detruit ca ne coute que la moiti茅 du prix de construction classique
if ($BuildMode == 'destroy') {
$ForDestroy = true;
} else {
$ForDestroy = false;
}
if ( $Element != false ) {
$Needed = GetBuildingPrice ($CurrentUser, $CurrentPlanet, $Element, true, $ForDestroy);
$CurrentPlanet['metal'] += $Needed['metal'];
$CurrentPlanet['crystal'] += $Needed['crystal'];
$CurrentPlanet['deuterium'] += $Needed['deuterium'];
}
} else {
$NewQueue = '0';
$BuildEndTime = '0';
$ReturnValue = false;
}
$CurrentPlanet['b_building_id'] = $NewQueue;
$CurrentPlanet['b_building'] = $BuildEndTime;
return $ReturnValue;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -