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: 18 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] Jail Time Altis Life 5.0

      • Altis Life
    • Alice Kingsleigh
    • 7. März 2019 um 17:20
    • TheFireRunner Felix
      Fortgeschrittener
      Reaktionen
      27
      Trophäen
      8
      Beiträge
      333
      Dateien
      3
      Bilder
      9
      • 14. Juni 2019 um 20:10
      • #41

      SporeSee

      Das ist ein nur zum Loggen gedacht...

      Nimm das hier einfach:

      Code: fn_jailMe.sqf
      #include "..\..\script_macros.hpp"
      /*
       File: fn_jailMe.sqf
       Author Bryan "Tonic" Boardwine
      
       Description:
       Once word is received by the server the rest of the jail execution is completed.
      */
      private ["_time","_bail","_esc","_countDown"];
      
      params [
       ["_ret",[],[[]]],
       ["_bad",false,[false]],
       ["_time",15,[0]]
      ];
      
      _time = time + (_time * 60);
      
      if (count _ret > 0) then { life_bail_amount = (_ret select 2); } else { life_bail_amount = 1500; };
      _esc = false;
      _bail = false;
      
      if(_time <= 0) then { _time = time + (15 * 60); hintC "Please Report to Admin: JAIL_FALLBACK_15, time is zero!"; };
      
      while {true} do {
       if((round(_time - time)) > 0) then {
       _countDown = if(round (_time - time) > 60) then {format["%1 Minuten",round(round(_time - time) / 60)]} else {format["%1 Sekunden",round(_time - time)]};
       hintSilent format["Verbleibende Zeit:\n %1\n",_countDown];
       };
       _remain = (round(_time - time));
       if ((_remain % 60) isEqualTo 0) then {
        player setVariable ["JailTime", (round(_remain / 60)) ];
       [5] call SOCK_fnc_updatePartial;
       };
       
       player forceWalk true;
      
       if (player distance (getMarkerPos "jail_marker") > 60) exitWith {
          _esc = true;
       };
      
       if ((round(_time - time)) < 1) exitWith {hint ""};
       if (!alive player && ((round(_time - time)) > 0)) exitWith {};
       sleep 0.1;
      };
      
      switch (true) do {
       case (_bail): {
       life_is_arrested = false;
       life_bail_paid = false;
      
       hint localize "STR_Jail_Paid";
       serv_wanted_remove = [player];
       player setPos (getMarkerPos "jail_release");
       player setVariable ["JailTime",0];
      
       if (life_HC_isActive) then {
       [getPlayerUID player] remoteExecCall ["HC_fnc_wantedRemove",HC_Life];
       } else {
       [getPlayerUID player] remoteExecCall ["life_fnc_wantedRemove",RSERV];
       };
      
       [5] call SOCK_fnc_updatePartial;
       };
      
       case (_esc): {
       life_is_arrested = false;
       hint localize "STR_Jail_EscapeSelf";
       
       [0,"STR_Jail_EscapeNOTF",true,[profileName]] remoteExecCall ["life_fnc_broadcast",west];
       player setVariable ["JailTime",0];
       if (life_HC_isActive) then {
       [getPlayerUID player,profileName,"901"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life];
       } else {
       [getPlayerUID player,profileName,"901"] remoteExecCall ["life_fnc_wantedAdd",RSERV];
       };
       
       [5] call SOCK_fnc_updatePartial;
       };
      
       case (alive player && !_esc && !_bail): {
       life_is_arrested = false;
       hint localize "STR_Jail_Released";
      
       if (life_HC_isActive) then {
       [getPlayerUID player] remoteExecCall ["HC_fnc_wantedRemove",HC_Life];
       } else {
       [getPlayerUID player] remoteExecCall ["life_fnc_wantedRemove",RSERV];
       };
      
       player setPos (getMarkerPos "jail_release");
       [5] call SOCK_fnc_updatePartial;
       };
      };
      
      player forceWalk false; // Enable running & jumping
      Alles anzeigen

      ( ̄o ̄) . z Z

    • SporeSee
      Anfänger
      Reaktionen
      4
      Trophäen
      7
      Beiträge
      85
      • 14. Juni 2019 um 21:18
      • #42

      Vielen Dank

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 14. Juni 2019 um 22:49
      • #43

      [UPDATE]

      Folgende Sachen wurden verändert:

      die fn_jailPlayer.sqf kann gelöscht werden und in der config.cpp des life_servers raus genommen werden. Außerdem muss im life_server unter dem Pfad

      Functions\MySQL fn_queryRequest.sqf case civilian suchen

      C: fn_queryRequest.sqf
      case civilian: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, civ_licenses, arrested, civ_gear, civ_stats, civ_alive, civ_position, playtime FROM players WHERE pid='%1'",_uid];};

      und mit ersetzen

      C: fn_queryRequest.sqf
      case civilian: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, civ_licenses, arrested, civ_gear, civ_stats, civ_alive, civ_position, playtime, jail_time FROM players WHERE pid='%1'",_uid];};

      weiter unten in der Datei im case civilian ÜBER /* Make sure nothing else is added under here */ einfügen

      C: fn_queryRequest.sqf
      //jail_time
      _player setVariable ["JailTime",(_queryResult select 13),true];

      Bitte schaut noch mal ins Tutorial wegen dem letzten Schritt, da ist noch ein wichtiger Hinweis!

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 1. Juli 2019 um 19:49
      • #44

      Moin,

      bei Schritt 3 vom life_server müsst Ihr noch eine Kleinigkeit beachten! Und zwar vor dem

      Code
      _ownerID = owner _ownerID;

      müsst ihr folgendes einfügen

      Code
      private _player = _ownerID;

      das Ganze sicht dann so aus

      Code
      if (isNull _ownerID) exitWith {};
      private _player = _ownerID;
      _ownerID = owner _ownerID;

      Sonst gibt es einen Fehler im Log ;)

      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 ?

    • GenApophis
      Fortgeschrittener
      Reaktionen
      49
      Trophäen
      10
      Beiträge
      303
      • 2. Juli 2019 um 15:25
      • #45

      Ja Moin zusammen,

      Super sache, danke :)

      Jetzt lass ich hier mal den Brüller los:

      ACHTUNG, das ist natürlich nur ein kleiner Scherz:

      Funktioniert das auch bei Tanoa Life?

      GA Gaming Community

      TS3.GA-Gaming.de

    • riesensika
      Kenner
      Reaktionen
      29
      Trophäen
      9
      Beiträge
      332
      Dateien
      6
      Bilder
      60
      • 18. August 2019 um 14:38
      • #46

      Bei mir kommt die ganze zeit:


      "FERTIGSTELLEN DER CLIENT-EINRICHTUNGS-PROZEDUR"

      ich schike hier die rdp wegen den Gang errors habe sie nur nicht eingerichtet sie funktionieren aber auch so .

      Danke im Voraus


      arma3server_x64_2019-08-18_14-32-37.rpt


      Mit Freundlichen Grüßen steven

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 18. August 2019 um 18:53
      • #47

      Hier haben wir einen Haufen Fehler:

      Der erste lässt sich beheben, und sollte man beheben, in dem man ein Objekt seiner Wahl, im original Framework ist es ein Müllhaufen, auf die Spawn Insel setzt und ihm die Variable "bank_obj" gibt.

      Code
      Error in expression <query,1] call DB_fnc_asyncCall;
      };
      };
      
      master_group attachTo[bank_obj,[0,0,0]];>
        Error position: <master_group attachTo[bank_obj,[0,0,0]];>
        Error Undefined variable in expression: master_group
      File life_server\init.sqf, line 89
      Error in expression <uts" >> "hideout_markername_default")];

      Du sagst zwar du kennst die Fehler, solltest sie aber beheben. Wobei ich mich aber frag, was für ein Framework benutzt, die Datei gibt es mit dem Namen nicht in der 5.0

      Code
      _gh setVariable ["gangOwner",-1,true];
      }>
        Error position: <_gh setVariable ["gangOwner",-1,true];
      }>
        Error Undefined variable in expression: _gh
      File \life_server\Functions\gangs_server\fn_gang_loadGH.sqf [TON_fnc_gang_loadGH], line 30
      Code
      Error in expression <ormat["gang_hideout%1_pos",_i]);
      _gh = (nearestObjects[_pos,_hideoutclassnames,5>
        Error position: <nearestObjects[_pos,_hideoutclassnames,5>
        Error 0 elements provided, 3 expected
      File \life_server\Functions\gangs_server\fn_gang_loadGH.sqf [TON_fnc_gang_loadGH], line 22
      Code
      Error in expression <uts" >> "hideout_markername_default")];
      _gh setVariable ["gangOwner",-1,true];
      }>
        Error position: <_gh setVariable ["gangOwner",-1,true];
      }>
        Error Undefined variable in expression: _gh
      File \life_server\Functions\gangs_server\fn_gang_loadGH.sqf [TON_fnc_gang_loadGH], line 30
      Code
      Error in expression <ormat["gang_hideout%1_pos",_i]);
      _gh = (nearestObjects[_pos,_hideoutclassnames,5>
        Error position: <nearestObjects[_pos,_hideoutclassnames,5>
        Error 0 elements provided, 3 expected
      File \life_server\Functions\gangs_server\fn_gang_loadGH.sqf [TON_fnc_gang_loadGH], line 22
      Code
      Error in expression <uts" >> "hideout_markername_default")];
      _gh setVariable ["gangOwner",-1,true];
      }>
        Error position: <_gh setVariable ["gangOwner",-1,true];
      }>
        Error Undefined variable in expression: _gh
      File \life_server\Functions\gangs_server\fn_gang_loadGH.sqf [TON_fnc_gang_loadGH], line 30
      Code
      Error in expression <ormat["gang_hideout%1_pos",_i]);
      _gh = (nearestObjects[_pos,_hideoutclassnames,5>
        Error position: <nearestObjects[_pos,_hideoutclassnames,5>
        Error 0 elements provided, 3 expected
      File \life_server\Functions\gangs_server\fn_gang_loadGH.sqf [TON_fnc_gang_loadGH], line 22

      Diese Fehlermeldung kommt soweit mir bekannt von einer Mod. Falls nicht selbst zu korrigieren würde ich mal den Ersteller anfragen. Den Fehler hab ich schon sooooo unendlich oft gesehen.

      Code
      Error in expression <ffectCreate ["ColorCorrections", 2500];
      SUPER_PPEffect ppEffectAdjust [1, 1, -0.>
        Error position: <SUPER_PPEffect ppEffectAdjust [1, 1, -0.>
        Error Undefined variable in expression: super_ppeffect
      File \KA_Flashbang\init.sqf [SUPER_fnc_InitFlashBang], line 2

      Insgesamt ist zu sagen das da sehr viele Modfehler sind. Schon vor dem Start hast du fast 10.000 (!!!) Fehler im Log. Nuckelt halt an der Serverperformance. So und um dein Problem zu lösen wären nun noch die Client- und extDB Logs interessant.

    • riesensika
      Kenner
      Reaktionen
      29
      Trophäen
      9
      Beiträge
      332
      Dateien
      6
      Bilder
      60
      • 18. August 2019 um 20:48
      • #48

      Der obere ist weil ich noch tanoa drin sethen habe und noch nciht mein map name eingetragen haben die unteren sind weil ich noch nicht die ganghoutouts gesetzt habe

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 19. August 2019 um 08:05
      • #49

      Moin,

      Vorschlag fixe alle Fehler die dir bekannt sind und dann kann man sich das Log nochmal anschauen. Ich habe jetzt beim 1. überfliegen des Logfiles erstmal keinen Hinweis gefunden wegen der Jail_Time. Zusätzlich bitte Client und EXTDB3 log mit anhängen.

      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 ?

    • riesensika
      Kenner
      Reaktionen
      29
      Trophäen
      9
      Beiträge
      332
      Dateien
      6
      Bilder
      60
      • 19. August 2019 um 09:31
      • #50

      ok habe den fehler schon gefunden danke mache ich trozdem :) alles fixxen

    • BlackBox
      Anfänger
      Reaktionen
      3
      Trophäen
      6
      Beiträge
      53
      • 19. November 2019 um 13:12
      • #51
      Code
      13:06:07 Error in expression <ew select 2] call TON_fnc_setPlayTime;
      
      _player setVariable ["JailTime",(_queryR>
      13:06:07   Error position: <_player setVariable ["JailTime",(_queryR>
      13:06:07   Error Undefined variable in expression: _player
      13:06:07 File \life_server\Functions\MySQL\fn_queryRequest.sqf [DB_fnc_queryRequest]..., line 182

      Hat dazu einer eine Idee?

    • BlackBox
      Anfänger
      Reaktionen
      3
      Trophäen
      6
      Beiträge
      53
      • 19. November 2019 um 13:44
      • #52

      Anbei nochmal der komplette Log. Database Log ist clear!

      Dateien

      arma3server_x64_2019-11-19_13-37-57.rpt 90,16 kB – 151 Downloads
    • BlackBox
      Anfänger
      Reaktionen
      3
      Trophäen
      6
      Beiträge
      53
      • 19. November 2019 um 13:55
      • #53

      Hier ist die File \life_server\Functions\MySQL\fn_queryRequest.sqf, wo ich den Fehler vermute.

      Spoiler anzeigen

      #include "\life_server\script_macros.hpp"

      /*

      File: fn_queryRequest.sqf

      Author: Bryan "Tonic" Boardwine

      Description:

      Handles the incoming request and sends an asynchronous query

      request to the database.
      Return:

      ARRAY - If array has 0 elements it should be handled as an error in client-side files.

      STRING - The request had invalid handles or an unknown error and is logged to the RPT.

      */

      private ["_uid","_side","_query","_queryResult","_tickTime","_tmp"];

      _uid = [_this,0,"",[""]] call BIS_fnc_param;

      _side = [_this,1,sideUnknown,[civilian]] call BIS_fnc_param;

      _ownerID = [_this,2,objNull,[objNull]] call BIS_fnc_param;
      if (isNull _ownerID) exitWith {};

      _ownerID = owner _ownerID;
      _query = switch (_side) do {

      // West - 11 entries returned

      case west: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, cop_licenses, coplevel, cop_gear, blacklist, cop_stats, playtime FROM players WHERE pid='%1'",_uid];};

      // Civilian - 15 entries returned

      case civilian: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, civ_licenses, arrested, civ_gear, civ_stats, civ_alive, civ_position, playtime, gang_id, gang_perm_id, jail_time FROM players WHERE pid='%1'",_uid];};

      // Independent - 10 entries returned

      case independent: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, med_licenses, mediclevel, med_gear, med_stats, playtime FROM players WHERE pid='%1'",_uid];};

      };
      _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 "------------------------------------------------";

      };
      if (_queryResult isEqualType "") exitWith {

      [] remoteExecCall ["SOCK_fnc_insertPlayerInfo",_ownerID];

      };
      if (count _queryResult isEqualTo 0) exitWith {

      [] remoteExecCall ["SOCK_fnc_insertPlayerInfo",_ownerID];

      };
      //Blah conversion thing from a2net->extdb

      _tmp = _queryResult select 2;

      _queryResult set[2,[_tmp] call DB_fnc_numberSafe];

      _tmp = _queryResult select 3;

      _queryResult set[3,[_tmp] call DB_fnc_numberSafe];
      //Parse licenses (Always index 6)

      _new = [(_queryResult select 6)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[6,_new];
      //Convert tinyint to boolean

      _old = _queryResult select 6;

      for "_i" from 0 to (count _old)-1 do {

      _data = _old select _i;

      _old set[_i,[_data select 0, ([_data select 1,1] call DB_fnc_bool)]];

      };
      _queryResult set[6,_old];
      _new = [(_queryResult select 8)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[8,_new];

      //Parse data for specific side.

      switch (_side) do {

      case west: {

      _queryResult set[9,([_queryResult select 9,1] call DB_fnc_bool)];
      //Parse Stats

      _new = [(_queryResult select 10)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[10,_new];
      //Playtime

      _new = [(_queryResult select 11)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _index = TON_fnc_playtime_values_request find [_uid, _new];

      if (_index != -1) then {

      TON_fnc_playtime_values_request set[_index,-1];

      TON_fnc_playtime_values_request = TON_fnc_playtime_values_request - [-1];

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      } else {

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      };

      [_uid,_new select 0] call TON_fnc_setPlayTime;

      };
      case civilian: {

      _queryResult set[7,([_queryResult select 7,1] call DB_fnc_bool)];
      //Parse Stats

      _new = [(_queryResult select 9)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[9,_new];
      //Position

      _queryResult set[10,([_queryResult select 10,1] call DB_fnc_bool)];

      _new = [(_queryResult select 11)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[11,_new];
      //Playtime

      _new = [(_queryResult select 12)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _index = TON_fnc_playtime_values_request find [_uid, _new];

      if (_index != -1) then {

      TON_fnc_playtime_values_request set[_index,-1];

      TON_fnc_playtime_values_request = TON_fnc_playtime_values_request - [-1];

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      } else {

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      };

      [_uid,_new select 2] call TON_fnc_setPlayTime;

      //jail_time

      _player setVariable ["JailTime",(_queryResult select 15),true];

      /* Make sure nothing else is added under here */

      _houseData = _uid spawn TON_fnc_fetchPlayerHouses;

      _queryResult pushBack (missionNamespace getVariable [format ["houses_%1",_uid],[]]);
      };
      case independent: {

      //Parse Stats

      _new = [(_queryResult select 9)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[9,_new];
      //Playtime

      _new = [(_queryResult select 10)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _index = TON_fnc_playtime_values_request find [_uid, _new];

      if !(_index isEqualTo -1) then {

      TON_fnc_playtime_values_request set[_index,-1];

      TON_fnc_playtime_values_request = TON_fnc_playtime_values_request - [-1];

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      } else {

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      };

      [_uid,_new select 1] call TON_fnc_setPlayTime;

      };

      };
      publicVariable "TON_fnc_playtime_values_request";
      _keyArr = missionNamespace getVariable [format ["%1_KEYS_%2",_uid,_side],[]];

      _queryResult pushBack _keyArr;
      _queryResult remoteExec ["SOCK_fnc_requestReceived",_ownerID];

    • Henne
      Nerd
      Reaktionen
      155
      Trophäen
      7
      Beiträge
      840
      Bilder
      7
      • 19. November 2019 um 16:24
      • #54

      BlackBox

      Da hättest du einfach mal das ganze Thema lesen müssen:

      Zitat von moeck

      Moin,

      bei Schritt 3 vom life_server müsst Ihr noch eine Kleinigkeit beachten! Und zwar vor dem

      Code
      _ownerID = owner _ownerID;

      müsst ihr folgendes einfügen

      Code
      private _player = _ownerID;

      das Ganze sicht dann so aus

      Code
      if (isNull _ownerID) exitWith {};
      private _player = _ownerID;
      _ownerID = owner _ownerID;

      Sonst gibt es einen Fehler im Log ;)

      Gruß,

      moeck

      Alles anzeigen
    • BlackBox
      Anfänger
      Reaktionen
      3
      Trophäen
      6
      Beiträge
      53
      • 19. November 2019 um 16:44
      • #55

      Henne

      Das habe ich drin.

      Bei mir startet der Server auch, aber vor dem Spawn kommt "Frage Spieler Infos ab..." und nichts passiert. Die hochgeladene Datei ist von davor...

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 19. November 2019 um 17:00
      • #56

      Mir war leider irgendwie entgangen, dass ich das nicht im Tutorial habe. Wird sofort korrigiert. Allerdings ist es laut Logs genau der Schritt, den du nicht hast. Schick doch bitte die entsprechende Datei ein mal rein.

    • BlackBox
      Anfänger
      Reaktionen
      3
      Trophäen
      6
      Beiträge
      53
      • 19. November 2019 um 17:31
      • #57

      Stelle hier nochmal alles zusammen, wir können uns die Fehler nicht erklären.

      Spoiler anzeigen

      17:01:11 "<infiSTAR.de>ConnectLog| 0h 3min | Connected: Peter Mayer(76561198135698478) - time: 119.376 - serverFPS: 45.3258 (infiSTAR.de Nitrado Light 5.0)"

      17:01:12 Error in expression <t 2] call TON_fnc_setPlayTime;

      _player setVariable ["JailTime",(_queryResult se>

      17:01:12 Error position: <setVariable ["JailTime",(_queryResult se>

      17:01:12 Error setvariable: Type Number, expected Namespace,Object,Group,Display (dialog),Control,Team member,Task,Location

      17:01:12 File \life_server\Functions\MySQL\fn_queryRequest.sqf [DB_fnc_queryRequest]..., line 183

      17:01:15 "<infiSTAR.de> RequestToken: Peter Mayer(76561198135698478) Requested a Token! _clientID: 4"

      Spoiler anzeigen

      #include "\life_server\script_macros.hpp"

      /*

      File: fn_queryRequest.sqf

      Author: Bryan "Tonic" Boardwine

      Description:

      Handles the incoming request and sends an asynchronous query

      request to the database.
      Return:

      ARRAY - If array has 0 elements it should be handled as an error in client-side files.

      STRING - The request had invalid handles or an unknown error and is logged to the RPT.

      */

      private ["_uid","_side","_query","_queryResult","_tickTime","_tmp"];

      _uid = [_this,0,"",[""]] call BIS_fnc_param;

      _side = [_this,1,sideUnknown,[civilian]] call BIS_fnc_param;

      _ownerID = [_this,2,objNull,[objNull]] call BIS_fnc_param;
      if (isNull _ownerID) exitWith {};

      _ownerID = owner _ownerID;

      private _player = _ownerID;
      _query = switch (_side) do {

      // West - 11 entries returned

      case west: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, cop_licenses, coplevel, cop_gear, blacklist, cop_stats, playtime FROM players WHERE pid='%1'",_uid];};

      // Civilian - 15 entries returned

      case civilian: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, civ_licenses, arrested, civ_gear, civ_stats, civ_alive, civ_position, playtime, gang_id, gang_perm_id, jail_time FROM players WHERE pid='%1'",_uid];};

      // Independent - 10 entries returned

      case independent: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, med_licenses, mediclevel, med_gear, med_stats, playtime FROM players WHERE pid='%1'",_uid];};

      };
      _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 "------------------------------------------------";

      };
      if (_queryResult isEqualType "") exitWith {

      [] remoteExecCall ["SOCK_fnc_insertPlayerInfo",_ownerID];

      };
      if (count _queryResult isEqualTo 0) exitWith {

      [] remoteExecCall ["SOCK_fnc_insertPlayerInfo",_ownerID];

      };
      //Blah conversion thing from a2net->extdb

      _tmp = _queryResult select 2;

      _queryResult set[2,[_tmp] call DB_fnc_numberSafe];

      _tmp = _queryResult select 3;

      _queryResult set[3,[_tmp] call DB_fnc_numberSafe];
      //Parse licenses (Always index 6)

      _new = [(_queryResult select 6)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[6,_new];
      //Convert tinyint to boolean

      _old = _queryResult select 6;

      for "_i" from 0 to (count _old)-1 do {

      _data = _old select _i;

      _old set[_i,[_data select 0, ([_data select 1,1] call DB_fnc_bool)]];

      };
      _queryResult set[6,_old];
      _new = [(_queryResult select 8)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[8,_new];

      //Parse data for specific side.

      switch (_side) do {

      case west: {

      _queryResult set[9,([_queryResult select 9,1] call DB_fnc_bool)];
      //Parse Stats

      _new = [(_queryResult select 10)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[10,_new];
      //Playtime

      _new = [(_queryResult select 11)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _index = TON_fnc_playtime_values_request find [_uid, _new];

      if (_index != -1) then {

      TON_fnc_playtime_values_request set[_index,-1];

      TON_fnc_playtime_values_request = TON_fnc_playtime_values_request - [-1];

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      } else {

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      };

      [_uid,_new select 0] call TON_fnc_setPlayTime;

      };
      case civilian: {

      _queryResult set[7,([_queryResult select 7,1] call DB_fnc_bool)];
      //Parse Stats

      _new = [(_queryResult select 9)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[9,_new];
      //Position

      _queryResult set[10,([_queryResult select 10,1] call DB_fnc_bool)];

      _new = [(_queryResult select 11)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[11,_new];
      //Playtime

      _new = [(_queryResult select 12)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _index = TON_fnc_playtime_values_request find [_uid, _new];

      if (_index != -1) then {

      TON_fnc_playtime_values_request set[_index,-1];

      TON_fnc_playtime_values_request = TON_fnc_playtime_values_request - [-1];

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      } else {

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      };

      [_uid,_new select 2] call TON_fnc_setPlayTime;

      //jail_time

      _player setVariable ["JailTime",(_queryResult select 15),true];

      /* Make sure nothing else is added under here */

      _houseData = _uid spawn TON_fnc_fetchPlayerHouses;

      _queryResult pushBack (missionNamespace getVariable [format ["houses_%1",_uid],[]]);
      };
      case independent: {

      //Parse Stats

      _new = [(_queryResult select 9)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _queryResult set[9,_new];
      //Playtime

      _new = [(_queryResult select 10)] call DB_fnc_mresToArray;

      if (_new isEqualType "") then {_new = call compile format ["%1", _new];};

      _index = TON_fnc_playtime_values_request find [_uid, _new];

      if !(_index isEqualTo -1) then {

      TON_fnc_playtime_values_request set[_index,-1];

      TON_fnc_playtime_values_request = TON_fnc_playtime_values_request - [-1];

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      } else {

      TON_fnc_playtime_values_request pushBack [_uid, _new];

      };

      [_uid,_new select 1] call TON_fnc_setPlayTime;

      };

      };
      publicVariable "TON_fnc_playtime_values_request";
      _keyArr = missionNamespace getVariable [format ["%1_KEYS_%2",_uid,_side],[]];

      _queryResult pushBack _keyArr;
      _queryResult remoteExec ["SOCK_fnc_requestReceived",_ownerID];

    • BlackBox
      Anfänger
      Reaktionen
      3
      Trophäen
      6
      Beiträge
      53
      • 19. November 2019 um 17:33
      • #58

      Nachtrag, hänge nochmal den kompletten Log an. Jetzt zeigt er auch noch einen weiteren Fehler...

      Dateien

      arma3server_x64_2019-11-19_16-58-19.rpt 91,58 kB – 154 Downloads
    • BlackBox
      Anfänger
      Reaktionen
      3
      Trophäen
      6
      Beiträge
      53
      • 19. November 2019 um 18:03
      • #59

      @Alice Kingsleigh

      Hast du vielleicht Zeit mir zu helfen? TS3 IP würde ich dir privat schicken :)

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 19. November 2019 um 18:46
      • #60

      Also du musst diesen Part in der Datei

      Code
      if (isNull _ownerID) exitWith {};
      _ownerID = owner _ownerID;
      private _player = _ownerID;

      umstellen zu

      Code
      if (isNull _ownerID) exitWith {};
      private _player = _ownerID;
      _ownerID = owner _ownerID;

      Dein anderer Fehler kommt daher, dass du mindestens einen Dealer NPC gelöscht hast und nicht aus der init.sqf im life_server gelöscht hast.

      TS machen wir ungerne, wir sind ja hier, damit jeder seine Ideen und Lösungen einbringen kann.

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    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™