Aanvalsscript
Hallo,
Op het moment ben ik bezig om een browsergame te maken. Erg leuk, vooral om PHP en SQL te leren, maar ik loop dikwijls tegen een aantal problemen aan. Nu vraag ik mij af hoe ik onderstaand het beste kan aanpakken.
1) Een speler kan een aanval sturen naar een andere speler. Stel dat de looptijd (de tijd totdat de troepen aankomen) 5 uur en 20 minuten is. Zodra de aanval aankomt kan de aanvaller (indien hij overwint) grondstoffen roven van de verdediger. Vervolgens
wordt er dus een script uitgevoerd die, zodra de aanval aankomt, de verliezen van de aanvaller en de verdediger berekent, eventueel de grondstoffen update, en de legers weer terugstuurt naar de aanvaller.
2) Een ander voorbeeld is een verkenner die 10 uur lang het vijandelijke dorp verkend en gegevens kan doorgeven aan de aanvaller. Na 10 uur moet deze spion automatisch worden teruggestuurd, en moet er een rapport verstuurd worden met de verkregen informatie.
Echter: hoe pak ik dit aan? Kan ik MySQL zodra de aanval komt een script laten uitvoeren (ik weet dat dat met cronjobs kan, maar dan moet ik die elke x-seconden laten uitvoeren)? Of moet ik het script laten uitvoeren zodra óf de aanvaller óf de verdediger online komt? Graag wat meer informatie hierover.
Bedankt alvast!
Op het moment ben ik bezig om een browsergame te maken. Erg leuk, vooral om PHP en SQL te leren, maar ik loop dikwijls tegen een aantal problemen aan. Nu vraag ik mij af hoe ik onderstaand het beste kan aanpakken.
1) Een speler kan een aanval sturen naar een andere speler. Stel dat de looptijd (de tijd totdat de troepen aankomen) 5 uur en 20 minuten is. Zodra de aanval aankomt kan de aanvaller (indien hij overwint) grondstoffen roven van de verdediger. Vervolgens
wordt er dus een script uitgevoerd die, zodra de aanval aankomt, de verliezen van de aanvaller en de verdediger berekent, eventueel de grondstoffen update, en de legers weer terugstuurt naar de aanvaller.
2) Een ander voorbeeld is een verkenner die 10 uur lang het vijandelijke dorp verkend en gegevens kan doorgeven aan de aanvaller. Na 10 uur moet deze spion automatisch worden teruggestuurd, en moet er een rapport verstuurd worden met de verkregen informatie.
Echter: hoe pak ik dit aan? Kan ik MySQL zodra de aanval komt een script laten uitvoeren (ik weet dat dat met cronjobs kan, maar dan moet ik die elke x-seconden laten uitvoeren)? Of moet ik het script laten uitvoeren zodra óf de aanvaller óf de verdediger online komt? Graag wat meer informatie hierover.
Bedankt alvast!
Gesponsorde koppelingen:
Chileon (ofzo) wilt ook een browserspel maken, misschien contact met hem opnemen?
Lees deze blog reeks anders even door? Daar vind je een mooie uitleg daarover: klik
Bedankt voor de guide. Erg handig! Op https://webdevils.nl/articles/22-browser-based-game-acties-uitvoeren-zonder-dat-gebruikers-online-zijn/ staat bij het derde alternatief dat je moet voorkomen dat requests tegelijkertijd worden uitgevoerd. Alleen hoe kan ik dat voorkomen? Als ik in een while-lus de acties ophaal die moeten gebeuren, hoe kan het dan alsnog fout gaan?
je kunt ook meteen zeggen dat je travian namaakt...
Waar slaat zo'n opmerking op. Als je niks zinnigs te zeggen hebt kun je beter je mond houden. Je reactie heeft totaal geen toegevoegde waarde en bestaat uit nonsense, so plz shutup.
Martin Essink op 03/04/2011 00:43:15:
je kunt ook meteen zeggen dat je travian namaakt...
Hij geeft aan dat hij een browser spel maakt om PHP en MySQL te leren, niet om een concurrent te worden van travian.
Bedankt voor de guide. Erg handig! Op https://webdevils.nl/articles/22-browser-based-game-acties-uitvoeren-zonder-dat-gebruikers-online-zijn/ staat bij het derde alternatief dat je moet voorkomen dat requests tegelijkertijd worden uitgevoerd. Alleen hoe kan ik dat voorkomen? Als ik in een while-lus de acties ophaal die moeten gebeuren, hoe kan het dan alsnog fout gaan?
In de volgende artikelen zal ik van al deze alternatieven een code voorbeeld uitwerken om de werking ervan verder toe te lichten.
;)
Maar goed, om het maar voor te kauwen: klik
;)
Maar goed, om het maar voor te kauwen: klik



