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
Fr: 04 Juli 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] Versichern von Fahrzeuge

      • Altis Life
    • AmaZiinG
    • 16. August 2016 um 12:24
    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 16. August 2016 um 12:24
      • #1

      Autor: Che Guevara
      1. mpmissions\dialog\impound.hpp und sucht nach:

      Code
      class SellCar: Life_RscButtonMenu {
                  idc = -1;
                  text = "$STR_Global_Sell";
                  onButtonClick = "[] call life_fnc_sellGarage; closeDialog 0;";
                  x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
                  y = 0.9 - (1 / 25);
                  w = (6.25 / 40);
                  h = (1 / 25);
              };

      unter der Zeile fügt ihr folgendes hinzu:


      Code
      class InsureCar : life_RscButtonMenu
              {
                  idc = 97480;
                  text = "Assurer";
                  onButtonClick = "[] call life_fnc_insureCar;";
                  x = 0.43 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
                  y = 0.9 - (1 / 25);
                  w = (6.25 / 40);
                  h = (1 / 25);
              };


      2. mpmissions\Functions.hpp unter Class Dialog_Controls schreibt ihr folgendes hinzu:

      Spoiler anzeigen

      insureCar {};

      3. mpmissions\dialog\function\fn_garageLBChange.sqf sucht nach:

      Code
      private["_control","_index","_className","_classNameLife","_dataArr","_vehicleColor","_vehicleInfo","_trunkSpace","_sellPrice","_retrievePrice","_sellMultiplier","_price","_storageFee","_purchasePrice"];

      und ersetzt die Zeile:


      Code
      private["_control","_index","_className","_classNameLife","_dataArr","_vehicleColor","_vehicleInfo","_trunkSpace","_sellPrice","_retrievePrice","_sellMultiplier","_insurance","_insuranceMultiplier","_price","_storageFee","_purchasePrice","_insurancePrice"];

      In der folgenden Datei sucht ihr nach:

      Spoiler anzeigen

      _classNameLife = _className;


      und schreibt darunter:

      Spoiler anzeigen

      _insurance = (_dataArr select 2);

      Sucht nach:

      Code
      switch (playerSide) do {
          case civilian: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_CIVILIAN");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_CIVILIAN");
          };
          case west: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_COP");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_COP");		
          };
          case independent: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_MEDIC");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_MEDIC");		
          };
          case east: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_OPFOR");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_OPFOR");		
          };
      };
      Alles anzeigen

      und ersetztet:

      Code
      switch (playerSide) do {
          case civilian: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_CIVILIAN");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_CIVILIAN");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_CIVILIAN");
          };
          case west: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_COP");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_COP");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_COP");		
          };
          case independent: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_MEDIC");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_MEDIC");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_MEDIC");		
          };
          case east: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_OPFOR");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_OPFOR");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_OPFOR");		
          };
      };
      Alles anzeigen

      Sucht nach:

      Spoiler anzeigen

      _sellPrice = _purchasePrice * _sellMultiplier;


      und schreibt darunter:

      Spoiler anzeigen

      _insurancePrice = _purchasePrice * _insuranceMultiplier;

      Sucht nach:

      Spoiler anzeigen

      if (!(_retrievePrice isEqualType 0) || _retrievePrice < 1) then {_retrievePrice = 500;};


      und schreibt darunter:

      Spoiler anzeigen

      if (!(_insurancePrice isEqualType 0) || _insurancePrice < 1) then {_insurancePrice = 500;};

      Sucht nach:

      Code
      (CONTROL(2800,2803)) ctrlSetStructuredText parseText format[
          (localize "STR_Shop_Veh_UI_RetrievalP")+ " <t color='#8cff9b'>$%1</t><br/>
          " +(localize "STR_Shop_Veh_UI_SellP")+ " <t color='#8cff9b'>$%2</t><br/>
          " +(localize "STR_Shop_Veh_UI_Color")+ " %8<br/>
          " +(localize "STR_Shop_Veh_UI_MaxSpeed")+ " %3 km/h<br/>
          " +(localize "STR_Shop_Veh_UI_HPower")+ " %4<br/>
          " +(localize "STR_Shop_Veh_UI_PSeats")+ " %5<br/>
          " +(localize "STR_Shop_Veh_UI_Trunk")+ " %6<br/>
          " +(localize "STR_Shop_Veh_UI_Fuel")+ " %7
          ",

      und ersetzt es durch das:

      Code
      (CONTROL(2800,2803)) ctrlSetStructuredText parseText format[
      	(localize "STR_Shop_Veh_UI_RetrievalP")+ " <t color='#8cff9b'>$%1</t><br/>
      	" +(localize "STR_Shop_Veh_UI_SellP")+ " <t color='#8cff9b'>$%2</t><br/>
      	Prix de l'assurance: <t color='#8cff9b'>$%9</t><br/>
      	Etat de l'assurance: %10<br/>
      	" +(localize "STR_Shop_Veh_UI_Color")+ " <t color='#8cff9b'>%8</t><br/>
      	" +(localize "STR_Shop_Veh_UI_MaxSpeed")+ " <t color='#8cff9b'>%3 km/h</t><br/>
      	" +(localize "STR_Shop_Veh_UI_HPower")+ " <t color='#8cff9b'>%4</t><br/>
      	" +(localize "STR_Shop_Veh_UI_PSeats")+ " <t color='#8cff9b'>%5</t><br/>
      	" +(localize "STR_Shop_Veh_UI_Trunk")+ " <t color='#8cff9b'>%6</t><br/>
      	" +(localize "STR_Shop_Veh_UI_Fuel")+ " <t color='#8cff9b'>%7</t>
      	",
      Alles anzeigen

      Sucht nach:

      Spoiler anzeigen

      _vehicleColor];


      und ersetzt:

      Code
      _vehicleColor,
      [_insurancePrice] call life_fnc_numberText,
      if(_insurance == 1) then {"<t color='#8cff9b'>Assuré</t>"} else {"<t color='#FF0000'>Pas d'assurance</t>"},
      (_vehicleInfo select 9)
      ];
      
      
      
      
      if(_insurance == 1) then {
      ctrlShow [97480,False];
      }else{
      ctrlShow [97480,True];
      };
      Alles anzeigen

      So müsste jetzt eure fn_garageLBChange.sqf aussehen:

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_garageLBChange.sqf
          Author: Bryan "Tonic" Boardwine
      
      
      
      
          Description:
          Can't be bothered to answer it.. Already deleted it by accident..
      */
      disableSerialization;
      private["_control","_index","_className","_classNameLife","_dataArr","_vehicleColor","_vehicleInfo","_trunkSpace","_sellPrice","_retrievePrice","_sellMultiplier","_insuranceMultiplier","_price","_storageFee","_purchasePrice","_insurancePrice"];
      _control = _this select 0;
      _index = _this select 1;
      
      
      
      
      //Fetch some information.
      _dataArr = CONTROL_DATAI(_control,_index);
      _dataArr = call compile format["%1",_dataArr];
      _className = (_dataArr select 0);
      _classNameLife = _className;
      _insurance = (_dataArr select 2);
      
      
      
      
      if (!isClass (missionConfigFile >> "LifeCfgVehicles" >> _classNameLife)) then {
          _classNameLife = "Default"; //Use Default class if it doesn't exist
          diag_log format["%1: LifeCfgVehicles class doesn't exist",_className];
      };
      
      
      
      
      _vehicleColor = ((M_CONFIG(getArray,"LifeCfgVehicles",_classNameLife,"textures") select (_dataArr select 1)) select 0);
      if (isNil "_vehicleColor") then {_vehicleColor = "Default";};
      
      
      
      
      _vehicleInfo = [_className] call life_fnc_fetchVehInfo;
      _trunkSpace = [_className] call life_fnc_vehicleWeightCfg;
      
      
      
      
      _price = M_CONFIG(getNumber,"LifeCfgVehicles",_classNameLife,"price");
      _storageFee = LIFE_SETTINGS(getNumber,"vehicle_storage_fee_multiplier");
      
      
      
      
      switch (playerSide) do {
          case civilian: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_CIVILIAN");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_CIVILIAN");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_CIVILIAN");
          };
          case west: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_COP");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_COP");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_COP");		
          };
          case independent: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_MEDIC");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_MEDIC");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_MEDIC");		
          };
          case east: {
              _purchasePrice = _price * LIFE_SETTINGS(getNumber,"vehicle_purchase_multiplier_OPFOR");
              _sellMultiplier = LIFE_SETTINGS(getNumber,"vehicle_sell_multiplier_OPFOR");
      	_insuranceMultiplier = LIFE_SETTINGS(getNumber,"vehicle_insurance_multiplier_OPFOR");		
          };
      };
      
      
      
      
      _retrievePrice = _purchasePrice * _storageFee;
      _sellPrice = _purchasePrice * _sellMultiplier;
      _insurancePrice = _purchasePrice * _insuranceMultiplier;
      
      
      
      
      if (!(_sellPrice isEqualType 0) || _sellPrice < 1) then {_sellPrice = 500;};
      if (!(_retrievePrice isEqualType 0) || _retrievePrice < 1) then {_retrievePrice = 500;};
      if (!(_insurancePrice isEqualType 0) || _insurancePrice < 1) then {_insurancePrice = 500;};
      
      
      
      
      (CONTROL(2800,2803)) ctrlSetStructuredText parseText format[
      	(localize "STR_Shop_Veh_UI_RetrievalP")+ " <t color='#8cff9b'>$%1</t><br/>
      	" +(localize "STR_Shop_Veh_UI_SellP")+ " <t color='#8cff9b'>$%2</t><br/>
      	Prix de l'assurance: <t color='#8cff9b'>$%9</t><br/>
      	Etat de l'assurance: %10<br/>
      	" +(localize "STR_Shop_Veh_UI_Color")+ " <t color='#8cff9b'>%8</t><br/>
      	" +(localize "STR_Shop_Veh_UI_MaxSpeed")+ " <t color='#8cff9b'>%3 km/h</t><br/>
      	" +(localize "STR_Shop_Veh_UI_HPower")+ " <t color='#8cff9b'>%4</t><br/>
      	" +(localize "STR_Shop_Veh_UI_PSeats")+ " <t color='#8cff9b'>%5</t><br/>
      	" +(localize "STR_Shop_Veh_UI_Trunk")+ " <t color='#8cff9b'>%6</t><br/>
      	" +(localize "STR_Shop_Veh_UI_Fuel")+ " <t color='#8cff9b'>%7</t>
      	",
      [_retrievePrice] call life_fnc_numberText,
      [_sellPrice] call life_fnc_numberText,
      (_vehicleInfo select 8),
      (_vehicleInfo select 11),
      (_vehicleInfo select 10),
      if (_trunkSpace isEqualTo -1) then {"None"} else {_trunkSpace},
      (_vehicleInfo select 12),
      _vehicleColor,
      [_insurancePrice] call life_fnc_numberText,
      if(_insurance == 1) then {"<t color='#8cff9b'>Assuré</t>"} else {"<t color='#FF0000'>Pas d'assurance</t>"},
      (_vehicleInfo select 9)
      ];
      
      
      
      
      if(_insurance == 1) then {
      ctrlShow [97480,False];
      }else{
      ctrlShow [97480,True];
      };
      
      
      
      
      ctrlShow [2803,true];
      ctrlShow [2830,true];
      Alles anzeigen

      4. mpmissions\dialog\function\fn_impoundMenu.sqf such nach:

      Code
      _tmp = [(_x select 2),(_x select 8)];

      und ersetzt es durch:


      Code
      _tmp = [(_x select 2),(_x select 8),(_x select 9)];

      5. mpmission\CfgRemoteExec.hpp.

      Sucht nach:

      Code
      F(TON_fnc_handleBlastingCharge,SERVER)

      und schreibt darunter:

      Code
      F(TON_fnc_insureCar,SERVER)

      Sucht nach:

      Code
      F(HC_fnc_wantedRemove,HC)

      und schreibt darunter:

      Code
      F(HC_fnc_insureCar,HC)

      7. mpmissions\config\Config_Master.hpp fügt nach:

      Spoiler anzeigen

      vehicle_sell_multiplier_OPFOR = -1; // -- NOT IN USE -- Simply left in for east support.

      das ein:

      Code
      /* Vehicle Insurance Prices */
          vehicle_insurance_multiplier_CIVILIAN = .25; //Civilian Vehicle Insurance Price = Vehicle Buy Price * multiplier
          vehicle_insurance_multiplier_COP = .1; //Cop Vehicle Insurance Price = Vehicle Buy Price * multiplier
          vehicle_insurance_multiplier_MEDIC = .1; //Medic Vehicle Insurance Price = Vehicle Buy Price * multiplier
          vehicle_insurance_multiplier_OPFOR = -1; // -- NOT IN USE -- Simply left in for east support.

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 16. August 2016 um 12:30
      • #2

      8. mpmission/stringtable.xml sucht:

      Code
      <Key ID="STR_pInAct_SellGarage">
                  <Original>Sell Garage</Original>
                  <Czech>Navrhujeme Garáž</Czech>
                  <Spanish>Vender Garaje</Spanish>
                  <Russian></Russian>
                  <German>Garage verkaufen</German>
                  <French>Vendre le garage</French>
                  <Italian>Vendi Garage</Italian>
                  <Portuguese>Vender Garagem</Portuguese>
                  <Polish>Sprzedaj garaż</Polish>
              </Key>
      Alles anzeigen

      und schreibt darunter:

      Code
      <Key ID="STR_InsuranceApply">
      			<Original>You just insure your vehicle you are now protected against explosions!</Original>
      			<Czech>Právě jste pojistit své vozidlo se nyní chráněna proti výbuchu!</Czech>
                  <Spanish>Usted acaba de asegurar su vehículo que ahora está protegido contra explosiones!</Spanish>
                  <Italian>Basta assicurare il vostro veicolo si sono ora protetti contro le esplosioni!</Italian>
                  <Polish>Po prostu ubezpieczyć swój pojazd jesteś teraz zabezpieczona przed wybuchem!</Polish>
                  <Russian>Вы просто застраховать свой автомобиль, вы теперь защищены от взрывов!</Russian>
                  <French>Vous venez d'assurer votre véhicule vous êtes maintenant protégé contre les explosions!</French>
                  <Portuguese>Você só segurar o seu veículo que você está actualmente protegida contra explosões!</Portuguese>
                  <German>Sie versichern nur Ihr Fahrzeug, das Sie jetzt vor Explosionen geschützt sind!</German>
      		</Key>
      Alles anzeigen


      9. Ladet euch die fn_insureCar.sqf herunter und legt sie in den \dialog\function Ordner

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Live_Server:
      1. life_server\config.cpp:

      Code
      class TON_System {
              tag = "TON";
              class Systems {
                  file = "\life_server\Functions\Systems";
                  class managesc {};
                  class cleanup {};
                  class huntingZone {};
                  class getID {};
                  class vehicleCreate {};
                  class spawnVehicle {};
                  class getVehicles {};
                  class vehicleStore {};
                  class vehicleDelete {};
                  class spikeStrip {};
                  class transferOwnership {};
                  class federalUpdate {};
                  class chopShopSell {};
                  class clientDisconnect {};
                  class cleanupRequest {};
                  class setObjVar {};
                  class keyManagement {};
                  class vehicleUpdate {};
                  class recupkeyforHC {};
                  class handleBlastingCharge {};
      	    class insureCar {}; // Einfügen !!!!!!!!!!!!
              };
      Alles anzeigen

      2. life_hc\config.cpp:


      Code
      class Vehicles
              {
                  file = "\life_hc\MySQL\Vehicles";
                  class chopShopSell {};
                  class getVehicles {};
                  class spawnVehicle {};
                  class keyManagement {};
                  class vehicleStore {};
                  class vehicleCreate {};
                  class vehicleDelete {};
                  class vehicleUpdate {};
      	    class insureCar {}; // EINFÜGEN !!!!!!!!!!!!
              };
      Alles anzeigen

      3. life_server\Functions\Systems\fn_spawnVehicle.sqf sucht nach:


      Code
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, inventory, gear, fuel, damage, blacklist FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];

      ersetzt die Zeile durch:


      Code
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, inventory, gear, fuel, damage, blacklist, insure FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];

      Sucht nach:

      Code
      _vehicle setVariable ["dbInfo",[(_vInfo select 4),(_vInfo select 7)],true];

      ersetzt die Zeile durch:

      Code
      _vehicle setVariable ["dbInfo",[(_vInfo select 4),(_vInfo select 7),(_vInfo select 14)],true];

      Sucht nach:

      Code
      [1,_spawntext] remoteExecCall ["life_fnc_broadcast",_unit];
      serv_sv_use deleteAt _servIndex;

      ersetzt die Zeile durch:

      Code
      if ((_vInfo select 14) isEqualTo 1) then {
      	[1,"Votre véhicule est disponible et il est assuré!"] remoteExecCall ["life_fnc_broadcast",_unit];
      }else{
      	[1,"Votre véhicule est disponible mais il n'est pas assuré!"] remoteExecCall ["life_fnc_broadcast",_unit];
      };
      serv_sv_use deleteAt _servIndex;

      4. life_hc\MySQL\Vehicles\fn_spawnVehicle.sqf sucht nach:

      Code
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, inventory, gear, fuel, damage, blacklist FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];

      Dateien

      fn_insureCar.sqf 2,52 kB – 557 Downloads

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 16. August 2016 um 12:43
      • #3

      ersetzt die Zeile:

      Code
      if ((_vInfo select 14) isEqualTo 1) then {
      	[1,"Votre véhicule est disponible et il est assuré!"] remoteExecCall ["life_fnc_broadcast",_unit];
      }else{
      	[1,"Votre véhicule est disponible mais il n'est pas assuré!"] remoteExecCall ["life_fnc_broadcast",_unit];
      };
      serv_sv_use deleteAt _servIndex;


      Sucht:

      Code
      _vehicle setVariable ["dbInfo",[(_vInfo select 4),(_vInfo select 7)],true];

      ersetzt die Zeile durch:


      Code
      _vehicle setVariable ["dbInfo",[(_vInfo select 4),(_vInfo select 7),(_vInfo select 14)],true];

      Sucht:

      Code
      [1,_spawntext] remoteExecCall ["life_fnc_broadcast",_unit];
      serv_sv_use deleteAt _servIndex;


      ersetzt die Zeile durch:

      Code
      if ((_vInfo select 14) isEqualTo 1) then {
      	[1,"Votre véhicule est disponible et il est assuré!"] remoteExecCall ["life_fnc_broadcast",_unit];
      }else{
      	[1,"Votre véhicule est disponible mais il n'est pas assuré!"] remoteExecCall ["life_fnc_broadcast",_unit];
      };
      serv_sv_use deleteAt _servIndex;

      5. life_server\FSM\cleanup.fsm ersetzt alles !:


      Code
      /*%FSM<COMPILE "D:\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Server-Side Cleanup">*/
      /*%FSM<HEAD>*/
      /*
      item0[] = {"init",0,250,-65.004578,-391.651611,24.995417,-341.651672,0.000000,"init"};
      item1[] = {"true",8,218,-62.976639,-315.185364,27.023363,-265.185364,0.000000,"true"};
      item2[] = {"Share__Work_load",2,250,-64.183350,-224.681931,25.816656,-174.681931,0.000000,"Share " \n "Work-load"};
      item3[] = {"true",8,218,-54.709698,75.189262,35.290302,125.189262,0.000000,"true"};
      item4[] = {"Time_Check",4,218,-219.425827,-133.310532,-129.425964,-83.310455,0.000000,"Time Check"};
      item5[] = {"Delete_Dead_Cars",2,4346,-220.186951,-29.248400,-130.187195,20.751413,0.000000,"Delete" \n "Dead" \n "Cars"};
      item6[] = {"",7,210,-312.538239,95.295059,-304.538239,103.295059,0.000000,""};
      item7[] = {"",7,210,-311.750000,-203.033707,-303.750000,-195.033707,0.000000,""};
      link0[] = {0,1};
      link1[] = {1,2};
      link2[] = {2,4};
      link3[] = {3,6};
      link4[] = {4,5};
      link5[] = {5,3};
      link6[] = {6,7};
      link7[] = {7,2};
      globals[] = {0.000000,0,0,0,0,640,480,1,46,6316128,1,-629.444153,611.207214,293.309357,-434.050568,1243,885,1};
      window[] = {2,-1,-1,-1,-1,985,225,1868,225,3,1261};
      *//*%FSM</HEAD>*/
      class FSM
      {
        fsmName = "Server-Side Cleanup";
        class States
        {
          /*%FSM<STATE "init">*/
          class init
          {
            name = "init";
            init = /*%FSM<STATEINIT""">*/"private[""_impound"",""_cars"",""_objs"",""_totCars"",""_thread""];" \n
             "_impound = time;" \n
             "_cars = time;" \n
             "_objs = time;"/*%FSM</STATEINIT""">*/;
            precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
            class Links
            {
              /*%FSM<LINK "true">*/
              class true
              {
                priority = 0.000000;
                to="Share__Work_load";
                precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
                action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
              };
              /*%FSM</LINK>*/
            };
          };
          /*%FSM</STATE>*/
          /*%FSM<STATE "Share__Work_load">*/
          class Share__Work_load
          {
            name = "Share__Work_load";
            init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
            precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
            class Links
            {
              /*%FSM<LINK "Time_Check">*/
              class Time_Check
              {
                priority = 0.000000;
                to="Delete_Dead_Cars";
                precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                condition=/*%FSM<CONDITION""">*/"((time - _cars) > (3 * 60))"/*%FSM</CONDITION""">*/;
                action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
              };
              /*%FSM</LINK>*/
            };
          };
          /*%FSM</STATE>*/
          /*%FSM<STATE "Delete_Dead_Cars">*/
          class Delete_Dead_Cars
          {
            name = "Delete_Dead_Cars";
            init = /*%FSM<STATEINIT""">*/"{" \n
             "	if(!alive _x) then {" \n
             "		_dbInfo = _x getVariable[""dbInfo"",[]];" \n
             "		if(count _dbInfo > 0) then {" \n
             "			_uid = _dbInfo select 0;" \n
             "			_plate = _dbInfo select 1;" \n
             "			_insureSystem = _dbInfo select 2;" \n
      	   "            diag_log "" destroy vehicule !"";" \n
      	   "				diag_log format[""insureSystem = %1 "", _insureSystem];" \n
      	   "			if(_insureSystem == 1) then " \n
             "                 { " \n
             "                     diag_log "" Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n
             "                     _query_0 spawn " \n
             "                     {" \n
             "                         waitUntil {!DB_Async_Active};" \n
             "                         _thread_0 = [_this,1] call DB_fnc_asyncCall;" \n
             "                     };" \n
             "                  } " \n
             "                  else  " \n
             "                  {  " \n
             "                     diag_log "" Pas Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate];  " \n
             "                     _query spawn " \n
             "                     {" \n
             "                          waitUntil {!DB_Async_Active};" \n
             "                         _thread = [_this,1] call DB_fnc_asyncCall;" \n
             "                     };      " \n
             "                 }; " \n
             "        };" \n
             "		if(!isNil ""_x"" && {!isNull _x}) then {" \n
             "			deleteVehicle _x;" \n
             "		};" \n
             "	};" \n
             "} foreach allMissionObjects ""LandVehicle"";" \n
             "" \n
             "{" \n
             "	if(!alive _x) then {" \n
             "		_dbInfo = _x getVariable[""dbInfo"",[]];" \n
             "		if(count _dbInfo > 0) then {" \n
             "			_uid = _dbInfo select 0;" \n
             "			_plate = _dbInfo select 1;" \n
             "			_insureSystem = _dbInfo select 2;" \n
      	   "            diag_log "" destroy vehicule !"";" \n
      	   "				diag_log format[""insureSystem = %1 "", _insureSystem];" \n
      	   "			if(_insureSystem == 1) then " \n
             "                 { " \n
             "                     diag_log "" Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n
             "                     _query_0 spawn " \n
             "                     {" \n
             "                         waitUntil {!DB_Async_Active};" \n
             "                         _thread_0 = [_this,1] call DB_fnc_asyncCall;" \n
             "                     };" \n
             "                  } " \n
             "                  else  " \n
             "                  {  " \n
             "                     diag_log "" Pas Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate];  " \n
             "                     _query spawn " \n
             "                     {" \n
             "                          waitUntil {!DB_Async_Active};" \n
             "                         _thread = [_this,1] call DB_fnc_asyncCall;" \n
             "                     };      " \n
             "                 }; " \n
             "        };" \n
             "		if(!isNil ""_x"" && {!isNull _x}) then {" \n
             "			deleteVehicle _x;" \n
             "		};" \n
             "	};" \n
             "} foreach allMissionObjects ""Air"";" \n
             "" \n
             "_cars = time;" \n
             "" \n
             "//Group cleanup." \n
             "{" \n
             "	if(count units _x == 0 && local _x) then {" \n
             "		deleteGroup _x;" \n
             "	};" \n
             "} foreach allGroups;"/*%FSM</STATEINIT""">*/;
            precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
            class Links
            {
              /*%FSM<LINK "true">*/
              class true
              {
                priority = 0.000000;
                to="Share__Work_load";
                precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
                action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
              };
              /*%FSM</LINK>*/
            };
          };
          /*%FSM</STATE>*/
        };
        initState="init";
        finalStates[] =
        {
        };
      };
      /*%FSM</COMPILE>*/
      Alles anzeigen

      6. life_hc\FSM\cleanup.fsm ersetzt alles !


      Code
      /*%FSM<COMPILE "D:\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Server-Side Cleanup">*/
      /*%FSM<HEAD>*/
      /*
      item0[] = {"init",0,250,-65.004578,-391.651611,24.995417,-341.651672,0.000000,"init"};
      item1[] = {"true",8,218,-62.976639,-315.185364,27.023363,-265.185364,0.000000,"true"};
      item2[] = {"Share__Work_load",2,250,-64.183350,-224.681931,25.816656,-174.681931,0.000000,"Share " \n "Work-load"};
      item3[] = {"true",8,218,-54.709698,75.189262,35.290302,125.189262,0.000000,"true"};
      item4[] = {"Time_Check",4,218,-219.425827,-133.310532,-129.425964,-83.310455,0.000000,"Time Check"};
      item5[] = {"Delete_Dead_Cars",2,4346,-220.186951,-29.248400,-130.187195,20.751413,0.000000,"Delete" \n "Dead" \n "Cars"};
      item6[] = {"",7,210,-312.538239,95.295059,-304.538239,103.295059,0.000000,""};
      item7[] = {"",7,210,-311.750000,-203.033707,-303.750000,-195.033707,0.000000,""};
      link0[] = {0,1};
      link1[] = {1,2};
      link2[] = {2,4};
      link3[] = {3,6};
      link4[] = {4,5};
      link5[] = {5,3};
      link6[] = {6,7};
      link7[] = {7,2};
      globals[] = {0.000000,0,0,0,0,640,480,1,46,6316128,1,-629.444153,611.207214,293.309357,-434.050568,1243,885,1};
      window[] = {2,-1,-1,-1,-1,985,225,1868,225,3,1261};
      *//*%FSM</HEAD>*/
      class FSM
      {
        fsmName = "Server-Side Cleanup";
        class States
        {
          /*%FSM<STATE "init">*/
          class init
          {
            name = "init";
            init = /*%FSM<STATEINIT""">*/"private[""_impound"",""_cars"",""_objs"",""_totCars"",""_thread""];" \n
             "_impound = time;" \n
             "_cars = time;" \n
             "_objs = time;"/*%FSM</STATEINIT""">*/;
            precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
            class Links
            {
              /*%FSM<LINK "true">*/
              class true
              {
                priority = 0.000000;
                to="Share__Work_load";
                precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
                action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
              };
              /*%FSM</LINK>*/
            };
          };
          /*%FSM</STATE>*/
          /*%FSM<STATE "Share__Work_load">*/
          class Share__Work_load
          {
            name = "Share__Work_load";
            init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
            precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
            class Links
            {
              /*%FSM<LINK "Time_Check">*/
              class Time_Check
              {
                priority = 0.000000;
                to="Delete_Dead_Cars";
                precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                condition=/*%FSM<CONDITION""">*/"((time - _cars) > (3 * 60))"/*%FSM</CONDITION""">*/;
                action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
              };
              /*%FSM</LINK>*/
            };
          };
          /*%FSM</STATE>*/
          /*%FSM<STATE "Delete_Dead_Cars">*/
          class Delete_Dead_Cars
          {
            name = "Delete_Dead_Cars";
            init = /*%FSM<STATEINIT""">*/"{" \n
             "	if(!alive _x) then {" \n
             "		_dbInfo = _x getVariable[""dbInfo"",[]];" \n
             "		if(count _dbInfo > 0) then {" \n
             "			_uid = _dbInfo select 0;" \n
             "			_plate = _dbInfo select 1;" \n
             "			_insureSystem = _dbInfo select 2;" \n
      	   "            diag_log "" destroy vehicule !"";" \n
      	   "				diag_log format[""insureSystem = %1 "", _insureSystem];" \n
      	   "			if(_insureSystem == 1) then " \n
             "                 { " \n
             "                     diag_log "" Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n
             "                     _query_0 spawn " \n
             "                     {" \n
             "                         _thread_0 = [_this,1] call HC_fnc_asyncCall;" \n
             "                     };" \n
             "                  } " \n
             "                  else  " \n
             "                  {  " \n
             "                     diag_log "" Pas Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate];  " \n
             "                     _query spawn " \n
             "                     {" \n
             "                         _thread = [_this,1] call HC_fnc_asyncCall;" \n
             "                     };      " \n
             "                 }; " \n
             "        };" \n
             "		if(!isNil ""_x"" && {!isNull _x}) then {" \n
             "			deleteVehicle _x;" \n
             "		};" \n
             "	};" \n
             "} foreach allMissionObjects ""LandVehicle"";" \n
             "" \n
             "{" \n
             "	if(!alive _x) then {" \n
             "		_dbInfo = _x getVariable[""dbInfo"",[]];" \n
             "		if(count _dbInfo > 0) then {" \n
             "			_uid = _dbInfo select 0;" \n
             "			_plate = _dbInfo select 1;" \n
             "			_insureSystem = _dbInfo select 2;" \n
      	   "            diag_log "" destroy vehicule !"";" \n
      	   "				diag_log format[""insureSystem = %1 "", _insureSystem];" \n
      	   "			if(_insureSystem == 1) then " \n
             "                 { " \n
             "                     diag_log "" Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query_0 = format[""UPDATE vehicles SET alive='1', insure='0', active='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate]; " \n
             "                     _query_0 spawn " \n
             "                     {" \n
             "                         _thread_0 = [_this,1] call HC_fnc_asyncCall;" \n
             "                     };" \n
             "                  } " \n
             "                  else  " \n
             "                  {  " \n
             "                     diag_log "" Pas Assurer !"";" \n
             "                     diag_log format[""insureSystem = %1 "", _insureSystem];" \n
             "                     _query = format[""UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'"",_uid,_plate];  " \n
             "                     _query spawn " \n
             "                     {" \n
             "                         _thread = [_this,1] call HC_fnc_asyncCall;" \n
             "                     };      " \n
             "                 }; " \n
             "        };" \n
             "		if(!isNil ""_x"" && {!isNull _x}) then {" \n
             "			deleteVehicle _x;" \n
             "		};" \n
             "	};" \n
             "} foreach allMissionObjects ""Air"";" \n
             "" \n
             "_cars = time;" \n
             "" \n
             "//Group cleanup." \n
             "{" \n
             "	if(count units _x == 0 && local _x) then {" \n
             "		deleteGroup _x;" \n
             "	};" \n
             "} foreach allGroups;"/*%FSM</STATEINIT""">*/;
            precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
            class Links
            {
              /*%FSM<LINK "true">*/
              class true
              {
                priority = 0.000000;
                to="Share__Work_load";
                precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
                condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
                action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
              };
              /*%FSM</LINK>*/
            };
          };
          /*%FSM</STATE>*/
        };
        initState="init";
        finalStates[] =
        {
        };
      };
      /*%FSM</COMPILE>*/
      Alles anzeigen

      7. life_server\functions\Systems\fn_getVehicles.sqf sucht nach:


      Code
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];

      und ersetzt es durch:


      Code
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, insure FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];

      8. life_hc\MySQL\Vehicles\fn_getVehicles.sqf


      sucht nach:

      Code
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];

      ersetzt es durch:


      Code
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, insure FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];

      9. Fügt das in eure Datenbank ein:


      Code
      ALTER TABLE `vehicles` ADD `insure` INT(1) NOT NULL DEFAULT '0';

      10. Ladet den Versichernungs Ordner herunter und fügt die Dateien entsprechend ein.

      Dateien

      Versichern.zip 1,87 kB – 608 Downloads

      Mein Discord:
      https://discord.gg/4UMWmpfDet

      Einmal editiert, zuletzt von AmaZiinG (16. August 2016 um 15:04)

    • Bundeswehr_Zockt
      Schüler
      Reaktionen
      4
      Trophäen
      10
      Beiträge
      163
      • 16. August 2016 um 13:34
      • #4

      WTF ist das viel xD

    • SnakeA3Modding
      Anfänger
      Reaktionen
      3
      Trophäen
      11
      Beiträge
      37
      Bilder
      13
      • 16. August 2016 um 14:23
      • #5

      Muss dass in Der Datenbank Eingetragen werden ? Quellcode
      [*]ALTER TABLE `vehicles` ADD `insure` INT(1) NOT NULL DEFAULT '0';
      [/list]



      Mfg Likeaboss

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 16. August 2016 um 15:03
      • #6
      Zitat von Likeboss

      Muss dass in Der Datenbank Eingetragen werden ? Quellcode
      [*]ALTER TABLE `vehicles` ADD `insure` INT(1) NOT NULL DEFAULT '0';


      Mfg Likeaboss

      Oh fail werde es ändern

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 16. August 2016 um 15:04
      • #7

      So ausgebessert :D

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • SnakeA3Modding
      Anfänger
      Reaktionen
      3
      Trophäen
      11
      Beiträge
      37
      Bilder
      13
      • 16. August 2016 um 15:22
      • #8

      Ok Danke

      Mfg Likeaboss

    • Bundeswehr_Zockt
      Schüler
      Reaktionen
      4
      Trophäen
      10
      Beiträge
      163
      • 16. August 2016 um 19:06
      • #9

      wie füge ich das in die DB ein?

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 16. August 2016 um 19:09
      • #10

      einfach in Phpmyadmin oder Navicat deine Altis Life Datenbank auswählen und diesen SQL-Befehl ausführen:

      Code
      ALTER TABLE `vehicles` ADD `insure` INT(1) NOT NULL DEFAULT '0';

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

      Services rund um ArmA RPG Life

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

    • SnakeA3Modding
      Anfänger
      Reaktionen
      3
      Trophäen
      11
      Beiträge
      37
      Bilder
      13
      • 17. August 2016 um 15:59
      • #11

      wo Stelle ich dass Ein Dass es In der Garage Auf Deutsch steht ?


      Mfg Likeaboss

    • r8n8gad8
      Anfänger
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      53
      • 2. September 2016 um 09:55
      • #12

      Das Tutorial ist eigentlich ganz verständlich....jedoch was soll mit dem "life_hc" angefangen werden? Da ist eine Datei drin, aber hier wird teilweise im Tutorial auf Dateien verwiesen, die angeblich in life_hc sein sollen.
      Passen würde das aber bei der life_server.

      Könnte man hier bitte aufklären, was es mit dem Ordner "life_hc" auf sich hat?

    • PlaySim
      Anfänger
      Reaktionen
      7
      Trophäen
      11
      Beiträge
      66
      • 3. September 2016 um 00:04
      • #13

      Klasse TUT, eine frage hätte ich da noch.
      Wie kann ich das einstellen, dass die Fahrzeuge nicht automatisch in die Garage spawnen/ verschwinden wenn man sich zu weit vom Fahrzeug entfernt.
      Danke für die Hilfe.

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 3. September 2016 um 12:54
      • #14

      wenn ich mich recht erinnere ist dafür eine cleanup.fsm zuständig

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

      Services rund um ArmA RPG Life

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

    • PlaySim
      Anfänger
      Reaktionen
      7
      Trophäen
      11
      Beiträge
      66
      • 3. September 2016 um 15:42
      • #15
      Zitat von B4v4r!4n_Str!k3r

      wenn ich mich recht erinnere ist dafür eine cleanup.fsm zuständig

      Stimmt, nur wie und was genau muss ich dort verändern? @life_server\FSM\cleanup.fsm

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 3. September 2016 um 16:00
      • #16

      Eine .fsm Datei wird normal mit dem FSM Editor, der in den Arma 3 Tools beinhaltet ist, bearbeitet.

      Damit musst du dir dann den Teil heraussuchen, der die Fahrzeuge löscht und diesen dann entfernen.

      Weiter kann ich dir im Moment vom Handy aus auch nicht helfen.

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

      Services rund um ArmA RPG Life

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

    • PlaySim
      Anfänger
      Reaktionen
      7
      Trophäen
      11
      Beiträge
      66
      • 3. September 2016 um 16:52
      • #17

      Ist das denn neu? Das ist mir noch nie aufgefallen das die Fahrzeuge sich automatisch in die Garage spawnen, wenn man sich zu weit vom Fahrzeug entfernt auf [lexicon]Tanoa[/lexicon].

      So haben die COPS ja noch weniger Einnahmen.OK ich warte mal bis Du zuhause bist smile.

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 3. September 2016 um 17:54
      • #18
      Zitat von PlaySim

      OK ich warte mal bis Du zuhause bist smile.

      da kannst du noch länger warten ... das wird erst nächste Woche sein

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

      Services rund um ArmA RPG Life

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

    • Tass
      Fortgeschrittener
      Reaktionen
      103
      Beiträge
      408
      Bilder
      3
      • 3. September 2016 um 21:04
      • #19
      Zitat von PlaySim

      Klasse TUT, eine frage hätte ich da noch.
      Wie kann ich das einstellen, dass die Fahrzeuge nicht automatisch in die Garage spawnen/ verschwinden wenn man sich zu weit vom Fahrzeug entfernt.
      Danke für die Hilfe.

      /life_server/Functions/Systems/fn_cleanup.sqf

      Ich bin keine Signatur... ich putz hier nur ;d

    • PlaySim
      Anfänger
      Reaktionen
      7
      Trophäen
      11
      Beiträge
      66
      • 3. September 2016 um 22:23
      • #20
      Zitat von Tass

      /life_server/Functions/Systems/fn_cleanup.sqf

      Und die Lösung?

      Spoiler anzeigen


      #include "\life_server\script_macros.hpp"
      /*
      File: fn_cleanup.sqf
      Author: Bryan "Tonic" Boardwine


      Description:
      Server-side cleanup script on vehicles.
      Sort of a lame way but whatever. Yep someone should look at it!
      */
      private "_deleted";
      _deleted = false;
      for "_i" from 0 to 1 step 0 do {
      private ["_veh","_units","_fuel"];
      uiSleep (60 * 60);
      {
      _protect = false;
      _veh = _x;
      _vehicleClass = getText(configFile >> "CfgVehicles" >> (typeOf _veh) >> "vehicleClass");
      _fuel = 1;


      if (!isNil {_veh getVariable "NPC"} && {_veh getVariable "NPC"}) then {_protect = true;};


      if ((_vehicleClass in ["Car","Air","Ship","Armored","Submarine"]) && {!(_protect)}) then {
      if (LIFE_SETTINGS(getNumber,"save_vehicle_fuel") isEqualTo 1) then {_fuel = (fuel _veh);};
      _dbInfo = _veh getVariable ["dbInfo",[]];
      _units = {(_x distance _veh < 300)} count playableUnits;
      if (count crew _x isEqualTo 0) then {
      switch (true) do {
      case ((_x getHitPointDamage "HitEngine") > 0.7 && _units isEqualTo 0) : {deleteVehicle _x; _deleted = true;};
      case ((_x getHitPointDamage "HitLFWheel") > 0.98 && _units isEqualTo 0) : {deleteVehicle _x; _deleted = true;};
      case ((_x getHitPointDamage "HitLF2Wheel") > 0.98 && _units isEqualTo 0) : {deleteVehicle _x; _deleted = true;};
      case ((_x getHitPointDamage "HitRFWheel") > 0.98 && _units isEqualTo 0) : {deleteVehicle _x; _deleted = true;};
      case ((_x getHitPointDamage "HitRF2Wheel") > 0.98 && _units isEqualTo 0) : {deleteVehicle _x; _deleted = true;};
      case (_units isEqualTo 0): {deleteVehicle _x; _deleted = true;};
      };
      };


      if (_deleted) then {
      waitUntil {isNull _veh};
      _deleted = false;
      };


      if (isNull _veh) then {
      if (count _dbInfo > 0) then {
      _uid = _dbInfo select 0;
      _plate = _dbInfo select 1;


      _query = format ["UPDATE vehicles SET active='0', fuel='%3' WHERE pid='%1' AND plate='%2'",_uid,_plate,_fuel];


      [_query,1] call DB_fnc_asyncCall;
      };
      };
      };
      } forEach vehicles;


      uiSleep (3 * 60); //3 minute cool-down before next cycle.
      {
      if ((typeOf _x) in ["Land_BottlePlastic_V1_F","Land_TacticalBacon_F","Land_Can_V3_F","Land_CanisterFuel_F", "Land_Can_V3_F","Land_Money_F","Land_Suitcase_F"]) then {
      deleteVehicle _x;
      };
      } forEach (allMissionObjects "Thing");


      uiSleep (2 * 60);
      {
      deleteVehicle _x;
      } forEach (allMissionObjects "GroundWeaponHolder");
      };

    Registrieren oder Einloggen

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

    Registrieren

    Ähnliche Themen

    • [TUTORIAL][Altis Life 4.4r3] Fahrzeug Versicherungen

      • blackfisch
      • 17. September 2016 um 23:51
      • Tutorials & Releases
    • Include file mpmissions\Life.Jackson_County\dialog\function\...\script_macros.hpp not found

      • luca00711
      • 25. Juni 2017 um 13:38
      • Hilfeforum
    • Shounka wieder? hat sich was geändert?

      • Lucky1302
      • 11. Juni 2017 um 14:34
      • Hilfeforum
    • [Sammelthread] Scripts/Links/Tutorials/Anleitungen ArmA 3

      • Stig
      • 2. September 2016 um 18:29
      • Tutorials & Releases
    • Gibt es ein Versicherungs Script für die 4.0 ?

      • tobistar3
      • 3. Dezember 2016 um 01:11
      • Hilfeforum

    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™