login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hoe werkt Criminals

Offline Martijn1989 - 03/05/2005 15:13 (laatste wijziging 04/05/2005 01:26)
Avatar van Martijn1989PHP ver gevorderde Owk, de meeste weten wel dat ik zit te k*tt*n met CronJobs. Alleen nu bedenk ik mezelf, dat je bij criminals ook geld krijgt elk uur, maar dat dat dus geen cronjobs zijn die je hoeft intestellen. Kan iemand mij meer over dat vertellen?

16 antwoorden

Gesponsorde links
Offline Gerard - 03/05/2005 15:58
Avatar van Gerard Ouwe rakker Als jij wil dat iemand ook elk uur geld krijgt zelfs wanneer hij niet online is dan zal je toch echt met cronjobs moeten werken.
Offline VonDutch - 03/05/2005 15:58 (laatste wijziging 03/05/2005 16:00)
Avatar van VonDutch PHP interesse ik heb het script nooit bekeken, maar OF hij stelt het zelf in, OF er zit een functie in die elke keer wordt aangeroepen als het script wordt geladen die kijkt of het tijd is voor de Turn Based Gold, en als dat zo is gaat hij dat uitvoeren.

en proximus, hoeft niet per se, je merkt pas of je nieuw geld hebt als je de pagina refreshed, dus het zou best kunnen 
Offline xSc - 03/05/2005 16:27
Avatar van xSc Onbekend Je hebt ook alternatieven:

http://www.yapf.net/faq.php?cmd=100&itemid=672
Offline Gerard - 03/05/2005 16:30
Avatar van Gerard Ouwe rakker wat je kan doen is een timestamp opslaan in de database en die updaten bij elke keer als er een uur voorbij is sinds die timestamp

17:00 -> 17:30 (timestamp is 17:00) -> 18:00 (vervang timestamp)

Dan kan je als iemand terug is gekomen op de website het aantal uren tellen wat ondertussen geweest is en hem zo het geld toegeven wat hij moet krijgen.

NADEEL! Wanneer iemand een week weg is krijgt hij dus gewoon geld. Maar hij krijgt het geld dus pas als hij weer terug komt... niet altijd even eerlijk voor andere spelers die hem willen beroven.

edit: zoals in het laatste puntje van die site van henri dus staat 
Offline MechaVore - 03/05/2005 16:33 (laatste wijziging 03/05/2005 16:35)
Avatar van MechaVore Gouden medaille

PHP gevorderde
@proximus, dat hoeft helemaal niet. ik denk dat criminals ook zo werkt. Hij doet dat niet alleen bij die ene speler. maar elke pagina die hij laadt controleert hij even of er een uur voorbij is. zo ja dan doe je bij alle spelers zoveel geld erbij. zijn er meerdere uren voorbij? gebruikersgeld+(aantaluur * geld) en bij iedereen updaten. bij criminals controleert hij waarschijnlijk ook nog wat voor rang elk persoon is. en aan de hand daarvan komt er een ander bedrag bij. o ja je moet ook elke keer dat je een update doet, de tijd in een tabel in de database zetten. die hij moet controleren

ik weet niet of het zo in criminals zit. maar zo zou je het iig kunnen maken.
Offline Martijn1989 - 03/05/2005 16:36
Avatar van Martijn1989 PHP ver gevorderde
4 Q: ik heb een online spel en elk uur moeten de spelers geld erbij krijgen

Dit hoeft helemaal niet met een crontab.
In dit soort gevallen is het val geen enkel belang dat het geld echt elk uur wordt opgeteld. Het enige wat belangrijk is is dat het totaal aan geld klopt op het moment dat je het totaal opvraagt.
Dit kun je dus ook prima oplossen door een routine te maken die controleert hoe lang geleden er voor het laatst geld is bijgegeteld. Je kunt eenvoudig uitrekenen hoeveel hele uren er zitten tussen de vorige update en nu, en zoveel keer moet je geld erbij optellen. Na elke update onthoud je het huidige tijdstip zodat je de volgende keer vergelijkt met de tijd van deze update.


