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
Mi: 04 Juni 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. Hilfeforum

    Farmen mit der Spitzhacke nur übers Z Inv möglich und nicht über Q oder Windowstaste

    • AtOmiXHD
    • 6. März 2018 um 23:03
    • Erledigt
    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 6. März 2018 um 23:03
      • #1

      Hi, ich habe das Problem das ich nur über das Z inv dann auf Spitzhacke benutzen gehen muss um etwas abzubauen. Ich möchte das aber gerne auf die Q Taste legen habe die Dateien vom Server schon geändert aber alles was hier im Forum steht funktioniert nicht. ;(

      Ich bräuchte mal Hilfe. Ich habe im Anhang mal die fn_keyhandler angehangen.

      Mfg

      Dateien

      fn_keyHandler(1).sqf 16,23 kB – 164 Downloads
    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 7. März 2018 um 09:19
      • #2

      Moin,

      also es wäre mal schön zu wissen welche Version Du verwendest. Mir scheint so, dass es eine ältere ist ;) . Hier mal ein Codeschnipsel zum Testen. Achtung hierbei handelt es sich um ein sehr alten Version, da wir das komplett anders gelöst haben in der aktuellen Version.

      Code
      case 16: {    
              if((!life_action_inUse) && (vehicle player isEqualTo player) ) then {
                  if(life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
                  {
                      _str = [_x] call life_fnc_varToStr;
                      _val = missionNameSpace getVariable _x;
                      if(_val > 0 ) then
                      {
                          if( _str isEqualTo "Spitzhacke" || _str isEqualTo "pickaxe" ) then
                          {
                              [] spawn life_fnc_pickAxeUse;
                          };
                      };
                  } foreach life_inv_items;
              };
          };
      Alles anzeigen

      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 ?

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 7. März 2018 um 14:30
      • #3

      Moin, vielen dank wir 4.0 ich teste es mal

      Mfg

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 7. März 2018 um 14:42
      • #4

      Ich habs mal getestet mit dem Script funktioniert es nicht. :(  moeck

      Einmal editiert, zuletzt von AtOmiXHD (7. März 2018 um 15:15)

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 7. März 2018 um 15:45
      • #5

      ich kenne leider die 4.0 nicht, das müsste man sich mal genauer anschauen.

      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 ?

    • shoXy
      Nerd
      Reaktionen
      161
      Trophäen
      10
      Beiträge
      726
      • 7. März 2018 um 15:49
      • #6

      Vielleicht funktioniert es, müsstes du ausprobieren

      Code
      case 16: {
          if(_shift && (!life_action_inUse) && (vehicle player == player)) then {
              _item = "";
              {
                  if(typeName _x == typeName "") then {_item = _x;} else {_item = configName _x};
                  _val = ITEM_VALUE(_item);
                  if(_val > 0 ) then
                  {
                      if( _item == "pickaxe" ) then {
                          [] spawn life_fnc_mine;
                      };
                  };
              } foreach ("true" configClasses (missionConfigFile >> "VirtualItems"));
          };
      };
      Alles anzeigen
    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 7. März 2018 um 16:00
      • #7

      bin mir da nicht sicher wann auf Configs umgestellt wurde ;) , aber einen versuch ist es wert

      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 ?

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 7. März 2018 um 16:37
      • #8

      Alles klar, shoXy ich habe das gerade getestet aber es geht auch nicht.

      Mfg

    • Virus_
      Anfänger
      Reaktionen
      10
      Trophäen
      9
      Beiträge
      63
      • 7. März 2018 um 23:21
      • #9
      Zitat von AtOmiXHD

      Hi, ich habe das Problem das ich nur über das Z inv dann auf Spitzhacke benutzen gehen muss um etwas abzubauen. Ich möchte das aber gerne auf die Q Taste legen habe die Dateien vom Server schon geändert aber alles was hier im Forum steht funktioniert nicht. ;(

      Ich bräuchte mal Hilfe. Ich habe im Anhang mal die fn_keyhandler angehangen.

      Mfg

      Bekommst du Fehlermeldungen?

      Hast du sichergestellt, dass der Case überhaupt aktiviert wird(mal einen Hint als erstes ausgeben)?

      Vergleiche den Code, der beim Klick im Z-Inventarmenü aktiviert wird:

      Dialogs/player_inv.hpp => Default dürfte life_fnc_useitem (core/pmenu/fn_useitem.sqf) sein. Von dort aus müsste im Default nur life_fnc_pickaxeuse aufgerufen werden (core/items/fn_pickAxeUse.sqf).

      Falls das nicht so ist, musst du deinen Aufruf im Keyhandler eben anpassen.

      Ansonsten schaue doch bitte noch in core/functions/fn_actionKeyHandler.sqf . Da dürfte normalerweise auch was zur Spitzhacke drin sein (im Vanilla Altis Life). Das ist bei dir vielleicht nur auskommentiert und du kannst dir da was abschauen.

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 8. März 2018 um 15:45
      • #10

      Virus_ :| ich kenne mich leider nicht so gut aus wie du ^^ also weiß ich nicht genau was du von mir willst Fehlermeldungen sehe ich keine . In der Player_inv.hpp sehe ich nur das wo etwas mit call life_fnc_useItem steht.

      Code
      class UseButton: life_RscButtonMenu
              {
                  text = "B";
                  x = 0.565625 * safezoneW + safezoneX;
                  y = 0.5308 * safezoneH + safezoneY;
                  w = 0.0170625 * safezoneW;
                  h = 0.0308 * safezoneH;
                  onButtonClick = "[] call life_fnc_useItem;";
                  tooltip = "Benutzen";
              };

      Und in der fn_useItem.spf stehe nur das bezüglich life_fnc_pickAxeUse.

      Code
      case (EQUAL(_item,"pickaxe")): {
              [] spawn life_fnc_pickAxeUse;
          };

      Und in der fn_pickaxeUse.sqf steht das drin falls es dir irgendwie hilft.

      Code
      #include <macro.h>
      /*
          File: fn_pickaxeUse.sqf
          Author: Bryan "Tonic" Boardwine
          
          Description:
          Main functionality for pickaxe in mining.
      */
      closeDialog 0;
      private["_mine","_itemWeight","_diff","_itemName"];
      _mine = [];
      
      switch (true) do {
          case (player distance (getMarkerPos "lead_1") < 30): {_mine = ["copper_unrefined",2];};
          case (player distance (getMarkerPos "iron_1") < 30): {_mine = ["iron_unrefined",2];};
          case (player distance (getMarkerPos "salt_1") < 120) : {_mine = ["salt_unrefined",4];};
          case (player distance (getMarkerPos "sand_1") < 75) : {_mine = ["sand",5];};
          case (player distance (getMarkerPos "diamond_1") < 50): {_mine = ["diamond_uncut",1];};
          case (player distance (getMarkerPos "oil_1") < 40) : {_mine = ["oil_unprocessed",1];};
          case (player distance (getMarkerPos "oil_2") < 40) : {_mine = ["oil_unprocessed",1];};
          case (player distance (getMarkerPos "rock_1") < 50): {_mine = ["rock",2];};
          default {["", 0]};
      };
      //Mine check
      if(EQUAL(SEL(_mine, 0),"")) exitWith {hint localize "STR_ISTR_Pick_NotNear"};
      if(vehicle player != player) exitWith {hint localize "STR_ISTR_Pick_MineVeh";};
      
      _diff = [SEL(_mine,0),SEL(_mine,1),life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff;
      
      if(EQUAL(_diff,0)) exitWith {hint localize "STR_NOTF_InvFull"};
      
      life_action_inUse = true;
      for "_i" from 0 to 2 do {
          player playMove "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";
          waitUntil{animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";};
          sleep 2.5;
      };
      
      if(([true,SEL(_mine,0),_diff] call life_fnc_handleInv)) then {
          _itemName = M_CONFIG(getText,"VirtualItems",SEL(_mine,0),"displayName");
          titleText[format[localize "STR_ISTR_Pick_Success",(localize _itemName),_diff],"PLAIN"];
      };
      
      life_action_inUse = false;
      life_action_pickaxeInUse = false;
      Alles anzeigen

      Mfg

    • Virus_
      Anfänger
      Reaktionen
      10
      Trophäen
      9
      Beiträge
      63
      • 9. März 2018 um 01:58
      • #11

      @At0miXHD

      soweit so gut. Sieht so aus, als wäre der entscheidende und funktionierende Aufruf über das Z-Inventar am Ende [] spawn life_fnc_pickAxeUse;

      Der passiert auch so in deinem KeyHandler:

      Code
      //Q Key
         case 16: {
          if (life_inv_pickaxe > 0) then {
           if(life_action_inUse) exitwith {}; 
           if(life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
           [] spawn {
             private "_handles";    
             if(life_action_inUse) exitwith {};    
             life_action_inUse = true;
             _handles = [] spawn life_fnc_pickAxeUse;
             waitUntil {scriptDone _handles};
             sleep 1;
             life_action_inUse = false;
           };
          };
         };
      Alles anzeigen

      Was könnte das Skript also davon abhalten die entsprechende Zeile auszuführen?

      Ich gehe mal von innen nach außen:
      1. if(life_action_inUse) exitwith {};hier haben wir eine klassische Abbruchbedingung. Übrigens eine sehr häufig auftretende bei AltisLife. Da der Wert aber erst nach dem Überprüfen auf wahr gesetzt wird und es vorher keinen Grund zur Annahme gibt, dass der Wert vorher schonmal true war, ignoriere ich das jetzt einfach. Testen könnte man das ganze aber, indem man innerhalb des exitwith codeblocks eine Ausgabe einbaut(hint, globalChat, diag_log)

      2. if(life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;}; Wieder eine Abbruchbedingung. Da ist aber schon eine Ausgabe drin über den titleText. Falls es hieran scheitert, hättest du es bereits mitbekommen.

      3. if(life_action_inUse) exitwith {};Nochmal. vgl 1.

      4. if (life_inv_pickaxe > 0)diese Bedingung muss erfüllt sein. Ist sie das wirklich? Einfach mal for diesem IF eine Ausgabe einbauen: hint str life_inv_pickaxeund schon kennen wir den Wert. Oder der Wert erscheint nicht? Dann muss das Problem noch höher liegen:

      5. Das Skript landet nie in diesem "case": Und das ist auch schon dein Fehler. Es gibt bereits eine Tastenbelegung für Q, also auch einen case 16. Vergleiche die Zeilen 274 und folgende.

      Wie kann man das rausfinden? Entweder man durchsucht seinen Code mittels des Editors auf den case 16, oder man baut wieder eine Ausgabe in dem case-block ein und schaut, ob diese ausgegeben wird.

      Lösung:

      Den bestehenden case erweitern. Der Code der früheren Zeilen 274-288 ist danach etwas länger und sieht in etwa so aus:

      Code
      case 16:
          {
              // Sirene für Cops
              if(_shift && playerSide == west && !(life_siren2_active) && vehicle player != player && ((driver vehicle player) == player)) then
              {
                  _veh = vehicle player;
                  [[_veh,"stop_car"],"life_fnc_globalSound",true,false] spawn life_fnc_MP;
                  [] spawn
                  {
                      life_siren2_active = true;
                      sleep 3.5;
                      life_siren2_active = false;
                  };
                  _handled = true;    
              } else {
                  //Farmingtaste
                  if (life_inv_pickaxe > 0) then {
                      if(life_action_inUse) exitwith {}; 
                      if(life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
                      [] spawn {
                          private "_handles";    
                          if(life_action_inUse) exitwith {};    
                              life_action_inUse = true;
                          _handles = [] spawn life_fnc_pickAxeUse;
                          waitUntil {scriptDone _handles};
                          sleep 1;
                          life_action_inUse = false;
                      };
                      _handled = true;
                  };
              };
          };
      Alles anzeigen

      So ich danke fürs lesen und hoffe du nimmst etwas mehr mit als nur die Lösung. Hilf dir selbst und überprüfe Schritt für Schritt die Abläufe. Bau dafür Ausgaben(z.B. hint, globalChat, diag_log) ein und teste das ganze!

      Und bitte bitte bitte... formatiere deinen Code.

      Zum Thema Fehlermeldungen[Nur, falls du es noch nicht wusstest!]: Im Arma3 Launcher unter Parameter den Haken bei "Keine Logs"(findest du unter Erweitert) rausmachen und den Haken bei "Zeigt Skriptfehler"(findest du unter Autor) rein machen. Dann siehst du Fehlermeldungen auf jedem Server(manchmal ganz interessant, was andere alles so verkacken) immer gleich auf dem Bildschirm während dem Spiel und kannst sie danach noch in den Logs nachlesen. Die findest du übrigens normalerweise unter C:\Users\BENTUZER\AppData\Local\Arma 3. Es sind normale Textfiles, welche allerdings auf .rpt enden. Kannste mit jedem Editor anschauen

      Wünsche einen ruhigen Freitag und einen guten Start ins Wochenende

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 9. März 2018 um 21:45
      • #12

      Moin, habs jetzt eingefügt so wie du meintest jetzt kommt allerdings ein neuer Fehler der vorher nicht da war.

      allerdings fehlt dort keins.

      Externe Verlinkung administrativ entfernt

      Code
      */
      private ["_handled","_shift","_alt","_code","_ctrl","_alt","_ctrlKey","_veh","_locked","_interactionKey","_mapKey","_interruptionKeys"];
      _ctrl = SEL(_this,0);
      _code = SEL(_this,1);
      _shift = SEL(_this,2);
      _ctrlKey = SEL(_this,3);
      _alt = SEL(_this,4);
      _speed = speed cursorTarget;
      _handled = false;

      Mfg

      Dir auch ein schönes Wochenende

    • AvirexDE
      Meister
      Reaktionen
      784
      Beiträge
      1.917
      Dateien
      1
      Bilder
      39
      • 9. März 2018 um 23:15
      • #13

      AtOmiXHD häng mal die fn_keyhandler.sqf per Dateianhang an. ;)

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

      ▀ Freundliche Grüße ▀

      giphy.gif

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 10. März 2018 um 00:18
      • #14

      Moin Avirex im Anhang ist die fn_keyhandler.

      Mfg

      Dateien

      fn_keyHandler(1).sqf 17,25 kB – 217 Downloads
    • Virus_
      Anfänger
      Reaktionen
      10
      Trophäen
      9
      Beiträge
      63
      • 13. März 2018 um 15:31
      • #15

      Was sagt denn die Fehlermeldung?

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 13. März 2018 um 21:03
      • #16

      Moin das ist die Fehlermeldung allerdings habe ich schon einmal alles zurück gesetzt und nochmal installiert. Da kam eine andere Fehlermeldung.

      Mfg

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. März 2018 um 21:31
      • #17

      hänge mal dein clientlog an

      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 ?

    • AtOmiXHD
      Anfänger
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      30
      • 15. März 2018 um 15:48
      • #18

      Moin, Sorry für die verspätete Antwort. Im Anhang ist der Client log.

      Dateien

      Arma3_x64_2018-03-12_22-46-56.rpt 79,81 kB – 232 Downloads
    • faeN
      Frischling
      Reaktionen
      2
      Trophäen
      9
      Beiträge
      9
      • 18. März 2018 um 22:59
      • #19

      Naja oder man macht es wie ich mit der 5.0er Version :D Habs mal für die 4er editiert. Kp obs funzt, müsste aber.

      Zitat von core\functions\fn_farming.sqf

      #include <macro.h>

      /*
      File: fn_farming.sqf

      */

      private["_curTarget","_isWater"];

      _curTarget = cursorTarget;

      if(life_action_inUse) exitWith {}; //Action is in use, exit to prevent spamming.

      if(life_action_gathering) exitWith {};

      if(life_interrupted) exitWith {life_interrupted = false;};

      _isWater = surfaceIsWater (visiblePositionASL player);

      if(isNull _curTarget) exitWith {

      if(_isWater) then {

      private "_fish";

      _fish = (nearestObjects[visiblePosition player,["Fish_Base_F"],3]) select 0;

      if(!isNil "_fish") then {

      [_fish] call life_fnc_catchFish;

      };

      } else {

      if(playerSide == civilian && !life_action_gathering) then {

      _handle = [] spawn life_fnc_gather;

      waitUntil {scriptDone _handle};

      life_action_gathering = false;

      };

      };

      };


      if(!alive _curTarget && _curTarget isKindOf "Animal" && !(EQUAL((typeOf _curTarget),"Turtle_F"))) exitWith {

      [_curTarget] call life_fnc_gutAnimal;

      };

      Alles anzeigen
      Zitat von Functions.h


      Unter der

      class Functions {

      .

      .

      class farming {}; <-- dieses!!

      };

      eintragen

      Alles anzeigen
      Zitat von core\functions\fn_keyHandler.sqf

      //Q Key: Farmen

      case 16: {

      if (!life_action_inUse) then {

      [] spawn {

      private "_handle";

      _handle = [] spawn life_fnc_farming;

      waitUntil {scriptDone _handle};

      life_action_inUse = false;

      };

      };

      };

      Alles anzeigen

      das wars.

      Wie gesagt ich hab es jetzt mal für die 4.0 gemacht, aber noch nicht getestet.

    Registrieren oder Einloggen

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

    Registrieren

    Tags

    • farmen
    • spitzhacke
    • windowstaste

    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™