1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
So: 08 Juni 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Hilfeforum

    Datenbank Querys verstehen

    • TaktischerSpeck
    • 24. Oktober 2018 um 13:54
    • Erledigt
    • TaktischerSpeck
      Profi
      Reaktionen
      292
      Trophäen
      10
      Beiträge
      1.211
      Dateien
      6
      Bilder
      35
      • 24. Oktober 2018 um 13:54
      • #1

      Hey

      ich will mich an einem script versuchen welches beim einparken ein timestamp an die DB schickt und dieser beim auswählen eines fahrzeuges abgefragt wird und somit ein fahrzeug für zb. 10 min gesperrt wird (so wie bei DE-100).

      Hier solls garnicht um diese umsetzung gehen sondern darum das ich komplett nicht verstehe wie die verbindung zwischen einer function in der mission über die life_server zu DB gelangt.

      Alles was ich weiß ist das es life_server und missions functions gibt, in den server functions querys nur wie würde ich die zb in einem script aufrufen?

      wie würde ich zb diesen query in der mission "abfragen":

      _query = format["SELECT id, side, classname, type, pid, FROM vehicles WHERE pid='%1',_pid];

      danke an alle erklär freundigen :)

      Mit freundlichen Grüßen

      TaktischerSpeck - Vincent

      2945262602.gif

      Leidenschaftlicher Analphabet mit leichtem Drang zum Sabbern.

      2945262602.gif
      Welcome to Arma, a game where Physics don't give a f*ck.

      2945262602.gif
      If (ArmA == Bullshit) exitWith {[] call f*uckThisShit};

      2945262602.gif

      Kontaktmöglichkeiten

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 24. Oktober 2018 um 14:40
      • #2

      Wie du schon richtig erfasst hast gibt es Funktionen die nur vom Client (Mission) oder vom Server (meist life_server, bzw. selten Mission) ausgeführt werden.

      Nur der Server hat eine Verbindung zur Datenbank, d.h. alle sog. Datenbank Querys werden von ihm geschickt. Die Datenbanksprache ist in unserem Fall SQL.

      Um dein Szenario umzusetzen musst du beim Einparken einen Timestamp wegspeichern und bei der Abfrage der Fahrzeuge des jeweiligen Spielers nur die Fahrzeuge abfragen, bei denen der Unterschied zwischen dem aktuellen Timestamp und dem gespeicherten Timestamp größer 10 Minuten ist.

      Als Hilfe kannst du dir diesen Artikel https://www.php-einfach.de/mysql-tutorial…n-zeitfunktion/ durchlesen.

      23106-logo-schrift-dunkel-390-70-png class=

      Services rund um ArmA RPG Life

      ArmA Bibel: https://community.bistudio.com/wiki/

    • TaktischerSpeck
      Profi
      Reaktionen
      292
      Trophäen
      10
      Beiträge
      1.211
      Dateien
      6
      Bilder
      35
      • 24. Oktober 2018 um 17:25
      • #3

      Hey danke erstmal

      die sache ist wie ich es in ca mache weiß ich.

      Mit SQL kenn ich mich auch sagen wir genügend aus nur ich verstehe nicht ganz wie man jetzt von den server query in der mission abfragt

      es müsste doch in etwas was geben wo eine zugehörigkeit angegeben wird oder?

      das ist mein momentaner knackpunkt xD

      Mit freundlichen Grüßen

      TaktischerSpeck - Vincent

      2945262602.gif

      Leidenschaftlicher Analphabet mit leichtem Drang zum Sabbern.

      2945262602.gif
      Welcome to Arma, a game where Physics don't give a f*ck.

      2945262602.gif
      If (ArmA == Bullshit) exitWith {[] call f*uckThisShit};

      2945262602.gif

      Kontaktmöglichkeiten

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      10
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 24. Oktober 2018 um 17:26
      • #4

      Client -> Übergabe an Server-Script (life_server) -> Anfrage an DB -> return Value geht an Server Script -> Rückgabe an Client (anderes Script)

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • TaktischerSpeck
      Profi
      Reaktionen
      292
      Trophäen
      10
      Beiträge
      1.211
      Dateien
      6
      Bilder
      35
      • 24. Oktober 2018 um 17:35
      • #5
      Zitat von blackfisch

      Client -> Übergabe an Server-Script (life_server) -> Anfrage an DB -> return Value geht an Server Script -> Rückgabe an Client (anderes Script)

      könntest du mir das evtl anhand eine code schnipsel zeigen?

      Mit freundlichen Grüßen

      TaktischerSpeck - Vincent

      2945262602.gif

      Leidenschaftlicher Analphabet mit leichtem Drang zum Sabbern.

      2945262602.gif
      Welcome to Arma, a game where Physics don't give a f*ck.

      2945262602.gif
      If (ArmA == Bullshit) exitWith {[] call f*uckThisShit};

      2945262602.gif

      Kontaktmöglichkeiten

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

    • Lucian
      Amateur
      Reaktionen
      172
      Trophäen
      11
      Beiträge
      204
      Bilder
      5
      • 24. Oktober 2018 um 17:41
      • #6

      Ich glaube am einfachsten ist es, wenn du dir Codebeispiele, wie meine Mission (DE100) anschaust. Deshalb habe ich dir hier mal die Reihenfolge für den Aufruf "Garage Öffnen" dargestellt.

      i. Spieler öffnet Garage (Z.22-37) (Client)

      - (HC/TON)_fnc_getVehicles mit den Params [getPlayerUID player, playerSide, _type, player]

      ii.(HC/TON)_fnc_getVehicles (Server)

      - In dieser Methode werden die Anfrage vom Client behandelt und es wird eine DB-Query gemacht und das DB-Result an den Client zurück geschickt

      iii. life_fnc_openGarage (Z.38-End) (Client)

      - Daten werden in den Dialog geladen.

    • TaktischerSpeck
      Profi
      Reaktionen
      292
      Trophäen
      10
      Beiträge
      1.211
      Dateien
      6
      Bilder
      35
      • 24. Oktober 2018 um 17:53
      • #7

      Danke

      [getPlayerUID player, playerSide, _type, player] remoteExec["TON_fnc_getVehicles", 2];

      Der rote teil werden die argumente sein womit der server die abfrage an die db stellt (zb. damit er weis um welchen spieler es geht)

      Der orange ist die Server function

      Der Blaue steht dann für was?

      Ich sehe es richtig das diese code zeile die infos wieder zurück gibt oder?

      [1,_type,_queryResult] remoteExecCall ["life_fnc_openGarage",_unit];

      In dem fall schick er doch als ergebnis

      1,_type,_queryResult

      zurück richtig?

      Mit freundlichen Grüßen

      TaktischerSpeck - Vincent

      2945262602.gif

      Leidenschaftlicher Analphabet mit leichtem Drang zum Sabbern.

      2945262602.gif
      Welcome to Arma, a game where Physics don't give a f*ck.

      2945262602.gif
      If (ArmA == Bullshit) exitWith {[] call f*uckThisShit};

      2945262602.gif

      Kontaktmöglichkeiten

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

    • Blyatkovicz
      Amateur
      Reaktionen
      82
      Trophäen
      11
      Beiträge
      237
      Bilder
      1
      • 24. Oktober 2018 um 18:03
      • #8

      korrekt und diese werden dann halt in der life_fnc_openGarage "abgefertigt", siehst du ja wenn du jene Datei öffnest an den params.

    • Lucian
      Amateur
      Reaktionen
      172
      Trophäen
      11
      Beiträge
      204
      Bilder
      5
      • 24. Oktober 2018 um 18:07
      • #9
      Zitat von TaktischerSpeck

      Danke

      [getPlayerUID player, playerSide, _type, player] remoteExec["TON_fnc_getVehicles", 2];

      Der rote teil werden die argumente sein womit der server die abfrage an die db stellt (zb. damit er weis um welchen spieler es geht)

      Der orange ist die Server function

      Der Blaue steht dann für was?

      Ich sehe es richtig das diese code zeile die infos wieder zurück gibt oder?

      [1,_type,_queryResult] remoteExecCall ["life_fnc_openGarage",_unit];

      In dem fall schick er doch als ergebnis

      1,_type,_queryResult

      zurück richtig?

      Alles anzeigen

      90% richtig.

      Der Befehl remoteExec ist nicht der Befehl, der die DB Anfragen stellt. remoteExec ist ein Befehl von der Arma Engine um Funktionsaufrufe remote zu starten. Also z.b. Client A will eine Methode test_rem auf Client B ausführen. In diesem Fall nutzt man remoteExec, wobei der Syntax so aussieht [ÜbergabeDaten] remoteExec ["zielMethode",Target]bei target kann man die clientId, ein Object oder eine Liste/Array aus Kombinationen von ClientIds und Objecten übergeben. Also um das Beispiel weiter zu führen ["SomeData"] remoteExec ["test_rem",Client_B]

      Also worauf ich hinaus will ist, dass der rote Teil nur die übergeben Daten sind, die dann in der Methode "TON_fnc_getVehicles" genutzt werden um die DB-Query zu bauen.

      Der Blaue Teil ist wie gesagt das Target und wie bereits erwähnt, kann das Target als ID oder Objekt angegeben werden. Hier haben wir eine ID, wobei die 2 immer für den Server steht (Mehr zu den ClientIds/IDs/Ints als Target kanns du dir im A3 Wiki anschauen)

      Der Rest hat soweit gepasst.

    • TaktischerSpeck
      Profi
      Reaktionen
      292
      Trophäen
      10
      Beiträge
      1.211
      Dateien
      6
      Bilder
      35
      • 24. Oktober 2018 um 18:16
      • #10

      danke schonmal

      wenn ich morgen zeit hab guck ich mal wie viel ich verstanden habe -.-

      Zitat von Lucian

      90% richtig.

      wenn so meine letzte mathe prüfung gewesen wäre

      Mit freundlichen Grüßen

      TaktischerSpeck - Vincent

      2945262602.gif

      Leidenschaftlicher Analphabet mit leichtem Drang zum Sabbern.

      2945262602.gif
      Welcome to Arma, a game where Physics don't give a f*ck.

      2945262602.gif
      If (ArmA == Bullshit) exitWith {[] call f*uckThisShit};

      2945262602.gif

      Kontaktmöglichkeiten

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Einmal editiert, zuletzt von TaktischerSpeck (24. Oktober 2018 um 18:53)

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Benutzer online in diesem Thema

    • 1 Besucher

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™