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
Di: 19 August 2025
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • 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. Mitglieder
    3. moeck

    Beiträge von moeck

    • so ein komischer moeck

      • moeck
      • 25. November 2016 um 16:37

      natürlich ich bin informatiker bei einem deutschen automobilhersteller

    • so ein komischer moeck

      • moeck
      • 25. November 2016 um 12:49

      Moin,

      da ich mich ja nun ein wenig aktiver an diversen Diskussionen beteilige, wollte ich mal die Gelegenheit nutzen mich kurz vorzustellen. Zu meiner Person ich gehöre schon zum älteren Semester. Zur Zeit bin ich auf Grund meiner beruflichen Aktivitäten im Ausland unterwegs.

      Ansonsten habe ich vor ca. 4 Wochen angefangen die LoP Community bei der Weiterentwicklung des Altis Life Servers zu unterstützen. Ich hatte vorher keinerlei Erfahrung mit dem Scripten für Arma 3. Mittlerweile habe ich mich schon so halbwegs durch die Scripte durchgearbeitet und einige Sachen geändert. Ich fange gerade damit an ein wenig den Kram zu optimieren. Bei Fragen gern per PN melden.

      Tschau,
      moeck

    • Medic 4.4r4 Abschleppen

      • moeck
      • 25. November 2016 um 11:17

      so ich habe jetzt schon mal angefangen das script zu vereinfachen. Leider habe ich es nicht mehr geschafft die vielen if Anweisungen im civ/med Bereich auseinander zu ziehen. Dies würde ich im laufe der nächsten woche machen sofern interesse besteht.

      Code
      #include "..\..\script_macros.hpp"
      /*
      File: fn_vInteractionMenu.sqf
      Author: Bryan "Tonic" Boardwine
      Description:
      Replaces the mass add actions for various vehicle actions.
      */
      #define Btn1 37450
      #define Btn2 37451
      #define Btn3 37452
      #define Btn4 37453
      #define Btn5 37454
      #define Btn6 37455
      #define Title 37401
      private ["_display","_curTarget","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_id"];
      if (!dialog) then {
      createDialog "vInteraction_Menu";
      };
      disableSerialization;
      _curTarget = param [0,objNull,[objNull]];
      if (isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
      _isVehicle = if ((_curTarget isKindOf "landVehicle") || (_curTarget isKindOf "Ship") || (_curTarget isKindOf "Air")) then {true} else {false};
      if (!_isVehicle) exitWith {closeDialog 0;};
      _display = findDisplay 37400;
      _Btn1 = _display displayCtrl Btn1;
      _Btn2 = _display displayCtrl Btn2;
      _Btn3 = _display displayCtrl Btn3;
      _Btn4 = _display displayCtrl Btn4;
      _Btn5 = _display displayCtrl Btn5;
      _Btn6 = _display displayCtrl Btn6;
      life_vInact_curTarget = _curTarget;
      _id = getObjectDLC _curTarget;
      
      
      
      
      //Grundeinstellung der Buttons
      _Btn1 ctrlShow true;	//_Btn1 soll immer angezeigt werden
      _Btn2 ctrlShow false;
      _Btn3 ctrlShow false;
      _Btn4 ctrlShow false;
      _Btn5 ctrlShow false;
      _Btn6 ctrlShow false;
      
      
      
      
      //Alle Buttons deaktiviert
      _Btn1 ctrlEnable false;
      _Btn2 ctrlEnable false;
      _Btn3 ctrlEnable false;
      _Btn4 ctrlEnable false;
      _Btn5 ctrlEnable false;
      _Btn6 ctrlEnable false;
      
      
      
      
      //Set Repair Action
      _Btn1 ctrlSetText localize "STR_vInAct_Repair";
      _Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
      if ((life_inv_toolkit >= 1) && {alive life_vInact_curTarget} && {([life_vInact_curTarget] call life_fnc_isDamaged)}) then {_Btn1 ctrlEnable true;} else {_Btn1 ctrlEnable false;};
      
      
      
      
      if (playerSide isEqualTo west) then {
      	_Btn2 ctrlShow true;
      	_Btn3 ctrlShow true;
      	_Btn4 ctrlShow true;
      	_Btn5 ctrlShow true;
      	_Btn6 ctrlShow true;
      	//Registration Button2
      	_Btn2 ctrlSetText localize "STR_vInAct_Registration";
      	_Btn2 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_searchVehAction; closeDialog 0;";
      	_Btn2 ctrlEnable true;
      	//Vehicle Search Button3
      	_Btn3 ctrlSetText localize "STR_vInAct_SearchVehicle";
      	_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_vehInvSearch; closeDialog 0;";
      	_Btn3 ctrlEnable true;
      	//Pullout Button4
      	_Btn4 ctrlSetText localize "STR_vInAct_PullOut";
      	_Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction; closeDialog 0;";
      	if !(crew _curTarget isEqualTo []) then {_Btn4 ctrlEnable true;};
      	//Impound Button5
      	_Btn5 ctrlSetText localize "STR_vInAct_Impound";
      	_Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      	_Btn3 ctrlEnable true;
      	if (_curTarget isKindOf "Ship") then {
      		_Btn6 ctrlSetText localize "STR_vInAct_PushBoat";
      		_Btn6 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      		if (_curTarget isKindOf "Ship" && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      	} else {
      		if (!isNil "_id") then {
      			if !(_id in getDLCs 1) then {
      				_Btn6 ctrlSetText localize "STR_vInAct_GetInVehicle";
      				_Btn6 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      				if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      			};
      		} else {
      			_Btn6 ctrlSetText localize "STR_vInAct_Unflip";
      			_Btn6 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      			if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn6 ctrlEnable false;} else {_Btn6 ctrlEnable true;};
      		};
      	};
      }; 
      
      
      
      
      if ((playerSide isEqualTo civilian)|| (playerSide isEqualTo independent)) then {
      	_Btn2 ctrlShow true;
      	_Btn3 ctrlShow true;
      	_Btn4 ctrlShow true;
      	if (_curTarget isKindOf "Ship") then {
      		_Btn2 ctrlSetText localize "STR_vInAct_PushBoat";
      		_Btn2 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      		if (alive _curTarget && {_curTarget isKindOf "Ship"} && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      	} else {
      		if (!isNil "_id") then {
      			if !(_id in getDLCs 1) then {
      				_Btn2 ctrlSetText localize "STR_vInAct_GetInVehicle";
      				_Btn2 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      				if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      			};
      		} else {
      			_Btn2 ctrlSetText localize "STR_vInAct_Unflip";
      			_Btn2 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      			if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn2 ctrlEnable false;} else {_Btn2 ctrlEnable true;};
      		};
      	};
      	if (typeOf _curTarget == "O_Truck_03_device_F") then {
      		_Btn3 ctrlSetText localize "STR_vInAct_DeviceMine";
      		_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_deviceMine";
      		if (!isNil {(_curTarget getVariable "mining")} || !local _curTarget && {_curTarget in life_vehicles}) then {
      			_Btn3 ctrlEnable false;
      		} else {
      			_Btn3 ctrlEnable true;
      		};
      	} else {
      		_Btn3 ctrlShow false;
      		if (typeOf (_curTarget) in ["C_Van_01_fuel_F","I_Truck_02_fuel_F","B_Truck_01_fuel_F"] && _curTarget in life_vehicles) then {
      			if (!isNil {_curTarget getVariable "fuelTankWork"}) then {
      				_Btn3 ctrlSetText localize "STR_FuelTank_Stop";
      				_Btn3 buttonSetAction "life_vInact_curTarget setVariable [""fuelTankWork"",nil,true]; closeDialog 0;";
      				_Btn3 ctrlShow true;
      			} else {
      				if (count (nearestObjects [_curTarget, ["Land_FuelStation_Feed_F","Land_fs_feed_F"], 15]) > 0) then {
      					_Btn3 ctrlSetText localize "STR_FuelTank_Supply";
      					_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelSupply";
      					_Btn3 ctrlShow true;
      				}else{
      					{
      						if (player distance (getMarkerPos _x) < 20) exitWith {
      							_Btn3 ctrlSetText localize "STR_FuelTank_Store";
      							_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelStore";
      							_Btn3 ctrlShow true;
      						};
      					} forEach ["fuel_storage_1","fuel_storage_2"];
      				};
      			};
      		};
      	};
      	_Btn4 ctrlShow false;
      	if (playerSide isEqualTo independent) then {
      		_Btn5 ctrlSetText localize "STR_vInAct_Impound";
      		_Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      		_Btn5 ctrlShow true;
      	} else {_Btn5 ctrlShow false};
      	_Btn6 ctrlShow false;
      };
      Alles anzeigen

      Ich würde vorschlagen man vereinfacht mal das komplette Script und stellt dieses dann zu verfügung.

      In diesem Sinne schönes WE

      Gruß,
      moeck

    • Medic 4.4r4 Abschleppen

      • moeck
      • 25. November 2016 um 01:50

      so versucht es mal so

      Code
      #include "..\..\script_macros.hpp"
      /*
      File: fn_vInteractionMenu.sqf
      Author: Bryan "Tonic" Boardwine
      Description:
      Replaces the mass add actions for various vehicle actions.
      */
      #define Btn1 37450
      #define Btn2 37451
      #define Btn3 37452
      #define Btn4 37453
      #define Btn5 37454
      #define Btn6 37455
      #define Title 37401
      private ["_display","_curTarget","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_id"];
      if (!dialog) then {
      createDialog "vInteraction_Menu";
      };
      disableSerialization;
      _curTarget = param [0,objNull,[objNull]];
      if (isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
      _isVehicle = if ((_curTarget isKindOf "landVehicle") || (_curTarget isKindOf "Ship") || (_curTarget isKindOf "Air")) then {true} else {false};
      if (!_isVehicle) exitWith {closeDialog 0;};
      _display = findDisplay 37400;
      _Btn1 = _display displayCtrl Btn1;
      _Btn2 = _display displayCtrl Btn2;
      _Btn3 = _display displayCtrl Btn3;
      _Btn4 = _display displayCtrl Btn4;
      _Btn5 = _display displayCtrl Btn5;
      _Btn6 = _display displayCtrl Btn6;
      life_vInact_curTarget = _curTarget;
      _id = getObjectDLC _curTarget;
      //Set Repair Action
      _Btn1 ctrlSetText localize "STR_vInAct_Repair";
      _Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
      if ((life_inv_toolkit >= 1) && {alive life_vInact_curTarget} && {([life_vInact_curTarget] call life_fnc_isDamaged)}) then {_Btn1 ctrlEnable true;} else {_Btn1 ctrlEnable false;};
      
      
      
      
      if (playerSide isEqualTo west) then {
      _Btn2 ctrlSetText localize "STR_vInAct_Registration";
      _Btn2 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_searchVehAction; closeDialog 0;";
      _Btn3 ctrlSetText localize "STR_vInAct_SearchVehicle";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_vehInvSearch; closeDialog 0;";
      _Btn4 ctrlSetText localize "STR_vInAct_PullOut";
      _Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction; closeDialog 0;";
      if (crew _curTarget isEqualTo []) then {_Btn4 ctrlEnable false;};
      _Btn5 ctrlSetText localize "STR_vInAct_Impound";
      _Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      if (_curTarget isKindOf "Ship") then {
      _Btn6 ctrlSetText localize "STR_vInAct_PushBoat";
      _Btn6 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      if (_curTarget isKindOf "Ship" && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      } else {
      if (!isNil "_id") then {
      if !(_id in getDLCs 1) then {
      _Btn6 ctrlSetText localize "STR_vInAct_GetInVehicle";
      _Btn6 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      };
      } else {
      _Btn6 ctrlSetText localize "STR_vInAct_Unflip";
      _Btn6 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn6 ctrlEnable false;} else {_Btn6 ctrlEnable true;};
      };
      };
      } else {
      	if (_curTarget isKindOf "Ship") then {
      		_Btn2 ctrlSetText localize "STR_vInAct_PushBoat";
      		_Btn2 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      		if (alive _curTarget && {_curTarget isKindOf "Ship"} && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      	} else {
      		if (!isNil "_id") then {
      				if !(_id in getDLCs 1) then {
      					_Btn2 ctrlSetText localize "STR_vInAct_GetInVehicle";
      					_Btn2 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      				if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      			};
      		} else {
      		_Btn2 ctrlSetText localize "STR_vInAct_Unflip";
      		_Btn2 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      		if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn2 ctrlEnable false;} else {_Btn2 ctrlEnable true;};
      	};
      	};
      if (typeOf _curTarget == "O_Truck_03_device_F") then {
      _Btn3 ctrlSetText localize "STR_vInAct_DeviceMine";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_deviceMine";
      if (!isNil {(_curTarget getVariable "mining")} || !local _curTarget && {_curTarget in life_vehicles}) then {
      _Btn3 ctrlEnable false;
      } else {
      _Btn3 ctrlEnable true;
      };
      } else {
      	_Btn3 ctrlShow false;
      	if (typeOf (_curTarget) in ["C_Van_01_fuel_F","I_Truck_02_fuel_F","B_Truck_01_fuel_F"] && _curTarget in life_vehicles) then {
      		if (!isNil {_curTarget getVariable "fuelTankWork"}) then {
      		_Btn3 ctrlSetText localize "STR_FuelTank_Stop";
      		_Btn3 buttonSetAction "life_vInact_curTarget setVariable [""fuelTankWork"",nil,true]; closeDialog 0;";
      		_Btn3 ctrlShow true;
      		} else {
      			if (count (nearestObjects [_curTarget, ["Land_FuelStation_Feed_F","Land_fs_feed_F"], 15]) > 0) then {
      			_Btn3 ctrlSetText localize "STR_FuelTank_Supply";
      			_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelSupply";
      			_Btn3 ctrlShow true;
      			}else{
      				{
      					if (player distance (getMarkerPos _x) < 20) exitWith {
      					_Btn3 ctrlSetText localize "STR_FuelTank_Store";
      					_Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelStore";
      					_Btn3 ctrlShow true;
      					};
      				} forEach ["fuel_storage_1","fuel_storage_2"];
      			};
      		};
      	};
      };
      _Btn4 ctrlShow false;
      if (playerSide isEqualTo independent) then {
      _Btn5 ctrlSetText localize "STR_vInAct_Impound";
      _Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      _Btn5 ctrlShow true;
      } else {_Btn5 ctrlShow false};
      _Btn6 ctrlShow false;
      };
      Alles anzeigen
    • Array Handling

      • moeck
      • 24. November 2016 um 18:09

      Hiho,

      Thema ist gelöst. Die Gruppenmitglieder werden auch automatisch der Variable life_known_Players beim öffnen des Menüs hinzugefügt.


      Danke,
      moeck

    • Medic 4.4r4 Abschleppen

      • moeck
      • 24. November 2016 um 15:23

      alles klar, bin heute abend dann wieder online

    • Medic 4.4r4 Abschleppen

      • moeck
      • 24. November 2016 um 15:17

      %localappdata%\Arma3\*.rpt im Zweifelsfall koppiere eine aus meinem letzten post den code ;-). Ich kann es momentan nicht testen, da ich keinen Zugriff auf einen Server habe und das hier als trockenübung mache

    • Medic 4.4r4 Abschleppen

      • moeck
      • 24. November 2016 um 15:08

      hast du Dir mal dein Client log angeschaut ob dort ein Fehler kommt? Und ja da ist auch noch ein kleiner Fehler drin. da fehlt ein ;. Vergleiche mal Zeile 46 hier und oben

      Code
      #include "..\..\script_macros.hpp"
      /*
      File: fn_vInteractionMenu.sqf
      Author: Bryan "Tonic" Boardwine
      Description:
      Replaces the mass add actions for various vehicle actions.
      */
      #define Btn1 37450
      #define Btn2 37451
      #define Btn3 37452
      #define Btn4 37453
      #define Btn5 37454
      #define Btn6 37455
      #define Title 37401
      private ["_display","_curTarget","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_id"];
      if (!dialog) then {
      createDialog "vInteraction_Menu";
      };
      disableSerialization;
      _curTarget = param [0,objNull,[objNull]];
      if (isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
      _isVehicle = if ((_curTarget isKindOf "landVehicle") || (_curTarget isKindOf "Ship") || (_curTarget isKindOf "Air")) then {true} else {false};
      if (!_isVehicle) exitWith {closeDialog 0;};
      _display = findDisplay 37400;
      _Btn1 = _display displayCtrl Btn1;
      _Btn2 = _display displayCtrl Btn2;
      _Btn3 = _display displayCtrl Btn3;
      _Btn4 = _display displayCtrl Btn4;
      _Btn5 = _display displayCtrl Btn5;
      _Btn6 = _display displayCtrl Btn6;
      life_vInact_curTarget = _curTarget;
      _id = getObjectDLC _curTarget;
      //Set Repair Action
      _Btn1 ctrlSetText localize "STR_vInAct_Repair";
      _Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
      if ((life_inv_toolkit >= 1) && {alive life_vInact_curTarget} && {([life_vInact_curTarget] call life_fnc_isDamaged)}) then {_Btn1 ctrlEnable true;} else {_Btn1 ctrlEnable false;};
      if (playerSide isEqualTo independent) then {
      _Btn5 ctrlSetText localize "STR_vInAct_Impound";
      _Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      };
      if (playerSide isEqualTo west) then {
      _Btn2 ctrlSetText localize "STR_vInAct_Registration";
      _Btn2 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_searchVehAction; closeDialog 0;";
      _Btn3 ctrlSetText localize "STR_vInAct_SearchVehicle";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_vehInvSearch; closeDialog 0;";
      _Btn4 ctrlSetText localize "STR_vInAct_PullOut";
      _Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction; closeDialog 0;";
      if (crew _curTarget isEqualTo []) then {_Btn4 ctrlEnable false;};
      _Btn5 ctrlSetText localize "STR_vInAct_Impound";
      _Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      if (_curTarget isKindOf "Ship") then {
      _Btn6 ctrlSetText localize "STR_vInAct_PushBoat";
      _Btn6 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      if (_curTarget isKindOf "Ship" && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      } else {
      if (!isNil "_id") then {
      if !(_id in getDLCs 1) then {
      _Btn6 ctrlSetText localize "STR_vInAct_GetInVehicle";
      _Btn6 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      };
      } else {
      _Btn6 ctrlSetText localize "STR_vInAct_Unflip";
      _Btn6 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn6 ctrlEnable false;} else {_Btn6 ctrlEnable true;};
      };
      };
      } else {
      if (_curTarget isKindOf "Ship") then {
      _Btn2 ctrlSetText localize "STR_vInAct_PushBoat";
      _Btn2 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      if (alive _curTarget && {_curTarget isKindOf "Ship"} && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      } else {
      if (!isNil "_id") then {
      if !(_id in getDLCs 1) then {
      _Btn2 ctrlSetText localize "STR_vInAct_GetInVehicle";
      _Btn2 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      };
      } else {
      _Btn2 ctrlSetText localize "STR_vInAct_Unflip";
      _Btn2 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn2 ctrlEnable false;} else {_Btn2 ctrlEnable true;};
      };
      };
      if (typeOf _curTarget == "O_Truck_03_device_F") then {
      _Btn3 ctrlSetText localize "STR_vInAct_DeviceMine";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_deviceMine";
      if (!isNil {(_curTarget getVariable "mining")} || !local _curTarget && {_curTarget in life_vehicles}) then {
      _Btn3 ctrlEnable false;
      } else {
      _Btn3 ctrlEnable true;
      };
      } else {
      _Btn3 ctrlShow false;
      if (typeOf (_curTarget) in ["C_Van_01_fuel_F","I_Truck_02_fuel_F","B_Truck_01_fuel_F"] && _curTarget in life_vehicles) then {
      if (!isNil {_curTarget getVariable "fuelTankWork"}) then {
      _Btn3 ctrlSetText localize "STR_FuelTank_Stop";
      _Btn3 buttonSetAction "life_vInact_curTarget setVariable [""fuelTankWork"",nil,true]; closeDialog 0;";
      _Btn3 ctrlShow true;
      } else {
      if (count (nearestObjects [_curTarget, ["Land_FuelStation_Feed_F","Land_fs_feed_F"], 15]) > 0) then {
      _Btn3 ctrlSetText localize "STR_FuelTank_Supply";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelSupply";
      _Btn3 ctrlShow true;
      }else{
      {
      if (player distance (getMarkerPos _x) < 20) exitWith {
      _Btn3 ctrlSetText localize "STR_FuelTank_Store";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelStore";
      _Btn3 ctrlShow true;
      };
      } forEach ["fuel_storage_1","fuel_storage_2"];
      };
      };
      };
      };
      _Btn4 ctrlShow false;
      if (playerSide isEqualTo independent) then {_Btn5 ctrlShow true;} else {_Btn5 ctrlShow false;};
      _Btn6 ctrlShow false;
      };
      Alles anzeigen
    • Medic 4.4r4 Abschleppen

      • moeck
      • 24. November 2016 um 13:04

      ja sorry du musst ganz unten

      Code
      _Btn5 ctrlShow false;

      mit folgendem ersetzen

      Code
      if (playerSide isEqualTo independent) then {_Btn5 ctrlShow true;} else {_Btn5 ctrlShow false;};

      anschliessend sollte das so aussehen


      Code
      #include "..\..\script_macros.hpp"
      /*
      File: fn_vInteractionMenu.sqf
      Author: Bryan "Tonic" Boardwine
      
      
      
      
      Description:
      Replaces the mass add actions for various vehicle actions.
      */
      #define Btn1 37450
      #define Btn2 37451
      #define Btn3 37452
      #define Btn4 37453
      #define Btn5 37454
      #define Btn6 37455
      #define Title 37401
      private ["_display","_curTarget","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_id"];
      if (!dialog) then {
      createDialog "vInteraction_Menu";
      };
      disableSerialization;
      
      
      
      
      _curTarget = param [0,objNull,[objNull]];
      if (isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
      _isVehicle = if ((_curTarget isKindOf "landVehicle") || (_curTarget isKindOf "Ship") || (_curTarget isKindOf "Air")) then {true} else {false};
      if (!_isVehicle) exitWith {closeDialog 0;};
      
      
      
      
      _display = findDisplay 37400;
      _Btn1 = _display displayCtrl Btn1;
      _Btn2 = _display displayCtrl Btn2;
      _Btn3 = _display displayCtrl Btn3;
      _Btn4 = _display displayCtrl Btn4;
      _Btn5 = _display displayCtrl Btn5;
      _Btn6 = _display displayCtrl Btn6;
      life_vInact_curTarget = _curTarget;
      _id = getObjectDLC _curTarget;
      
      
      
      
      //Set Repair Action
      _Btn1 ctrlSetText localize "STR_vInAct_Repair";
      _Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
      
      
      
      
      if ((life_inv_toolkit >= 1) && {alive life_vInact_curTarget} && {([life_vInact_curTarget] call life_fnc_isDamaged)}) then {_Btn1 ctrlEnable true;} else {_Btn1 ctrlEnable false;};
      
      
      
      
      if (playerSide isEqualTo independent) then {
      _Btn5 ctrlSetText localize "STR_vInAct_Impound";
      _Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      }
      
      
      
      
      if (playerSide isEqualTo west) then {
      _Btn2 ctrlSetText localize "STR_vInAct_Registration";
      _Btn2 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_searchVehAction; closeDialog 0;";
      
      
      
      
      _Btn3 ctrlSetText localize "STR_vInAct_SearchVehicle";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_vehInvSearch; closeDialog 0;";
      
      
      
      
      _Btn4 ctrlSetText localize "STR_vInAct_PullOut";
      _Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction; closeDialog 0;";
      if (crew _curTarget isEqualTo []) then {_Btn4 ctrlEnable false;};
      
      
      
      
      _Btn5 ctrlSetText localize "STR_vInAct_Impound";
      _Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
      
      
      
      
      if (_curTarget isKindOf "Ship") then {
      _Btn6 ctrlSetText localize "STR_vInAct_PushBoat";
      _Btn6 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      if (_curTarget isKindOf "Ship" && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      } else {
      if (!isNil "_id") then {
      if !(_id in getDLCs 1) then {
      _Btn6 ctrlSetText localize "STR_vInAct_GetInVehicle";
      _Btn6 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
      };
      } else {
      _Btn6 ctrlSetText localize "STR_vInAct_Unflip";
      _Btn6 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn6 ctrlEnable false;} else {_Btn6 ctrlEnable true;};
      };
      };
      
      
      
      
      } else {
      
      
      
      
      if (_curTarget isKindOf "Ship") then {
      _Btn2 ctrlSetText localize "STR_vInAct_PushBoat";
      _Btn2 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
      if (alive _curTarget && {_curTarget isKindOf "Ship"} && {local _curTarget} && {crew _curTarget isEqualTo []}) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      } else {
      if (!isNil "_id") then {
      if !(_id in getDLCs 1) then {
      _Btn2 ctrlSetText localize "STR_vInAct_GetInVehicle";
      _Btn2 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
      if (crew _curTarget isEqualTo [] && {canMove _curTarget} && {locked _curTarget isEqualTo 0}) then {_Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
      };
      } else {
      _Btn2 ctrlSetText localize "STR_vInAct_Unflip";
      _Btn2 buttonSetAction "life_vInact_curTarget setPos [getPos life_vInact_curTarget select 0, getPos life_vInact_curTarget select 1, (getPos life_vInact_curTarget select 2)+0.5]; closeDialog 0;";
      if (alive _curTarget && {crew _curTarget isEqualTo []} && {canMove _curTarget}) then { _Btn2 ctrlEnable false;} else {_Btn2 ctrlEnable true;};
      };
      };
      if (typeOf _curTarget == "O_Truck_03_device_F") then {
      _Btn3 ctrlSetText localize "STR_vInAct_DeviceMine";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_deviceMine";
      if (!isNil {(_curTarget getVariable "mining")} || !local _curTarget && {_curTarget in life_vehicles}) then {
      _Btn3 ctrlEnable false;
      } else {
      _Btn3 ctrlEnable true;
      };
      } else {
      _Btn3 ctrlShow false;
      if (typeOf (_curTarget) in ["C_Van_01_fuel_F","I_Truck_02_fuel_F","B_Truck_01_fuel_F"] && _curTarget in life_vehicles) then {
      if (!isNil {_curTarget getVariable "fuelTankWork"}) then {
      _Btn3 ctrlSetText localize "STR_FuelTank_Stop";
      _Btn3 buttonSetAction "life_vInact_curTarget setVariable [""fuelTankWork"",nil,true]; closeDialog 0;";
      _Btn3 ctrlShow true;
      } else {
      if (count (nearestObjects [_curTarget, ["Land_FuelStation_Feed_F","Land_fs_feed_F"], 15]) > 0) then {
      _Btn3 ctrlSetText localize "STR_FuelTank_Supply";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelSupply";
      _Btn3 ctrlShow true;
      }else{
      {
      if (player distance (getMarkerPos _x) < 20) exitWith {
      _Btn3 ctrlSetText localize "STR_FuelTank_Store";
      _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_fuelStore";
      _Btn3 ctrlShow true;
      };
      } forEach ["fuel_storage_1","fuel_storage_2"];
      };
      };
      };
      };
      
      
      
      
      _Btn4 ctrlShow false;
      if (playerSide isEqualTo independent) then {_Btn5 ctrlShow true;} else {_Btn5 ctrlShow false;};
      _Btn6 ctrlShow false;
      };
      Alles anzeigen

      Gruß,
      moeck

    • Array Handling

      • moeck
      • 24. November 2016 um 08:08

      Moin,

      ja ich war hier leicht auf dem falschem Dampfer unterwegs. Ich habe die Variable im "falschen" Client gesetzt gefüllt. Irgendwie hatte ich da einen Knoten im Hirn. Ich habe den eigenen Player Namen bei dem Spieler gespeichert. Das kann nicht funktionieren ;-). Danke für den Denkanstoss ich werde das mal testen und melde mich dann wieder.

      Also hier mal meine angestrebte Lösung nur leider kann ich es momentan noch nicht testen, da ich aktuell keinen Zugriff auf den Server habe.

      Code
      [[player, _message],"life_fnc_Lizenzsehen",_ziel,false] spawn life_fnc_MP;


      und auf der Gegenseite habe ich die Lizenzsehen um folgenden Eintrag erweitert

      Code
      private["_msg","_unit"];
      _unit = _this select 0;
      life_known_player pushBack _unit;
      _msg = _this select 1;
      hintSilent parseText _msg;

      und zu guter Letzt wie vorgeschlagen in die pupdatemenu

      Zitat von blackfisch

      _nearUnits = [];
      {
      if (player distance _x < 10) && {_x in life_knownPlayers}) then {
      _nearUnits pushBack _x;
      };
      } forEach playableUnits;

      eingefügt. Leider kann ich es erst heute abend testen, allerdings bin ich zuversichtlich, dass es funktioniert.


      Gruß,
      moeck

    • Array Handling

      • moeck
      • 24. November 2016 um 01:34

      Moin,
      ich stehe gerade etwas auf dem Schlauch was das Prüfen eines Arrays auf einen bestimmten Wert angeht. Zum Hintergrund ich versuche momentan das Player Menü davon zu überzeugen, dass nur Spieler angezeigt werden, die a) in der Nähe sind und b) mir bereits den Ausweis gezeigt haben.

      Dazu habe ich mir ein Array "life_known_Player" angelegt und fülle diese wie folgt.

      Code
      _name = name player;
      life_known_Player pushBack _name;

      In der fn_p_updateMenu.sqf versuche ich nun zu prüfen ob der Spieler mir den Ausweis bereits gezeigt hat.

      Code: fn_p_updateMenu.sqf
      { _name = name _x;
      if((player distance _x < 10) && (_name in life_known_Player)) then {
      _near_units pushBack _x};
      } foreach playableUnits;

      Leider hat das bisher nicht geklappt.

      Gruß,
      moeck

    • Medic 4.4r4 Abschleppen

      • moeck
      • 23. November 2016 um 22:08

      poste bitte mal die komplette datei, da weiter unten die sichtbarkeiten definiert sind

      Code
      _btn5 ctrlEnable true;
    • Medic 4.4r4 Abschleppen

      • moeck
      • 23. November 2016 um 11:17

      Moin,

      ist der Button schon verfügbar? Hast Du die Funktion schon hinterlegt?

      Ein paar mehr Infos wären klasse.

      Gruß,
      moeck

    • [QuickTipp] Arma³ - Blauchlichtkoordinatensammlung

      • moeck
      • 21. November 2016 um 10:54

      case "C_Van_01_box_F": { _attach = [[-0.75, 0.2, 1.55], [0.67, 0.2, 1.55]]; };

      kannst du so einfügen ;)

    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™