
Leider werden die Nachkommastellen bei der Berechnung des neuen Preises nicht berücksichtigt.Dungeonwatcher hat geschrieben:Nun muss ich halt mal beobachten ob die Verzinsung auch tatsächlich mit den Nachkommastellen arbeitet, bzw. ob die Aktienkurse diese auch berücksichtigen.![]()

Dh. irgendwo in diesem Code der funktions_vault.php fehlt noch etwas:
Code: Alles auswählen
$exchange = $db->sql_fetchrowset($result);
for($i = 0; $i < count($exchange); $i++)
{
if ( $vault_general['stock_min_change'] > $vault_general['stock_max_change'] )
{
$vault_general['stock_min_change'] = $vault_general['stock_max_change'];
}
$variation = rand($vault_general['stock_min_change'] , $vault_general['stock_max_change']);
$hazard = rand(1,2);
if ( $hazard == '2' )
{
$variation = - $variation ;
}
$new_price = ceil($exchange[$i]['stock_price'] * ( 1 + ( $variation / 100 )));
$old_price = $exchange[$i]['stock_price'] ;
$best_price = ( $new_price > $exchange[$i]['stock_best_price'] ) ? $new_price : $exchange[$i]['stock_best_price'];
$worst_price = ( $new_price < $exchange[$i]['stock_worst_price'] ) ? $new_price : $exchange[$i]['stock_worst_price'];
$sql = "UPDATE " . VAULT_EXCHANGE_TABLE ."
SET stock_price = $new_price ,
stock_previous_price = $old_price ,
stock_best_price = $best_price ,
stock_worst_price = $worst_price
WHERE stock_id = ".$exchange[$i]['stock_id'];
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, "Couldn't update stock exchange", "", __LINE__, __FILE__, $sql);
}
}
$new_time = $board_config['stock_last_change'] + $board_config['stock_time'];
$lsql= "UPDATE ". CONFIG_TABLE . " SET config_value = $new_time WHERE config_name = 'stock_last_change' ";
if ( !($lresult = $db->sql_query($lsql)) )
{
message_die(GENERAL_ERROR, $lang['Vault_update_error'] , "", __LINE__, __FILE__, $lsql);
}
Bye