HB/onyx2/include/game/jeu/marche.php

92 lines
3.3 KiB
PHP
Raw Normal View History

2009-11-01 11:00:00 +00:00
<?php
2020-11-15 15:12:30 +00:00
if(!defined('INDEX') || SURFACE != "planete") { header('Location: ./'.$VAR['first_page']); exit; }
2009-11-01 11:00:00 +00:00
$titre = 'Bourse';
$a = gpc('a');
$v = gpc('v');
if(is_numeric($a) && is_numeric(gpc('a'.$a, 'post'))){
$nb = gpc('a'.$a, 'post');
if ($nb <= 0 || $nb > 99999999) erreur("Nombre de ressources invalide !");
if ($a == 0) $var = 'metal';
elseif ($a == 1) $var = 'cristal';
elseif ($a == 2) $var = 'hydrogene';
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $a;");
$bdd->deconnexion();
//On vérifie que la bourse ait suffisament de ressources à distribuer :
if ($action['dispo'] <= $nb) erreur("Il n'y a pas assez de ressources dans la galaxie pour que vous puissiez en acheter autant.");
//On vérifie qu'il reste suffisamment de place dans les silos du joueur
if ($planete->cap < $planete->$var + $nb) $nb = $planete->cap - $planete->$var;
if ($nb <= 0) erreur("Vous n'avez pas assez de place pour stocker ces ressources !");
$prix = ceil(pow($action['dispo'], -0.1) * $nb * 2.20)/10;
//On vérifie que le joueur ait assez de crédits pour acheter
if ($prix <= $planete->credits) {
2020-11-15 15:12:30 +00:00
$planete->addCredits(-1*$prix);
$planete->addModifUser('credits');
2009-11-01 11:00:00 +00:00
$planete->$var += $nb;
2020-11-15 15:12:30 +00:00
$planete->addModif('force');
2009-11-01 11:00:00 +00:00
if (empty($action['graph'])) $action['graph'] = array();
else $action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo - $nb, graph = '$graph' WHERE id = $a;");
$bdd->deconnexion();
}
else erreur("Vous n'avez pas assez de crédits pour faire cet achat !");
}
elseif(is_numeric($v) && is_numeric(gpc('a'.$v, 'post'))){
$nb = gpc('a'.$v, 'post');
if ($nb <= 1000 || $nb > 99999999) erreur("Nombre de ressources invalide !<br />Vous pouvez vendre au minimum 1000 ressources !");
if ($v == 0) $var = 'metal';
elseif ($v == 1) $var = 'cristal';
elseif ($v == 2) $var = 'hydrogene';
//On vérifie que le joueur ait assez de ressources pour vendre, sinon, on ajuste à son maximum
if ($nb > $planete->$var) $nb = $planete->$var;
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $v;");
$bdd->deconnexion();
$prix = ceil(pow($action['dispo'], -0.1) * $nb * 1.8)/10;
2020-11-15 15:12:30 +00:00
$planete->addCredits($prix);
$planete->addModifUser('credits');
2009-11-01 11:00:00 +00:00
$planete->$var -= $nb;
2020-11-15 15:12:30 +00:00
$planete->addModif('force');
2009-11-01 11:00:00 +00:00
if (empty($action['graph'])) $action['graph'] = array();
else $action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo + $nb, graph = '$graph' WHERE id = $v;");
$bdd->deconnexion();
}
$bdd->reconnexion();
$bourse = $bdd->query("SELECT id, dispo FROM $table_bourse_ressources;");
$bdd->deconnexion();
foreach($bourse as $key => $action){
$bourse[$key]['prix'] = pow($action['dispo'], -0.1) * 200;
$bourse[$key]['prixV'] = $bourse[$key]['prix'] * 0.9;
$bourse[$key]['prixA'] = $bourse[$key]['prix'] * 1.07;
}
$page = 'marche';
$template->assign('bourse', $bourse);
2020-11-15 15:12:30 +00:00
unset($a, $v, $var, $bourse, $graph, $key, $action, $nb, $prix);
2009-11-01 11:00:00 +00:00
?>