login  Naam:   Wachtwoord: 
Registreer je!
 Forum

4 seconde per seconde

Offline Sitefoon - 03/08/2006 13:59 (laatste wijziging 03/08/2006 14:03)
Avatar van SitefoonNieuw lid ik ben een spel aan het maken maar om te voorkomen dat een jaar in het spel ook een jaar in het echt duurt wil ik dat hij 4 seconde in het spel telt per seconde in het echt. het wordt een multiplayer game en de tijd moet overal hetzelfde zijn,

weet iemand hoe ik dit moet doen

als het vaag is, zeg dan effe dan kan ik het wat beter uitleggen

11 antwoorden

Gesponsorde links
Offline Lemon - 03/08/2006 14:05
Avatar van Lemon PHP expert Je werkt gewoon met timeunits.

Dus je telt gewoon per seconde 4 timeunits op. 1 timeunit stelt dan 1 seconde voor ingame.

Om het te realiseren kan je om de minuut een cronjob toepassen die de vorige timestap aftrekt van de huidige timestamp. Vervolgend verkrijg je dan het aantal echte seconde tussen deze 2 cronjobs. Dit vermenigvuldig je dan met 4 en vwalla. Je hebt je ingame time geupdate.
Offline svm - 03/08/2006 14:06
Avatar van svm PHP ver gevorderde Hoe moet de klok verder zijn?
Moet je de tijd van nu hebben en dan om de 0.25 seconde 1 seconden erbij tellen?
Of om de seconde 4 seconden erbij tellen?
Of nog anders?
Offline Maarten - 03/08/2006 14:06 (laatste wijziging 03/08/2006 14:06)
Avatar van Maarten Erelid time() is het aantal seconden sinds 1 januari 1970.

time()*4 is dus het aantal seconden sinds 1 januari 1970 maar dan 4 keer sneller.

Ik heb er geen idee van of dat zal werken op 32-bit servers (de timestamp op 32-bit servers verloopt nog binnen de 100 jaar dacht ik).
Offline Stijn - 03/08/2006 14:08
Avatar van Stijn PHP expert
Citaat:
als het vaag is, zeg dan effe dan kan ik het wat beter uitleggen
doe dat van de eerste keer slimme 

dus 1 seconde in je spel = 4 seconden in de realiteit.

dan moet je de gewone tijd delen door 4 en dan kom je uit op jou "virtuele" tijd.
Offline Sitefoon - 03/08/2006 14:10
Avatar van Sitefoon Nieuw lid time()*4 is geen optie, dan loopt de tijd niet sneller, dan loopt hij gewoon wat verder in de tijd


ik kan geen cronjobs op mijn server zetten, en ik weet helaas niets van timeunits mischien wat uitleg?

en de klok moet het liefts om de 0.25 seconde 1 seconde in het spel zetten, hij hoeft niet te lopen dus javascript is wat dat betreft niet nodig
Offline Maarten - 03/08/2006 14:10 (laatste wijziging 03/08/2006 14:11)
Avatar van Maarten Erelid Vermeningvuldigen, Stijn..

En sitefoon: als er per 1 echte seconde 4 seconden in jouw spel voorbijgaan, dan is het logisch dat het vooruitloopt...
Offline Sitefoon - 03/08/2006 14:11 (laatste wijziging 03/08/2006 14:12)
Avatar van Sitefoon Nieuw lid
Citaat:
1 seconde in je spel = 4 seconden in de realiteit.

4 seconde in je spel = 1 seconde in de realiteit.

@murfy nee de tijd loopt even snel en dat wil ik net niet
Offline Lemon - 03/08/2006 14:16
Avatar van Lemon PHP expert Nee de tijd loopt in murfy zijn voorbeeld 4 x zo snel.

Zie het als een klok.

In het echte leven tikt de klok telkens per seconde 1 keer vooruit voor 1 seconde.

In jouw spel tikt de wijzer van de klok telkens 4 plaatsen vooruit, maar de wijze gaat welke elke seconde tikken.
Offline Sitefoon - 03/08/2006 14:20
Avatar van Sitefoon Nieuw lid ik had dit al geprobeerd maar toen viel dit niet goed op dus dacht ik dat het niet werkte, maar het werkt wel, bedankt.
Offline Rik - 03/08/2006 14:29 (laatste wijziging 03/08/2006 14:32)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
  1. <?php
  2. $begin = 1154607886; // Timestamp van wanneer het spel is begonnen
  3. $verstreken = (time() - $begin) * 4;
  4. echo date('r', $begin + $verstreken);
  5. ?>
Zo telt de klok toch steeds 4 seconden per seconde?

Edit:
PHP.net:
Citaat:
Opmerking: De geldige reeks van timestamps is normaal van vrijdag 13 Dec 1901 20:45:54 GMT tot dinsdag 19 Jan 2038 03:14:07 GMT. (Dit zijn de tijdstippen die overeenkomen met de minimale en maximale waarden voor een 32-bits signed integer). Windows limiteerd deze reeks tot datums tussen 01-01-1970 en 19-01-2038.

Misschien moet je dan alleen zelf dagen, maanden enz gaan berekenen...
Offline Sitefoon - 03/08/2006 14:33
Avatar van Sitefoon Nieuw lid die moet ik hebben, bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s