Onlinegame: Rohstoffe/Bauphase
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktualisieren
angriff
aufrufen
code
datei
gedanke
idee
mache
machen
minute
navigation
problem
produktion
realisieren
rohstoff
sekunde
server
spieler
stimmen
tabelle
-
Ich m?chte in einem kleinen Onlinegame auf PHP-Basis eine Erh?hung eines Wertes pro Minute erreichen (Rohstoffproduktion), der aber wirklich jede Minute durchgef?hrt wird. Wie ist das m?glich?
Desweiteren soll das Bauen von Geb?uden eine bestimmte Zeit beanspruchen, wie kann ich das realisieren?
Danke im Vorraus. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
einfach ma im forum suchen :P
oder meinen worten lauschen (lesen)
also um wirklich jede minute die rohstoffe zu erh?hen musst du cronjobs verwenden, das sind einfach gesagt "roboter" die ein bestimmtes script zu einer bestimmten zeit(oder auch in bestimmten zeitabst?nden) aufrufen
das letztere kansnte einfacherer machen
du speicherst in der db bei dem start des baus den timestamp und fragst halt immer ab ob der timestamp + soundsoviel sekunden h?her als der jetztige is, wenn ja dann schreibst wieder in die db... -
pro minute ist echt heftig
Wenn es wirklich sein muss, dann mach besser pro stunde, denn das wird sonst f?r den Server ziehmlich "anstrengend".
Oder alternativ rechnet dein Programm nur den neuen Stand aus, wenn er auch wirklich abgefragt wird.
also :
Zeit(in Stunden) = Jetzt - letzte_Aktivit?t;
Produktion = runden(F?rderung*Zeit);
Haben = Haben + Produktion;
um das mal "neutral" als Formel anzugeben. -
du willst dass die eintr?ge in der db jede minute ge?ndert werden
dann besorg dir doch nen cronjob: http://www.cronjob.de/
is kostenlos
und damit kannst du des total einfach machen
einfach die page mal durchlesen und dann passt des -
aber ich kann durch den cronjob nicht alle scripts mit jedem user namen durchlaufen lassen, oder?
-
du m?sstest mit dem Cronjob nur eine PHP Datei aufrufen, die wiederum die User aus der MySQL Datenbank ausliest und diese Daten dann aktualisiert.
ich sag nur, belastet den Server unn?tig... -
jof schrieb:
wenn wahrscheinlich nur st?ndlich, mein problem ist nur, dass bei angriffen anderer spieler die rohstoffdaten auch stimmen m?ssen und ich wei? nicht wie ich das sonst hinbekome
Wo ist das Problem??
Versteh ich nicht!!
Was meinst du?
Also du l?sste von diesem cronjob eine Datei aufrufen...
in der steht das er alle User und deren Ressis rauslesen soll und
dann neu eintr?gt!!
Die Angriffe sind ja was ganz anderes!
die sind ja auch in einer ganz anderen Tabelle! -
ich meinte, dass es ein problem w?re, wenn ich die alternative w?hlen w?rde....(ohne cronjob)
-
jof schrieb:
ich meinte, dass es ein problem w?re, wenn ich die alternative w?hlen w?rde....(ohne cronjob)
Ohne?
Naja...das w?rd nicht hinhauen!!
oder du machst bei jeder aufgerufenen Seite
ein script rein das ausrechnet wie viele Ressis
du in dieser Zeit h?ttest bekommen solln und tr?gt das dann ein!!
aber das ist sehr umst?ndlich!!
also so w?rds ich machen ohne cronjob! -
Oder er macht es in die Navigation, weil die ja eigentlich immer da ist.^^
Das w?re doch eine Idee, weil den Code sehen tut man ja sowieso net... -
man wie gut das ich das schon fertig hab -.- ^^^
-
adrians schrieb:
Oder er macht es in die Navigation, weil die ja eigentlich immer da ist.^^
Das w?re doch eine Idee, weil den Code sehen tut man ja sowieso net...
Das bringt nichts!!
weil die navi sich dann dauert neu laden muss!!
sonst ?ndern sich die ressis nicht!!
also ich glaub die meisten Games haben es so wie ich es oben gesagt hab!! -
is schon das beste mit dem cronjob, aber wie kann ich das mit der Bauphase realisieren? (Die H?user sollen auch immer als fertig eingetragen werden, wenn sie fertig sind, weil sie die Rohstoffproduktion ja beinflussen und wenn sie erst sp?ter bei besuch der seite aktiviert werden h?tte der Spieler ja einen Nachteil.)
-
Also das ist ganz leicht!!
glaub ich halt!
1. Die tabelle mit den User da muss drinne stehn wie viele Ressis und geb?ude level!! so w?rds ich machen.
2. Wenn ein geb?ude begonnen wird l?sst du es in eine andere Tabelle eintragen von wem welches geb?ude welche stuffe... und wie lange es dauert!!
dann w?rd ich einen cronjob her nehmen und jede sekunde aktualiesieren lassen!! und immer eine abfrage ob die zeit bereits um ist.!!
wenn ja dann die geb?ude stufe und die rohstoff gewinnung aktualisieren und ja... Fertig!!
nur mit dem jede Sekunde aktualisieren bin ich mir nicht sicher!! -
Also ohne cronjobs wirds glaub ich sehr schwer...so viele Gedanken ich mir auch mache. Wie k?nnte ich den mit cronjob die Erh?hungsskript-Seite am einfachsten sch?tzen? (Sonst kann ja jeder die Rohstoffe erh?hen)
-
Mist: Schonwieder 2mal, wei? einer warum mein post doppelt auftaucht?
Also ohne cronjobs wirds glaub ich sehr schwer...so viele Gedanken ich mir auch mache. Wie k?nnte ich den mit cronjob die Erh?hungsskript-Seite am einfachsten sch?tzen? (Sonst kann ja jeder die Rohstoffe erh?hen) -
Wenn es nur um den Angriff geht, dann w?rde ich es so machen.
Bevor der Angriff statt findet werden die Rohstoffe erh?ht von beiden Usern.
Dabei werden in der selben zeit alle Geb?ude aktualiesiert.
Danach wird sp?ter der Kampf ausgetragen und dann w?rde es doch kein Problem sein.
Die Geb?ude sind auf dem neusten Stand und die Rohstoffe auch.
Dann wird angegriffen.
Das m?sste doch ganz einfach sein, oder? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage