Hello !
Je sais que vous en avez marre d'avoir les addAction avec la molette de la souris, à chaque fois il faut modifier la map etc, c'est fastidieux !
Si je vous dis qu'aujourd'hui j'ai un nouveau style d'addAction à vous proposer ? Et que vous pourrez modifier TOUTES vos actions depuis 1 seul fichier ? Allez, let's go !!
1) Nous allons créer un fichier "fn_addActions.sqf" dans votre dossier core\actions et dedans on va mettre :
[CODE title="fn_addActions.sqf"]/*Je sais que vous en avez marre d'avoir les addAction avec la molette de la souris, à chaque fois il faut modifier la map etc, c'est fastidieux !
Si je vous dis qu'aujourd'hui j'ai un nouveau style d'addAction à vous proposer ? Et que vous pourrez modifier TOUTES vos actions depuis 1 seul fichier ? Allez, let's go !!
1) Nous allons créer un fichier "fn_addActions.sqf" dans votre dossier core\actions et dedans on va mettre :
Author: Yuri Zoko
Web site: www.the-programmer.com
Discord: https://discord.the-programmer.com
Terms of use:
- This file is forbidden unless you have permission from the author. If you have this file without permission to use it please do not use it and do not share it.
- If you have permission to use this file, you can use it on your server however it is strictly forbidden to share it.
- Out of respect for the author please do not delete this information.
*/
[] spawn { [Banque_NPC01, // Mettre la variable du PNJ/Objet qui aura cette addAction - A MODIFIER IMPÉRATIVEMENT !!
"Ouvrir un compte en banque", // Titre - A MODIFIER IMPÉRATIVEMENT !!
"a3\ui_f_oldman\data\igui\cfg\holdactions\holdaction_market_ca.paa", // Icone de l'addAction (voir point n°2)
"a3\ui_f_oldman\data\igui\cfg\holdactions\holdaction_market_ca.paa", // Icone de progression (voir point n°2)
"(player distance _target) < 5", // Condition pour que l'action soit montrée
"(player distance _target) < 5", // Condition pour que l'acion soit activable
{}, // Code exécuté lors du démarrage de l'action
{}, // Code exécuté à chaque tic
{}, // Code exécuté une fois terminé - A MODIFIER IMPÉRATIVEMENT !!
{}, // Code exécuté lorsqu'il est interrompu
[], // Anciens arguments pour le script
1, // Durée
0, // Priorité
false, // Supprime l'action lorsqu'elle est exécutée
false // Montrer quand on est inconscient
] remoteExec ["BIS_fnc_holdActionAdd", -2, true]; };[/CODE]
N'oubliez pas de modifier toutes les valeurs selon les commentaires.
La documentation de la fonction est disponible ici : https://community.bistudio.com/wiki/BIS_fnc_holdActionAdd
2) Pour trouver les icônes de base d'Arma vous pouvez exécuter ce code dans votre console de debug :
Code:
[] spawn
{ // EXECUTE IN EDEN EDITOR OR EDITOR PREVIEW! disableSerialization;
private _display = findDisplay 313 createDisplay "RscDisplayEmpty";
private _edit = _display ctrlCreate ["RscEdit", 645]; _edit ctrlSetPosition [safezoneX + 50 * pixelW, safezoneY + 50 * pixelH, safezoneW - 500 * pixelW, 50 * pixelH]; _edit ctrlSetBackgroundColor [0,0,0,1]; _edit ctrlCommit 0;
private _status = _display ctrlCreate ["RscEdit", 1337]; _status ctrlSetPosition [safezoneX + safezoneW - 400 * pixelW, safezoneY + 50 * pixelH, 350 * pixelW, 50 * pixelH]; _status ctrlSetBackgroundColor [0,0,0,1]; _status ctrlCommit 0; _status ctrlEnable false;
private _tv = _display ctrlCreate ["RscTreeSearch", -1]; _tv ctrlSetFont "EtelkaMonospacePro"; _tv ctrlSetFontHeight 0.05; _tv ctrlSetPosition [safezoneX + 50 * pixelW, safezoneY + 125 * pixelH, safezoneW - 100 * pixelW, safeZoneH - 175 * pixelH]; _tv ctrlSetBackgroundColor [0,0,0,1]; _tv ctrlCommit 0;
_tv ctrlAddEventHandler ["treeSelChanged", { params ["_ctrlTV", "_selectionPath"]; copyToClipboard (_ctrlTV tvText _selectionPath); playSound ("RscDisplayCurator_ping" + selectRandom ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10"]); (ctrlParent _ctrlTv) displayCtrl 1337 ctrlSetText "Path copied to clipboard!"; }];
private _counter = 0; { private _files = addonFiles [_x # 0, ".paa"]; { if ("\actions" in _x || "\holdaction" in _x) then { _counter = _counter + 1; _status ctrlSetText format ["%1 textures found.", _counter]; private _index = _tv tvAdd [[], _x]; _tv tvSetPicture [[_index], _x]; }; } forEach _files; } foreach allAddonsInfo;
_tv tvSortall [[], false];
};
3) Supprimer init dans l'objet sur votre mapping et donnez lui la même variable que dans l'étape 1 (dans l'exemple c'est Banque_NPC01)
4) Ajoutez autant d'addAction que vous le souhaitez dans le fichier en copiant/collant le code.
5) Dans votre init.sqf du dossier core\mission ajoutez tout en bas :
[CODE title="init.sqf"][] execVM "core\actions\fn_addActions.sqf";[/CODE]4) Ajoutez autant d'addAction que vous le souhaitez dans le fichier en copiant/collant le code.
5) Dans votre init.sqf du dossier core\mission ajoutez tout en bas :
Et voila ! Maintenant vous aurez ce résultat :
Fichiers joints
Dernière édition par un modérateur: