Jump to content

Recommended Posts

Hi anyone knows why my custom module works when the attribute isTriggerActivated is disabled? (it didn't work when its enable).

 

# Config:

class CfgPatches {
	class FCLA_Modules {
		units[] = {};
		requiredAddons[] = {};
		author = "hozlucas28";
		version = "2.0";
		authorUrl = "https://steamcommunity.com/profiles/76561198137876583/";
		requiredVersion = 2.0;
	};
};



class CfgFactionClasses {
	class FCLA_Modules {
		side = 7;
		priority = 1;
		displayName = "FCLA";
	};
};



class CfgFunctions {
	class FCLA_Modules {
      class 3DEN {
        class createACEObjectAction3DEN {file = "\FCLA_Modules\3DEN\functions\ACE_Actions\fn_objectAction.sqf";};
      };
	};
};



class CfgVehicles {
	class Logic;
	class Module_F: Logic	{
		class AttributesBase {
			class Default;
			class Edit;
			class Combo;
			class CheckBox;
			class CheckBoxNumber;
			class ModuleDescription;
		};

		class ModuleDescription	{
			class Anything;
		};
	};

	class FCLA_Module_ACE_Object_Action_v1: Module_F {
	  author = "hozlucas28";
	  displayName = "Crear acción (ACE - objeto)";
	  //icon = "\FCLA_Modules\3DEN\data\ACE_Interaction_Object.paa";
	  //portrait = "\FCLA_Modules\3DEN\data\ACE_Interaction_Object.paa";
	  category = "FCLA_Modules";
	  function = "FCLA_Modules_fnc_createACEObjectAction3DEN";
	  is3DEN = 0;
	  isGlobal = 1;
	  canSetArea = 0;
	  isDisposable = 0;
	  canSetAreaHeight = 0;
	  isTriggerActivated = 1;
	  scope = 2;
	
	
	  class Attributes: AttributesBase {
	    class FCLA_Name: Edit {
	      tooltip = "Nombre que tendra la acción.";
	      typeName = "STRING";
	      property = "FCLA_Name";
	      displayName = "Nombre";
	      defaultValue = "''";
	    };
	
	    class FCLA_Icon: Edit {
	      tooltip = "Icono de la acción, opcional.\n• Se recomienda que el tamaño sea de 32x32 en formato '.paa'.";
	      typeName = "STRING";
	      property = "FCLA_Icon";
	      displayName = "Icono";
	      defaultValue = "''";
	    };
	
	    class FCLA_Condition: Edit {
	      tooltip = "Determina que condición/es deben cumplirse para que la acción se muestre.\n• Variables reservadas:\n - _target = entidad asociada a la acción.\n - _player = unidad que ejecuta la acción.";
	      typeName = "STRING";
	      property = "FCLA_Condition";
	      displayName = "Condición/es";
	      defaultValue = "''";
	    };
	
	    class FCLA_Statement: Edit {
	      tooltip = "Determina el código que se ejecutara al seleccionar la acción.\n• Variables reservadas:\n - _target = entidad asociada a la acción.\n - _player = unidad que ejecuta la acción.";
	      typeName = "STRING";
	      property = "FCLA_Statement";
	      displayName = "Sentencia/s";
	      defaultValue = "''";
	    };
	
	    class FCLA_Associated_Object: Edit {
	      tooltip = "Variable de la entidad a la que se le asociara la acción, opcional.\n• Si no se define ningúna variable, se le asociara la acción a la entidad sincronizada solo si es la única sincronizada al módulo.";
	      typeName = "STRING";
	      property = "FCLA_Associated_Object";
	      displayName = "Variable";
	      defaultValue = "''";
	    };
	
	    class FCLA_Type_Of_Action: Combo {
	      tooltip = "• Propia: solo la entidad asociada tiene acceso a la acción.\n• Externa: todas las entidades ajenas a la asociada tienen acceso a la acción.";
	      typeName = "NUMBER";
	      property = "FCLA_Type_Of_Action";
	      displayName = "Tipo de acción";
	      defaultValue = 1;
	
	      class Values {
	        class Self {
	          name = "Propia";
	          value = 1;
	        };
	
	        class External {
	          name = "Externa";
	          value = 0;
	        };
	      };
	    };
	
	    class FCLA_Parent_Path: Edit {
	      tooltip = "Determina en que acción padre se colocara la acción que queremos crear.\n• Por ejemplo:\n- Acción externa = ['ACE_MainActions']\n- Acción propia = ['ACE_SelfActions', 'ACE_Equipment']";
	      typeName = "STRING";
	      property = "FCLA_Parent_Path";
	      displayName = "Padres";
	      defaultValue = "''";
	    };
	    class ModuleDescription: ModuleDescription {};
	  };
	
	  class ModuleDescription: ModuleDescription {
	    description[] =	{"Crea una acción ACE 3D asociada a una entidad específica.<br/>• Más información: <a href='https://ace3mod.com/wiki/framework/interactionMenu-framework.html'>https://ace3mod.com/wiki/framework/interactionMenu-framework.html</a>"};
	  };
	};
};

 

# Function: 


/* ----------------------------------------------------------------------------
 * Author: hozlucas28
 *
 * Description:
 * Crea una acción ACE 3D para una entidad específica.
 *
 * Public: [No]
---------------------------------------------------------------------------- */

params [
        ["_module", objNull, [objNull], 0],
        ["_synchronizedObjects", [], [[]], []],
        ["_isActivated", true, [true], 0]
       ];
if ((is3DEN) || (isNull _module) || (!_isActivated)) exitWith {["FCLA (server log): No Entro 1"] call ACE_Common_fnc_serverLog;};



//Verificar argumentos.
_name = _module getVariable ["FCLA_Name", ""];
_icon = _module getVariable ["FCLA_Icon", ""];
_condition = _module getVariable ["FCLA_Condition", ""];
_statement = _module getVariable ["FCLA_Statement", ""];
_parentPath = _module getVariable ["FCLA_Parent_Path", []];
_typeOfAction = _module getVariable ["FCLA_Type_Of_Action", -1];
_associatedObject = _module getVariable ["FCLA_Associated_Object", objNull];
_numberOfCompatibleSynchronizedObjects = {!(_x isKindOf "EmptyDetector")} count _synchronizedObjects;
if ((_name == "") || (_condition == "") || (_statement == "") || (_typeOfAction <= -1)) exitWith {["FCLA (server log): No Entro 2"] call ACE_Common_fnc_serverLog;["¡Error! El/Un módulo 'Crear acción (ACE - objeto)' no se pudo inicializar con éxito."] call BIS_fnc_error;};



//Pasar ruta de padres y classnames asociadas al formato correcto.
_parentPath = parseSimpleArray ([_parentPath, """", "'"] call CBA_fnc_replace);
_findedEntity = _synchronizedObjects findIf {!(_x isKindOf "EmptyDetector")};
_associatedObject = if ((_findedEntity > -1) && (_numberOfCompatibleSynchronizedObjects == 1)) then {_synchronizedObjects select _findedEntity;} else {call compile format ["%1", _associatedObject];};


//Crear y asociar acción.
_actionCreated = [_name, _name, _icon, [_statement] call FCLA_Common_fnc_stringToCode, [_condition] call FCLA_Common_fnc_stringToCode, {}, [], {[0, 0, 0]}, 2, [false, false, false, false, false], {}] call ACE_Interact_Menu_fnc_createAction;
_return = [_associatedObject, _typeOfAction, _parentPath, _actionCreated] call ACE_Interact_menu_fnc_addActionToObject;


//Eliminar módulo.
//deleteVehicle _module;
["FCLA (server log): Entro " + str _associatedObject + " " + str _return] call ACE_Common_fnc_serverLog;

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×