//zo dus... jezus.. ik zou niet weten hoe ik dat ook zou moeten aanpakken 
Offline Gerard - 03/05/2005 16:38 (laatste wijziging 03/05/2005 16:39)
Avatar van Gerard Ouwe rakker
Citaat:
In dit soort gevallen is het val geen enkel belang dat het geld echt elk uur wordt opgeteld. Het enige wat belangrijk is is dat het totaal aan geld klopt op het moment dat je het totaal opvraagt.


Dat weet je niet. Wat is de policy? Als iemand ook berooft mag worden tot zijn maximale terwijl hij/zij online is dan vindt IK het persoonlijk wel net zo eerlijk dat je op dat moment al het geld wat die persoon heeft kan jatten.

Anders kan iemand gewoon 2 weken inactive doen, terug komen, ineens dik geld hebben, en verder gaan. Wel apart.

Om nog maar niet te spreken over ghost accounts etc.

Citaat:
//zo dus... jezus.. ik zou niet weten hoe ik dat ook zou moeten aanpakken 


Zie mijn laatste post. Het is een stuk logisch denken en je doet er wel even over voordat je het gemaakt hebt. Maar op zich is het een mooi staaltje werk.
Offline MechaVore - 03/05/2005 16:39
Avatar van MechaVore Gouden medaille

PHP gevorderde
nou zoals ik net typte 
Offline xSc - 03/05/2005 16:40
Avatar van xSc Onbekend Martijn, let op je woorden aub.

Maar wat is er dan moeilijk aan cronjobs? Het commando?
Offline Martijn1989 - 03/05/2005 16:42
Avatar van Martijn1989 PHP ver gevorderde Sorry, Henri:
//zo dus...Nare pot nat. ik zou niet weten hoe ik dat ook zou moeten aanpakken 


@Lightblade & Proximus :

1. Elke keer bij een preview van een pagina, word de laatste tijd in de database gezet. de oude word verwijderd
2. en dan...
Offline korby - 03/05/2005 16:49 (laatste wijziging 03/05/2005 16:49)
Avatar van korby HTML interesse geen cronjobs maar een php script die net zo werkt hij werkt op de clock pluk het script maar goed uit dan vind je de code 

het javascript code staat in de index en het cron script is alles met

cron_
Offline Martijn1989 - 03/05/2005 19:36
Avatar van Martijn1989 PHP ver gevorderde @ korby, waar vind jij dat nu weer :S
Offline VonDutch - 03/05/2005 21:41
Avatar van VonDutch PHP interesse het is niet handig om in een voorpagina of een andere gewone gebruikspagina een script te zetten wat controleert of er een uur voorbij is en dat dan al het geld gaat uitdelen, om een simpele reden: teveel tijd. Stel dat je spel 1000 users heeft. Wat er dan moet gebeuren, is dat php.exe 1000x de benodigde gegevens uit de database moet halen om het geld uit te rekenen waar diegene recht op heeft, dan dat uitrekenen (kost niet heel veel tijd), maar daarna moet dat ook weer in de tabel worden gezet. 2000x een mysql query dus, en reken maar dat dat tijd kost. Ik zou het iig niet leuk vinden als het soms gebeurt dat de pagina er gewoon focking lang over doet met laden 
Offline korby - 03/05/2005 22:54 (laatste wijziging 04/05/2005 08:09)
Avatar van korby HTML interesse simpel voeg me maar toe op msn ken het hele script zowat uit me hoofd:p

lol bijna vergete

CelestialCelebi edit: Tja, bijna vergeten. Dit is een forum. Hier worden alle problemen dus publiekelijk verholpen en niet via MSN.
Offline timmie_loots - 04/05/2005 01:14
Avatar van timmie_loots PHP gevorderde Je kunt ook een script maken dat als er een hoeveelheid geld van een user bekeken wordt, dat hij die dan update. Als je er vervolgens voor zorgt dat je niet te veel op 1 pagina hebt staan, dan is het zeker te doen, met niet al te veel serverload.
Offline CelestialCelebi - 04/05/2005 08:10
Avatar van CelestialCelebi PHP gevorderde De oplossing van timmie_loots werkt waarschijnlijk ook.. 't is niet altijd dat het perse ELK uur moet gebeuren, er moet VOOR ELK uur een bepaald bedrag bij komen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.169s