Derniers sujets
» Candidature Toracles
Dim 25 Juin - 11:50 par xaa

» Presentation/Interteam
Lun 17 Avr - 19:30 par Madaire47

» Demande de recrutement [EN ATTENTE]
Jeu 9 Mar - 21:29 par Madaire47

» [Script] interaction ace
Sam 11 Fév - 11:41 par DÄZ

» Candidature de FoxtheStalker [Acceptée]
Mer 19 Oct - 13:12 par DÄZ

» Candidature MajorDutch [Acceptée]
Lun 18 Juil - 13:47 par Noroi

» Candidature benalex51 [Acceptée]
Dim 29 Mai - 20:39 par Nico

» Candidature Ricky [ANNULEE]
Dim 17 Avr - 9:03 par RickyRuddock

» [Edition] Rendre un Marker in-game Visible/Invisible
Sam 16 Avr - 11:46 par DÄZ


[Script] interaction ace

Voir le sujet précédent Voir le sujet suivant Aller en bas

[Script] interaction ace

Message par DÄZ le Sam 11 Fév - 11:41

Comment créer une interaction ACE, sur le player, ai ou objet.


1 fnc_createAction

ace_interact_menu_fnc_createAction

Code:
* Argument:
 * 0: Action name <STRING>
 * 1: Name of the action shown in the menu <STRING>
 * 2: Icon <STRING>
 * 3: Statement <CODE>
 * 4: Condition <CODE>
 * 5: Insert children code <CODE> (Optional)
 * 6: Action parameters <ANY> (Optional)
 * 7: Position (Position array, Position code or Selection Name) <ARRAY>, <CODE> or <STRING> (Optional)
 * 8: Distance <NUMBER> (Optional)
 * 9: Other parameters [showDisabled,enableInside,canCollapse,runOnHover,doNotCheckLOS] <ARRAY> (Optional)
 * 10: Modifier function <CODE> (Optional)

Code:
_action = ["Nom_Action_Principal","Titre_interaction","",{Mes Scripts ici},{true}] call ace_interact_menu_fnc_createAction;

ex:
Code:
_action1 = ["Menu1", "Donner une saucisse", "", {hint "alors heureux ?" ; name (_this select 0)}, {(_this select 0) == bob}] call ace_interact_menu_fnc_createAction;

2 fnc_addActionToClass

ace_interact_menu_fnc_addActionToClass

Code:

 * Argument:
 * 0: TypeOf of the class <STRING>
 * 1: Type of action, 0 for actions, 1 for self-actions <NUMBER>
 * 2: Parent path of the new action <ARRAY>
 * 3: Action <ARRAY>
 * 4: Use Inheritance (Default: False) <BOOL><OPTIONAL>

Code:
[Nom_Objet, 1, ["ACE_SelfActions"], _action] call ace_interact_menu_fnc_addActionToObject;

ex:
Code:
[typeOf bob, 0, ["ACE_MainActions"], _action1] call ace_interact_menu_fnc_addActionToClass;

ce qui nous donne une interaction Ace sur un AI ici nommé Bob:
Code:
_action1 = ["Menu1", "Donner une saucisse", "", {hint "alors heureux ?" ; name (_this select 0)}, {(_this select 0) == bob}] call ace_interact_menu_fnc_createAction;
[typeOf bob, 0, ["ACE_MainActions"], _action1] call ace_interact_menu_fnc_addActionToClass;



Maintenant même chose sur le player:
Code:
_action = ["Menu_bcm", "se suicide", "", {player setDamage 1}, {true}] call ace_interact_menu_fnc_createAction;
[typeOf player, 1, ["ACE_SelfActions", "ACE_Equipment"], _action] call ace_interact_menu_fnc_addActionToClass;



3 fnc_addActionToObject

ace_interact_menu_fnc_addActionToObject

Code:
* Argument:
 * 0: Object the action should be assigned to <OBJECT>
 * 1: Type of action, 0 for actions, 1 for self-actions <NUMBER>
 * 2: Parent path of the new action <ARRAY> (Example: `["ACE_SelfActions", "ACE_Equipment"]`)
 * 3: Action <ARRAY>

Code:
[Nom_Objet, 0, [], Nom_actian] call ace_interact_menu_fnc_addActionToObject;

ex:
Code:
[Pc_Hack, 0, [], _action_1] call ace_interact_menu_fnc_addActionToObject;

ici pour une interaction sur un objet:
Code:
_action_1 = ["DAZ_BCM_Consulter_pc","Consulter le PC","",{true},{true}] call ace_interact_menu_fnc_createAction;
[Pc_Hack, 0, [], _action_1] call ace_interact_menu_fnc_addActionToObject;



Vous pouvez créer autant de Menu ou Sous-Menu, comme ce si:
Code:
_action_1 = ["DAZ_BCM_Acces_pc","Acces PC","",{true},{Alive this}] call ace_interact_menu_fnc_createAction;
[_objet, 0, [], _action_1] call ace_interact_menu_fnc_addActionToObject;

_action_2 = ["DAZ_BCM_DD1_pc", "HDD-1", "", { [this] call DAZ_BCM_fnc_son; this setObjectTexture  [0, "DAZ_BCM_HACK\images\hack_hdd1.paa"]; [15, [], {hint "COPIE DU HDD1 REUSSI !!!";deleteVehicle (this getVariable ["speaker", objNull]); pc_HDD1 = False;}, {hint "COPIE DU HDD1 ANNULE"; deleteVehicle (this getVariable ["speaker", objNull]);}, "COPIE DU HDD1 EN COURS..."] call ace_common_fnc_progressBar; }, {pc_HDD1}] call ace_interact_menu_fnc_createAction;
[_objet, 0, ["DAZ_BCM_Acces_pc"], _action_2] call ace_interact_menu_fnc_addActionToObject;

_action_3 = ["DAZ_BCM_DD2_pc", "HDD-2", "", { [this] call DAZ_BCM_fnc_son; this setObjectTexture  [0, "DAZ_BCM_HACK\images\hack_hdd2.paa"]; [15, [], {hint "COPIE DU HDD2 REUSSI !!!";deleteVehicle (this getVariable ["speaker", objNull]); pc_HDD2 = False;}, {hint "COPIE DU HDD2 ANNULE"; deleteVehicle (this getVariable ["speaker", objNull]);}, "COPIE DU HDD2 EN COURS..."] call ace_common_fnc_progressBar; }, {pc_HDD2}] call ace_interact_menu_fnc_createAction;
[_objet, 0, ["DAZ_BCM_Acces_pc"], _action_3] call ace_interact_menu_fnc_addActionToObject;

_action_4 = ["DAZ_BCM_DD3_pc", "HDD-3", "", { [this] call DAZ_BCM_fnc_son; this setObjectTexture  [0, "DAZ_BCM_HACK\images\hack_hdd3.paa"]; [15, [], {hint "COPIE DU HDD3 REUSSI !!!";deleteVehicle (this getVariable ["speaker", objNull]); pc_HDD3 = False;}, {hint "COPIE DU HDD3 ANNULE"; deleteVehicle (this getVariable ["speaker", objNull]);}, "COPIE DU HDD3 EN COURS..."] call ace_common_fnc_progressBar; }, {pc_HDD3}] call ace_interact_menu_fnc_createAction;
[_objet, 0, ["DAZ_BCM_Acces_pc"], _action_4] call ace_interact_menu_fnc_addActionToObject;

_action_5 = ["DAZ_BCM_Donnees_pc", "EFFACER LES DONNÉES", "",  { [this] call DAZ_BCM_fnc_son; [15, [], {hint "SUPPRESSION DES DONNÉES REUSSI !!!";deleteVehicle (this getVariable ["speaker", objNull]); [this] spawn DAZ_BCM_fnc_hack_bluescreen; }, {hint "SUPPRESSION DES DONNÉES ANNULE"; deleteVehicle (this getVariable ["speaker", objNull]);}, "SUPPRESSION DES DONNÉES EN COURS..."] call ace_common_fnc_progressBar;}, {true}] call ace_interact_menu_fnc_createAction;
[_objet, 0, ["DAZ_BCM_Acces_pc"], _action_5] call ace_interact_menu_fnc_addActionToObject;

4 ace_common_fnc_progressBar

Code:
[Seconde de progression, [], {}, {}, "titre progress bar"] call ace_common_fnc_progressBar;

ex:
Code:
[15, [], {hint "OK !!!";}, {hint "ANNULE";}, "EN COURS..."] call ace_common_fnc_progressBar;



Maintenant voila comment l 'intégrer a L' ACE_Action:
Code:
_action_1 = ["DAZ_lacet","faire c'est lacet","",{[15, [], {hint "OK !!!";}, {hint "ANNULE";}, "EN COURS..."] call ace_common_fnc_progressBar;},{true}] call ace_interact_menu_fnc_createAction;
[player, 1, ["ACE_SelfActions"], _action_1] call ace_interact_menu_fnc_addActionToObject;



Voila vous avez les bases, vous pouvez les tester dans la console debug ou direct dans l'init.

pour plus d'info wiki_ace:
https://ace3mod.com/wiki/framework/interactionMenu-framework.html

_________________





Les guerres se succèdent , mais l'âme du soldat, elle, reste éternelle !!!
-----------------------------------------------------------------------------------
administrateur du serveur linux/ArmA
avatar
DÄZ
Reporter de guerre

Messages : 563
Date d'inscription : 29/09/2014
Age : 32
Localisation : Sud Ouest

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum