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
Mi: 21 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][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • Altis Life
    • DerL30N
    • 8. Oktober 2016 um 17:41
    • Schulz_lp
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      19
      • 23. Juli 2017 um 22:55
      • #41

      Hallo Leon, bei mir werden nur nullen in die DB eingetragen und das HUD wird mir nicht angezeigt.

      Folgenden Fehler habe ich gefunden:

      22:46:15 "--- VIS -> Starting -> Perm Vehicle -> DB Connecting... ---"

      22:46:15 "--- VIS -> Started [219.169s] : Perm Veh: true; DB ROW: [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0] ---"

      22:46:15 "--- VIS -> Config finished -> Perm Vehicle -> Updated Vars ---"

      22:46:15 Warning Message: Resource title vehInfo not found

      An was liegt das?

      Habe nochmal alle logs angehängt

      Dateien

      Arma3_x64_2017-07-23_22-42-41.rpt 58,83 kB – 171 Downloads arma3server_2017-07-23_22-16-44.rpt 77,59 kB – 205 Downloads
    • Schulz_lp
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      19
      • 23. Juli 2017 um 22:59
      • #42

      Und in deinem Update steht

      Zitat von DerL30N

      Ersetzt dort die Zeile 86 mit


      bei mir ist Zeile 86 aber leer

      wäre nett wenn du dir´s anschaust:)

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 24. Juli 2017 um 17:50
      • #43

      Hallole, mir ist gerade was aufgefallen.

      Ich nutze einen HeadlessClient und wenn dieser läuft , dann schreibt er mir beim kaufen von nem Auto die vis sachen nciht in die DB. Nun ist aber das Problem, dass die datei fn_insertVehicle.sqf nicht im HeadlessClient existiert. Ich denke dass er deswegen auch nichts in die DB einträgt. Wenn man das Auto dann nutzt, zeigt er auch keine Anzeige an. Wenn der HeadlessClient aus ist, geht alles ohne Probleme.

      Der einzige Fehler der in den Logs deswegen dann kommt ist dieser:

      17:24:54 "--- VIS -> DB -> Error -> Bad data 2 : ---"

      Wahrscheinlich weil in der vis Table nichts drin ist.

      Hat jemand ne Idee wie man das noch so hin bekommt, dass es auch mit HC funktioniert?

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 24. Juli 2017 um 18:39
      • #44
      Zitat von Schulz_lp
       

      Und in deinem Update steht


      bei mir ist Zeile 86 aber leer

      wäre nett wenn du dir´s anschaust:)

       

      okay,... Also ich habe mich noch mal eingelesen und bin zu dem entschluss gekommen, dass ich wohl die Zeile darüber gemeint habe, also wie folgt....

      SQL: fn_visVehInfo-sqf
      isableSerialization;
      _ok = cutRsc["vehInfo","PLAIN"];
      
      private["_idiff","_average"];

      ...Das wäre dann zeile 85.

      Zitat von Schulz_lp
       

      Hallo Leon, bei mir werden nur nullen in die DB eingetragen und das HUD wird mir nicht angezeigt.

      Folgenden Fehler habe ich gefunden:

      22:46:15 "--- VIS -> Starting -> Perm Vehicle -> DB Connecting... ---"

      22:46:15 "--- VIS -> Started [219.169s] : Perm Veh: true; DB ROW: [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0] ---"

      22:46:15 "--- VIS -> Config finished -> Perm Vehicle -> Updated Vars ---"

      22:46:15 Warning Message: Resource title vehInfo not found

      An was liegt das?

      Habe nochmal alle logs angehängt

       
      Alles anzeigen

      Und dieser Fehler, dass der die vehInfo Resource nicht kennt liegt wohl daran, dass es einen Fehler beim erstellen gibt... Ich würde mal sagen änder mal das Obige so ab wie gesagt und mal gucken ob sich das Problem von alleine aus der Welt schafft... Wenn nicht dann einfach das Resultat bekannt geben.

      Also mach das Update noch mal oder kontrolliere mal deine Änderungen, bin mir sicher das da etwas nicht so ganz ist wie es soll. Wir werden es herausfinden was da Probleme macht.

      LG Leon

      PS.: Bitte unbedingt rückmeldung geben!

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 24. Juli 2017 um 18:42
      • #45
      Zitat von Saturin78

      Hallole, mir ist gerade was aufgefallen.

      Ich nutze einen HeadlessClient und wenn dieser läuft , dann schreibt er mir beim kaufen von nem Auto die vis sachen nciht in die DB. Nun ist aber das Problem, dass die datei fn_insertVehicle.sqf nicht im HeadlessClient existiert. Ich denke dass er deswegen auch nichts in die DB einträgt. Wenn man das Auto dann nutzt, zeigt er auch keine Anzeige an. Wenn der HeadlessClient aus ist, geht alles ohne Probleme.

      Der einzige Fehler der in den Logs deswegen dann kommt ist dieser:

      17:24:54 "--- VIS -> DB -> Error -> Bad data 2 : ---"

      Wahrscheinlich weil in der vis Table nichts drin ist.

      Hat jemand ne Idee wie man das noch so hin bekommt, dass es auch mit HC funktioniert?

      Alles anzeigen

      Ja, das Script hat nicht gelernt mit HC umzugehen, da ich zum Zeitpunkt der Entwiclung nicht darüber nachgedacht habe HC einzubinden.....

      Das sollte aber ganz einfach nachzurüsten seien, ich gucke mir das mal eben an, wie das mit HC funktioniert, habe schon lange nichts mehr mit SQF und co gemacht ^^

      Also kurz gefasst musst du (man) "einfach" in der fn_vis_setup.sqf den HC integrieren....

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 24. Juli 2017 um 18:44
      • #46
      Zitat von DerL30N

      Ja, das Script hat nicht gelernt mit HC umzugehen, da ich zum Zeitpunkt der Entwiclung nicht darüber nachgedacht habe HC einzubinden.....

      Das sollte aber ganz einfach nachzurüsten seien, ich gucke mir das mal eben an, wie das mit HC funktioniert, habe schon lange nichts mehr mit SQF und co gemacht ^^

      Also kurz gefasst musst du (man) "einfach" in der fn_vis_setup.sqf den HC integrieren....

      Wow supi, das wäre mega.

      Ich hab zwar langsam raus wie ich kleinere Sachen mit HC machen, aber bin da auch erst noch am reinfuchsen :)

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 24. Juli 2017 um 18:48
      • #47

      Saturin78 Ich muss mich nochmals korrigieren....

      Ich habe gearde gesehen, dass er mit HC an die DB geht.... nur erstellst du den eintrag nicht....

      Code: fn_vehicleInfpUpdate.sqf
      // we dont like bad data
      if (!(count _queryResult == 1)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 1 : %1 ---",_queryResult]; };
      _queryResult = _queryResult select 0;
      if (!(count _queryResult == 5)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 2 : %1 ---",_queryResult]; };

      Wie du sicherlich siehst, wird beim ersten schritt geguckt ob es überhaupt einen Datensatz gibt und den gibt es bei dir...

      Dann kontrolliert er ob dieser auch richtug ist, also ob dieser die erwartete Länge besitzt, und das scheint er bei dir nicht zu haben...

      Ich würde mal schätzen, dass etwas bei deiner fn_insertVehicle.sqf nicht ganz koschar ist.

      Er erwartet ja folgenden Block :

      [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0]

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 24. Juli 2017 um 20:11
      • #48
      Zitat von DerL30N

      Saturin78 Ich muss mich nochmals korrigieren....

      Ich habe gearde gesehen, dass er mit HC an die DB geht.... nur erstellst du den eintrag nicht....

      Code: fn_vehicleInfpUpdate.sqf
      // we dont like bad data
      if (!(count _queryResult == 1)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 1 : %1 ---",_queryResult]; };
      _queryResult = _queryResult select 0;
      if (!(count _queryResult == 5)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 2 : %1 ---",_queryResult]; };

      Wie du sicherlich siehst, wird beim ersten schritt geguckt ob es überhaupt einen Datensatz gibt und den gibt es bei dir...

      Dann kontrolliert er ob dieser auch richtug ist, also ob dieser die erwartete Länge besitzt, und das scheint er bei dir nicht zu haben...

      Ich würde mal schätzen, dass etwas bei deiner fn_insertVehicle.sqf nicht ganz koschar ist.

      Er erwartet ja folgenden Block :

      [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0]

      Alles anzeigen

      Ja, sage ja er schreibt das nicht in die Table rein. das macht er nur ohne HC. Wenn ich ein Auto kaufe ohne aktiven HC, wird es in die DB eingetragen, bei aktiven HC ist die Spalte leer. die fn_insertVehicle.sqf ist im life_server vorhanden, aber im life_hc nicht.

      C: fn_insertVehicle.sqf
      /*
          File: fn_insertVehicle.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Inserts the vehicle into the database
      */
      private ["_query","_sql","_vis"];
      params [
          "_uid",
          "_side",
          "_type",
          "_className",
          ["_color",-1,[0]],
          ["_plate",-1,[0]]
      ];
      
      //Stop bad data being passed.
      if (_uid isEqualTo "" || _side isEqualTo "" || _type isEqualTo "" || _className isEqualTo "" || _color isEqualTo -1 || _plate isEqualTo -1) exitWith {};
      
      //_query = format ["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
      _vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
      _query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];
      
      [_query,1] call DB_fnc_asyncCall;
      Alles anzeigen

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 24. Juli 2017 um 21:21
      • #49
      Zitat von Saturin78

      Ja, sage ja er schreibt das nicht in die Table rein. das macht er nur ohne HC. Wenn ich ein Auto kaufe ohne aktiven HC, wird es in die DB eingetragen, bei aktiven HC ist die Spalte leer. die fn_insertVehicle.sqf ist im life_server vorhanden, aber im life_hc nicht.

      C: fn_insertVehicle.sqf
      /*
          File: fn_insertVehicle.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Inserts the vehicle into the database
      */
      private ["_query","_sql","_vis"];
      params [
          "_uid",
          "_side",
          "_type",
          "_className",
          ["_color",-1,[0]],
          ["_plate",-1,[0]]
      ];
      
      //Stop bad data being passed.
      if (_uid isEqualTo "" || _side isEqualTo "" || _type isEqualTo "" || _className isEqualTo "" || _color isEqualTo -1 || _plate isEqualTo -1) exitWith {};
      
      //_query = format ["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
      _vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
      _query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];
      
      [_query,1] call DB_fnc_asyncCall;
      Alles anzeigen

      guck mal hier : life_hc\MySQL\General -> fn_insertVehicle.sqf

      musst die fn_vis_setup.sqf dann noch anpassen in line 18 oder 19 : [player,_veh,true] remoteExecCall ["life_fnc_vehicleInfoUpdate",RSERV];//Database veh only

      Du musst in die CfgRemoteExec.hpp gehen und die Datei als HC einstellen und dann auche das RSERV in der besagten Datei in HC oder sowas ändern.... dann gibt er den Befehl an den HC weiter....

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

      Einmal editiert, zuletzt von DerL30N (24. Juli 2017 um 21:28)

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 24. Juli 2017 um 21:27
      • #50

      ah super, danke, das hab ich total übersehen :)

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 24. Juli 2017 um 21:28
      • #51
      Zitat von Saturin78

      ah super, danke, das hab ich total übersehen :)

      achtung habe noch mal was hinzugefügt zu meiner antowort!

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 24. Juli 2017 um 21:34
      • #52

      Saturin78 und du musst natürlich alle sachen vom vis die in der life_server sind dann auch aufn HC packen

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 24. Juli 2017 um 22:01
      • #53

      Erweiterung für HeadlesClient:

      1. in der Datein CfgRemoteExec.hpp falls noch nciht vorhanden das unten bei HC einfügen:

      C: CfgRemoteExec.hpp
      //Fahrzeug Informations System
              F(HC_fnc_vehicleInfoUpdate,HC)

      2. im HeadlesClient @life_hc einen Ordner unter MySQL erstellen mit dem Namen Vis

      3. in diesen Ordnerdiese fn_vehicleInfoUpdate.sqf erstellen:

      C: fn_vehicleInfoUpdate.sqf
      #include "\life_hc\hc_macros.hpp"
      /*
          File: fn_vehicleInfoUpdate.sqf
          Author: Leon "DerL30N" Beeser
          Description:
          Stores/reads the vehicle informations of VIS in db
      */
      private["_ret","_vehicle","_read","_vInfo","_plate","_uid","_query","_tickTime","_queryResult"];
      _ret = [_this,0,objNull,[objNull]] call BIS_fnc_param;
      _vehicle = [_this,1,objNull,[objNull]] call BIS_fnc_param;
      _read = [_this,2,false,[true]] call BIS_fnc_param;
      _data = [_this,3,[],[[]]] call BIS_fnc_param;
      if (isNull _ret) exitWith {};
      _ret = owner _ret;
      if (isNull _vehicle) exitWith {};
      
      _vInfo = _vehicle getVariable ["dbInfo",[]];
      if (count _vInfo > 0) then {
          _plate = _vInfo select 1;
          _uid = _vInfo select 0;
      };
      
      diag_log format["--- VIS -> DB -> Starting DB for %1 ---",_ret];
      
      if (!_read) exitWith {
          // update
          _query = format["UPDATE vehicles SET vis='%3' WHERE pid='%1' AND plate='%2'", _uid, _plate, _data];
          [_query,1] call HC_fnc_asyncCall;
          diag_log "--- VIS -> Saving -> Perm Vehicle -> DB done ---";    
      };
      
      if (count _vInfo isEqualTo 0) exitWith {};
      
      _query = format["SELECT vis FROM vehicles WHERE pid='%1' AND plate='%2'", _uid, _plate];
      
      _tickTime = diag_tickTime;
      _queryResult = [_query,2] call HC_fnc_asyncCall;
      
      if (EXTDB_SETTING(getNumber,"DebugMode") isEqualTo 1) then {
          diag_log "------------- Client Query Request -------------";
          diag_log format["QUERY: %1",_query];
          diag_log format["Time to complete: %1 (in seconds)",(diag_tickTime - _tickTime)];
          diag_log format["Result: %1",_queryResult];
          diag_log "------------------------------------------------";
      };
          
      // we dont like bad data
      if (!(count _queryResult == 1)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 1 : %1 ---",_queryResult]; };
      _queryResult = _queryResult select 0;
      if (!(count _queryResult == 5)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 2 : %1 ---",_queryResult]; };
      
      diag_log format["--- VIS -> DB -> Returning result -> %1 ---",_queryResult];
      [_queryResult,true] remoteExec ["life_fnc_visVehInfo",_ret];
      Alles anzeigen

      4. in der config.cpp im life_hc diese Neue Class unter Class General einfügen:

      C: config.cpp
      class VisdbHC {
                  file = "\life_hc\MySQL\Vis";
                  class vehicleInfoUpdate {};
              };

      5. in der Datei fn_insertVehicle.sqf auf dem life_hc die Zeile 23 durch das ersetzen:

      C: fn_insertVehicle.sqf
      _query = format ["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
      
      ersetzen durch:
      
      _vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
      _query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];

      Und unten die Zeile [_query,1] call DB_fnc_asyncCall; durch [_query,1] call HC_fnc_asyncCall; ersetzen.

      6. die Datei fn_vis_setup.sqf ersetzen durch diese:

      C: fn_vis_setup.sqf
      #include "..\lb_script_macros.hpp"
      #include "..\..\script_macros.hpp"
      /*
          File: fn_vis_setup.sqf
          Author: Leon "DerL30N" Beeser
          
          Description:
          Starts the VIS System
      */
      
      if(!isServer) then 
      {
          if ((vis_isActive) && (vehicle player != player) && (driver (vehicle player) == player) && ((vehicle player isKindOf "Car") OR (vehicle player isKindOf "Air") OR (vehicle player isKindOf "Ship"))) then 
          {
              _veh = vehicle player;
              _vInfo = _veh getVariable ["dbInfo",[]];
              if (!(count _vInfo isEqualTo 0)) then  {
                  diag_log "--- VIS -> Starting -> Perm Vehicle -> DB Connecting... ---";
                  //Anpassung für HeadlessClient
                  if (life_HC_isActive) then {
                      [player,_veh,true] remoteExecCall ["HC_fnc_vehicleInfoUpdate",HC_Life];
                  } else {
                      [player,_veh,true] remoteExecCall ["life_fnc_vehicleInfoUpdate",RSERV];
                  };
                  
                  //[player,_veh,true] remoteExecCall ["life_fnc_vehicleInfoUpdate",RSERV];//Database veh only
              } else {
                  //[0,false] spawn life_fnc_vis_vehInfo;
                  [0,false] spawn life_fnc_visVehInfo;
                  diag_log "--- VIS -> Starting -> Rental Vehicle ---";
              };
          };
      };
      Alles anzeigen

      Sodele, das dürfte es gewesen sein. Bei mir klappt es nun wunderbar auch mit aktiven HeadlessClient.

      MfG

      Saturin78

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 24. Juli 2017 um 22:04
      • #54
      Zitat von Saturin78

      Erweiterung für HeadlesClient:

      1. in der Datein CfgRemoteExec.hpp falls noch nciht vorhanden das unten bei HC einfügen:

      C: CfgRemoteExec.hpp
      //Fahrzeug Informations System
              F(HC_fnc_vehicleInfoUpdate,HC)

      2. im HeadlesClient @life_hc einen Ordner unter MySQL erstellen mit dem Namen Vis

      3. in diesen Ordnerdiese fn_vehicleInfoUpdate.sqf erstellen:

      C: fn_vehicleInfoUpdate.sqf
      #include "\life_hc\hc_macros.hpp"
      /*
          File: fn_vehicleInfoUpdate.sqf
          Author: Leon "DerL30N" Beeser
          Description:
          Stores/reads the vehicle informations of VIS in db
      */
      private["_ret","_vehicle","_read","_vInfo","_plate","_uid","_query","_tickTime","_queryResult"];
      _ret = [_this,0,objNull,[objNull]] call BIS_fnc_param;
      _vehicle = [_this,1,objNull,[objNull]] call BIS_fnc_param;
      _read = [_this,2,false,[true]] call BIS_fnc_param;
      _data = [_this,3,[],[[]]] call BIS_fnc_param;
      if (isNull _ret) exitWith {};
      _ret = owner _ret;
      if (isNull _vehicle) exitWith {};
      
      _vInfo = _vehicle getVariable ["dbInfo",[]];
      if (count _vInfo > 0) then {
          _plate = _vInfo select 1;
          _uid = _vInfo select 0;
      };
      
      diag_log format["--- VIS -> DB -> Starting DB for %1 ---",_ret];
      
      if (!_read) exitWith {
          // update
          _query = format["UPDATE vehicles SET vis='%3' WHERE pid='%1' AND plate='%2'", _uid, _plate, _data];
          [_query,1] call DB_fnc_asyncCall;
          diag_log "--- VIS -> Saving -> Perm Vehicle -> DB done ---";    
      };
      
      if (count _vInfo isEqualTo 0) exitWith {};
      
      _query = format["SELECT vis FROM vehicles WHERE pid='%1' AND plate='%2'", _uid, _plate];
      
      _tickTime = diag_tickTime;
      _queryResult = [_query,2] call DB_fnc_asyncCall;
      
      if (EXTDB_SETTING(getNumber,"DebugMode") isEqualTo 1) then {
          diag_log "------------- Client Query Request -------------";
          diag_log format["QUERY: %1",_query];
          diag_log format["Time to complete: %1 (in seconds)",(diag_tickTime - _tickTime)];
          diag_log format["Result: %1",_queryResult];
          diag_log "------------------------------------------------";
      };
          
      // we dont like bad data
      if (!(count _queryResult == 1)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 1 : %1 ---",_queryResult]; };
      _queryResult = _queryResult select 0;
      if (!(count _queryResult == 5)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 2 : %1 ---",_queryResult]; };
      
      diag_log format["--- VIS -> DB -> Returning result -> %1 ---",_queryResult];
      [_queryResult,true] remoteExec ["life_fnc_visVehInfo",_ret];
      Alles anzeigen

      4. in der config.cpp im life_hc diese Neue Class unter Class General einfügen:

      C: config.cpp
      class VisdbHC {
                  file = "\life_hc\MySQL\Vis";
                  class vehicleInfoUpdate {};
              };

      5. in der Datei fn_insertVehicle.sqf auf dem life_hc die Zeile 23 durch das ersetzen:

      C: fn_insertVehicle.sqf
      _query = format ["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
      
      ersetzen durch:
      
      _vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
      _query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];
      Alles anzeigen

      Super vielen dank dass du es teilst wie es funktioniert. Außerdem ein sehr überschaubares Tut ^^

      Saturin78 Wie immer eine gute Zusammenarbeit :P:thumbup:

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 24. Juli 2017 um 22:20
      • #55

      Danke, gerne doch :)

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Schulz_lp
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      19
      • 25. Juli 2017 um 23:33
      • #56
      Zitat von DerL30N

      okay,... Also ich habe mich noch mal eingelesen und bin zu dem entschluss gekommen, dass ich wohl die Zeile darüber gemeint habe, also wie folgt....

      ich glaube die zeile 274 ist auch falsch. ich glaube da meinst du 275

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 29. Juli 2017 um 10:39
      • #57
      Zitat von Schulz_lp

      ich glaube die zeile 274 ist auch falsch. ich glaube da meinst du 275

      Eine Zeile drüber oder drunter kann mal passieren je nach dem was so geändert wurde.... jedenfalls der Kontext, bzw die Funktion oder Intention der Änderung sollte doch eigentlich klar erkennbar sein oder nicht ?

      sonst noch mal :

      Folgendes _ok = cutRsc["vehInfo","PLAIN"]; durch 18 cutRsc["vehInfo","PLAIN"]; ersetzen. ( Zeile 85 oder 86 )

      Folgendes cutRsc ["Default","PLAIN"]; durch 18 cutText ["","PLAIN"]; ersetzen. ( Zeile 274 oder 275 )

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • Zeilord
      Fortgeschrittener
      Reaktionen
      71
      Trophäen
      8
      Beiträge
      333
      Bilder
      24
      • 8. Oktober 2017 um 20:12
      • #58

      Moin moin
      also habe kleines Problem ....
      so bald ich in ein Auto einsteige blob Fenster auf wo drin steht : Resource title vehinfo not found.
      Bin das tut jetzt mehrfach durch gegangen =/ und selbst so geschaut wo der Fehler sein sein könnte =/
      Weis einer von euch was es sein könnte?

      Habe auch mal mein Arma 3 Log mit hoch geladen

      Arma3_x64_2017-10-08_20-03-48.rpt

    • DerL30N
      Schüler
      Reaktionen
      67
      Trophäen
      10
      Beiträge
      125
      • 9. Oktober 2017 um 20:56
      • #59
      Zitat von Zeilord

      Moin moin
      also habe kleines Problem ....
      so bald ich in ein Auto einsteige blob Fenster auf wo drin steht : Resource title vehinfo not found.
      Bin das tut jetzt mehrfach durch gegangen =/ und selbst so geschaut wo der Fehler sein sein könnte =/
      Weis einer von euch was es sein könnte?

      Habe auch mal mein Arma 3 Log mit hoch geladen

      Arma3_x64_2017-10-08_20-03-48.rpt

      Alles anzeigen

      Ich würde erstmal darauf tippen, dass du die hpp file nicht korrekt eingebunden hast, entweder in der Master.hpp oder das der Fehler in der description.ext liegt... Bin gerade nicht im Bilde wie das Script da genau die Dialog File einbindet, aber das steht ja im TuT... Also wie gesagt, er versucht den Dialog zu öffnen aber findet ihn nicht, d.H. dass du deiner Mission beibringen musst, dass die Dialogfile existiert und ein RSC_Titel ist...

      Und kleiner Tipp am rande, du hast tausende Script errors die du beheben kannst....das solltest du auch tun...

      LG Leon

      Freier Scripter und Programmierer aus Leidenschaft

      Projektideen gerne an die Pinnwand, aber bitte KEINE Projektanfragen per PN

    • Zeilord
      Fortgeschrittener
      Reaktionen
      71
      Trophäen
      8
      Beiträge
      333
      Bilder
      24
      • 9. Oktober 2017 um 21:06
      • #60

      Ok werde ich noch mal schauen bei denn Punkten die du meinst und mich dann noch mal melden

      Ja das weis ich bin da schon dran aber denn noch danke

    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™