Guten Abend
Wie kann ich machen das die Namen über dem Kopf nicht mehr Namen sind und das dan die ID ist der DB von dem jeweiligen Spieler?
Playertags als DBID
-
- Altis Life
-
PhilippS -
7. November 2019 um 23:13 -
Erledigt
-
-
TFAR Sendet an life_server Anfrage zu z.B fn_getDatabaseID, diese datei sendet dann das result mit der ID zurück an TFAR. Das ist eine Möglichkeit.
-
Hier geht es nur um die Namen über dem Kopf und nicht mit TFAR
-
Meinst du mit ID die UID aus dem Player table oder die PID des Spielers?
-
Hier geht es nur um die Namen über dem Kopf und nicht mit TFAR
War verplant, sry
-
Meinst du mit ID die UID aus dem Player table oder die PID des Spielers?
Die DBID die ganz einfach von der Datenbank vergeben wird welcher die Position des Eintrages bestimmt. Ich will einen RPServer machen und nicht ein Server wo User denken oh cool ich kann Namen Lesen. Aber ich will es den Supportern auch vereinfachen indem man halt anhand der Zahlen erkennen kann wer das wahr.
-
Die DBID die ganz einfach von der Datenbank vergeben wird welcher die Position des Eintrages bestimmt. Ich will einen RPServer machen und nicht ein Server wo User denken oh cool ich kann Namen Lesen. Aber ich will es den Supportern auch vereinfachen indem man halt anhand der Zahlen erkennen kann wer das wahr.
Dann musst du wie gesagt eine Anfrage an den life_server senden der die dbid holt und ne anfrage zurück macht mit der dbid
-
Gibt es eine leichtere methode da ich mich nicht so auskenne?
-
Also:
1. Du musst in der fn_queryRequest.sqf(Server) im Select Statement die Spalte 'uid' adden. (In jedem SELECT Statement )
2. Nun musst du die Auswertung des veränderten Arrays in der fn_requestReceived.sqf(Client) anpassen. Hier aber aufpassen da, solltest du die Spalte 'uid' z.B. als letztes im Select Statement adden, ist dies nicht gleichzeitig der letzte Eintrag im Array da in der fn_queryRequest.sqf(Server) nach der Abfrage aus der Datenbank noch andere Daten in das Array gepushbackt werden. (Besonders auch noch auf die fraktionsspezifische Abfrage achten)
3. Jetzt könntest du z.B. in der fn_requestReceived.sqf(Client) den Wert für die UID via setvariable auf den player schreiben und global machen. Damit kennt jeder Client dann die UID dieses Players, jetzt muss man die nur noch anzeigen. Dazu die fn_playertags.sqf(Client) bearbeiten, dass die die Variable vom Player ausliest und anzeigt.
Das ist jetzt keine genaue Anleitung wie das geht aber so solltest du das machen, für jeden Player der in range kommt jedes mal ein request an den Server zu schicken um an die UID zu kommen fände ich etwas overkill. Direkt nach dem Login oder sogar zeitgleich einen request an den Server zu schicken nur um die UID zu holen finde ich ebenfalls unglücklich gelöst, der Login greift ja schon auf die DB zu, also warum nicht direkt auch die UID auslesen. Man spart halt Traffic.
MfG Barney
PS: Und ne da gibt es auch keine einfachere Methode(zumindest nicht wenn man das ordentlich machen will)
-
Ich verweise dazu gerne auf mein Tutotial.
Schau dir das mal an, da ich finde das Barney das so leid es mir tut nicht gerade anfängerfreundlich erklärt hat.
Er hatte ja dazugeschrieben das er sich nicht so auskennt. Da verwirren Aussagen wie
Zitatim Select Statement die Spalte 'uid' adden. (In jedem SELECT Statement )
leider ein Wenig.
Solltest du noch fragen haben kannst du dich gerne melden.
Trotzem danke Barney das er den Ablauf erklärt hat.
Mit freundlichen Grüßen
Joe Barbaro