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
Do: 22 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

    SCHNAPSBRENNEREI Remake

      • Altis Life
    • BlueType
    • 25. Februar 2019 um 17:07
    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 25. Februar 2019 um 17:07
      • #1

      Der Orginal Post ist von SBuserhy und ich Remake ihn nur für die Life Version 5.0!

      Bevor ihr anfangt BACKUPS MACHEN!!

      Brennerei NPC

      Spoiler anzeigen


      this allowDamage false; this enableSimulation false; this addAction [ ""Process Mash"", { [[[""cornmeal"",1],[""waterbottle"",1]],""license_civ_mashL"",50000,[[""mash"",1],[""AItem:>"",2]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""mashL"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""mashL"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""mashL"",0,false,false,"""",' !license_civ_mashL && playerSide == civilian '];this addAction [ ""Process Moonshine"", { [[[""mash"",1],[""yeast"",1]],""license_civ_MoonshineL"",50000,[[""Moonshine"",1],[""AItem:>"",2]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""MoonshineL"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""MoonshineL"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""MoonshineL"",0,false,false,"""",' !license_civ_MoonshineL && playerSide == civilian '];this addAction [ ""Process Whiskey"", { [[[""rye"",1],[""yeast"",1],[""waterbottle"",1]],""license_civ_WhiskeyL"",50000,[[""whiskey"",1],[""AItem:>"",3]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""WhiskeyL"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""WhiskeyL"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""WhiskeyL"",0,false,false,"""",' !license_civ_WhiskeyL && playerSide == civilian '];

      Brauerei NPC

      Spoiler anzeigen

      this allowDamage false; this enableSimulation false; this addAction [ ""Brew Beer"", { [[[""hops"",1],[""yeast"",1],[""waterbottle"",1]],""license_civ_liquor"",50000,[[""beerp"",1],[""AItem:>"",3]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""liquor"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""liquor"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""liquor"",0,false,false,"""",' !license_civ_liquor && playerSide == civilian ']; this addAction [ ""Mix Apple juice"", { [[[""apple"",1],[""waterbottle"",1]],""license_civ_liquor"",50000,[[""applej"",1],[""AItem:>"",2]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""liquor"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""liquor"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""liquor"",0,false,false,"""",' !license_civ_liquor && playerSide == civilian '];

      Abfüller NPC

      Spoiler anzeigen

      this allowDamage false; this enableSimulation false; this addAction [ ""Bottle Beer"", { [[[""beerp"",1],[""bottles"",1]],""license_civ_bottler"",50000,[[""bottledBeer"",1],[""AItem:>"",2]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""bottler"",0,false,false,"""",' !license_civ_bottler && playerSide == civilian '];this addAction [ ""Bottle Whiskey"", { [[[""whiskey"",1],[""bottles"",1]],""license_civ_bottler"",50000,[[""bottledwhiskey"",1],[""AItem:>"",2]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""bottler"",0,false,false,"""",' !license_civ_bottler && playerSide == civilian '];this addAction [ ""Bottle Moonshine"", { [[[""moonshine"",1],[""bottles"",1]],""license_civ_bottler"",50000,[[""bottledshine"",1],[""AItem:>"",2]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""bottler"",0,false,false,"""",' !license_civ_bottler && playerSide == civilian '];this addAction [ ""Bottle Apple juice"", { [[[""applej"",1],[""bottles"",1]],""license_civ_bottler"",50000,[[""bottledapplej"",1],[""AItem:>"",2]]] spawn life_fnc_dynprocess; } ]; this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""bottler"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""bottler"",0,false,false,"""",' !license_civ_bottler && playerSide == civilian '];

      Mr Moonshine

      Spoiler anzeigen

      this allowDamage false; this enableSimulation false; this addAction["Mr.Moonshine",life_fnc_virt_menu,"mrmoonshine"];

      Kneipe/Bar

      Spoiler anzeigen

      this allowDamage false; this enableSimulation false; this addAction["Barkeeper",life_fnc_virt_menu,"alkbar"];


      Nun Erstellt ihr noch 3 Marker mit den Folgenden Namen:

      Spoiler anzeigen

      yeast_1

      rye_1

      hops_1

      Config_vItems.hpp (Bei den Items Einfügen)

      Spoiler anzeigen

      class bottledshine{

      variable = "bottledshine";

      displayName = "STR_Item_BottledShine";

      weight = 2;

      buyPrice = -1;

      sellPrice = 15000;

      illegal = true;

      edible = 10;

      icon = "";

      };

      class bottledwhiskey{

      variable = "bottledwhiskey";

      displayName = "STR_Item_BottledWhiskey";

      weight = 2;

      buyPrice = -1;

      sellPrice = 7000;

      illegal = false;

      edible = 10;

      icon = "";

      };

      class bottledBeer{

      variable = "bottledBeer";

      displayName = "STR_Item_BottledBeer";

      weight = 2;

      buyPrice = -1;

      sellPrice = 5500;

      illegal = false;

      edible = 10;

      icon = "";

      };

      class bottledapplej{

      variable = "bottledapplej";

      displayName = "STR_Item_bottledapplej";

      weight = 2;

      buyPrice = -1;

      sellPrice = 2000;

      illegal = false;

      edible = 10;

      icon = "";

      };

      class moonshine{

      variable = "moonshine";

      displayName = "STR_Item_Moonshine";

      weight = 2;

      buyPrice = -1;

      sellPrice = -1;

      illegal = true;

      edible = -1;

      icon = "";

      };

      class whiskey{

      variable = "whiskey";

      displayName = "STR_Item_Whiskey";

      weight = 2;

      buyPrice = 5000;

      sellPrice = -1;

      illegal = false;

      edible = -1;

      icon = "";

      };

      class beerp{

      variable = "beerp";

      displayName = "STR_Item_Beerp";

      weight = 2;

      buyPrice = 5000;

      sellPrice = -1;

      illegal = false;

      edible = -1;

      icon = "";

      };

      class mash{

      variable = "mash";

      displayName = "STR_Item_Mash";

      weight = 4;

      buyPrice = -1;

      sellPrice = -1;

      illegal = true;

      edible = -1;

      icon = "";

      };

      class rye{

      variable = "rye";

      displayName = "STR_Item_Rye";

      weight = 2;

      buyPrice = -1;

      sellPrice = -1;

      illegal = false;

      edible = -1;

      icon = "";

      };

      class hops{

      variable = "hops";

      displayName = "STR_Item_Hops";

      weight = 2;

      buyPrice = -1;

      sellPrice = -1;

      illegal = false;

      edible = -1;

      icon = "";

      };

      class yeast{

      variable = "yeast";

      displayName = "STR_Item_Yeast";

      weight = 2;

      buyPrice = -1;

      sellPrice = -1;

      illegal = false;

      edible = -1;

      icon = "";

      };

      class cornmeal{

      variable = "cornmeal";

      displayName = "STR_Item_Cornmeal";

      weight = 2;

      buyPrice = 500;

      sellPrice = 200;

      illegal = false;

      edible = -1;

      icon = "";

      };

      class bottles{

      variable = "bottles";

      displayName = "STR_Item_Bottles";

      weight = 2;

      buyPrice = 100;

      sellPrice = 75;

      illegal = false;

      edible = -1;

      icon = "";

      };

      class applej{

      variable = "applej";

      displayName = "STR_Item_applej";

      weight = 2;

      buyPrice = 100;

      sellPrice = 75;

      illegal = false;

      edible = -1;

      icon = "";

      };

      Config_vItems.hpp (Bei den Shops)

      Spoiler anzeigen

      class mrmoonshine {

      name = "STR_Shops_MRMoonshine";

      side = "civ";

      conditions = "";

      items[] = { "bottledshine" };

      };

      class alkbar {

      name = "STR_Shops_alkbar";

      side = "civ";

      conditions = "";

      items[] = { "bottledBeer", "bottledwhiskey", "bottledapplej" };

      };

      Config_Licenses.hpp

      Spoiler anzeigen

      class MoonshineL{

      variable = "MoonshineL";

      displayName = "STR_License_MoonshineL";

      price = 50000;

      illegal = true;

      side = "civ";

      };

      class liquor{

      variable = "liquor";

      displayName = "STR_License_Liquor";

      price = 100000;

      illegal = false;

      side = "civ";

      };

      class bottler{

      variable = "bottler";

      displayName = "STR_License_Bottler";

      price = 100000;

      illegal = false;

      side = "civ";

      };

      class mashL{

      variable = "mashL";

      displayName = "STR_License_MashL";

      price = 50000;

      illegal = true;

      side = "civ";

      };

      class whiskeyL{

      variable = "whiskeyL";

      displayName = "STR_License_whiskeyL";

      price = 50000;

      illegal = false;

      side = "civ";

      };

      class applejL{

      variable = "applejL";

      displayName = "STR_License_applejL";

      price = 50000;

      illegal = false;

      side = "civ";

      };

      Stringtable.xml

      Code
      <Key ID="STR_MISC_AlreadyDrinking">
       <Original>You are already drinking some booze</Original>
       <German>Du trinkst bereits etwas!</German>
      </Key>
      <Key ID="STR_MISC_WestIndNoNo">
       <Original>No drinking on duty</Original>
       <German>Du darfst im Dienst kein Alkohol trinken!</German>
      </Key>
      <Key ID="STR_MISC_DrunkBlackout">
       <Original>No have passed out</Original>
       <German>Du hast einen Blackout!</German>
      </Key>
      <Key ID="STR_MISC_DrunkBlackout1">
       <Original>What the hell happened to me?</Original>
       <German>Was zum Teufel ist mit mir passiert?!</German>
      </Key>
      <Key ID="STR_Item_Bottles">
       <Original>Glass Bottles</Original>
       <German>Glasflasche</German>
      </Key>
      <Key ID="STR_Item_BottledShine">
       <Original>Bottled Moonshine</Original>
       <German>abgefüllter Moonshine</German>
      </Key>
      <Key ID="STR_Item_BottledWhiskey">
       <Original>Bottled Whiskey</Original>
       <German>abgefüllter Whiskey</German>
      </Key>
      <Key ID="STR_Item_BottledBeer">
       <Original>Bottled Beer</Original>
       <German>abgefülltes Bier</German>
      </Key>
      <Key ID="STR_Item_BottledApplej">
       <Original>Bottled Apple juice</Original>
       <German>abgefüllter Apfelsaft</German>
      </Key>
      <Key ID="STR_Item_Moonshine">
       <Original>Moonshine</Original>
       <German>Moonshine</German>
      </Key>
      <Key ID="STR_Item_Whiskey">
       <Original>Distilled Whiskey</Original>
       <German>Destillierter Whiskey</German>
      </Key>
      <Key ID="STR_Item_Beerp">
       <Original>Fermented Beer</Original>
       <German>gebrautes Bier</German>
      </Key>
      <Key ID="STR_Item_Mash">
       <Original>Mash</Original>
       <German>Mash</German>
      </Key>
      <Key ID="STR_Item_Rye">
       <Original>Rye</Original>
       <German>Roggen</German>
      </Key>
      <Key ID="STR_Item_Hops">
       <Original>Hops</Original>
       <German>Hopfen</German>
      </Key>
      <Key ID="STR_Item_Yeast">
       <Original>Yeast</Original>
       <German>Hefe</German>
      </Key>
      <Key ID="STR_Item_Cornmeal">
       <Original>Cornmeal Grain</Original>
       <German>Getreidemehl</German>
      </Key>
      <Key ID="STR_Item_Applej">
       <Original>Apple juice</Original>
       <German>Apfelsaft</German>
      </Key>
      <Key ID="STR_License_MashL">
       <Original>Mash License</Original>
       <German>Mash-Lizenz</German>
      </Key>
      <Key ID="STR_License_Liquor">
       <Original>Liquor License</Original>
       <German>Alkohol-Lizenz</German>
      </Key>
      <Key ID="STR_License_Bottler">
        <Original>Bottling License</Original>
       <German>Abfüller-Lizenz</German>
      </Key>
      <Key ID="STR_License_MoonshineL">
       <Original>Moonshine License</Original>
       <German>Moonshine-Lizenz</German>
      </Key>
      <Key ID="STR_License_whiskeyL">
       <Original>Whiskey License</Original>
       <German>Whiskey-Lizenz</German>
      </Key>
      <Key ID="STR_Shops_MRMoonshine">
       <Original>MR. Moonshine</Original>
       <German>MR. Moonshine</German>
      </Key>
      <Key ID="STR_Shops_alkbar">
       <Original>Pub</Original>
       <German>Bar</German>
      </Key>
      <Key ID="STR_pInAct_Breathalyzer">
       <Original>Breathalyzer</Original>
       <German>Alkoholtest</German>
      </Key>
      <Key ID="STR_Crime_390">
       <Original>Public Intoxication</Original>
       <German>Trinken in der Oeffentlichkeit</German>
       <French>Public Intoxication</French>
       <Italian>Public Intoxication</Italian> 
       <Portuguese>Public Intoxication</Portuguese>
      </Key>
      Alles anzeigen

      core/Configuration.sqf | bei Backend Variables einfügen

      Spoiler anzeigen

      life_drink = 0;

      Config_Gather.hpp | In das "Packet" class Resources {}; mit rein

      Spoiler anzeigen

      class rye {

      amount = 2;

      zones[] = { "rye_1" };

      item = "";

      zoneSize = 30;

      };

      class yeast {

      amount = 2;

      zones[] = { "yeast_1" };

      item = "";

      zoneSize = 30;

      };

      class hops{

      amount = 2;

      zones[] = { "hops_1" };

      item = "";

      zoneSize = 30;

      };

      core/pmenu/fn_useItem.sqf

      Spoiler anzeigen

      case (_item in ["waterBottle","coffee","redgull"]): {

      Wird zu

      case (_item in ["waterBottle","coffee","redgull","bottledapplej"]): {

      Spoiler anzeigen

      case (_item isEqualTo "bottledwhiskey"): {

      if(([false,_item,1] call life_fnc_handleInv)) then {

      if(isNil "life_drink") then {

      life_drink = 0;

      };

      life_drink = life_drink + 0.06;

      [] spawn life_fnc_drinkwhiskey;

      };

      };

      case (_item isEqualTo "bottledshine"): {

      if(([false,_item,1] call life_fnc_handleInv)) then {

      if(isNil "life_drink") then {

      life_drink = 0;

      };

      life_drink = life_drink + 0.08;

      [] spawn life_fnc_drinkmoonshine;

      };

      };

      case (_item isEqualTo "bottledbeer"): {

      if(([false,_item,1] call life_fnc_handleInv)) then {

      if(isNil "life_drink") then {

      life_drink = 0;

      };

      life_drink = life_drink + 0.02;

      [] spawn life_fnc_drinkbeer;

      };

      };

      Functions.hpp unter Class Actions

      Spoiler anzeigen

      class dynprocess {};

      Functions.hpp unter Class Cop

      Spoiler anzeigen


      class breathalyzer {};

      Functions.hpp unter Class Items

      Spoiler anzeigen

      class drinkbeer {};
      class drinkmoonshine {};
      class drinkwhiskey {};

      core/fn_survival.sqf

      sucht nach

      //Setup the time-based variables.

      _foodTime = time;

      _waterTime = time;

      _walkDis = 0;

      und fügt folgendes darüber ein.

      Spoiler anzeigen

      [] spawn

      {

      while {true} do

      {

      waitUntil {(life_drink > 0)};

      while{(life_drink > 0)} do {

      if(life_drink > 0.08) then {

      "radialBlur" ppEffectEnable true;

      "radialBlur" ppEffectAdjust[0.08, 0,0.35,0.37];

      "radialblur" ppEffectCommit 3;

      sleep 240;

      life_drink = life_drink - 0.02;

      } else {

      "radialBlur" ppEffectEnable true;

      "radialBlur" ppEffectAdjust[0.05, 0,0.36,0.38];

      "radialBlur" ppEffectCommit 1;

      sleep 180;

      life_drink = life_drink - 0.02;

      };

      };

      "radialBlur" ppEffectAdjust [0,0,0,0];

      "radialblur" ppEffectCommit 5;

      "radialblur" ppEffectEnable false;

      life_drink = 0;

      };

      };

      core/action/fn_dynprocess.sqf erstellen mit folgendem Inhalt:

      Spoiler anzeigen

      #include "..\..\script_macros.hpp"

      /*

      BY OPTIX aka https://native-network.net/forum/thread/3…om/id/ryanthett

      THIS HEADER HAS TO BE LEFT UNCHANGED UNDER ALL CIRCUMSTANCES!

      CHANGING ANYTHING OF THE SCRIPT DOESN'T MAKE IT YOURS!

      */

      private ["_currentPos","_itemsBenoetigtArray","_lizenzBenoetigt","_lizenzKaufkosten","_produkt","_lizenzBoolean","_weiter","_itemHatAnzahlArray","_itemMussAnzahlArray","_indexAktuell","_itemMaximal","_minWert","_indexAktuellEnde","_anzahlMaxVerarbeiten"];

      // SONDERFÄLLE PRÜFEN

      if (isServer) exitWith {};

      if (vehicle player != player) then {hint "Du kannst nicht aus dem Fahrzeug verarbeiten!"};

      if (life_is_processing) exitWith {hint "Du verarbeitest bereits etwas!"};

      if(vehicle player != player) exitwith {hint format["Du befindest dich in einem Fahrzeug und kannst deshalb nichts verarbeiten!"]};

      // AB JETZT VERARBEITET DER SPIELER

      life_is_processing = true;

      // DEKLARIEREN DER BENÖTIGEN VARIABELN UND AUFRUFEN DER ÜBERGEBENEN PARAMETER

      _currentPos = position player;

      _itemsBenoetigtArray = [_this,0,[],[[]]] call BIS_fnc_param;

      _lizenzBenoetigt = [_this,1,"",[""]] call BIS_fnc_param;

      _lizenzKaufkosten = [_this,2,0,[0]] call BIS_fnc_param;

      _produkt = [_this,3,[],[[]]] call BIS_fnc_param;

      _lizenzBoolean = false;

      // LIZENZ PRÜFEN, WENN NICHT VORHANDEN KAUF VERSUCHEN

      call compile format ["_lizenzBoolean = %1",_lizenzBenoetigt];

      _nah = false;

      if (!_lizenzBoolean) then {

      if (CASH>=_lizenzKaufkosten) then {

      CASH = CASH - _lizenzKaufkosten;

      call compile format ["%1 = true",_lizenzBenoetigt];

      hint format ["Du hast eine Lizenz fuer %1 Dollar gekauft und kannst nun verarbeiten!",_lizenzKaufkosten];

      } else {

      hint format ["Leider hast du nicht %1 Dollar dabei, um eine Lizenz zu erwerben!",_lizenzKaufkosten];

      if (true) exitWith {life_is_processing = false;5 cutText ["","PLAIN"];_nah=true};

      };

      };

      if (_nah) exitWith {life_is_processing = false;5 cutText ["","PLAIN"]};

      // PRÜFEN, OB ITEMS VORHANDEN SIND

      _nah = false;

      {

      _itemsBenoetigtAktuell = _x;

      _itemName = _itemsBenoetigtAktuell select 0;

      _itemAnzahlBenoetigt = _itemsBenoetigtAktuell select 1;

      call compile format ["itemAnzahlHat = life_inv_%1",_itemName];

      if (_itemAnzahlBenoetigt>itemAnzahlHat) then {_nah = true};

      } forEach _itemsBenoetigtArray;

      if (_nah) exitWith {life_is_processing = false;5 cutText ["","PLAIN"];hint "Du hast nicht genuegend Items dabei!"};

      // PROGRESSBAR SCHALTEN

      disableSerialization;

      5 cutRsc ["life_progress","PLAIN"];

      _ui = uiNameSpace getVariable "life_progress";

      _progress = _ui displayCtrl 38201;

      _pgText = _ui displayCtrl 38202;

      _pgText ctrlSetText format["%2 (1%1)...","%","Verarbeite..."];

      _progress progressSetPosition 0.01;

      _cP = 0.01;

      _nah=false;

      while{true} do

      {

      sleep 0.3;

      _cP = _cP + 0.01;

      if (_cp<=1) then { _progress progressSetPosition _cP; };

      _pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%","Verarbeite..."];

      if(_cP >= 1) exitWith {};

      if(player distance _currentPos > 10) exitWith {hint "Du hast dich zu weit entfernt!";life_is_processing = false;5 cutText ["","PLAIN"];_nah=true};

      };

      if (_nah) exitWith {life_is_processing = false;5 cutText ["","PLAIN"]};

      // VERARBEITUNGSANZAHL BERECHNEN -> MATHE FTW

      _itemHatAnzahlArray = [];

      {

      _itemsBenoetigtAktuell = _x;

      _itemName = _itemsBenoetigtAktuell select 0;

      call compile format ["_itemHatAnzahlArray = _itemHatAnzahlArray + [life_inv_%1]",_itemName];

      } forEach _itemsBenoetigtArray;

      _itemMussAnzahlArray = [];

      {

      _itemsBenoetigtAktuell = _x;

      _itemAnzahlBenoetigt = _itemsBenoetigtAktuell select 1;

      call compile format ["_itemMussAnzahlArray = _itemMussAnzahlArray + [%1]",_itemAnzahlBenoetigt];

      } forEach _itemsBenoetigtArray;

      _indexAktuell = -1;

      _itemMaximal = [];

      {

      _indexAktuell = _indexAktuell + 1;

      _itemMaximal = _itemMaximal + [(floor ((_itemHatAnzahlArray select _indexAktuell)/(_itemMussAnzahlArray select _indexAktuell)))];

      } forEach _itemHatAnzahlArray;

      _minWert = _itemMaximal select 0;

      _indexAktuellEnde = 0;

      {

      _indexAktuellEnde = _indexAktuellEnde + 1;

      if (_x<_minWert) then {_minWert=_x};

      } forEach _itemMaximal;

      _anzahlMaxVerarbeiten = _minWert;

      // ITEMS ENTZIEHEN

      {

      _itemsBenoetigtAktuell = _x;

      [false,_itemsBenoetigtAktuell select 0,((_itemsBenoetigtAktuell select 1)*_anzahlMaxVerarbeiten)] call life_fnc_handleInv;

      } forEach _itemsBenoetigtArray;

      // ITEMS ADDEN

      {

      [true,_x select 0,((_x select 1)*_anzahlMaxVerarbeiten)] call life_fnc_handleInv;

      } forEach _produkt;

      //_toLog = format ["4|%1 (%2) hat %3 Mal %4 durch verarbeiten erhalten.", name player,getPlayerUID player,_anzahlMaxVerarbeiten,_produkt];

      //[[_toLog],"Arma3Log"] call life_fnc_MP;

      life_is_processing = false;

      5 cutText ["","PLAIN"];

      core/cop/fn_breathalyzer.sqf erstellen mit folgendem Inhalt:

      Spoiler anzeigen

      /*

      File: fn_breathalyzer.sqf

      Author: midgetgrimm

      Description:

      Allows Cops breathalyze Player

      */

      private["_cop","_drinky"];

      _cop = [_this,0,objNull,[objNull]] call BIS_fnc_param;

      if(isNull _cop) exitWith {};

      _drinky = life_drink;

      if(_drinky > 0.07) then {

      [[1,format["Alkoholtest: %1 \n\n Promille: %2 \n\n Das ist zuviel! ",name player,[_drinky] call life_fnc_numberText]],"life_fnc_broadcast",_cop,false] spawn life_fnc_MP;

      };

      else

      {};

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 25. Februar 2019 um 17:09
      • #2

      core/items/fn_drinkbeer.sqf erstellen mit folgendem Inhalt:

      Spoiler anzeigen

      /*

      File: fn_drinkbeer.sqf

      Author: midgetgrimm

      */

      closeDialog 0;

      hintSilent parseText format["Your BAC is now<br/> <t size='1.4'><t color='#FF0000'>%1</t></t>",[life_drink] call life_fnc_numberText];

      sleep 4;

      "chromAbberation" ppEffectEnable true; //Fehlerhaft?? Chrom

      "radialBlur" ppEffectEnable true;

      enableCamShake true;

      player setVariable["inDrink",true,true];

      for "_i" from 0 to 59 do

      {

      if(life_drink > 0.12) then {

      "chromAberration" ppEffectAdjust[0.16,random 0.16, true];

      "chromAberration" ppEffectCommit 1;

      "radialBlur" ppEffectAdjust [random 0.05,random 0.05,0.3,0.3];

      "radialBlur" ppEffectCommit 1;

      addcamShake[random 4, 2, random 4];

      sleep 1;

      } else {

      "chromAberration" ppEffectAdjust[0.05,random 0.05, true];

      "chromAberration" ppEffectCommit 1;

      "radialBlur" ppEffectAdjust [random 0.03,random 0.03,0.4,0.4];

      "radialBlur" ppEffectCommit 1;

      addcamShake[random 3, 1, random 3];

      sleep 1;

      };

      };

      if (life_drink > 0.22) then {

      titleText [localize "STR_MISC_DrunkBlackOut","BLACK OUT"];

      player playMoveNow "Incapacitated";

      //titleText[localize "STR_MISC_DrunkBlackOut","BLACK IN"];

      sleep 15;

      removeUniform player;removeVest player;

      player playMoveNow "AinjPpneMstpSnonWrf1Dnon_rolltoback";

      sleep 10;

      life_drink = 0;

      titleText[localize "STR_MISC_DrunkBlackOut1","PLAIN"];

      player playMoveNow "amovppnemstpsraswrf1dnon";

      [[0,format[localize "STR_MISC_StPubIntox",profilName]],"life_fnc_broadcast",nil,false] spawn life_fnc_MP;

      [[getPlayerUID player,profilName, "390"],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP;

      };

      //Stop effects

      player setVariable["inDrink",false,true];

      "chromAberration" ppEffectAdjust [0,0,true];

      "chromAberration" ppEffectCommit 5;

      "radialBlur" ppEffectAdjust [0,0,0,0];

      "radialBlur" ppEffectCommit 5;

      sleep 6;

      //Deaktivate ppEffects

      //"chromAberration" ppEffectEnable false;

      //"radialBlur" ppEffectEnable false;

      resetCamShake;

      if(life_drink != 0) then {life_drink = life_drink - 0.02;};

      core/items/fn_drinkmoonshine.sqf erstellen mit folgendem Inhalt:

      Spoiler anzeigen

      /*

      File: fn_drinkmoonshine.sqf

      Author: midgetgrimm

      */

      closeDialog 0;

      profilName = name player;

      hintSilent parseText format["Your BAC is now<br/> <t size='1.4'><t color='#FF0000'>%1</t></t>",[life_drink] call life_fnc_numberText];

      sleep 4;

      "chromAbberation" ppEffectEnable true; //Fehlerhaft?? Chrom

      "radialBlur" ppEffectEnable true;

      //"wetDistortion" ppEffectEnable true;

      enableCamShake true;

      player setVariable["inDrink",true,true];

      for "_i" from 0 to 89 do

      {

      if(life_drink > 0.15) then {

      "chromAberration" ppEffectAdjust [random 0.07,random 0.07, true];

      "chromAberration" ppEffectCommit 1;

      "radialBlur" ppEffectAdjust [random 0.04, 0.09,0.25, 0.29];

      "radialBlur" ppEffectCommit 1;

      addcamShake[random 4, 2, random 4];

      sleep 1;

      } else {

      "chromAberration" ppEffectAdjust[0.03,random 0.03, true];

      "chromAberration" ppEffectCommit 1;

      "radialBlur" ppEffectAdjust [random 0.03,random 0.03,0.43,0.43];

      "radialBlur" ppEffectCommit 1;

      addcamShake[random 4, 2, random 4];

      sleep 1;

      };

      };

      if (life_drink > 0.22) then {

      titleText [localize "STR_MISC_DrunkBlackOut","BLACK OUT"];

      // player setPos (getMarkerPos "drunk_1"); // Teleport zum marker

      player playMoveNow "Incapacitated";

      //titleText[localize "STR_MISC_DrunkBlackOut","BLACK IN"];

      sleep 15;

      removeUniform player;

      removeVest player;

      removeBackpackGlobal player;

      removeAllWeapons player;

      player playMoveNow "AinjPpneMstpSnonWrf1Dnon_rolltoback";

      sleep 10;

      life_drink = 0;

      titleText[localize "STR_MISC_DrunkBlackOut1","PLAIN"];

      player playMoveNow "amovppnemstpsraswrf1dnon";

      [[2,"STR_MISC_StPubIntox",true,[profileName]],"life_fnc_broadcast",true,false] call life_fnc_MP; //neu

      // [[0,format[localize "STR_MISC_StPubIntox",profilName]],"life_fnc_broadcast",nil,false] spawn life_fnc_MP;

      [[getPlayerUID player,profilName, "390"],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP;

      player switchmove "";

      };

      //Stop effects

      player setVariable["inDrink",false,true];

      "chromAberration" ppEffectAdjust [0,0,true];

      "chromAberration" ppEffectCommit 5;

      "radialBlur" ppEffectAdjust [0,0,0,0];

      "radialBlur" ppEffectCommit 5;

      sleep 6;

      //Deaktivate ppEffects

      "chromAberration" ppEffectEnable false;

      "radialBlur" ppEffectEnable false;

      resetCamShake;

      if(life_drink != 0) then {life_drink = life_drink - 0.02;};

      core/items/fn_drinkwhiskey.sqf erstellen mit folgendem Inhalt:

      Spoiler anzeigen

      /*

      File: fn_drinkwhiskey.sqf

      Author: midgetgrimm

      */

      closeDialog 0;

      hintSilent parseText format["Your BAC is now<br/> <t size='1.4'><t color='#FF0000'>%1</t></t>",[life_drink] call life_fnc_numberText];

      sleep 4;

      "chromAbberation" ppEffectEnable true; //Fehlerhaft?? Chrom

      "radialBlur" ppEffectEnable true;

      "colorCorrections" ppEffectEnable true;

      enableCamShake true;

      player setVariable["inDrink",true,true];

      for "_i" from 0 to 89 do

      {

      if(life_drink > 0.12) then {

      "chromAberration" ppEffectAdjust[0,random 0.15, false];

      "chromAberration" ppEffectCommit 1;

      "radialBlur" ppEffectAdjust [random 0.1,random 0.1,0.3,0.3];

      "radialBlur" ppEffectCommit 1;

      "colorCorrections" ppEffectAdjust[ 0.44, 0.76, 0.7, [0.1, -0.57, 0, 0.05], [1.8, 1.3, 0.3, 0.7],[0.2, 0.59, 0.11, 0]];

      "colorCorrections" ppEffectCommit 1;

      addcamShake[random 4, 2, random 4];

      sleep 1;

      } else {

      "chromAberration" ppEffectAdjust[0.05,random 0.05, true];

      "chromAberration" ppEffectCommit 1;

      "radialBlur" ppEffectAdjust [random 0.01,random 0.01,0.5,0.5];

      "radialBlur" ppEffectCommit 1;

      addcamShake[random 4, 2, random 4];

      sleep 1;

      };

      };

      if (life_drink > 0.22) then {

      titleText [localize "STR_MISC_DrunkBlackOut","BLACK OUT"];

      player playMoveNow "Incapacitated";

      titleText[localize "STR_MISC_DrunkBlackOut","BLACK IN"];

      sleep 15;

      removeUniform player;removeVest player;

      player playMoveNow "AinjPpneMstpSnonWrf1Dnon_rolltoback";

      sleep 10;

      life_drink = 0;

      titleText[localize "STR_MISC_DrunkBlackOut1","PLAIN"];

      player playMoveNow "amovppnemstpsraswrf1dnon";

      [[0,format[localize "STR_MISC_StPubIntox",profilName]],"life_fnc_broadcast",nil,false] spawn life_fnc_MP;

      [[getPlayerUID player,profilName, "390"],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP;

      };

      //Stop effects

      player setVariable["inDrink",false,true];

      "chromAberration" ppEffectAdjust [0,0,true];

      "chromAberration" ppEffectCommit 5;

      "colorCorrections" ppEffectAdjust[ 1, 1, 9, [0, 0, 0, 0],[1.8, 1.8, 0.3, 0.7],[0.2, 0.59, 0.11, 0]];

      "colorCorrections" ppEffectCommit 5;

      "radialBlur" ppEffectAdjust [0,0,0,0];

      "radialBlur" ppEffectCommit 5;

      sleep 6;

      //Deaktivate ppEffects

      "chromAberration" ppEffectEnable false;

      "radialBlur" ppEffectEnable false;

      "colorCorrections" ppEffectEnable false;

      resetCamShake;

      if(life_drink != 0) then {life_drink = life_drink - 0.02;};


      Kann dies mal bitte jemand testen un Rückmeldung geben? Ich kanns grade nicht testen :D

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 25. Februar 2019 um 21:25
      • #3

      Moin,

      mal eine kurze Frage wieso hast Du das nicht in der Config_Process hinterlegt und hast diese dann abgefragt? Würde das eine oder andere bestimmt einfacher machen 8o . Und das mit den Lizenzen wäre über die Missionconfig doch auch besser oder habe ich was verpasst?

      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 ?

    • Agora Roleplay
      Anfänger
      Reaktionen
      7
      Trophäen
      7
      Beiträge
      1
      Bilder
      18
      • 25. Februar 2019 um 22:27
      • #4

      Ich würde vorschlagen, du ersetzt die life_fnc_mp zu RemoteExec, da der Code so unter5.0 nicht laufen wird!

      [TUTORIAL][ALTIS LIFE] life_fnc_MP zu remoteExec | undefined variable in Expression 'life_fnc_MP'

      Agora Roleplay

      Forum: https://native-network.net/dereferer/?ref…GxheS5kZQ%3D%3D

      Server: play.agora-roleplay.de

      Teamspeak: ts.agora-roleplay.de

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 25. Februar 2019 um 22:32
      • #5

      Das ist in dem Code sowieso ausgegraut, wie so unglaublich vieles, was die Mission einfach nur unnötig zumüllt und keinerlei Funktion hat, da ausgegraut...

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 27. Februar 2019 um 13:52
      • #6

      So ich habe es heute mal geschafft den Kram in die Config_Process einzupflegen


      Code
      class mash {
              MaterialsReq[] = {{"cornmeal",1},{"waterbottle",1}};
              MaterialsGive[] = {{"mash",1}};
              Text = "STR_Process_Mash";
              //ScrollText = "Mix Cement";
              NoLicenseCost = 50000;
          };
          
          class Moonshine {
              MaterialsReq[] = {{"mash",1},{"yeast",1}};
              MaterialsGive[] = {{"Moonshine",1}};
              Text = "STR_Process_Moonshine";
              //ScrollText = "Mix Cement";
              NoLicenseCost = 50000;
          };
          
          class whiskey {
              MaterialsReq[] = {{"rye",1},{"yeast",1},{"waterbottle",1}};
              MaterialsGive[] = {{"whiskey",1}};
              Text = "STR_Process_Whiskey";
              //ScrollText = "Mix Cement";
              NoLicenseCost = 50000;
          };
          
          class beerp {
              MaterialsReq[] = {{"hops",1},{"yeast",1},{"waterbottle",1}};
              MaterialsGive[] = {{"beerp",1}};
              Text = "STR_Process_Beer";
              //ScrollText = "Mix Cement";
              NoLicenseCost = 50000;
          };
          
          class applej {
              MaterialsReq[] = {{"apple",1},{"waterbottle",1}};
              MaterialsGive[] = {{"applej",1}};
              Text = "STR_Process_AppleJuice";
              //ScrollText = "Mix Cement";
              NoLicenseCost = 50000;
          };
      Alles anzeigen

      die NPC müssten dann wie folgt geändert werden

      1. NPC

      Code
      this allowDamage false;
      this enableSimulation false;
      this addAction [ "Process Mash",life_fnc_processAction,"mash",0,false,false,"",'',5];
      this addAction[format["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "mashL" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "mashL" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"mashL",0,false,false,"",'!license_civ_mashL && playerSide isEqualTo civilian',5];
      this addAction [ "Process Moonshine",life_fnc_processAction,"moonshine",0,false,false,"",'',5 ];
      this addAction[format["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "MoonshineL" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "MoonshineL" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"MoonshineL",0,false,false,"",' !license_civ_MoonshineL && playerSide isEqualTo civilian ',5];
      this addAction [ "Process Whiskey",life_fnc_processAction,"whiskey",0,false,false,"",'',5];
      this addAction[format["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "WhiskeyL" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "WhiskeyL" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"WhiskeyL",0,false,false,"",' !license_civ_WhiskeyL && playerSide == civilian ',5];

      2. NPC

      Code
      this allowDamage false;
      this enableSimulation false; this addAction [ ""Brew Beer"",life_fnc_processAction,"beerp",0,false,false,"",'',5];
      this addAction [ ""Mix Apple juice"",life_fnc_processAction,"applej",0,false,false,"",'',5];
      this addAction[format["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "liquor" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "liquor" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"liquor",0,false,false,"",' !license_civ_liquor && playerSide == civilian ',5];

      Die Lizenzen müssen in der Config noch angepasst werden bzw. in der fn_processAction muss noch eine Erweiterung gemacht werden. Die Anleitung existiert aber bereits im Forum.

      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 ?

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 3. März 2019 um 23:20
      • #7
      Zitat von Agora Roleplay

      Ich würde vorschlagen, du ersetzt die life_fnc_mp zu RemoteExec, da der Code so unter5.0 nicht laufen wird!

      [TUTORIAL][ALTIS LIFE] life_fnc_MP zu remoteExec | undefined variable in Expression 'life_fnc_MP'

      Du hast recht. Der Alkoholtester geht garantiert nicht.... Der Rest sollte allerdinga funktionieren. Update ich morgen

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Hannkok
      Schüler
      Reaktionen
      18
      Trophäen
      11
      Beiträge
      146
      • 20. März 2019 um 11:47
      • #8

      funktioniert das mittlerweile einwandfrei? Und klappt das mit dem Alkoholtester?

      MFG
      Pascal

      Projektleitung // Pascal Schulz

      Website: https://dieweltenbummler.eu/

      YouTube Channel: Youtube-Klickmich

      Teamspeak 3 Server: Hier drücken

      Discord: https://discord.gg/FbvsCCHV

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 20. März 2019 um 12:35
      • #9
      Zitat von Hannkok

      funktioniert das mittlerweile einwandfrei? Und klappt das mit dem Alkoholtester?

      MFG
      Pascal

      Ja tut es

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • badidas
      Anfänger
      Reaktionen
      21
      Trophäen
      7
      Beiträge
      80
      • 15. August 2019 um 21:15
      • #10

      danke für das tolle tutorial!

      9402615135.png

    • Marcos_Anthony
      Frischling
      Trophäen
      7
      Beiträge
      11
      • 13. März 2020 um 13:12
      • #11
      Zitat von moeck

      Die Lizenzen müssen in der Config noch angepasst werden bzw. in der fn_processAction muss noch eine Erweiterung gemacht werden. Die Anleitung existiert aber bereits im Forum.

      Magst du evtl. ein Link einfügen von dem post ? Ich hab die SuFu grad 3 Stunden lang gequält und nichts gefunden

      Danke.

      LG

    Registrieren oder Einloggen

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

    Registrieren

    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™