JeuWeb - Crée ton jeu par navigateur
[Résolu] Tâche Cron + système de ressource (script) - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Tâche Cron + système de ressource (script) (/showthread.php?tid=6357)

Pages : 1 2 3 4


RE: Tâche Cron - niahoo - 27-08-2012

Comment sais-tu que ça ne marche pas ton script ?

As-tu un message d'erreur PHP ?


RE: Tâche Cron - KyKy83 - 27-08-2012

Oui en effet, le $lvl_ble est donné via un fichier infos.php qui récupère tous les champs de la table comptes, sauf que le système de session ne fonctionnant pas, il ne peux pas récupérer.

Il faut que je trouve une autre solution.

Pour la structure, je n'utilise qu'une seul table 'compte' avec le nombre de ressources (par exemple 10000 blé) et le lvl du champs de blé (par exemple lvl_ble 5)

Petit edit : Et si je mettais le lvl du champs de blé dans un WHERE dans ma requête ?


RE: Tâche Cron - Shidame - 27-08-2012

Comment est ce que tu calculs la production, là tu nous as montré seulement les cas où le champs est niveau 0 et 1. Est ce que la production correspond à "niveau du champs de blé*100/heure" ?

Soit plus clair et précis s'il te plait, on (je) ne comprend pas trop ce que tu veux faire, toi seul le sait alors explique nous le clairement.


RE: Tâche Cron - KyKy83 - 27-08-2012

Oui, que si le champs de blé est lvl 1, la requête fasse comme j'ai mit : ble = ble + 100

en fait, ce que je souhaite faire, c'est d'attribuer toutes les heures le nombre d'unités de blé pour le moment à tous les joueurs en fonction du niveau de leur champs de blé.
Si champs blé lvl 0 : alors le blé actuel + 0
Si champs blé lvl 1 : alors le blé actuel + 100
Si champs blé lvl 2 : alors le blé actuel + 200
Si champs blé lvl 3 : alors le blé actuel + 300
Si champs blé lvl 4 : alors le blé actuel + 400
Si champs blé lvl 5 : alors le blé actuel + 500
Si champs blé lvl 6 : alors le blé actuel + 600
Si champs blé lvl 7 : alors le blé actuel + 700
Si champs blé lvl 8 : alors le blé actuel + 800
Si champs blé lvl 9 : alors le blé actuel + 900
Si champs blé lvl 10 : alors le blé actuel + 1000

C'est bon, j'ai enfin réussis ! Avec un peu de réflexion sa va (:
Merci pour toutes vos réponses, je n'aurais pas réussis sans vos idées !


RE: Tâche Cron - Shidame - 27-08-2012

Peux tu nous montrer comment tu fais ? que ca serve à d'autre si jamais il rencontre le même soucis.


RE: Tâche Cron - KyKy83 - 27-08-2012

Oui bien sur, je copie colle mes requêtes :

Les requêtes :
Code PHP :
<?php
include("includes/connexion.php") ;
//Ble
$sql1="UPDATE comptes SET ble = ble + 0 WHERE lvl_ble = 0"; //lvl_ble = 0
$sql2="UPDATE comptes SET ble = ble + 100 WHERE lvl_ble = 1"; //lvl_ble = 1
$sql3="UPDATE comptes SET ble = ble + 200 WHERE lvl_ble = 2"; //lvl_ble = 2
$sql4="UPDATE comptes SET ble = ble + 300 WHERE lvl_ble = 3"; //lvl_ble = 3
$sql5="UPDATE comptes SET ble = ble + 400 WHERE lvl_ble = 4"; //lvl_ble = 4
$sql6="UPDATE comptes SET ble = ble + 500 WHERE lvl_ble = 5"; //lvl_ble = 5
$sql7="UPDATE comptes SET ble = ble + 600 WHERE lvl_ble = 6"; //lvl_ble = 6
$sql8="UPDATE comptes SET ble = ble + 700 WHERE lvl_ble = 7"; //lvl_ble = 7
$sql9="UPDATE comptes SET ble = ble + 800 WHERE lvl_ble = 8"; //lvl_ble = 8
$sql10="UPDATE comptes SET ble = ble + 900 WHERE lvl_ble = 9"; //lvl_ble = 9
$sql11="UPDATE comptes SET ble = ble + 1000 WHERE lvl_ble = 10"; //lvl_ble = 10
L'execution :
Code PHP :
<?php 
if (!mysql_query($sql1,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;



if (!
mysql_query($sql2,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


if (!
mysql_query($sql3,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


if (!
mysql_query($sql4,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


if (!
mysql_query($sql5,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


if (!
mysql_query($sql6,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


if (!
mysql_query($sql7,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


if (!
mysql_query($sql8,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;

if (!
mysql_query($sql9,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;

if (!
mysql_query($sql10,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


if (!
mysql_query($sql11,$con))
{
die(
'Une erreur est survenue.<br />
'
. mysql_error());
}
echo
"yessss<br />
"
;


?>
Le fichier de config (car un peu bizarre donc je met)
Code PHP :
<?php 
try
{
$bdd = new PDO('mysql:host=...;dbname=...', 'thetribute', '...');
}
catch(
Exeption $e)
{
die(
'Erreur : '.$e->getMessage());
}
?>

Et voilà pour les interessé, un système de ressources (à mettre en place avec les Tâches crons)


RE: Tâche Cron - Shidame - 27-08-2012

C'est bien si celà fonctionne mais à mon avis tu t'y prends mal et tu peux améliorer ton script.

Celà ne te choque pas d'avoir 11 if ? Si tu as 4 types de champs: disons blé, orge, soja et mais; et que chacun d'eux peut avoir 20 niveaux : vas tu faire 80 if ? Vois tu où je veux en venir ?


RE: Tâche Cron - niahoo - 27-08-2012

Et comme ça ?


<?php
include("includes/connexion.php") ;
//Ble
$sql = 'UPDATE comptes SET ble = ble + (lvl_ble * 100)';


if (!mysql_query($sql,$con))
{
die('Une erreur est survenue.<br />' . mysql_error());
}
else {
echo "yessss<br />";
}


?>

Tous tes if c'est la galère à maintenir il te faut factoriser un peu ...


RE: [résolu]Tâche Cron + système de ressource (script) - php_addict - 27-08-2012

@KyKy83 -> lit mon premier message avant de dire des sottises...fait une recherche sur ce forum. il y a des 10aines de topic à ce sujet

là où tu te plante complétement c'est que les sessions ne servent à stocker uniquement que des données temporaires, et surtout pas des données telles que le nb de ressources. Une donnée temporaire cela peut être l'id du joueur par exemple


RE: [résolu]Tâche Cron + système de ressource (script) - djidi - 27-08-2012

Citation :Le fichier de config (car un peu bizarre donc je met)

Cela montre que tu manques de connaissance en développement. Ca n'a rien de "bizarre", c'est juste la connexion à la base de données via PDO et la gestion des erreurs.
D'ailleurs, quel est l’intérêt de se connecter via PDO pour finalement utiliser mysql_* ?