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
Sa: 14 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

    SQL Smartphone Nachrichten werden nicht gespeichert

    • kleinkiko
    • 9. März 2018 um 23:21
    • Erledigt
    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 9. März 2018 um 23:21
      • #1

      Moin,

      wie der Titel werden die Nachrichten nicht gespeichert. Nachrichten an sich werden versendet und kommen auch an nur halt nicht gespeichert.

      Hab es nach dem Tutorial hier im Forum gemacht: KLICK

      Nebenbei benutze ich das Native Network Server Pack 4.0: KLICK

      extDB2 Log gibt folgenden Fehler aus:

      Code
      [22:46:32:753224 +02:00] [Thread 9768] extDB2: SQL_CUSTOM_V2: Error No Custom Call Not Found: Input String SELECT fromID, toID, message, fromName, toName FROM messages WHERE toID='76561198033482575' ORDER BY time DESC
      [22:46:32:753702 +02:00] [Thread 9768] extDB2: SQL_CUSTOM_V2: Error No Custom Call Not Found: Callname SELECT fromID, toID, message, fromName, toName FROM messages WHERE toID='76561198033482575' ORDER BY time DESC
      [23:02:28:423833 +02:00] [Thread 9768] extDB2: SQL_CUSTOM_V2: Error No Custom Call Not Found: Input String SELECT fromID, toID, message, fromName, toName FROM messages WHERE toID='76561198033482575' ORDER BY time DESC
      [23:02:28:424327 +02:00] [Thread 9768] extDB2: SQL_CUSTOM_V2: Error No Custom Call Not Found: Callname SELECT fromID, toID, message, fromName, toName FROM messages WHERE toID='76561198033482575' ORDER BY time DESC

      Serverlog gibt unter anderem den Fehler aus:

      Code
      23:02:28 Error in expression <Exec["life_fnc_smartphone", _player];
      }
      forEach _queryResult;
      
      
      
      
      _queryResult =>
      23:02:28   Error position: <forEach _queryResult;
      
      
      
      
      _queryResult =>
      23:02:28   Error foreach: Type String, expected Array
      23:02:28 File \life_server\Functions\Smartphone\fn_msgRequest.sqf [TON_fnc_msgRequest], line 28
      Alles anzeigen

      Die fn_msgRequest sieht so aus:

      Code
      /* file: fn_msgRequest.sqf 
      Author: Silex 
      Fills the Messagelist
      */
      private["_query", "_queryResult", "_uid", "_player"];
      
      
      
      
      _uid = [_this, 0, "", [""]] call BIS_fnc_param;
      _player = [_this, 1, ObjNull, [ObjNull]] call BIS_fnc_param;
      _query = format["SELECT fromID, toID, message, fromName, toName FROM messages WHERE toID='%1' ORDER BY time DESC", _uid];
      
      
      
      
      waitUntil {
       !DB_Async_Active
      };
      
      
      
      
      _queryResult = [_query, 2, true] call DB_fnc_asyncCall;
      if (count _queryResult == 0) exitWith {}; {
       [1, _x] remoteExec["life_fnc_smartphone", _player];
      }
      forEach _queryResult;
      Alles anzeigen

      Im Anhang sind noch mal alle Logs + Screens von der MySQL Datenbank.

      Danke schon mal im Vorraus ^^

      Bilder

      • zTyhdab.png
        • 70,72 kB
        • 1.421 × 197
        • 270

      Dateien

      21-14-57.log 1,9 kB – 253 Downloads arma3server_2018-03-09_22-13-32.rpt 125,2 kB – 175 Downloads

      Mit freundlichen Grüßen

      kleinkiko

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      10
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 10. März 2018 um 10:11
      • #2

      Du musst die SQL Satetements in Custom SQL Prepared Statements umschreiben, damit es funktioniert.

      #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!

      ______________________

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 10. März 2018 um 15:18
      • #3

      Ok und wie genau funktioniert das? Kenne mich mit MySQL 0 aus ^^ Ist das erste mal das ich wirklich damit arbeite.

      Mit freundlichen Grüßen

      kleinkiko

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 13. März 2018 um 12:39
      • #4

      #Push .

      Könnte mir bitte jemand Custom SQL Prepared Statements erklären ? Hab danach gegooglet aber 0 verstanden :D

      Mit freundlichen Grüßen

      kleinkiko

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. März 2018 um 13:07
      • #5

      Moin,

      also wenn ich mich jetzt nicht ganz irre nutzt die 4.0 vorgefertigte SQL Statements, diese müssten sich entweder im life_server oder im extDB Ordner befinden. Das einfachste ist Du suchst mal nach from players where in allen Dateien. Da solltest Du ein passende Datei dazu finden.

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 13. März 2018 um 14:00
      • #6
      Zitat von moeck

      Moin,

      also wenn ich mich jetzt nicht ganz irre nutzt die 4.0 vorgefertigte SQL Statements, diese müssten sich entweder im life_server oder im extDB Ordner befinden. Das einfachste ist Du suchst mal nach from players where in allen Dateien. Da solltest Du ein passende Datei dazu finden.

      Gruß,

      moeck

      im extDB 2 Ordner gibt es einen unter Ordner namens sql_custom_V2 dort befindet sihc eine Datei namens: altis-life-rpg-4.ini . Ich habe die Datei mal angehangen. Problem ist halt das ich vorher noch nie mit MySQL gearbeitet habe und ich mich dementsprechend auch nicht auskenne damit^^

      Nicht wundern das es in einer Log datei ist aber eine .ini Datei konnte ich nicht hochladen genauso wie eine .txt

      Dateien

      altis-life-rpg-4 INI.log 17,59 kB – 158 Downloads

      Mit freundlichen Grüßen

      kleinkiko

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. März 2018 um 14:03
      • #7

      die datei fehlt ;)

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 13. März 2018 um 14:06
      • #8
      Zitat von moeck

      die datei fehlt ;)

      Joo habs gemerkt habs rein editiert sorry :D

      Mit freundlichen Grüßen

      kleinkiko

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. März 2018 um 14:18
      • #9

      füge mal folgendes ganz unten in die Datei ein.

      SQL
      ;;______________________________________________________________
      [SMARTPHONE_MSG_Get]
      ;;
      SQL1_1 = SELECT fromID, toID, message, fromName, toName FROM messages WHERE toID= 1 ORDER BY time DESC
      
      SQL1_INPUTS = 1
      OUTPUT = 1, 2, 3-String, 4-String, 5-String

      ich habe zwar bisher noch nicht damit gearbeitet, aber anhand der angehängten Datei würde ich das wahrscheinlich so machen. Wahrscheinlich musst Du den Aufruf dann auch noch ändern.

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 13. März 2018 um 14:22
      • #10

      Erstmal danke dafür aber welchen Aufruf meinst du?

      Mit freundlichen Grüßen

      kleinkiko

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. März 2018 um 14:28
      • #11

      schaue mal im life_server in die datei fn_getVehicles.sqf und suche dort mal nach dem db aufruf. Da sollte irgendwas mit vehicleInfo stehen. Wie gesagt ich habe bisher noch nicht damit gearbeitet und stelle nur vermutungen an 8o

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 13. März 2018 um 14:38
      • #12

      Hab die Datei gefunden . Sie befindet sich im live_server/Functions/System. Jedoch steht dort nichts mit vehicleInfo drin^^

      Code
      #include "\life_server\script_macros.hpp"
      /*
          File: fn_getVehicles.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Sends a request to query the database information and returns vehicles.
      */
      private["_pid","_side","_type","_unit","_ret","_tickTime","_queryResult"];
      _pid = [_this,0,"",[""]] call BIS_fnc_param;
      _side = [_this,1,sideUnknown,[west]] call BIS_fnc_param;
      _type = [_this,2,"",[""]] call BIS_fnc_param;
      _unit = [_this,3,ObjNull,[ObjNull]] call BIS_fnc_param;
      
      //Error checks
      if(_pid == "" OR _side == sideUnknown OR _type == "" OR isNull _unit) exitWith {
          if(!isNull _unit) then {
              [[[]],"life_fnc_impoundMenu",(owner _unit),false] call life_fnc_MP;
          };
      };
      
      _unit = owner _unit;
      _side = switch(_side) do {
          case west:{"cop"};
          case civilian: {"civ"};
          case independent: {"med"};
          default {"Error"};
      };
      
      if(_side == "Error") exitWith {
          [[[]],"life_fnc_impoundMenu",(owner _unit),false] call life_fnc_MP;
      };
      
      _query = format["vehiclesInfo:%1:%2:%3",_pid,_side,_type];
      
      
      _tickTime = diag_tickTime;
      _queryResult = [_query,2,true] call DB_fnc_asyncCall;
      
      if((EQUAL(EXTDB_SETTINGS("MySQL_Query"),1))) then {
          ["diag_log",[
              "------------- Vehicle Query Request -------------",
              format["QUERY: %1",_query],
              format["Time to complete: %1 (in seconds)",(diag_tickTime - _tickTime)],
              format["Result: %1",_queryResult],
              "-------------------------------------------------"
          ]] call TON_fnc_logIt;
      };
      
      if(typeName _queryResult == "STRING") exitWith {
          [[[]],"life_fnc_impoundMenu",(owner _unit),false] call life_fnc_MP;
      };
      
      [[_queryResult],"life_fnc_impoundMenu",_unit,false] call life_fnc_MP;
      Alles anzeigen

      Mit freundlichen Grüßen

      kleinkiko

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. März 2018 um 14:45
      • #13

      ok, da fehlte ein s, aber ein wenig mitdenken schadet auch nicht.

      _query = format["vehiclesInfo:%1:%2:%3",_pid,_side,_type];

      so damit ergibt sich für mich folgender Ausruf in der msgRequest

      _query = format ["SMARTPHONE_MSG_Get:%1",_pid];

      Achja Du musst alle anderen SQL Statements für das Smartphone auch in diese altis-life-rpg-4.ini übernehmen, damit das alles funktioniert. Am besten einfach mal ausprobieren

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 13. März 2018 um 14:57
      • #14

      Hä jetzt bin ich verwirrt O.o

      wo fehlt denn bitte ein S in dem Code oben?

      Und so ganz verstehe ich es auch nicht wie du nun auf den Code für die msgRequest kommst . Soll der Code nun darein oder wie?

      Mit freundlichen Grüßen

      kleinkiko

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. März 2018 um 15:17
      • #15

      Also in der getVehicles heisst das nicht vehicleInfo sondern vehiclesInfo aber das war lediglich für mich damit ich sehe wie der Aufruf funktioniert.

      Das 2. Statement ergibt sich nämlich daraus. Du hast in der altis-life-rpg-4.ini ein weiteres Statment hinzugefügt. Dieses Statment musst du in der msgrequest ja irgendwie aufrufen und

      _query = format ["SMARTPHONE_MSG_Get:%1",_pid]; ist genau dieser aufruf!

      Sei mir bitte nicht böse, das ist jetzt kein Angriff auf Dich aber entweder wechselst Du auf eine Version, wo der Einbau direkt über das Tutorial funktioniert oder Du beschäfftigst Dich mal ausführlich damit wie der Kram funktioniert.

      Klar könnte Dir das jetzt jemand komplett einbauen aber dann hättest Du trotzdem keine Ahnung wie das funktioniert und beim nächsten Tutorial mit DB Anbindung fangen wir wieder bei null an. Ich denke aber nicht, dass Dir das hilft, wenn Du einen Server betreiben möchtest.

      Ja auch ich habe vor einiger Zeit mit SQF angefangen und mit Sicherheit auch zweifelhafte Fragen hier im Forum gepostet. Grundsätzlich habe ich aber auch versucht die Fehler selbst zufinden und zu beheben.

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 13. März 2018 um 15:26
      • #16

      Danke für deine Erklärung .Jetzt habe ich es auch verstanden was du meinst :D Ich werde mich mal genauer dran setzen aber danke schon mal für deine Hilfe^^

      Mit freundlichen Grüßen

      kleinkiko

    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

    • 3 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™