Positionslog speichern und abrufen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,


    gerne möchte ich von meinem Script aus die laufposition der Spieler speichern.
    Ebenfalls würde ich die gerne mir wie in eine Art Video ansehen können.


    Wie lässt sich sowas am besten realisieren ?

  • Ich hätte es auch so verstanden, wie @Mogly1 .


    Das was im Video dargestellt wird könnte ich mir nur so vorstellen:
    Das Objekt der Karte wird von oben angeschaut, und auf der Karte werden diese Kugeln (Billardkugeln texturiert?) in entsprechender Farbe jeweils an die entsprechende Position (lässt sich berechnen) gesetzt.
    Der Name wird mit einem Textlabel erzeugt und ebenfalls an entsprechende Position gesetzt.


    Meinst du es so?

  • Vielleicht einen Timer für jeden User stellen oder einen allgemeinen Timer stellen der jede Sekunde den Standort von allen Spielern ermittelt und in einer Datei speichert.

    ~gez. TonicZ

  • Aufjedenfall wird die Spielerposition permanent im Sekunden-Takt gespeichert.


    Das könnte evtl auch ein TextDraw sein...wo die Positionen dann gesetzt werden.


    Aber wirklich schön zu machen ist das in GTA eig nicht...da gibt es schönere Umsetzungsmöglichkeiten extern mit diesen Daten :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das gezeigte Video stellt keine Ingame-Aufnahme dar sondern ist von RPG im UCP integriert. Sicher, dass du das InGame anzeigen willst und nicht seitens PHP verarbeiten lassen möchtest? inGame müsstest du lediglich die Spieler-Position in einem Interval loggen und den Rest per Web abwickeln.

  • Das gezeigte Video stellt keine Ingame-Aufnahme dar sondern ist von RPG im UCP integriert. Sicher, dass du das InGame anzeigen willst und nicht seitens PHP verarbeiten lassen möchtest? inGame müsstest du lediglich die Spieler-Position in einem Interval loggen und den Rest per Web abwickeln.

    Das ganze soll nicht InGame anzeigbar sein sondern so wie RPG das in diesem Falle hat über den Webbrowser. Allerdings ist dabei die Frage, wie ist erstmal die speicherung der Positionen so möglich

  • Du könntest es ja folgend machen:
    Timer beim Gamemode Init setzten auf 1000 ms
    Jede Sekunde speichert der Timer die aktuelle Position des Spielers in einer eigenen Datei BSP: /scriptfiles/poslog/Tonicz-02.05.2017.txt
    In der Textdatei siehts folgend aus:
    [19:00:00] X:1234.50 Y1234.50 Z12.50
    [19:00:01] X:1234.50 Y2256.35 Z13.60
    [19:00:02] X:1234.50 Y1234.50 Z13.80
    [19:00:03] X:1234.50 Y1234.50 Z14.50
    Ein PHP Script lädt die Textdatei und liest die Koordinaten und gibt diese ab in einer Leiste.

    ~gez. TonicZ

  • Ich würde sogar gar sagen, dass man auf die Z Koordinate verzichten kann - da eh nicht (zumind. im besagtem Beispiel). Weiß auch gar nicht ob es wirklich wichtig ist, ob man zwei Nachkommastellen macht oder gar auf Floats verzichtet und Integer nimmt, weil so genaue Daten bei so einem großen Punkt irrelevant sind. Wenn du die Daten in der Datenbank sammelt (würde dir ein Schema wie ID (unique, auto_increment), playerid (unique id vom jeweiligen Spieler -> falls SQL als Speicherung dient), x (int), y (int) und date / timestamp (unix timestamp verwenden, der reicht bei deinem vorhaben völlig). Die Umsetzung via. PHP und weiteren Frameworks müsstet du dann im jeweiligen Coding-Bereich erfragen.

  • @Douq


    ich danke dir erstmals für die genaue Info. Ich werde das ganze morgen einmal versuchen das ganze in samp einzufügen so das die koordinaten auch von der Datenbank aus gespeichert werden.


    Das Abrufen ist dann natürlich eine andere Frage was ich dann aber im anderem bereich erfrage