Schleifen (wie bei Online Games)

Day Walker

Grünschnabel
jeder hat bestimmt schon mal ein Online Game gezockt, wo es auch ressourcen und ähnliches gibt. Jetzt wollte ich wissen wie ich den Zuwachs pro Std deffenieren kann, also eine Schleife, welche die ganze Zeit durchläuft!!!

Beispiel einer bekommt jede Std 100 Erz soll der Server für ihn jede Std 100 Erz adden, auch wenn er nicht online ist.

Falls ich mich in der Sprache geirrt habe (programmiersprache), welche ist dann richtig???

Antworten hier oder an Weisser-Rauch@gmx.net
 
genauer

Weißt du was, du solltest es noch ein bisschen genauer erklären was du willst.

Ich hab es auf zwei arten verstanden. Entweder willst du eine Datenbank oder eine Internetseite programmiert in ASP mit einem Online Spiel verbinden. So die Frage ist welches Spiel du verbinden willst. Ist es ein harmloses Online-Webpagebasiertes Spiel oder sowas wie Counterstrike.
Oder die zweite Version, schreibst du dein Eigenes Spiel auf deiner Homepage?



##########################
Das Gewissen ist die veränderlichste aller Normen
 
huhu ,

wenn du den ressourcenzuwachs wie bei den gängigen Online games .. druid-wars usw meinst ...

Zu erst :
Du siehst da einen falschen Ansatz!

Diese Spiele sind browserbasierend , das heisst das man ni wie in Anwendungssoftwareprogrammierung wie bei delphi einfach ein Event nimmt.

Sondern man schreibt da eine Funktion die jedesmal ausgeführt wird wenn der user im Spiel ist ...
Das bedeutet wenn der User nicht drin ist , werden auch keine Rohstoffe erhöht.
Aber wenn dieser Nutzer sich einloggt , dann werden diese erhöht. ( oder er sich in deinem System bewegt)

Und wie :

du brauchst einfach eine Anfangszeit
( wie das? : Du lässt dir einfach die UNixzeit ausgeben und in die MYsqldatenbank schreiben wenn man auf der hauptseite bist)

wenn du dann wieder online kommst und wieder auf der Hauptseite bist dann musste dir wieder eine Unixzeit auslesen lassen .

NUN

ziehste die eine von der anderen ab Neustezeit - Altzeit = dauer der Ressourcenerhöhung , dann multiplizierst du diese zeit mit deinem Wachstumsfaktor des rohstoffes ...

somit erhöhen sich diese Ressourcen ... also keine Hintergrundroutine die immer läuft auch wennn kein user online ist ...

mfg
 
das stimmt so nicht ganz.
entweder wird das via Cronjob, Task, oder mittels PHP/ASP gemacht.
ein Beispiel zu Tasks/Cronjobs:
hierbei wird alle xx min ein Script aufgerufen, welches allen user die Ressourcen / usw hinzufügt.
mittels PHP/ASP heißt entweder, wenn der User sich einlogt werden sämtliche Ressourcen hinzugefügt, oder wenn einer seine Mitspieler sich einloggt passsiert das selbe =).
mit der Umsetzung liegt : X9kl3m2 richtig.

Zu deinem Problem, würde ich dir empfehlen mal nach dem "Timer" zu schauen.
 
Zuletzt bearbeitet:
Also man kann auch anstatt PHP ASP benutzen, das ist davon nicht wirklich abhängig.
Und wenn es auf ASP basiert vermute ich ein Windows System, mit genügend Rechten könnte man auch ein Programm im Hintergrund die Resourcen erhöhen lassen.

Edit: Ja auf Linux Systemen könnte man das auch so machen, aber die meisten haben bei Linux ja nur Webspace und selten die Rechte ein Programm zu installieren/starten .
 
@ NomadSoul

Du hast schon recht mit deiner Aussage...

Nur man sollte immer sehen , welchen umfang das Spiel haben soll ...
wenn man nur 100 Leute hat die sich nichtmal parallel einloggen so kann man das so lösen wie ich das schrieb. Nur wenn man davon ausgeht, daß es viel mehr leute werden dann könnte man das über cronjobs machen .... nur ob es dann sinnvolle Abstände gibt dieses zu realisieren ...

Weil man sollte immer den rechenaufwand von den Mysqldatenverkehr beachten ...
wenn man jetzt aller 60 Sekunden nen cronjob durchführen lässt ( also ein php script starten welche diese Rohstoffe berechnet ) wird des zu instabilitäten für die user kommen.

nur so neben bei der Thread is fast 2-3 JAhre alt ... ( hab ich auch erst gerade gemerkt)
 
Oh LOL =)
naja so eine System arbeitet eigendlich auch selten im Minutentakt.
Andereseits hab ich schon eins gesehn das alle 7 sek ablief war allerdings für ne andere Anwendung.
Anderseits bei vielen Usern die ständig klicken um ressis zu bekommen steigt die DB Last genauso an.
 

Neue Beiträge

Zurück