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 Smartphone - 3.1.4.8 extDB

      • Altis Life
    • Doxylamin
    • 9. August 2015 um 02:00
    • Doxylamin
      Anfänger
      Reaktionen
      25
      Trophäen
      11
      Beiträge
      37
      • 9. August 2015 um 02:00
      • #1

      Das Urheberrecht dieses Beitrags liegt bei McCarrett, am 25. Oktober 2014

      Zitat von McCarrett

      Guten Tag,

      ich zeige euch heute, da ich gesehen habe, dass einige beim SQL Smartphone einige Probleme haben,
      die Lösung des Problems an. Hier ist einfach nur das Tutorial von @Noldy überarbeitet.

      Bitte vorher ein Backup machen!


      1. Öffnet eure configuration.sqf und fügt folgendes unter Life Variables ein:

      Code
      life_smartphoneTarget = ObjNull;

      2. Geht in eure Functions.h und fügt folgendes unter class Player_Menu ein:

      Code
      class smartphone {};
      class newMsg {};
      class showMsg {};

      3. Geht in euer Ordner /dialog/player_inv.hpp und sucht nach class ButtonCell. Dort findest du ein onButtonClick Event mit einem Code dahinter. Ersetze diesen mit folgendem:

      Code
      onButtonClick = "createDialog ""Life_my_smartphone"";";

      4. Öffnet euer Ordner /dialog/MasterHandler.h und fügt folgendes dazu:

      Code
      #include "smartphone.hpp"

      5. Öffnet eure /dialog/common.hpp und sucht nach der class Life_RscListNBox und komentiert dieses aus in den {} Das ganze sieht so aus:

      Code
      class Life_RscListNBox
      {
          /*style = 16;
          type = 102;
          shadow = 0;
          font = "PuristaMedium";
          sizeEx = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
          color[] = {0.95,0.95,0.95,1};
          colorText[] = {1,1,1,1.0};
          colorDisabled[] = {1,1,1,0.25};
          colorScrollbar[] = {0.95,0.95,0.95,1};
          colorSelect[] = {0,0,0,1};
          colorSelect2[] = {0,0,0,1};
          colorSelectBackground[] = {0.8,0.8,0.8,1};
          colorSelectBackground2[] = {1,1,1,0.5};
          soundSelect[] = {"",0.1,1};
          soundExpand[] = {"",0.1,1};
          soundCollapse[] = {"",0.1,1};
          period = 1.2;
          maxHistoryDelay = 0.5;
          autoScrollSpeed = -1;
          autoScrollDelay = 5;
          autoScrollRewind = 0;
          class ListScrollBar: Life_RscScrollBar{};
          class ScrollBar: Life_RscScrollBar{};*/
      Alles anzeigen


      Direkt darunter fügt nun folgendes ein:

      Code
      style = 16;
          type = 102;
          shadow = 0;
          font = "PuristaMedium";
          sizeEx = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
          color[] = {0.95,0.95,0.95,1};
          colorText[] = {1,1,1,1.0};
          colorDisabled[] = {1,1,1,0.25};
          colorScrollbar[] = {0.95,0.95,0.95,1};
          colorSelect[] = {0,0,0,1};
          colorSelect2[] = {0,0,0,1};
          colorSelectBackground[] = {0.8,0.8,0.8,1};
          colorSelectBackground2[] = {1,1,1,0.5};
          soundSelect[] = {"",0.1,1};
          soundExpand[] = {"",0.1,1};
          soundCollapse[] = {"",0.1,1};
          period = 1.2;
          maxHistoryDelay = 0.5;
          autoScrollSpeed = -1;
          autoScrollDelay = 5;
          autoScrollRewind = 0;
          rowHeight = 0.04;
          drawSideArrows = 0;
          idcLeft = -1;
          idcRight = -1;
          class ListScrollBar: Life_RscScrollBar{};
          class ScrollBar: Life_RscScrollBar{};
      Alles anzeigen


      Das ganze müsste jetzt so aussehen:

      Code
      class Life_RscListNBox
      {
          /*style = 16;
          type = 102;
          shadow = 0;
          font = "PuristaMedium";
          sizeEx = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
          color[] = {0.95,0.95,0.95,1};
          colorText[] = {1,1,1,1.0};
          colorDisabled[] = {1,1,1,0.25};
          colorScrollbar[] = {0.95,0.95,0.95,1};
          colorSelect[] = {0,0,0,1};
          colorSelect2[] = {0,0,0,1};
          colorSelectBackground[] = {0.8,0.8,0.8,1};
          colorSelectBackground2[] = {1,1,1,0.5};
          soundSelect[] = {"",0.1,1};
          soundExpand[] = {"",0.1,1};
          soundCollapse[] = {"",0.1,1};
          period = 1.2;
          maxHistoryDelay = 0.5;
          autoScrollSpeed = -1;
          autoScrollDelay = 5;
          autoScrollRewind = 0;
          class ListScrollBar: Life_RscScrollBar{};
          class ScrollBar: Life_RscScrollBar{};*/
          style = 16;
          type = 102;
          shadow = 0;
          font = "PuristaMedium";
          sizeEx = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
          color[] = {0.95,0.95,0.95,1};
          colorText[] = {1,1,1,1.0};
          colorDisabled[] = {1,1,1,0.25};
          colorScrollbar[] = {0.95,0.95,0.95,1};
          colorSelect[] = {0,0,0,1};
          colorSelect2[] = {0,0,0,1};
          colorSelectBackground[] = {0.8,0.8,0.8,1};
          colorSelectBackground2[] = {1,1,1,0.5};
          soundSelect[] = {"",0.1,1};
          soundExpand[] = {"",0.1,1};
          soundCollapse[] = {"",0.1,1};
          period = 1.2;
          maxHistoryDelay = 0.5;
          autoScrollSpeed = -1;
          autoScrollDelay = 5;
          autoScrollRewind = 0;
          rowHeight = 0.04;
          drawSideArrows = 0;
          idcLeft = -1;
          idcRight = -1;
          class ListScrollBar: Life_RscScrollBar{};
          class ScrollBar: Life_RscScrollBar{};
      };
      Alles anzeigen

      6. Datei im Anhang herunterladen und im Ordner dialog einfügen.

      7. Geht in euer stringtable.xml und fügt folgendes dazu in einer neuen Package:

      Code
      <Package name="Smartphone">
              <Key ID="STR_PM_Smartphone">
                  <Original>Smartphone</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_TITLE">
                  <Original>Smartphone Menu</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_PLAYERLISTTITLE">
                  <Original>Playerlist</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_MESSAGETITLE">
                  <Original>Nachrichten  | VON | WANN</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_RANDOMTITLE">
                  <Original>Nachricht zum lesen auswählen</Original>
              </Key>
              <Key ID="STR_Global_Close">
                  <Original>Close</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_SCHREIBEN">
                  <Original>Schreiben</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_NOTRUF">
                  <Original>Notruf</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_Absenden">
                  <Original>Absenden</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_NACHRICHTTITLE">
                  <Original>Nachricht an:</Original>
              </Key>
              <Key ID="STR_SMARTPHONE_Notruftitle">
                  <Original>NOTRUFE | Ausnutzung führt zum Ban!</Original>
              </Key>
          </Package>
      Alles anzeigen

      8. Datei im Anhang herunterladen, und folgende 3 Dateien in den /core/pmenu Ordner machen:

      fn_newMsg.sqf
      fn_showMsg.sqf
      fn_smartphone.sqf


      Das war es an der MPMissions. Nun geht es ab zu dem @life_server.

      9. Öffnet eure config.cpp und sucht nach class TON_system und fügt folgendes darunter:

      Code
      class Smartphone
              {
                  file = "\life_server\Functions\Smartphone";
                  class handleMessages {};
                  class msgRequest {};
                  class cleanupMessages {};
              };


      Das ganze sollte nun so aussehen:

      Code
      class TON_System
          {
              tag = "TON";
              class Systems
              {
                  file = "\life_server\Functions\Systems";
                  class managesc {};
                  class cleanup {};
                  class huntingZone {};
                  class getID {};
                  class vehicleCreate {};
                  class vehicleDead {};
                  class spawnVehicle {};
                  class getVehicles {};
                  class vehicleStore {};
                  class vehicleDelete {};
                  class spikeStrip {};
                  class logIt {};
                  class federalUpdate {};
                  class chopShopSell {};
                  class clientDisconnect {};
                  class cleanupRequest {};
                  class setObjVar {};
                  class keyManagement {};
                  class robShops {}; 
                  class shopState {};
              };
      
              class Housing
              {
                  file = "\life_server\Functions\Housing";
                  class addHouse {};
                  class fetchPlayerHouses {};
                  class initHouses {};
                  class sellHouse {};
                  class updateHouseContainers {};
                  class updateHouseTrunk {};
                  class houseCleanup {};
              };
      
              class Gangs
              {
                  file = "\life_server\Functions\Gangs";
                  class insertGang {};
                  class queryPlayerGang {};
                  class removeGang {};
                  class updateGang {};
              };
      
              class Smartphone
              {
                  file = "\life_server\Functions\Smartphone";
                  class handleMessages {};
                  class msgRequest {};
                  class cleanupMessages {};
              };
          };
      };
      Alles anzeigen

      10. Ebenfalls in der Datei vorhanden. Der Ordner Smartphone einfach in den functions Ordner ziehen.

      11. Das letzte was ihr jetzt noch machen müsst, ist folgendes in eure Datenbank einzuspielen:

      Code
      CREATE TABLE IF NOT EXISTS `messages` (
        `uid` int(12) NOT NULL AUTO_INCREMENT,
        `fromID` varchar(50) NOT NULL,
        `toID` varchar(50) NOT NULL,
        `message` text,
        `fromName` varchar(32) NOT NULL,
        `toName` varchar(32) NOT NULL,
        `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
        PRIMARY KEY (`uid`)
      ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

      Mit diesem Tutorial sollte es einwandfrei von Version 3.1.4.5 - 3.1.4.8 funktionieren.
      Der ADAC Button und der Button zum löschen aller empfangener Daten ist auch schon vorhanden.


      Ich hoffe es stört @Noldy nicht, dass ich sein Tutorial einfach nur geklaut und überschrieben habe.


      Dateien zum downloaden: http://www.file-upload.net/download-9936388/Smartphone.rar.html


      PS.: @Maiksdl hat mir dabei geholfen, dass Smartphone funktionstüchtig zu machen auf Version 3.1.4.8

      Alles anzeigen
    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 14:12
      • #2

      Wenn ich eine Nachricht sende, dann kommt sie bei dem Spieler, dem ich geschrieben habe, nicht an.

    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 22. November 2015 um 14:17
      • #3
      Zitat von KeksKartoffel

      Wenn ich eine Nachricht sende, dann kommt sie bei dem Spieler, dem ich geschrieben habe, nicht an.

      Client + .rpt logs?!^^

    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 14:23
      • #4

      .

      Dateien

      Rpt log.txt 96,16 kB – 234 Downloads
    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 22. November 2015 um 14:28
      • #5

      Wurde in diesem Log eine Nachricht versendet? Nö, wurds nicht.
      Und der Client-rpt-Log fehlt auch :P

    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 14:31
      • #6

      Wo ist denn der Client.rpt log?

    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 22. November 2015 um 14:34
      • #7

      C:\Users\BENUTZERNAME\AppData\Local\Arma 3

    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 14:36
      • #8

      ok. Ich hab hier nochmal den Server Log: Rpt-Log-Neu.txt
      Und hier ist der Client Log: Client-log.txt

    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 22. November 2015 um 14:42
      • #9

      Namen ändern und Problem 1 solved :[ADAC] Kevin

      Problem2 :

      14:34:11 Error in expression <[] call life_fnc_setupActions;[] spawn life_fnc_fuelCheck;[] spawn life_fnc_fu>14:34:11 Error position: <life_fnc_fuelCheck;[] spawn life_fnc_fu>14:34:11 Error Nicht definierte Variable in Ausdruck: life_fnc_fuelcheck14:34:11 File mpmissions\__CUR_MP.Altis\core\init.sqf, line 24

    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 14:43
      • #10

      und jetzt? (Problem 2)

    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 14:58
      • #11

      Das hat doch nichts mit dem Handy Script zu tun, oder?

    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 22. November 2015 um 15:03
      • #12

      in den init.sqf´s Fehler zu haben ist immer Fatal! Somit kann dies durchaus mit deinen Problemen zusammen hängen. Sobald der Fehler "entdeckt" wurde, hört das Script genau an der Stelle auf zu arbeiten. Somit können Dinge wie die setupAction oder die komplette Configuration nicht mehr funktionieren, was 90% deines servers zu stocken bringt.

    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 15:08
      • #13

      und wie kann ich den Fehler beheben? Hier ist mal meine Init.sqf

      Dateien

      init.sqf 4,31 kB – 286 Downloads
    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 22. November 2015 um 15:11
      • #14

      geh mal davon aus das die

      [] spawn life_fnc_fuelCheck;
      [] spawn life_fnc_fuelConfig;
      [] spawn life_fnc_initFuelAction;

      nicht in der Functions.h stehen.

    • KeksKartoffel
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 22. November 2015 um 15:16
      • #15

      Nein die stehen glaube ich nicht drinn, müssen die da rein?
      Hier ist die Datei: Funktions.h.txt

    • Donplaya85
      Frischling
      Reaktionen
      1
      Trophäen
      10
      Beiträge
      10
      • 6. April 2016 um 15:10
      • #16

      Wenn ich auf Nachrichten löschen drücke verschwinden alle eingegangen Nachrichten so wie es sein soll, doch wenn ich das Smartphone erneut öffne sind alle Nachrichten wieder vorhanden.

    • John_Parker
      Fortgeschrittener
      Reaktionen
      37
      Trophäen
      10
      Beiträge
      338
      • 6. Mai 2016 um 16:35
      • #17

      Hat Jemand ein Bild von dem Smartphone ?
      Würde ich mir vorher gerne mal ansehen ^^

      MfG

      d4ccfe34e7e85df1132cf7f0832e56.gif

    • actione_xd
      Frischling
      Trophäen
      10
      Beiträge
      19
      • 25. Mai 2016 um 20:01
      • #18

      hallo und wie geht es mit der 4.0 bis 4.4
      das kann ich auch keine nachrichten versenden das systeam geht alles nur wie gsagt kann ich das nicht absenden

      MFG
      ACTIONE_XD

      Homepage:

      Public Gaming Lounge

    • John_Parker
      Fortgeschrittener
      Reaktionen
      37
      Trophäen
      10
      Beiträge
      338
      • 2. Juni 2016 um 19:01
      • #19

      Könnte das jemand für die 4.0 umschreiben wäre nice :D

      d4ccfe34e7e85df1132cf7f0832e56.gif

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 2. Juni 2016 um 19:04
      • #20

      also das http://www.altisliferpg.com/topic/14281-tu…t-messages-v44/ funktioniert einwandfrei in der 4.4

      ich denke für die 4.0 könnte es ebenfalls funktionieren, muss es aber nicht

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

      Services rund um ArmA RPG Life

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

    Registrieren oder Einloggen

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

    Registrieren

    Ähnliche Themen

    • [TUTORIAL] SQL basiertes Smartphone

      • Exodoos
      • 1. August 2016 um 18:57
      • Tutorials & Releases
    • 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

    Tags

    • handy
    • smartphone
    • sql smartphone
    • sql handy
    • custom phone

    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™