Français Solved How to Enable Impound Feature for Tow Truck in Dépanneur

  • Auteur de la discussion Auteur de la discussion thomas59213
  • Date de début Date de début
20/4/20
53
1
300
Bonjour à tous,

J'ai essayé d'ajouter deux choses aujourdh'ui (oui oui !!!)
la première : permettre aux dépanneur de mettre les véhicules en fourrière via ce bout de code :

Code:
//Fourriere depanneur
if (playerSide isEqualTo civilian && license_civ_dir) then {
    _Btn8 ctrlSetText localize "STR_vInAct_Impound";
    _Btn8 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
};

et la deuxième, réparer à moitié avec les repair kit de base et réparer à 100 % avec des repair kit exprès pour les dépanneur

j'ai créer mon vItem comme cela

Code:
    class mechanicbox {
        variable = "mechanicbox";
        displayName = "STR_Item_Mechanicbox";
        weight = 4;
        buyPrice = 400;
        sellPrice = 300;
        illegal = false;
        edible = -1;
        icon = "\a3\weapons_f\items\data\UI\gear_toolkit_ca.paa";
    };

je l'ai ensuite défini dans le stringtable

voila le fichier pour le repair kit "amélioré"

fn_mechanicToolBox.sqm

https://paste-me.net/vitom

J'ai défini ce nouveau fichier dans le function.hpp comme cela, dans la class core/actions

class mechanicToolBox {};

voici mon vInteractionMenu


le problème est que rien de tout cela ne fonctionne...
j'ai donc grandement besoin de votre aide !!!

Merci d'avance à vous tous
 
Solution
Salut !

Pour le premier, vérifie que l'IDC du btn8 correspond bien au bouton 8 dans ton pInteraction.hpp (en bas du fichier). Et est-ce que tu as Impound Menu ? Et/ou Radial Menu ? Les modifications sont légèrement différentes.
1588518096727.png

Pour le second, est-ce que tu as modifié ton fn_useItem.sqf pour rendre l'objet utilisable ?
Bonjour maxence merci de ton aide !!! oui on a acheté le Impound Menu que je n'ai pas encore installer (acheté ce matin)
et non je n'ai pas modifié le fichier, ce que je vais m'empresser de faire ;) merci à toi !
 
Salut, tu feras attention dans ton impoundaction il y a une condition pour les gendarmes donc si tu ne l'a pas adapté pour les dépanneurs ils ne recevront pas d'argent et je suis même pas sur que ça marche !

Ensuite Maxence Maxence je ne suis pas sur qu'il est besoin qu'il ai besoin du useitem étant donner que le repair kit ne s'utilise pas avec le menu y mais avec le menu d'action :)

Par contre ton repair kit avancé tu veux qu'il soit que pour les dépanneurs ?
 
Le repair kit oui pour les dépanneurs mais j'ai mis la condition dans le vInteraction menu comme cela

if (playerSide isEquaTo civilian && license_civ_dir) then {
et la j'ai déclaré le bouton qui appel la mise en fourrière cependant je n'ai pas toucher au impound action
 
D'accord mais c'est un peu compliqué ton système parce qu'un dépanneur dans son menu il aura le bouton réparer de base et le bouton réparer améliorer ^^
Tu aurais du garder le même repair kit pour tout le monde et juste rajouter une condition comme quoi si x à la license dir alors il repare à 100% sinon il répare à 50 % :) et ça évitera à tes dép de se faire braquer pour avoir des repair kit améliorer :) après comme tu veux mais si jamais je peux t'aider ;)

et pour la condition c'est mieux comme ça :

Code:
 if (playerSide isEqualTo west || (playerSide isEqualTo civilian && licence_civ_dir)) then {
 
donc pour la condition je la rajoute au niveau du _set damage veh = 0; comme cela ?
Code:
if (playerSide isEqualTo civilian && license_civ_dir) then {
    _veh setdamage =0;
}
else {
    _veh setdamage =0.5;
};
 
Exact :) moi j'ai fais en sorte que si les dépanneurs sont co, les gens réparent en 1 minute 30 et ils réparent à 50 % et les dep réparent en 20 secondes à 100 % et quand ils sont déco les civils réparent en 20 secondes à 100 % je l'ai fais avec le script de marker entreprise de the programmer ^^
 
on va déjà voir si ce que j'ai essayé de mettre fonctionne et si ca le fait on continuera à pousser les scripts sur les dépanneurs
Je t'avoue que je n'ai pas pensé à la condition sur le setdamage mais effectivement c'est carrément plus simple...
 
du coup j'ai mis une condition pour les repair kit infini pour les dépanneur comme cela

Code:
        //Check if playerSide has infinite repair enabled
        
        if ((playerSide isEqualTo civilian && license_civ_dir) && (_sideRepairArray select 0) isEqualTo 0) then {
            [true,"toolkit",1] call life_fnc_handleInv;
        }
        else {
            [false,"toolkit",1] call life_fnc_handleInv;
        };
        if (playerSide isEqualTo west && (_sideRepairArray select 1) isEqualTo 0) then {
            [false,"toolkit",1] call life_fnc_handleInv;
        };
        if (playerSide isEqualTo independent && (_sideRepairArray select 2) isEqualTo 0) then {
            [false,"toolkit",1] call life_fnc_handleInv;
        };
        if (playerSide isEqualTo east && (_sideRepairArray select 3) isEqualTo 0) then {
            [false,"toolkit",1] call life_fnc_handleInv;
        };