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: 23 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

    [4.4R4/5.X] Sammelbare Rohstoffe wie Pfirsiche,Äpfel etc. ebenfalls mit Prozenten Versehen wie es beim Minen schon Vorhanden ist

      • Altis Life
    • Marius1773
    • 1. April 2018 um 08:14
    • Marius1773
      Profi
      Reaktionen
      369
      Trophäen
      9
      Beiträge
      962
      • 1. April 2018 um 08:14
      • #1

      Moinsen, Bitte trotzdem bedenken immer ein Backup machen! Auch wenn nichts schiefgehen sollte...

      heute wollte ich nochmal einheitlich erklären wie ihr das machen könnt das ihr ebenfall wie man es bei dem hier sehen kann:

      Code
      class copper_unrefined
          {
                  amount = 2;
              zones[] = { "copper_mine" };
              item = "pickaxe";
              mined[] = { {"copper_unrefined",0,25},{"iron_unrefined",25,95},{"diamond_uncut",95,100} };
          };

      sieht man dort mined[] = // Das wurde so gemacht das man wie man bei

      Code
      "copper_unrefined",0,25"

      sehen kann hat man hier 25% auf nicht verarbeitetes Kupfer.

      So sehen wir uns das ganz oben bei den Pfirsichen an gibt es keine Möglichkeit Prozente einzufügen.

      Dies ändern wir indem ihr eure fn_gather.sqf mit dieser hier ersetzt:

      Code: fn_gather.sqf
      #include "..\..\script_macros.hpp"
       /*
       File: fn_gather.sqf
       Author: Devilfloh
       Editor: Dardo
       Editor for Percentage: Marius1773
       Description:
       fn_gather hat hoffentlich nun die Eigenschaft mit Prozenten auch zu handeln
       */
      private ["_maxGather", "_resource", "_amount", "_requiredItem", "_gathered"];
      if (life_action_inUse) exitWith {};
      if !(isNull objectParent player) exitWith {};
      if (player getVariable "restrained") exitWith {
       hint localize "STR_NOTF_isrestrained";
      };
      _exit = false;
      if (player getVariable "playerSurrender") exitWith {
       hint localize "STR_NOTF_surrender";
      };
      life_action_inUse = true;
      _zone = "";
      _requiredItem = "";
      _resourceCfg = missionConfigFile >> "CfgGather" >> "Resources";
      _percent = (floor random 100) + 1; //Make sure it's not 0
      for "_i" from 0 to count(_resourceCfg)-1 do {
       _curConfig = _resourceCfg select _i;
       _resources = getArray(_curConfig >> "gathered");
       _maxGather = getNumber(_curConfig >> "amount");
       _zoneSize = getNumber(_curConfig >> "zoneSize");
       _resourceZones = getArray(_curConfig >> "zones");
       _requiredItem = getText(_curConfig >> "item");
       _gathered = "";
       if (_resources isEqualTo []) exitWith {}; //Smart guy :O
       for "_i" from 0 to count (_resources) do {
       if (count _resources isEqualTo 1) exitWith {
       if (!((_resources select 0) isEqualType [])) then {
       _gathered = _resources select 0;
       } else {
       _gathered = (_resources select 0) select 0;
       };
       };
       _resource = (_resources select _i) select 0;
       _prob = (_resources select _i) select 1;
       _probdiff = (_resources select _i) select 2;
       if ((_percent >= _prob) && (_percent <= _probdiff)) exitWith {
       _gathered = _resource;
       };
       };
       {
       if ((player distance(getMarkerPos _x)) < _zoneSize) exitWith {
       _zone = _x;
       };
       } forEach _resourceZones;
       if (_zone != "") exitWith {};
      };
      if (_zone isEqualTo "") exitWith {
       life_action_inUse = false;
      };
      if (_requiredItem != "") then {
       _valItem = missionNamespace getVariable "life_inv_" + _requiredItem;
       if (_valItem < 1) exitWith {
       switch (_requiredItem) do {
       };
       life_action_inUse = false;
       _exit = true;
       };
      };
      if (_exit) exitWith {
       life_action_inUse = false;
      };
      _amount = round(random(_maxGather)) + 1;
      _diff = [_gathered, _amount, life_carryWeight, life_maxWeight] call life_fnc_calWeightDiff;
      if (_diff isEqualTo 0) exitWith {
       hint localize "STR_NOTF_InvFull";
       life_action_inUse = false;
      };
      switch (_requiredItem) do {
       case "pickaxe": {[player,"mining",35,1] remoteExecCall ["life_fnc_say3D",RCLIENT]};
       default {[player,"harvest",35,1] remoteExecCall ["life_fnc_say3D",RCLIENT]};
      };
      for "_i" from 0 to 4 do {
       player playMoveNow "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";
       waitUntil {
       animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";
       };
       sleep 0.5;
      };
      if (([true, _gathered, _diff] call life_fnc_handleInv)) then {
       _itemName = M_CONFIG(getText, "VirtualItems", _gathered, "displayName");
       titleText[format [localize "STR_NOTF_Mine_Success", (localize _itemName), _diff], "PLAIN"];
      };
      sleep 2.5;
      life_action_inUse = false;
      Alles anzeigen

      und in der Config_Gather.hpp müsst ihr bei jeder Ressource gathered[] = hinzufügen also müsste es so aussehen

      Code: Config_Gather.hpp
      class CfgGather {
       class Resources {
       class apple {
      
       amount = 2;
       zones[] = { "apple_1", "apple_2", "apple_3", "apple_4" };
       item = "";
       gathered[] = {"apple"};
       zoneSize = 30;
       };
       class peach {
      
       amount = 5;
       zones[] = { "peaches_1", "peaches_2", "peaches_3", "peaches_4" };
       item = "";
       gathered[] = {"peach"};
       zoneSize = 30;
       };
       class heroin_unprocessed {
      
       amount = 3;
       zones[] = { "heroin_1" };
       item = "";
       gathered[] = {"heroin_unprocessed"};
       zoneSize = 30;
       };
       class cocaine_unprocessed {
      
       amount = 3;
       zones[] = { "cocaine_1" };
       item = "";
       gathered[] = {"cocaine_unprocessed"};
       zoneSize = 30;
       };
       class cannabis {
      
       amount = 3;
       zones[] = { "weed_1" };
       item = "";
       gathered[] = { {"cannabis",0,10},{"Wunschprodukt",10,100} };  //Cannabis 90% und Wunschprodukt hat 10%
       zoneSize = 30;
            };
       };
      Alles anzeigen

      Ich hoffe es hat alles soweit geklappt und es ist verständlich genug.

      Mit freundlichen Grüßen

      Marius1773

      Windows Server :love:

      Das Heilige Buch der Arma 3 Scripter, die Arma 3 Scripter Bibel: https://community.bistudio.com/wiki/Category:Scripting_Commands

    • Unsiichtbar
      Frischling
      Reaktionen
      4
      Trophäen
      11
      Beiträge
      21
      • 1. April 2018 um 08:16
      • #2

      Hab ich getestet und hat zu 100% so funktioniert wie es soll!

    • SAMSON
      Profi
      Reaktionen
      263
      Trophäen
      9
      Beiträge
      961
      Dateien
      8
      • 1. April 2018 um 09:15
      • #3
      Zitat von Marius1773

      gathered[] = { {"cannabis",0,10},{"Wunschprodukt",10,100} }; //Cannabis 90% und Wunschprodukt hat 10%

      so ne ganz doofe frage... :D gehört bei {"cannabis",0,10} statt der 0 eig. 90? oder ist 0 eine 90 ?! ^^

      hat sich geklärt :D:D:D

      Ich bin kein Profi sondern versuche lediglich zu helfen!;)


      dc.salty-bay.de

      Weird flex! :whistling:

      The flex!
      Panel-Inhalt

    Registrieren oder Einloggen

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

    Registrieren

    Benutzer online in diesem Thema

    • 1 Besucher

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™