Wachttijd in PHP
Hallo,,
Ik ben bezig met een text-based online spel, maar ik zit met een probleempje. De spelers kunnen acties uitvoeren, dat wordt geregeld door stukkies simpele PHP. Nu zit ik alleen met het probleem dat de acties te snel achter elkaar uitgevoerd kunnen worden. Eigenlijk moet ik er iets tussen hebben, wat, na een actie, iets naar de MySQL database stuurt, dat daar vastzet, en voordat je de actie dan begin, moet hij kijke of de tijd al wel om is... Ik heb al wat geprobeerd, met 'strtotime' dingen, en dan:
tijdlaatsteactie+10 naar database sturen, en dan daar de 'live' tijd van aftrekken, en dan met een simpele if e rest doen, maar dit werkte niet, schijnbaar kan je niet zo rekenenen met strtotime-dingen.
Heeft iemand enig idee of hier een andere manier voor is?? Bedankt alvast, SAplayer
Ik ben bezig met een text-based online spel, maar ik zit met een probleempje. De spelers kunnen acties uitvoeren, dat wordt geregeld door stukkies simpele PHP. Nu zit ik alleen met het probleem dat de acties te snel achter elkaar uitgevoerd kunnen worden. Eigenlijk moet ik er iets tussen hebben, wat, na een actie, iets naar de MySQL database stuurt, dat daar vastzet, en voordat je de actie dan begin, moet hij kijke of de tijd al wel om is... Ik heb al wat geprobeerd, met 'strtotime' dingen, en dan:
tijdlaatsteactie+10 naar database sturen, en dan daar de 'live' tijd van aftrekken, en dan met een simpele if e rest doen, maar dit werkte niet, schijnbaar kan je niet zo rekenenen met strtotime-dingen.
Heeft iemand enig idee of hier een andere manier voor is?? Bedankt alvast, SAplayer
Je slaat de tijd van de laatste actie op (bijvoorbeeld 1 uur). Bij de volgende actie controleer je of die tijd (10 minuten) niet is overschreden:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Eerst definieren we de momentele tijd:
$nu = date(i);
// Dan halen we de tijd op van de laatse actie:
$net = 01;
// Dan berekenen we het verschil:
$verschil = $nu - $net;
// Dan controleren we of er niet wordt gesjoemeld:
if ($verschil <= 10)
echo 'Je moet nog ' .$verschil. ' minuten wachten.';
else
echo 'Je kan de actie uitvoeren, je hebt netjes gewacht';
?>
// Eerst definieren we de momentele tijd:
$nu = date(i);
// Dan halen we de tijd op van de laatse actie:
$net = 01;
// Dan berekenen we het verschil:
$verschil = $nu - $net;
// Dan controleren we of er niet wordt gesjoemeld:
if ($verschil <= 10)
echo 'Je moet nog ' .$verschil. ' minuten wachten.';
else
echo 'Je kan de actie uitvoeren, je hebt netjes gewacht';
?>
nee toch?
nu - net
03 - 00
edit: je werkt best met een volledige timestamp (000-00-00 00:00:00)
dit omdat je dan niet hoeft te klooien met uurwisseling en dagwisselingen(middernacht)
nu - net
03 - 00
edit: je werkt best met een volledige timestamp (000-00-00 00:00:00)
dit omdat je dan niet hoeft te klooien met uurwisseling en dagwisselingen(middernacht)
Gewijzigd op 26/01/2006 20:32:00 door Hipska BE