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
Di: 20 Mai 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. Tutorials & Releases

    [TUTORIAL] SQL basiertes Smartphone

      • Altis Life
    • Exodoos
    • 1. August 2016 um 18:57
    • Eule
      Frischling
      Trophäen
      9
      Beiträge
      5
      • 19. Februar 2017 um 00:07
      • #81

      @AmaZiinG

      Danke! Aber hilft leider nicht :)

    • Mare
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      9
      • 19. Februar 2017 um 13:30
      • #82

      Ihr müsst in eurer common.hpp im Dialog Ordner in der: class Life_RscListNBox folgendes ergänzen: rowHeight = 0.04;

      Dann sollte die Fehlermeldung nicht mehr auftreten. Wurde meiner Meinung nach hier aber auch schon beantwortet.

    • 3nrico96
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      72
      • 22. Februar 2017 um 21:43
      • #83

      Hab das Problem das bei mir 2 mal die Nachricht da steht die ich bekomme? weiß einer warum?

    • Mare
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      9
      • 23. Februar 2017 um 10:09
      • #84

      Klar weiß ich das, steht ja auch schon Thread drin. Nächstes mal bitte erstmal nachsehen ob es das Problem schonmal gab

      C: fn_showMsg.sqf
      /* 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 hier drunter löschen, das ist doppelt.
          _queryResult = [_query,2,true] call DB_fnc_asyncCall;
          if(count _queryResult == 0) exitWith {};
           {[1,_x] remoteExec ["life_fnc_smartphone",_player];
          }forEach _queryResult;
      Alles anzeigen
    • lowoesiii
      Frischling
      Trophäen
      9
      Beiträge
      11
      • 23. Februar 2017 um 11:35
      • #85
      Zitat von Siama

      ich habe hier noch den Löschen Button(Alle Nachrichten)

      In der "CfgRemoteExec.hpp", fügt das hier ein:

      F(TON_fnc_cleanupMessages,SERVER)

      In der "dialog\smartphone.hpp", sucht nach "class Notruf" und fügt danach das hier ein:

      C
      class DeleteMessages : Life_RscButtonMenu {
      			idc = -1;
      			text = "Nachrichten leerern";
      			onButtonClick = "[3] call life_fnc_smartphone;";
      			colorBackground[] = { 0.584, 0.086, 0.086, 1.0 };
      			x = 0 + 0.7 - (6.25 / 40);
      			y = 0.25 + (1 / 25) + 0.51;
      			w = (6.25 / 20);
      			h = (1 / 25);
      		};


      es sollte nun so aussehn:


      C
      class Notruf : Life_RscButtonMenu {
      			 idc = -1;
      			 text = "$STR_SMARTPHONE_NOTRUF";
      			 onButtonClick = "createDialog ""Life_smartphone_notruf"";";
      			 colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			 x = 0.325 + 0.7 - (6.25 / 40);
      			 y = 0.25 + (1 / 25) + 0.51;
      			 w = (6.25 / 40);
      			 h = (1 / 25);
      		 };
      		class DeleteMessages : Life_RscButtonMenu {
      			idc = -1;
      			text = "Nachrichten leerern";
      			onButtonClick = "[3] call life_fnc_smartphone;";
      			colorBackground[] = { 0.584, 0.086, 0.086, 1.0 };
      			x = 0 + 0.7 - (6.25 / 40);
      			y = 0.25 + (1 / 25) + 0.51;
      			w = (6.25 / 20);
      			h = (1 / 25);
      		};
      	};
      };
      Alles anzeigen

      jetzt öffnen wir "core\pmenu\fn_smartphone.sqf" und fügen zw. "case 2" und "case 4" den fehlenden "case 3" ein.

      das sieht dann so aus:

      Code
      case 1: { _msg = [_data select 2,40] call KRON_StrLeft;
               _rowData = [_data select 0, _data select 1, _data select 2, _data select 3];
               _cMessageList lnbAddRow[_data select 3,format["%1 ...",_msg]];
               _cMessageList lnbSetData[[((lnbSize _cMessageList) select 0)-1,0],str(_rowData)];
           };
           case 2: { ctrlEnable[887892,true];
               _target = lbData[88881,(lbCurSel 88881)];
               life_smartphoneTarget = call compile format["%1",_target];
           };
           case 3:
          	{
            	 lbClear _cMessageList; 
               [player] remoteExec ["TON_fnc_cleanupMessages",2];
          	};
           case 4: {
               createDialog "Life_smartphone_schreiben";
               ctrlSetText[88886, format["Message: %1",name life_smartphoneTarget]];
               if((FETCH_CONST(life_adminlevel) < 1)) then { 
               ctrlShow[888897,false];
           };
         };
      };
      Alles anzeigen


      nun gehen wir in die "config.cpp" des life_server und erweiter die "class Smartphone":

      C
      class PlayTime {
              	file = "\life_server\Functions\PlayTime";
              	class setPlayTime {};
              	class getPlayTime {};
              };
      	class Smartphone  
      	{  
      		file = "\life_server\Functions\Smartphone";  
      		class handleMessages {};  
      		class msgRequest {}; 
      		class cleanupMessages {}; 
      	};
          };
      };
      Alles anzeigen

      nun erstellen wir noch in "life_server\Functions\Smartphone" eine "fn_cleanupMessages.sqf" mit folgendem inhalt:


      Code: fn_cleanupMessages.sqf
      private["_player","_query"];
      _player = [_this,0,ObjNull,[objNull]] call BIS_fnc_param;
      
      
      
      
      if(isNull _player) exitWith {};
      
      
      
      
      _query = format["DELETE FROM messages WHERE toID='%1'",getPlayerUID _player];
      
      
      
      
      waitUntil{!DB_Async_Active};
      [_query,1] call DB_fnc_asyncCall;
      Alles anzeigen

      und fertig.


      Dank Exodoos hab ich das SQL-Smartphone zum laufen bekommen. Nur dadurch war es mir möglich den Button, aus einer alten Version, zu aktualisieren.
      @Exodoos du kannst das gern mit bei dir einbauen/erweitern
      und wer es gern wissen möchte, das komplette script läuft auch mit der aktuellen dev Revision 5.0

      Alles anzeigen


      Also ich habe das bei mir getestet, jedoch funktioniert das bei mir nicht, habe auch keine Fehler in den RPT Logs einfach nichts ...

    • Mike Black
      Anfänger
      Reaktionen
      6
      Trophäen
      9
      Beiträge
      73
      • 24. Februar 2017 um 22:33
      • #86

      Habe ein Problem:

      Wenn ich mein Smartphone offfne bekomme ich folgenden fehler:

      "No entry'mpmissions\_CUR_MP.[lexicon]Tanoa[/lexicon]\http://description.ext/Life_my_smartp…eList.rowHeight'."

      Weiß jemande weiter?

      Wer fehler findet darf sie behalten....8o

    • Xavier8920
      Frischling
      Trophäen
      9
      Beiträge
      15
      • 1. März 2017 um 20:15
      • #87

      Guten Abend,

      Ich wollte mal nachfragen ob jemand bezüglich der Medic/Cop Call´s das Problem mit den Coordi gelöst hat? Ich finde keine Lösung.

      Mfg Xavier

    • Mare
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      9
      • 1. März 2017 um 20:20
      • #88
      Zitat von Xavier8920

      Guten Abend,

      Ich wollte mal nachfragen ob jemand bezüglich der Medic/Cop Call´s das Problem mit den Coordi gelöst hat? Ich finde keine Lösung.

      Mfg Xavier

      Klar, pass deine fn_handleMessages.sqf so an: Geändert ist da glaube ich nur das _grid.

      Code
      /* file: fn_handleMessages.sqf Author: Silex*/
      private["_msg","_to","_target","_player","_type","_grid"];
      _target = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _msg = [_this,1,"",[""]] call BIS_fnc_param;
      _player = [_this,2,ObjNull,[ObjNull]] call BIS_fnc_param;
      _type = [_this,3,-1] call BIS_fnc_param;
       _grid = mapGridPosition _player;
      switch(_type) do{ //normal message
      case 0: { if(isNULL _target) exitWith {};
       _to = call compile format["%1", _target];
      [_msg,name _player,0] remoteExec ["TON_fnc_clientMessage",_to];
       private["_query","_pid","_toID"];
       _pid = getPlayerUID _player;
       _toID = getPlayerUID _target;
       _msg = [_msg] call DB_fnc_mresString;
       _fromName = name _player;
       _toName = name _target;
       _query = format["INSERT INTO messages (fromID, toID, message, fromName, toName) VALUES('%1', '%2', '""%3""', '%4', '%5')",_pid,_toID,_msg,_fromName,_toName];
       diag_log format["Query: %1",_query];
       waitUntil{!DB_Async_Active};
       [_query,1] call DB_fnc_asyncCall;
       };
       //message to cops
       case 1: {
      [_msg,name _player,1,_grid] remoteExec ["TON_fnc_clientMessage",west];
       };
       //to admins
       case 2: {
      [_msg,name _player,2] remoteExec ["TON_fnc_clientMessage",0];
       };
       //ems request
       case 3: {
      [_msg,name _player,5,_grid] remoteExec ["TON_fnc_clientMessage",independent];
       };
       //adminToPerson
       case 4: { _to = call compile format["%1", _target];
       if(isNull _to) exitWith {};
      [_msg,name _player,3] remoteExec ["TON_fnc_clientMessage",_to];
       };
       //adminMsgAll
       case 5: {[_msg,name _player,4] remoteExec ["TON_fnc_clientMessage",0];
       };
      };
      Alles anzeigen
    • Xavier8920
      Frischling
      Trophäen
      9
      Beiträge
      15
      • 1. März 2017 um 20:33
      • #89
      Zitat von Mare

      Klar, pass deine fn_handleMessages.sqf so an: Geändert ist da glaube ich nur das _grid.

      Code
      /* file: fn_handleMessages.sqf Author: Silex*/
      private["_msg","_to","_target","_player","_type","_grid"];
      _target = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _msg = [_this,1,"",[""]] call BIS_fnc_param;
      _player = [_this,2,ObjNull,[ObjNull]] call BIS_fnc_param;
      _type = [_this,3,-1] call BIS_fnc_param;
       _grid = mapGridPosition _player;
      switch(_type) do{ //normal message
      case 0: { if(isNULL _target) exitWith {};
       _to = call compile format["%1", _target];
      [_msg,name _player,0] remoteExec ["TON_fnc_clientMessage",_to];
       private["_query","_pid","_toID"];
       _pid = getPlayerUID _player;
       _toID = getPlayerUID _target;
       _msg = [_msg] call DB_fnc_mresString;
       _fromName = name _player;
       _toName = name _target;
       _query = format["INSERT INTO messages (fromID, toID, message, fromName, toName) VALUES('%1', '%2', '""%3""', '%4', '%5')",_pid,_toID,_msg,_fromName,_toName];
       diag_log format["Query: %1",_query];
       waitUntil{!DB_Async_Active};
       [_query,1] call DB_fnc_asyncCall;
       };
       //message to cops
       case 1: {
      [_msg,name _player,1,_grid] remoteExec ["TON_fnc_clientMessage",west];
       };
       //to admins
       case 2: {
      [_msg,name _player,2] remoteExec ["TON_fnc_clientMessage",0];
       };
       //ems request
       case 3: {
      [_msg,name _player,5,_grid] remoteExec ["TON_fnc_clientMessage",independent];
       };
       //adminToPerson
       case 4: { _to = call compile format["%1", _target];
       if(isNull _to) exitWith {};
      [_msg,name _player,3] remoteExec ["TON_fnc_clientMessage",_to];
       };
       //adminMsgAll
       case 5: {[_msg,name _player,4] remoteExec ["TON_fnc_clientMessage",0];
       };
      };
      Alles anzeigen

      Das habe ich grade ersetzt, jedoch werden mir immer noch keine coordis angeben beim medic call

    • Mare
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      9
      • 1. März 2017 um 20:38
      • #90

      Dann wüsste ich grade nicht, woran es liegt. Bei mir geht es so. Vielleicht mal in deine Logs schauen?

    • Xavier8920
      Frischling
      Trophäen
      9
      Beiträge
      15
      • 1. März 2017 um 23:04
      • #91

      in den logs kommt keine fehler Meldung. habe schon den Notruf vom cop so gemacht das er für Medics gehen sollte. aber er sende die Nachricht auch nicht mit

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 4. März 2017 um 14:47
      • #92

      Kann man das eig auch im ProfileNamespace Speichern lassen?

      Eigentlich dürfte es doch gehen oder nicht?

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 5. März 2017 um 13:43
      • #93

      Hallo,

      ich habe gerade mal einen neuen Tanoa Server zum Testen gestartet. Soweit läuft die aktuelle Tanoa 5.0 Version mit exDB3 welches ich hier aus dem Forum runter geladen habe. nun habe ich das SQL Smartphone eingebaut. Es tut auch irgendwie, also Nachrichten werden gesendet etc. Allerdings habe ich das Problem, dass keine Nachrichten in der DB gespeichert werden und immer ein kleiner Fehler kommt, wenn ich als Cop eine Meldung an alle Cops schicke. Siehe Screenshot:

      Ich vermute dass es an den Coordinaten liegt, weil die sind in der Nachricht ja als Uncnown angegeben. Habe die Server und Client Logs beigefügt.

      Außerdem die Log Datei der DB. Vielleicht hat da jemand eine Idee.

      Dateien

      client_rpt.txt 94,55 kB – 208 Downloads server_rpt.txt 59,01 kB – 247 Downloads exDB3_log.txt 923 Byte – 223 Downloads

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 5. März 2017 um 17:04
      • #94

      Hi,

      also ich kann hier nur die beiden folgenden Fehler finden.

      Code
      13:15:28 Error in expression <his select 3;
                  _unit = _this select 4;
                  _message = format >
      13:15:28   Error position: <select 4;
                  _message = format >
      13:15:28   Error Nullteiler

      Auf Grund der Variable würde ich sagen da ist ein Fehler in der Smartphone.sqf

      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 ?

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 5. März 2017 um 19:04
      • #95

      Die einzige Datei in der diese Zeile vorkommt: _unit = _this select 4;

      ist die functions.sqf im life Server. Ich hab hier mal beide Dateien hoch geladen, vielelicht entdeckt jemand was da nicht stimmt.

      Dateien

      fn_smartphone.sqf 1,87 kB – 180 Downloads functions.sqf 18,01 kB – 161 Downloads

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 9. März 2017 um 14:10
      • #96

      Bei mir klappt alles soweit, aber die Nachricht wird doppelt gespeichert und steht doppelt mit dem gleichen Inhalt übereinander und der Lösch Button geht nichts mit dem Lösch Button probiere ich es gerade zu fixen, aber vielleicht hat ja jemand ne Idee oder den selben fehler schonmal gehabt. RPT spucken nichts und der Datenbank Eintrag ist auch nicht doppelt.


      Mfg Pius von GermanRPG

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 9. März 2017 um 14:11
      • #97

      Ahhh ja genau Koordinaten werden auch als unknow gesendet hmmm..

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 9. März 2017 um 18:41
      • #98

      Nvm klappt jetzt alles super! :) Koordinaten werden normal gesendet, keine doppelt Einträge und die SMS löscht sich super! Versuche jetzt Cops, Zivs und Medics in Farben und nicht Namen zu Soteren, das die Polizei z.B Blau im Telefon angezeigt wird! :)

      Wer Hilfe brauch kann mich anschreiben!

      Mfg Pius von GermanRPG

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 9. März 2017 um 21:21
      • #99

      Darf man fragen was du gemacht hast?

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 9. März 2017 um 22:06
      • #100
      Zitat von Saturin78

      Darf man fragen was du gemacht hast?

      Alles was hier gepostet wurde! :)

    Registrieren oder Einloggen

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

    Registrieren

    Ähnliche Themen

    • Datenbank fehler

      • TaktischerSpeck
      • 1. Mai 2017 um 10:15
      • Hilfeforum
    • [Sammelthread] Scripts/Links/Tutorials/Anleitungen ArmA 3

      • Stig
      • 2. September 2016 um 18:29
      • Tutorials & Releases
    • Was ist ein Sql basiertes Smartphone?

      • ZiegeRette
      • 8. Mai 2017 um 21:36
      • Hilfeforum
    • Suche SQL Smartphone!

      • Zotti
      • 3. August 2016 um 21:58
      • Hilfeforum
    • AL 5.0 Smartphone von Silex geht nicht, RemoteExecFehler

      • BLACKLIST
      • 23. März 2017 um 15:06
      • Hilfeforum

    Tags

    • smartphone
    • sql
    • Altislife
    • 4.4
    • r4

    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™