Français Solved Comment ajouter un objet personnalisable dans les entreprises avec un addAction dédié ?

  • Auteur de la discussion Auteur de la discussion sharkriper
  • Date de début Date de début

sharkriper

User
27/10/21
3
1
250
Bonjour,

Suite à une discussion sur le discord avec Maxence Maxence.

La question comment ajouter des objets personnalisable dans les entreprises avec un addAction dédié ?

Merci d'avance de votre temps et soit dit en passant super produit !
 
Solution
Hello ! Merci pour ton retour, hésite pas à écrire ton avis (ou juste mettre une note) sur l'onglet "Review" sur la page du produit ☺️

Pour ça tu peux créer une nouvelle fonction dans ton Functions.hpp, par exemple en dessous de file = "core\actions" :
Code:
class companyCustomAction {};

Il faut également ajouter dans ton CfgRemoteExec.hpp :
Code:
F(life_fnc_companyCustomAction,CLIENT)

Puis créé le fichier fn_companyCustomAction.sqf dans core/actions (ou un autre dossier si tu l'as mis autre part dans le Functions.hpp) :
Code:
/*
    Maxence
*/
_entreprise = param [0,objNull,[objNull]];
if (isNull _entreprise) exitWith {};

_currentObject = param [1,objNull,[objNull]];
if !(isNull _currentObject)...
Hello ! Merci pour ton retour, hésite pas à écrire ton avis (ou juste mettre une note) sur l'onglet "Review" sur la page du produit ☺️

Pour ça tu peux créer une nouvelle fonction dans ton Functions.hpp, par exemple en dessous de file = "core\actions" :
Code:
class companyCustomAction {};

Il faut également ajouter dans ton CfgRemoteExec.hpp :
Code:
F(life_fnc_companyCustomAction,CLIENT)

Puis créé le fichier fn_companyCustomAction.sqf dans core/actions (ou un autre dossier si tu l'as mis autre part dans le Functions.hpp) :
Code:
/*
    Maxence
*/
_entreprise = param [0,objNull,[objNull]];
if (isNull _entreprise) exitWith {};

_currentObject = param [1,objNull,[objNull]];
if !(isNull _currentObject) exitWith {
    _currentObject addAction ["Dire bonjour",{hint "Bonjour !"},"",0,false,false,"","",5]; // Tu peux modifier cette ligne comme tu souhaites
};

_currentObject = maxence_placing_object;
if (isNull _currentObject) exitWith {};

_members = _entreprise getVariable ["entreprise_members",[]];

{
    _curCheck = _x;

    {
        if ((getPlayerUID _curCheck) isEqualTo (_x select 0)) then {
            [_entreprise,_currentObject] remoteExec ["life_fnc_companyCustomAction",_curCheck];
        };
    } forEach _members;
} forEach playableUnits;

Et tu peux mettre dans la class de ton objet, dans le config_master de Company System :
Code:
actionOnPlace = "life_fnc_companyCustomAction";
actionOnJoin = "life_fnc_companyCustomAction";
 
Solution
Merci de ta réponse, et j'ai mis une note ^^

Pour le retour l'objet apparait bien dans l'inventaire (image 1) de l'entreprise, après avoir appuyer sur "espace" l'objet disparait et pourtant posé (image 2).

J'ai joint mon fichier RPT


Code:
Error isnull: Type Chaîne, Objet,Groupement,Script,Config entry,Display (dialog),Control,Network Object,Task,Diary record,Location attendu
18:30:38 File mpmissions\__CUR_MP.Gulfcoast\core\programmer\fn_whiteningCustomAction.sqf..., line 19
18:30:38 Error in expression <itUntil {
if ((((maxence_placing_object distance _originalPos) > 50) || ((player>
18:30:38   Error position: <distance _originalPos) > 50) || ((player>
18:30:38   Error distance: Type Chaîne, Tableau,Objet,Location attendu
18:30:38 File company_system\client\tp_placeObject.sqf..., line 54
18:30:51 Cannot create non-ai vehicle The_Programmer_Iphone_Model,
18:32:14 Error in expression <entObject = maxence_placing_object;
if (isNull _currentObject) exitWith {};

_me>
18:32:14   Error position: <isNull _currentObject) exitWith {};

_me>
18:32:14   Error isnull: Type Chaîne, Objet,Groupement,Script,Config entry,Display (dialog),Control,Network Object,Task,Diary record,Location attendu
18:32:14 File mpmissions\__CUR_MP.Gulfcoast\core\programmer\fn_whiteningCustomAction.sqf..., line 19
18:32:14 Error in expression <f (!(maxence_placing_object_active) || (isNull maxence_placing_object)) exitWith>
18:32:14   Error position: <isNull maxence_placing_object)) exitWith>
18:32:14   Error isnull: Type Chaîne, Objet,Groupement,Script,Config entry,Display (dialog),Control,Network Object,Task,Diary record,Location attendu
18:32:14 File company_system\client\tp_placeObjectCompleted.sqf..., line 14
18:32:15 Error in expression <itUntil {
if ((((maxence_placing_object distance _originalPos) > 50) || ((player>
18:32:15   Error position: <distance _originalPos) > 50) || ((player>
18:32:15   Error distance: Type Chaîne, Tableau,Objet,Location attendu
18:32:15 File company_system\client\tp_placeObject.sqf..., line 54
18:32:16 Cannot create non-ai vehicle The_Programmer_Iphone_Model,
18:35:44 "0h 51min | James Castellano(76561198137944116) | Teleport to [653.814,14376.3,0](GPS: 006143)"
18:35:47 Error in expression <f (!(maxence_placing_object_active) || (isNull maxence_placing_object)) exitWith>
18:35:47   Error position: <isNull maxence_placing_object)) exitWith>
18:35:47   Error isnull: Type Chaîne, Objet,Groupement,Script,Config entry,Display (dialog),Control,Network Object,Task,Diary record,Location attendu
18:35:47 File company_system\client\tp_placeObjectCompleted.sqf..., line 14
18:35:47 Error in expression <f (!(maxence_placing_object_active) || (isNull maxence_placing_object)) exitWith>
18:35:47   Error position: <isNull maxence_placing_object)) exitWith>
18:35:47   Error isnull: Type Chaîne, Objet,Groupement,Script,Config entry,Display (dialog),Control,Network Object,Task,Diary record,Location attendu
18:35:47 File company_system\client\tp_placeObjectCompleted.sqf..., line 14
 

Fichiers joints

  • 1648744294473.png
    1648744294473.png
    173.9 KB · Affichages: 17
  • 1648744350187.png
    1648744350187.png
    166.6 KB · Affichages: 19
  • fn_whiteningCustomAction.sqf
    fn_whiteningCustomAction.sqf
    986 bytes · Affichages: 16
Dernière édition:
Non c'était moi l'erreur !

J'ai mis en TYPE un maker au lieu d'un objet ^^

Par contre je me suis retrouvé face à une limite de poids de l'élément plaçable (j'ai donc changé d'élément), le système fonctionne parfaitement !

Merci pour l'aide apporté !
 
  • Ok
Les réactions: Maxence