Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2008, 20h46   #1
Membre expérimenté
 
Homme Rémi BOURGAREL
Développeur .NET
Inscription : juin 2006
Messages : 426
Détails du profil
Informations personnelles :
Nom : Homme Rémi BOURGAREL
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur .NET
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2006
Messages : 426
Points : 584
Points : 584
Par défaut [SQL] Cron et SQL

Bonjour,

Voila je suis a la fin de la réalisation d'un rpg. Ce rpg se base sur un principe : la fatigue, lorsqu'on fait des actions,ça dépense la fatigue, et lorsqu'on fait dormir notre personnage, il en regagne mais reste endormi pendant une certaine periode.

PROBLEME : actuelement en local j'ai un cron qui tourne toute les minutes pour ajouter un point de fatigue aux gens qui dorment.
Mais chez mon hébergeur (mutualisé gratuit, oympe-network) j'ai pas acces aux cron. Et les système de cron libre permettent pas le cron / minute

QUESTION : y'a t i un autre moyen de faire ceque je veux ? j'ai pensé a un trigger qui a chaque selection sur la fatigue, va voir quand le joueur s'est endormi, quand il a le reveil et en déduit la fatigue, mais les trigger sur select c pas possible

enfin voila
Bourgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 21h17   #2
Membre éprouvé
 
Avatar de SphynXz
 
Développeur Web
Inscription : mars 2008
Messages : 439
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2008
Messages : 439
Points : 474
Points : 474
je vois pas très bien comment les gens se mette "à dormir" sur ton rpg , mais si tu as la possibilité de savoir à quel heure précise les gens mettent leur personnage à dormir, il suffit de créer un script qui lorsqu'il sera appelé mettra à jour les point de fatigue du personnage , il te suffira de réalisation des opération sur les dates, des soustractions etc..

d'une manière générale beaucoup de script fonctionne comme cela, par exemple, la liste des gens connectés sur un site, elle n'est actualisé que lorsqu'un utilisateur se connecte, elle n'est jamais actualisé toute les x minutes.
__________________
I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
Pour détourner un avion, il faut monter dedans - Frédéric beigbeder
SphynXz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 21h42   #3
Membre expérimenté
 
Homme Rémi BOURGAREL
Développeur .NET
Inscription : juin 2006
Messages : 426
Détails du profil
Informations personnelles :
Nom : Homme Rémi BOURGAREL
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur .NET
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2006
Messages : 426
Points : 584
Points : 584
Ben en fait ça m'embète un peu de faire un truc "aléatoire" , c'est a dire que je sais pas quand ça sera executé. Mais bon ça me semble une solution envisageable : a chaque fois que quelqu'un arrive sur une page ou sa fatigue perso ou celle d'un adversaire est calculée, alors je recalcule la fatigue de tout le monde

si y'a d'autre idée je suis preneur.

Par exemple comment fonctionne un jeux comme nainwak (le système de pa) ?
Bourgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 22h23   #4
Membre éprouvé
 
Avatar de SphynXz
 
Développeur Web
Inscription : mars 2008
Messages : 439
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2008
Messages : 439
Points : 474
Points : 474
c'est pas que tu ne sauras pas quand ce sera exécuté. c'est que de toute façon, gràce à ce script, tout utilisateur qui se connecte aura directement accès aux dernières mise à jours , du coup lui va penser que cela se fait en continue alors que tout à été actualisé gràce à sa venue

imagine que plus personne ne va sur developpez.com à partir de maintenant, et ben la liste sur la homepage des gens connecté contiendra toujours les même gens! jusqu'à ce que quelqu'un se connecte pour relancer le script de detection de gens en ligne
__________________
I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
Pour détourner un avion, il faut monter dedans - Frédéric beigbeder
SphynXz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2008, 01h25   #5
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
Il faut recalculer la fatigue d'une perso a chaque fois qu'on a besoin de l'information... Pour cela, le mieux, c'est de mettre dans ta table User un champs int dans lequel tu met le timestamp unix (et non SQL) a chaque fois que tu recalcul la fatigue...

Citation:
user(id_user, [...], fatigue_user INT(11), datefatigue_user INT(11))
Ainsi, tu peux écrire une petite requete du style :

Code :
update user set  fatigue_user = fatigue_user +round(('.time().' - datefatigue_user) / 60), datefatigue_user = '.time().' where id_user = '.$id.' limit 1
que tu execute a chaque fois que quelqun ouvre la fiche du joueur, ou a chaque rechargement de la page pour le joueur que tu incarnes...
__________________
Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2008, 08h30   #6
Membre expérimenté
 
Homme Rémi BOURGAREL
Développeur .NET
Inscription : juin 2006
Messages : 426
Détails du profil
Informations personnelles :
Nom : Homme Rémi BOURGAREL
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur .NET
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2006
Messages : 426
Points : 584
Points : 584
j'avais pensé à ça (d'où l'idée du trigger sur un select ^^) mais ça m'embête de retourner voir un peu partout ou on utilise la fatigue (je sais j'ai pas développé ça comme un vrai pro).
Bourgui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h50.


 
 
 
 
Partenaires

Hébergement Web