mmofacts.com

Berechnung

gepostet vor 18 Jahre, 3 Monate von None
Ich habe viele bereits gemacht nun komme ich vor das Problem wie berechne die Rohstoffe neu kann mir da einer ein Code beispiel machen.Ich weiß das es mit time() gehen soll nur wie und wie berechnet mann alles?
gepostet vor 18 Jahre, 3 Monate von Crasher
Bevor der Thread nochmal geclosed wird und du wieder einen erstellen musst:
Du hast die Ressourcen pro Tick (pro Zeiteinheit) ich geh jetzt von sekunden aus.
User bekommt 100 Ressourcen Pro sekunde.
Du Speicherst immer das letzte mal wann du das berechnet hast als Timestamp [ time() ] und beim nächsten aufruf schaust du wieviel zeit vergangen ist
Vergangene Zeit = Gespeicherter Timestamp - Aktueller Timestamp
Gewonnene Ressourcen = Vergangene Zeit * Ressourcen Pro Sekunde
Neue Ressourcen = Gewonnene Ressourcen + Alte Ressourcen
Und wenn du nicht weißt wie du das umsetzt dann solltest du erstmal mit www.schattenbaum.net/php/
oder
tut.php-q.net
Anfangen
Crasher
gepostet vor 18 Jahre, 3 Monate von None
Danke.Jeder User bekommt pro Sekunde 5 von allem wie sähe das jetzt als php code aus?Könntest du mir da auch helfen.
Funktioniert das mit Gebäude bau genauso?
gepostet vor 18 Jahre, 3 Monate von Mudder
Ich will dich nicht beleidigen, doch wenn du hier schon Probleme hast dann solltest du dir erstmal ein anderes Projekt als ein BG suchen.
Der User ruft um Timestamp 100500 die Seite auf und du führst die Aktuallisierung durch. Die letzte Aktuallisierung war um Timestamp 100000, sprich vor 500 Sekunden.
Nun führst du einfach ein Update durch:
500 Sekunden * Ressourcenplus Bretter (1) = 500 Bretter
500 Sekunden * Ressourcenplus Steine (0.5) = 250 Steine
Und zum schluss speicherst du die neuen Ressourcen (zusätzlich zu den vorhanden Ressourcen) und den Aktuallisierungszeitpunkt ( 100500 ) in der DB. Fertig
Gebäudebau sollte etwas anders ablaufen:
Baut der Spieler ein neues Haus (Bauzeit 3600 Sekunden = 1 Stunde) dann speicherst in der DB das um aktueller Timestamp + 3600 ein neues Haus fertig ist. (z.B. 100000 + 3600)
Kommt der Spieler nun um 104000) wieder schaust du nach ob ein Gebäude fertig gestellt wurde. Wenn ja dann aktuallisierst du die Anzahl der Häuser die der Spieler hat und die Produktionswerte.
Achtung.. diese Methode wird von vielen einfachen BGs verwendet, aber die 400 Sekunden die das Haus eigentlich schon fertig war, aber noch nicht aktuallisiert wurde, hat das Haus auch nichts produziert.
gepostet vor 18 Jahre, 3 Monate von Progralixx
@keving:
Mein Tipp:
- versuch herauszubekommen, was zum Teufel ein "Timestamp" ist. (Google ist dein Freund)
- Überleg mal selbst wie man mit Hilfe des Timestamps die Rohstofflieferung realisieren könnte.
Wenn du bei einem dieser beiden Punkte schon Probleme hast, dann lern erst einmal PHP bevor du hier einfach Codebeispiele forderst. Ich kann das nicht ab wenn jemand fragt wie etwas geht und keine richtige Antwort erwartet sondern einfach nur fertigen Code.
PS:
Selbst wenn man dir hier ein Stück Beispielcode posten würde bezweifle ich, dass du es korrekt in dein Spiel einbauen könntest. Das geht ohne Kenntnisse von Programmierung nämlich nicht.
gepostet vor 18 Jahre, 3 Monate von progs
Hier mal die PHP-Funktion zum erzeugen eines Timestamps:
de3.php.net/manual/de/function.time.php
Noch so ein Tipp: Du musst ausrechnen, wieviele Sekunden du für eine Einheit brauchst. Wenn Du das hast, kannst Du mit der letzten Onlinezeit des Spielers und der aktuellen Zeit die Rohstoffe errechne, die er seitdem bekommen hat.
gepostet vor 18 Jahre, 3 Monate von jonasq
Also ich finde es auch ein wenig übrzogen, was keving "fordert" ....
Erklärungen sind das eine, aber wenn die Leute hier seine "Arbeit" machen sollen, dann soll er sein Konzept posten
Nichts dagegen, wenn einer schnell vorankommen möchte, aber ein Codebeispiel ist nicht der richtige Weg, es geht ums Verstehen der Sachlage.
Insofern kann ich das Schließen von Beiträgen durchaus nachvollziehen.
schönes we noch
/jonasq
gepostet vor 18 Jahre, 3 Monate von Rylor
Für mich riecht das an einen Mangel an Erfahrung, kann mich den Vorrednern nur anschließen. Besonders wenn man andere Beiträge von dir liest.
Ich empfehle da immer: Probieren, probieren und nochmals probieren.
Browsergames zu schaffen lernt man nicht dadurch das andere den Code für einen machen, sondern indem man selbst Konzepte erarbeitet und diese in Code umsetzt. Ohne Fleiß kein Preis, das dauert seine Zeit, das weiß ich aus Erfahrung.
Ich wünsche dir trotzdem viel Erfolg, aber erwarte nicht dass andere deine Arbeit machen
Rylor
gepostet vor 18 Jahre, 3 Monate von Drezil
Original von jonasq
Erklärungen sind das eine, aber wenn die Leute hier seine "Arbeit" machen sollen, dann soll er sein Konzept posten

ok, www.galaxy-news.de/mypage/5618_drezil/blog/144_quot_ressourcen_sind_doch_einfach_quot.html
.. glaub aber kaum, dass ihm das was hilft .. erstmal php lernen würd ich sagen .. sowas muss man eig von alleine lösen .. wie darf ich mir sonst allianzen/das k-sys etc. vorstellen?
und nein, dass macht man nicht "mal eben" hinterher, sondern sollte es vorher schon richtig planen ..

Auf diese Diskussion antworten