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: 16 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. Hilfeforum

    Repairkits Benutzen wenn kein ADAC online ist

    • riesensika
    • 25. August 2017 um 19:28
    • Erledigt
    • riesensika
      Kenner
      Reaktionen
      29
      Trophäen
      9
      Beiträge
      332
      Dateien
      6
      Bilder
      60
      • 25. August 2017 um 19:28
      • #1

      hi

      Guten tag ich hätte eine frage,

      wie kann ich das machen das Zivillisten nur repair kits benutzen können wenn kein ADAC online ist

      Ich besitze einen Root Server.

      also wenn ich richtrig lige muss man irgend wie die fraktion abfragen


      Danke im vorauf

      MFG

      riesensika

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 25. August 2017 um 19:36
      • #2

      Schau mal wie es bei dem Tankstellen Überfällen gemacht ist. Dort wird abgefragt ob Cops online sind und wieviele.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 25. August 2017 um 20:52
      • #3

      Schau mal ich hab da was gebastelt, denke so sollte es gehen. So sollten Cops und Medics auf 100% reparieren können und Civs wenn keine Medics online sind auf 75% und wenn Medics online, dann garnicht. Versuch es mal ich habs nicht getestet nur kurz zusammen gebastelt :)

      C: fn_repairTruck.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_repairTruck.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Main functionality for toolkits, to be revised in later version.
      */
      private ["_veh","_upp","_ui","_progress","_pgText","_cP","_displayName","_test","_sideRepairArray", "_medicsOnline"];
      _medicsOnline = {_x != player && {side _x isEqualTo independent} && {alive _x}} count playableUnits > 0; //Check if medics (indep) are in the room.
      _veh = cursorObject;
      life_interrupted = false;
      if (isNull _veh) exitWith {};
      if ((_veh isKindOf "Car") || (_veh isKindOf "Ship") || (_veh isKindOf "Air")) then {
          if (life_inv_toolkit > 0) then {
              life_action_inUse = true;
              _displayName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _veh),"displayName");
              _upp = format [localize "STR_NOTF_Repairing",_displayName];
      
              //Setup our progress bar.
              disableSerialization;
              "progressBar" cutRsc ["life_progress","PLAIN"];
              _ui = uiNamespace getVariable "life_progress";
              _progress = _ui displayCtrl 38201;
              _pgText = _ui displayCtrl 38202;
              _pgText ctrlSetText format ["%2 (1%1)...","%",_upp];
              _progress progressSetPosition 0.01;
              _cP = 0.01;
              
              for "_i" from 0 to 1 step 0 do {
                  if (animationState player != "AinvPknlMstpSnonWnonDnon_medic_1") then {
                      [player,"AinvPknlMstpSnonWnonDnon_medic_1",true] remoteExecCall ["life_fnc_animSync",RCLIENT];
                      player switchMove "AinvPknlMstpSnonWnonDnon_medic_1";
                      player playMoveNow "AinvPknlMstpSnonWnonDnon_medic_1";
                  };
      
                  sleep 0.27;
                  _cP = _cP + 0.01;
                  _progress progressSetPosition _cP;
                  _pgText ctrlSetText format ["%3 (%1%2)...",round(_cP * 100),"%",_upp];
                  if (_cP >= 1) exitWith {};
                  if (!alive player) exitWith {};
                  if !(isNull objectParent player) exitWith {};
                  if (life_interrupted) exitWith {};
              };
      
              life_action_inUse = false;
              "progressBar" cutText ["","PLAIN"];
              player playActionNow "stop";
              if (life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
              if !(isNull objectParent player) exitWith {titleText[localize "STR_NOTF_ActionInVehicle","PLAIN"];};
      
              _sideRepairArray = LIFE_SETTINGS(getArray,"vehicle_infiniteRepair");
              
              //There is medics let's send them the request.
              if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
                  //Check if playerSide has infinite repair enabled
                  if (_medicsOnline) exitWith { ["Die Medics stehen für diese Aufgabe bereit!","fast","red"] spawn life_fnc_message; };
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0.25;
              };            
              if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0.25;
              };
              if (playerSide isEqualTo west && (_sideRepairArray select 1) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0;
              };
              if (playerSide isEqualTo independent && (_sideRepairArray select 2) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0;
              };
              if (playerSide isEqualTo east && (_sideRepairArray select 3) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0;
              };
      
              //_veh setDamage 0;
              titleText[localize "STR_NOTF_RepairedVehicle","PLAIN"];
          };
          
      };
      Alles anzeigen

      Aso, in der Zeile 58 hab ich eine andere Message Funktion drin, dort solltest du stattdessen einen hint einbauen.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 25. August 2017 um 22:13
      • #4

      Bin grad bissl dr***** (für kids), schau einfach mal obs geht :)))))))))))))

      Code
      _adac = (independent countSide playableUnits);
      if(_adac < 1) exitWith{hint "Es ist eine ADAC Online du Wurst."; closeDialog 0;};
    • riesensika
      Kenner
      Reaktionen
      29
      Trophäen
      9
      Beiträge
      332
      Dateien
      6
      Bilder
      60
      • 25. August 2017 um 22:48
      • #5

      wenn ich das mache


      1. _adac = (independent countSide playableUnits);
      2. if(_adac < 1) exitWith{hint "Es ist eine ADAC Online du Wurst."; closeDialog 0;};

      können adac das repair kit dan benutzen?

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 25. August 2017 um 23:38
      • #6

      Also bei dem von mir sollte es so sein dass der ADAC ( independent und Polizei) normal reparieren kann, aber civ nicht, wenn independent online ist

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Don
      Amateur
      Reaktionen
      103
      Trophäen
      9
      Beiträge
      221
      Dateien
      1
      • 26. August 2017 um 01:54
      • #7

      So können deine ADAC Dudes weiterhin reparieren.

      Code
      if((playersNumber independent > 0) && (playerSide in [west,civilian])) exitWith {hint "Du kannst dein Fahrzeug nicht reparieren solange ein ADAC-Mitglied im Dienst ist."; closeDialog 0};

      Einmal editiert, zuletzt von Don (26. August 2017 um 12:56)

    • riesensika
      Kenner
      Reaktionen
      29
      Trophäen
      9
      Beiträge
      332
      Dateien
      6
      Bilder
      60
      • 26. August 2017 um 18:59
      • #8

      wo soll ich die an besten hin tun

    • Don
      Amateur
      Reaktionen
      103
      Trophäen
      9
      Beiträge
      221
      Dateien
      1
      • 26. August 2017 um 19:34
      • #9

      In dem script, in dem das Fahrzeug repariert wird... Das ist logischer weise fn_repairTruck und dann nach Zeile 12...

    • MWZflyer
      Anfänger
      Reaktionen
      12
      Trophäen
      9
      Beiträge
      41
      • 27. August 2017 um 03:12
      • #10
      Zitat von Saturin78

      Schau mal ich hab da was gebastelt, denke so sollte es gehen. So sollten Cops und Medics auf 100% reparieren können und Civs wenn keine Medics online sind auf 75% und wenn Medics online, dann garnicht. Versuch es mal ich habs nicht getestet nur kurz zusammen gebastelt :)

      C: fn_repairTruck.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_repairTruck.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Main functionality for toolkits, to be revised in later version.
      */
      private ["_veh","_upp","_ui","_progress","_pgText","_cP","_displayName","_test","_sideRepairArray", "_medicsOnline"];
      _medicsOnline = {_x != player && {side _x isEqualTo independent} && {alive _x}} count playableUnits > 0; //Check if medics (indep) are in the room.
      _veh = cursorObject;
      life_interrupted = false;
      if (isNull _veh) exitWith {};
      if ((_veh isKindOf "Car") || (_veh isKindOf "Ship") || (_veh isKindOf "Air")) then {
          if (life_inv_toolkit > 0) then {
              life_action_inUse = true;
              _displayName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _veh),"displayName");
              _upp = format [localize "STR_NOTF_Repairing",_displayName];
      
              //Setup our progress bar.
              disableSerialization;
              "progressBar" cutRsc ["life_progress","PLAIN"];
              _ui = uiNamespace getVariable "life_progress";
              _progress = _ui displayCtrl 38201;
              _pgText = _ui displayCtrl 38202;
              _pgText ctrlSetText format ["%2 (1%1)...","%",_upp];
              _progress progressSetPosition 0.01;
              _cP = 0.01;
              
              for "_i" from 0 to 1 step 0 do {
                  if (animationState player != "AinvPknlMstpSnonWnonDnon_medic_1") then {
                      [player,"AinvPknlMstpSnonWnonDnon_medic_1",true] remoteExecCall ["life_fnc_animSync",RCLIENT];
                      player switchMove "AinvPknlMstpSnonWnonDnon_medic_1";
                      player playMoveNow "AinvPknlMstpSnonWnonDnon_medic_1";
                  };
      
                  sleep 0.27;
                  _cP = _cP + 0.01;
                  _progress progressSetPosition _cP;
                  _pgText ctrlSetText format ["%3 (%1%2)...",round(_cP * 100),"%",_upp];
                  if (_cP >= 1) exitWith {};
                  if (!alive player) exitWith {};
                  if !(isNull objectParent player) exitWith {};
                  if (life_interrupted) exitWith {};
              };
      
              life_action_inUse = false;
              "progressBar" cutText ["","PLAIN"];
              player playActionNow "stop";
              if (life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
              if !(isNull objectParent player) exitWith {titleText[localize "STR_NOTF_ActionInVehicle","PLAIN"];};
      
              _sideRepairArray = LIFE_SETTINGS(getArray,"vehicle_infiniteRepair");
              
              //There is medics let's send them the request.
              if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
                  //Check if playerSide has infinite repair enabled
                  if (_medicsOnline) exitWith { ["Die Medics stehen für diese Aufgabe bereit!","fast","red"] spawn life_fnc_message; };
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0.25;
              };            
              if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0.25;
              };
              if (playerSide isEqualTo west && (_sideRepairArray select 1) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0;
              };
              if (playerSide isEqualTo independent && (_sideRepairArray select 2) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0;
              };
              if (playerSide isEqualTo east && (_sideRepairArray select 3) isEqualTo 0) then {
                  [false,"toolkit",1] call life_fnc_handleInv;
                  _veh setDamage 0;
              };
      
              //_veh setDamage 0;
              titleText[localize "STR_NOTF_RepairedVehicle","PLAIN"];
          };
          
      };
      Alles anzeigen

      Aso, in der Zeile 58 hab ich eine andere Message Funktion drin, dort solltest du stattdessen einen hint einbauen.

      Bei dir in Zeile 56 bis 65:

      Code
      //There is medics let's send them the request.
       if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
       //Check if playerSide has infinite repair enabled
       if (_medicsOnline) exitWith { ["Die Medics stehen für diese Aufgabe bereit!","fast","red"] spawn life_fnc_message; };
       [false,"toolkit",1] call life_fnc_handleInv;
       _veh setDamage 0.25;
       }; 
       if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
       [false,"toolkit",1] call life_fnc_handleInv;
       _veh setDamage 0.25;
       };
      Alles anzeigen

      Wiederholst du dich quasi.

      Beides sind die selben Fälle, beim ersten ist noch das exitWith verbaut, beim zweiten nicht.

      Somit ist das zweite Überflüssing.

      Denn:

      Sollte _MedicOnline true sein, bricht er ohnehin ab und das handle wird genauso wenig ausgeführt wie das setDamage.

      Sollten jedoch keine da sein, wird das exitWith ignoriert und eben das Handle ausgeführt sowie das setDamage.

      Demnach macht es die zweite If-Abfrage ohne exitWith relativ Sinnlos.

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 27. August 2017 um 08:41
      • #11
      Zitat von MWZflyer

      Bei dir in Zeile 56 bis 65:

      Code
      //There is medics let's send them the request.
       if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
       //Check if playerSide has infinite repair enabled
       if (_medicsOnline) exitWith { ["Die Medics stehen für diese Aufgabe bereit!","fast","red"] spawn life_fnc_message; };
       [false,"toolkit",1] call life_fnc_handleInv;
       _veh setDamage 0.25;
       }; 
       if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
       [false,"toolkit",1] call life_fnc_handleInv;
       _veh setDamage 0.25;
       };
      Alles anzeigen

      Wiederholst du dich quasi.

      Beides sind die selben Fälle, beim ersten ist noch das exitWith verbaut, beim zweiten nicht.

      Somit ist das zweite Überflüssing.

      Denn:

      Sollte _MedicOnline true sein, bricht er ohnehin ab und das handle wird genauso wenig ausgeführt wie das setDamage.

      Sollten jedoch keine da sein, wird das exitWith ignoriert und eben das Handle ausgeführt sowie das setDamage.

      Demnach macht es die zweite If-Abfrage ohne exitWith relativ Sinnlos.

      Alles anzeigen

      Ja da hast recht :) Sag ja ich hab das nur kurz gebastelt.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    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. Verhaltensregeln
    3. Datenschutzerklärung
    4. Impressum
    5. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™