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
Mo: 19 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
    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 7. März 2019 um 17:20
      • #1

      Version: Altis Life 5.0

      Schwierigkeitsgrad: 2

      Was es tut:

      Cops können die Zeit festlegen, die ein Spieler im Gefängnis sein soll. Dies wird in die Datenbank übergeben und dort auch geupdated (dies fehlte im 4.4 R3 Tutorial). Wenn die Zeit um ist wird der Spieler automatisch wieder aus dem Gefängnis entlassen.

      Rechtlicher Hinweis: Es handelt sich hierbei um eine Verbesserung und ein Update des [Tutorial] Jail Time für 4.4 R3. Ein Großteil der Update Arbeit geht mal wieder an moeck:)

      Bevor wir anfangen nicht vergessen: Erst ein Backup machen!

      Mission Teil (alle Dateipfade sind relativ zum Missionsordner)

      Schritt 1:

      Legt im Pfad \dialog die Datei jail_time.hpp an, Inhalt:

      C: jail_time.hpp
      class jail_time
      {
       idd = 26500;
       name = "jail_time";
       movingEnabled = false;
       enableSimulation = true;
       class controlsBackground {
       class Life_RscTitleBackground:Life_RscText {
       colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};
       idc = -1;
       x = 0.3;
       y = 0.2;
       w = 0.47;
       h = (1 / 25);
       };
       class MainBackground:Life_RscText {
       colorBackground[] = {0, 0, 0, 0.7};
       idc = -1;
       x = 0.3;
       y = 0.2 + (11 / 250);
       w = 0.47;
       h = 0.3 - (22 / 250);
       };
       };
       class controls 
       {
       class Title : Life_RscTitle {
       colorBackground[] = {0, 0, 0, 0};
       idc = 2651;
       text = "Ins Gefängnis stecken";
       x = 0.3;
       y = 0.2;
       w = 0.6;
       h = (1 / 25);
       };
       class InfoMsg : Life_RscText
       {
       idc = 2601;
       text = "Zeit in Minuten:";
       x = 0.3;
       y = 0.163 + (11 / 250);
       w = 0.45; 
       h = 0.12;
       };
       class textEdit : Life_RscEdit {
       idc = 1400;
       text = "15";
       sizeEx = 0.030;
       x = 0.40; y = 0.30;
       w = 0.25; h = 0.03;
       };
       class payTicket: Life_RscButtonMenu {
       idc = 2402;
       text = "Ok";
       colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
       onButtonClick="[] spawn life_fnc_arrestDialog_Arrest;";
       x = 0.45;
       y = 0.35;
       w = (6.25 / 40);
       h = (1 / 25);
       };
       class CloseButtonKey : Life_RscButtonMenu {
       idc = 2400;
       text = "$STR_Global_Close";
       onButtonClick = "closeDialog 0;";
       x = 0.45;
       y = 0.40;
       w = (6.25 / 40);
       h = (1 / 25);
       };
       };
      };
      Alles anzeigen

      Schritt 2:

      Selber Pfad in der MasterHandler.hpp fügt ihr #include "jail_time.hpp" ganz unten hinzu

      Schritt 3:

      Danach in \core\cop erstellt ihr eine fn_arrestDialog_Arrest.sqf

      C: fn_arrestDialog_Arrest.sqf
      #include "..\..\script_macros.hpp"
      /*
       Player clicked arrest/ok
      */
      
      private ["_time"];
      if(playerSide != west) exitWith {};
      if(isNil "life_pInact_curTarget") exitWith {};
      //Get minutes
      _time = ctrlText 1400;
      if(! ([_time] call TON_fnc_isnumber)) exitWith {
          hint localize "STR_ATM_notnumeric";
      };
      _time = parseNumber _time; //requested number
      _time = round _time;
      if(_time < 5 || _time > 120) exitWith { hint "Die Zeit muss zwischen 5 und 120 Minuten sein!"; };
      closeDialog 0;
      [life_pInact_curTarget, _time] call life_fnc_arrestAction;
      Alles anzeigen

      Schritt 4:

      Im selben Verzeichnis noch die fn_showArrestDialog.sqf anlegen

      C: fn_showArrestDialog.sqf
      #include "..\..\script_macros.hpp"
      /*
       Shows cop arrest dialog
      */
      
      if(playerSide != west) exitWith {};
      createDialog "jail_time";

      Schritt 5:

      Des weiteren geht ihr hier in die fn_copInteractionsMenu.sqf und sucht dort nach

      C: fn_copInteractionsMenu.sqf
      _Btn6 ctrlSetText localize "STR_pInAct_Arrest";
      _Btn6 buttonSetAction "[life_pInact_curTarget] call life_fnc_arrestAction; closeDialog 0;";
      _Btn6 ctrlEnable false;

      und ändert es in

      C: fn_copInteractionsMenu.sqf
      _Btn6 ctrlSetText localize "STR_pInAct_Arrest";
      _Btn6 buttonSetAction "closeDialog 0; [] call life_fnc_showArrestDialog;";
      _Btn6 ctrlEnable false;

      Schritt 6:

      /core/civillian die Datei fn_jail.sqf suchen und ersetzen

      C: fn_jail.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_jail.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Starts the initial process of jailing.
      */
      params [
          ["_unit",objNull,[objNull]],
          ["_bad",false,[false]],
          ["_time",15,[0]]
      ];
      
      if (isNull _unit) exitWith {}; //Dafuq?
      if !(_unit isEqualTo player) exitWith {}; //Dafuq?
      if (life_is_arrested) exitWith {}; //Dafuq i'm already arrested
      if !((_unit getVariable ["JailTime",0]) isEqualTo 0) then {_time = (_unit getVariable ["JailTime",0])};
      private _illegalItems = LIFE_SETTINGS(getArray,"jail_seize_vItems");
      
      player setVariable ["restrained",false,true];
      player setVariable ["Escorting",false,true];
      player setVariable ["transporting",false,true];
      
      titleText[localize "STR_Jail_Warn","PLAIN"];
      player setPos (getMarkerPos "jail_marker");
      
      if (_bad) then {
          waitUntil {alive player};
          sleep 1;
      };
      
      //Check to make sure they goto check
      if (player distance (getMarkerPos "jail_marker") > 40) then {
          player setPos (getMarkerPos "jail_marker");
      };
      
      life_is_arrested = true;
      
      if (LIFE_SETTINGS(getNumber,"jail_seize_inventory") isEqualTo 1) then {
          [] spawn life_fnc_seizeClient;
      } else {
          removeAllWeapons player;
          {player removeMagazine _x} forEach (magazines player);
      };
      
      if (life_HC_isActive) then {
          [player,_bad,_time] remoteExecCall ["HC_fnc_jailSys",HC_Life];
      } else {
          [player,_bad,_time] remoteExecCall ["life_fnc_jailSys",RSERV];
      };
      
      [5] call SOCK_fnc_updatePartial;
      Alles anzeigen

      Schritt 7:
      Hier findet ihr auch die fn_jailMe.sqf, auch diese ersetzen

      C: 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!"; };
      
      [_bad,_time] spawn {
          life_canpay_bail = false;
          //life_bail_amount = life_bail_amount * 5;
          if (_this select 0) then {
              sleep ( (_this select 1) * 0.5 );
          } else {
              sleep ( (_this select 1) * 0.2 );
          };
          life_canpay_bail = true;
      };
      
      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)]};
              if(life_canpay_bail) then {
                  hintSilent format["Verbleibende Zeit:\n %1\n\n Sie können die Kaution jetzt bezahlen \n Kaution: %2 %3",_countDown,[life_bail_amount] call life_fnc_numberText, localize "STR_Item_Money"];
              } else {
                  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;
          };
          
          if (LIFE_SETTINGS(getNumber,"jail_forceWalk") isEqualTo 1) then {
              player forceWalk true;
          };
      
          private _escDist = [[["Altis", 60], ["Tanoa", 145], ["Malden", 100]]] call TON_fnc_terrainSort;
          
          if (player distance (getMarkerPos "jail_marker") > _escDist) exitWith {
              _esc = true;
          };
      
          if (life_bail_paid) exitWith {
              _bail = 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

      Schritt 8:

      Die Datei fn_arrestAction.sqf im Pfad \core\actions austausche

      C: fn_arrestAction.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_arrestAction.sqf
          Author:
      
          Description:
          Arrests the targeted person.
      */
      private ["_unit","_id","_time"];
      _unit = param [0,objNull,[objNull]];
      _time = param [1,30];
      if (isNull _unit) exitWith {}; //Not valid
      if (isNil "_unit") exitWith {}; //Not Valid
      if (!(_unit isKindOf "Man")) exitWith {}; //Not a unit
      if (!isPlayer _unit) exitWith {}; //Not a human
      if (!(_unit getVariable "restrained")) exitWith {}; //He's not restrained.
      if (!((side _unit) in [civilian,independent,east])) exitWith {}; //Not a civ
      if (isNull _unit) exitWith {}; //Not valid
      
      if (life_HC_isActive) then {
          if(_time < 1) exitwith {};
          [getPlayerUID _unit,_unit,player,false] remoteExecCall ["HC_fnc_wantedBounty",HC_Life];
      } else {
          if(_time < 1) exitwith {};
          [getPlayerUID _unit,_unit,player,false] remoteExecCall ["life_fnc_wantedBounty",RSERV];
      };
      
      if (isNull _unit) exitWith {}; //Not valid
      detach _unit;
      [_unit,false,_time] remoteExecCall ["life_fnc_jail",_unit];
      [0,"STR_NOTF_Arrested_1",true, [_unit getVariable ["realname",name _unit], profileName]] remoteExecCall ["life_fnc_broadcast",west];
      
      if (LIFE_SETTINGS(getNumber,"player_advancedLog") isEqualTo 1) then {
          if (LIFE_SETTINGS(getNumber,"battlEye_friendlyLogging") isEqualTo 1) then {
              advanced_log = format [localize "STR_DL_AL_Arrested_BEF",_unit getVariable ["realname",name _unit]];
          } else {
              advanced_log = format [localize "STR_DL_AL_Arrested",profileName,(getPlayerUID player),_unit getVariable ["realname",name _unit]];
          };
          publicVariableServer "advanced_log";
      };
      Alles anzeigen

      Schritt 9:
      In der Functions.hpp im Hauptordner unter class cop noch class showArrestDialog {}; und class arrestDialog_Arrest {}; eintragen, sollte dann so aussehen

      C: Functions.hpp
      class Cop {
          file = "core\cop";
          class bountyReceive {};
          class containerInvSearch {};
          class copInteractionMenu {};
          class copLights {};
          class copLoadout {};
          class copMarkers {};
          class copSearch {};
          class copSiren {};
          class doorAnimate {};
          class fedCamDisplay {};
          class licenseCheck {};
          class licensesRead {};
          class questionDealer {};
          class radar {};
          class repairDoor {};
          class restrain {};
          class searchClient {};
          class seizeClient {};
          class sirenLights {};
          class spikeStripEffect {};
          class ticketGive {};
          class ticketPaid {};
          class ticketPay {};
          class ticketPrompt {};
          class vehInvSearch {};
          class wantedGrab {};
          class showArrestDialog {};
          class arrestDialog_Arrest {};
      };
      Alles anzeigen

      Schritt 10:

      \core\session in der fn_updatePartial.sqf den case 5 anpassen

      C: fn_updatePartial.sqf
      case 5: {
          _packet set[2,life_is_arrested];
          _packet set[4,(player getVariable ["JailTime",0])];
      };

      Schritt 11:

      Im selben Verzeichnis die fn_requestReceived.sqf im case civilian vor der if-Schleife player setVariable ["JailTime",(_this select 13),true]; hinzufügen.

      ACHTUNG: Hier ist zu beachten, dass das nur geht, wenn ihr ein unbearbeitetes Framework habt. Falls nicht achtet bitte auf Schritt 3 im vom life_server Teil weiter unten.

      life_server Teil (alle Dateipfade sind relativ zum life_server Ordner)

      Schritt 1:

      Die Datei fn_jailSys.sqf öffnen und austauschen

      C: fn_jailSys.sqf
      #include "\life_server\script_macros.hpp"
      /*
          File: fn_jailSys.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          I forget?
      */
      
      private["_unit","_bad","_id","_ret","_time"];
      _unit = [_this,0,objNull,[objNull]] call BIS_fnc_param;
      if (isNull _unit) exitWith {};
      _bad = [_this,1,false,[false]] call BIS_fnc_param;
      _time = [_this,2,15,[0]] call BIS_fnc_param;
      if(_bad) then {//Load time from database
       _query = format["SELECT jail_time FROM players WHERE pid='%2'", _time, getPlayerUID _unit];
       _result = [_query,2] call DB_fnc_asyncCall;
       _result = (_result select 0);
       _time = _result;
      } else {
       _query = format["UPDATE players SET jail_time='%1' WHERE pid='%2'", _time, getPlayerUID _unit];
       _result = [_query,1] call DB_fnc_asyncCall;
      };
      _id = owner _unit;
      _ret = [_unit] call life_fnc_wantedPerson;
      [_ret,_bad,_time] remoteExec ["life_fnc_jailMe",_id];
      Alles anzeigen

      Schritt 2:

      \Functions\MySQL fn_updatePartial.sqf case 5 ersetzen/erweitern

      C: fn_updatePartial.sqf
      case 5: {
          _value = [_this,2,false,[true]] call BIS_fnc_param;
          _value = [_value] call DB_fnc_bool;
          _value2 = [_this,4,0,[0]] call BIS_fnc_param;
          _query = format ["UPDATE players SET arrested='%1',jail_time ='%2' WHERE pid='%3'",_value,_value2,_uid];
      };

      Schritt 3:

      \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 dem hier ersetzen/erweitern

      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];

      !!! Hier und auch im Mission Ordner in der fn_requestRecieve.sqf bitte schauen, ob es mit dem obigen Array übereinstimmt. Gezählt wird ab null.

      Also

      C: ARRAYZÄHLUNG
      pid (0), name (1), cash (2), bankacc (3), adminlevel (4), donorlevel (5), civ_licenses (6), arrested (7), civ_gear (8), civ_stats (9), civ_alive (10), civ_position (11), playtime (12), jail_time (13)

      Außerdem findet ihr oben in der Datei _ownerID = owner _ownerID; daüber fügt ihr noch private _player = _ownerID; ein.

      Datenbank Teil:

      Führt Folgendes in der Datenbank aus

      SQL
      ALTER TABLE players ADD `jail_time` int(11) NOT NULL DEFAULT '0';

      Wenn ihr nun alles richtig gemacht habt so funktioniert dann auch alles bei euch :) Sollte es doch nicht so sein gerne hier nach Hilfe fragen.

    • Essen
      Anfänger
      Reaktionen
      2
      Trophäen
      8
      Beiträge
      29
      • 5. Mai 2019 um 16:11
      • #2

      Hallo,

      ich habe das Problem, das ich zwar die Zeit auswählen kann wie lange einer ins Gefängnis gehen soll aber bei dem Spieler wird angezeigt das er für 15 min im Gefängnis ist. Weiß einer was ich falsch gemacht haben kann?

      Gruß Essen

    • Fabi4976
      Schüler
      Reaktionen
      6
      Trophäen
      7
      Beiträge
      133
      Dateien
      2
      • 20. Mai 2019 um 15:14
      • #3

      Wo genau muss ich das mit der Datenbank einfügen?

      Wenn ich das in jail_time bekomme ich den Fehler

      Code
      Fehler
      SQL-Befehl: Dokumentation
      
      
      SELECT * FROM `players` WHERE 1
      ALTER TABLE players ADD `jail_time` int(11) NOT NULL DEFAULT '0'
       LIMIT 0, 25 
      MySQL meldet: Dokumentation
      
      #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE players ADD `jail_time` int(11) NOT NULL DEFAULT '0'
      LIMIT 0, 25' at line 2
      Alles anzeigen

      zudem bleibt die Person 15min im Knast

      Einmal editiert, zuletzt von Fabi4976 (20. Mai 2019 um 15:25)

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 20. Mai 2019 um 15:30
      • #4

      Na wenn der Eintrag mit der Zeit nicht funktioniert ist klar, dass er 15 Minuten drin bleibt Fabi4976 . Was nutzt du denn zur Datenbankverarbeitung und wie hast du versucht das einzufügen?

      Essen entschuldige ich war im Urlaub und hab deine Nachricht nicht gesehen. Könntest du bitte noch mal jemanden in den Knast stecken und dann die Playerlogs einstellen? So spontan wüsste ich nicht was du falsch gemacht haben könntest.

    • Fabi4976
      Schüler
      Reaktionen
      6
      Trophäen
      7
      Beiträge
      133
      Dateien
      2
      • 20. Mai 2019 um 15:44
      • #5

      ich nutze phpmyadmin.

      ich bin normal in phpmyadmin auf den server, dan habe ich die jail_time gesucht. dort drin bin ich oben auf SQL und habe ALTER TABLE players ADD `jail_time` int(11) NOT NULL DEFAULT '0';eingefügt und unten auf OK

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 20. Mai 2019 um 15:50
      • #6

      Nimm mal den Code, setze ihn in notepad++, speicher das als jailtime.sql und dann in deiner Datenbank auf import und dann die erstellte Datei vom PC laden.

    • Fabi4976
      Schüler
      Reaktionen
      6
      Trophäen
      7
      Beiträge
      133
      Dateien
      2
      • 20. Mai 2019 um 16:03
      • #7

      Fehler

      [warnbox]SQL-Befehl: [/warnbox]

      Code
      ALTER TABLE players ADD `jail_time` int(11) NOT NULL DEFAULT '0'

      [warnbox]MySQL meldet: Dokumentation [/warnbox]

      [warnbox]#1060 - Duplicate column name 'jail_time' [/warnbox]

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 20. Mai 2019 um 16:17
      • #8

      Na dann lösch den vorhandenen Jailtime Eintrag bitte ein mal und mach es dann

    • Fabi4976
      Schüler
      Reaktionen
      6
      Trophäen
      7
      Beiträge
      133
      Dateien
      2
      • 20. Mai 2019 um 16:27
      • #9

      ich hab die komplette jailtime Datenbank gelöscht, immer noch der Fehler

    • Henne
      Nerd
      Reaktionen
      155
      Trophäen
      7
      Beiträge
      840
      Bilder
      7
      • 20. Mai 2019 um 16:41
      • #10
      Zitat von Fabi4976

      ich hab die komplette jailtime Datenbank gelöscht, immer noch der Fehler

      Was? Das solltest du doch nicht machen. Vorallem welche Datenbank?

      Zitat von Fabi4976

      [warnbox]MySQL meldet: Dokumentation [/warnbox]

      [warnbox]#1060 - Duplicate column name 'jail_time' [/warnbox]

      Wenn MySQL sagt, dass die Spalte bereits vorhanden ist, dann kannst du versuchen diese Spalte zu löschen und nochmal neu anzulegen.

    • Fabi4976
      Schüler
      Reaktionen
      6
      Trophäen
      7
      Beiträge
      133
      Dateien
      2
      • 20. Mai 2019 um 17:19
      • #11

      ging nicht deshalb

    • _David_
      Schüler
      Reaktionen
      11
      Trophäen
      10
      Beiträge
      90
      • 26. Mai 2019 um 18:29
      • #12

      wenn ich jemanden in den knast schicke bleibt er stehen wo er war. In der Datenbank wird er als "Arrestet=1" angezeigt aber die zeit ist auf 0 ob wohl ich sie auf 5 min gestzt habe

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 26. Mai 2019 um 18:32
      • #13

      Sorry _David_ meine Glaskugel ist mir ins Meer gefallen. Magst du wohl bitte deine Logs dazu schicken?

    • _David_
      Schüler
      Reaktionen
      11
      Trophäen
      10
      Beiträge
      90
      • 26. Mai 2019 um 18:35
      • #14

      Klar nur ich brauche noch kurz bis ich zuhasue bin dachte villeicht weis jemand bescheid, bin gleich da (10 min)

    • _David_
      Schüler
      Reaktionen
      11
      Trophäen
      10
      Beiträge
      90
      • 26. Mai 2019 um 18:51
      • #15

      Hier die RPT Logs. Wenn jemand in den Knast kommt steht in der Datenbank bei jail_time "-1"

      Dateien

      arma3server_x64_2019-05-26_18-33-24.rpt 1,97 MB – 274 Downloads
    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 26. Mai 2019 um 20:40
      • #16

      schick mal ExtDB Log, weil "extDB3: Protocol Error: [0,""Error MariaDBQueryException Exception""]"

    • _David_
      Schüler
      Reaktionen
      11
      Trophäen
      10
      Beiträge
      90
      • 26. Mai 2019 um 20:53
      • #17

      Bitte :D

      Dateien

      18-36-30.log 12,17 kB – 250 Downloads
    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 26. Mai 2019 um 21:02
      • #18

      asn_fuelstations Hast du davon auch alles wirklich in die Datenabnk rein gemacht weil das fehlt in ja anscheinend dann sagt er noch das ihn resetLifeVehicles ; deleteDeadVehicles ; deleteOldHouses ; deleteOldGangs ; deactivateTempGangs ; plantes das dass alles nicht vorhanden ist bis du dir sicher das du alle Anleitungen Befolgt hast.

      Hier nochmal alle fehler zusammen gefast.

      Spoiler anzeigen
      Code
      [18:36:56:584587 +02:00] [Thread 1136] extDB3: SQL: Error MariaDBQueryException: PROCEDURE altislife.resetLifeVehicles does not exist
      [18:36:56:584595 +02:00] [Thread 19424] extDB3: SQL: Error MariaDBQueryException: PROCEDURE altislife.deleteDeadVehicles does not exist
      [18:36:56:584602 +02:00] [Thread 11828] extDB3: SQL: Error MariaDBQueryException: PROCEDURE altislife.deleteOldHouses does not exist
      [18:36:56:584691 +02:00] [Thread 3844] extDB3: SQL: Error MariaDBQueryException: PROCEDURE altislife.deleteOldGangs does not exist
      [18:36:56:589043 +02:00] [Thread 3844] extDB3: SQL: Error MariaDBQueryException: PROCEDURE altislife.deactivateTempGangs does not exist
      
      [18:36:56:671951 +02:00] [Thread 3844] extDB3: SQL: Error MariaDBQueryException: Table 'altislife.plantes' doesn't exist
      [18:36:56:772384 +02:00] [Thread 3844] extDB3: SQL: Error MariaDBQueryException: Table 'altislife.asn_fuelstations' doesn't exist


      Musst noch bissel was machen

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 26. Mai 2019 um 21:05
      • #19

      Dein Problem ist etwas umfangreicher :D Neben den DB Problemen ist auch noch einiges an Sachen, die du wohl umgeschrieben hast, fehlgeschlagen.

      Code
      Error in expression <eesu = getDir _unit;
      _totald = _degrees - _degreesu;
      _unit setVariable ["p>
        Error position: <- _degreesu;
      _unit setVariable ["p>
        Error Missing ;
      File core\actions\fn_restrainAction.sqf [life_fnc_restrainAction], line 76
      Code
      Error in expression <or "_i" from 0 to count _clear - 1 
      do
      {
      _destroyed = _destroyed + 1;
      deleteV>
        Error position: <
      _destroyed = _destroyed + 1;
      deleteV>
        Error Invalid number in expression
      File core\cop\fn_seizeObjects.sqf [life_fnc_seizeObjects], line 11

      Hier hast du was in einem Markt und in einem self heal NPC zerschossen

      Code
      Error in expression <alse; this enableSimulation false; this addAction[localize"STR_Shops_Market",lif>
        Error position: <addAction[localize"STR_Shops_Market",lif>
        Error Type String, expected Number
      Error in expression <ion false; this allowDamage false; this addAction[localize"STR_MAR_Medical_Assis>
        Error position: <addAction[localize"STR_MAR_Medical_Assis>
        Error Type String, expected Bool

      Nächter...

      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
      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
      Alles anzeigen

      Vergessen in die CfgRemoteExec einzubauen

      Code
      Scripting function 'the_programmer_identity_fnc_re...' is not allowed to be remotely executed


      Ich würde dir raten die Fehler zu beheben und dann noch mal zu schauen. Falls du das alleine nicht schaffst, was völlig okay ist, mach am besten ein neues Thema auf und kopier auch gerne das, was ich hier geschrieben habe :)

    • _David_
      Schüler
      Reaktionen
      11
      Trophäen
      10
      Beiträge
      90
      • 26. Mai 2019 um 21:15
      • #20

      Alles klar. Das mit der db liegt daran das ich auf dem Testserver eine alte Version hatte. Sind die DB errors dafür verantwortlich das das script nicht funkt?

    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™