Français Solved Comment acheter des gros hangars blancs sur la carte? Comment enlever les toolkits des objets virtuels? Comment augmenter les soins des kits de soins?

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

Meumii

User
7/1/21
12
0
100
Bonjour, j'avais fait dans le passé que les gros hangars blancs pouvaient être achetés sur la carte mais j'ai changé de version et je ne trouve plus comment faire est-ce que quelqu'un serait me dire comment faire.. Aussi j'ajoute que j'aimerais enlever les toolkits des objets virtuels.. C'est-à-dire que lorsque je l'achète au genstore et qu'il est alors dans mon inventaire de sac-à-dos qu'il puisse être utilisé de cet endroit. Et j'ajoute en bonus si quelqu'un le sait, les kits de soins soignent seulement 25% de la vie des utilisateurs... J'aimerais faire que ça soigne 75% comme à l'habitude

Merci
 
Solution
M Meumii
Pour les hangars, ajoute le classname du hangar dans ton config_housing.hpp dans core/config

Pour le toolkit, dans ton repairTruck.sqf il faudrais un truc du style:
Code:
if ("classname" in ((uniform player) + (vest player) + (backpack player)) then {
//Code
};
Plus simple de faire un truc du genre

Code:
if (("ToolKit" in (items player))) then {

C'est plus lisible je trouve ;)

Sans oublier de modifier la suite :

Code:
//Check if playerSide has infinite repair enabled
        if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
            player removeItem "ToolKit";
        };
        if (playerSide isEqualTo west && (_sideRepairArray select 1) isEqualTo 0) then {...
M Meumii
Pour les hangars, ajoute le classname du hangar dans ton config_housing.hpp dans core/config

Pour le toolkit, dans ton repairTruck.sqf il faudrais un truc du style:
Code:
if ("classname" in ((uniform player) + (vest player) + (backpack player)) then {
//Code
};
 
M Meumii
Pour les hangars, ajoute le classname du hangar dans ton config_housing.hpp dans core/config

Pour le toolkit, dans ton repairTruck.sqf il faudrais un truc du style:
Code:
if ("classname" in ((uniform player) + (vest player) + (backpack player)) then {
//Code
};
En même-temps est-ce que tu sais comment faire pour changer les prix de sorti des véhicules ? C'est pas dans Config_Master.hpp
 
Essaye de faire un post par sujet sinon on ne retrouve pas les anciennes demandes déjà répondues.
Le prix de sortie dépend du prix de vente, c'est un pourcentage dans le Config_Master.hpp :
Code:
vehicle_storage_fee_multiplier = .001;
Pour mettre un prix unique peut importe le prix de vente, regarde ce post : https://forum.the-programmer.com/post/prix-sortie-vehicule-du-garage.494/
 
Essaye de faire un post par sujet sinon on ne retrouve pas les anciennes demandes déjà répondues.
Le prix de sortie dépend du prix de vente, c'est un pourcentage dans le Config_Master.hpp :
Code:
vehicle_storage_fee_multiplier = .001;
Pour mettre un prix unique peut importe le prix de vente, regarde ce post : https://forum.the-programmer.com/post/prix-sortie-vehicule-du-garage.494/

Ça c'est mon fichier et je n'arrive pas a faire que les toolkit doivent être acheté dans les genstore... Pourtant l'item est configuré dans les genstore de base et l'option ne fonctionne pas...


Code:
#include "..\..\script_macros.hpp"
/*
    File: fn_repairTruck.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    Main functionality for toolkits, to be revised in later version.
*/
private ["_veh","_upp","_ui","_progress","_pgText","_cP","_displayName","_test","_sideRepairArray"];
_veh = cursorObject;
life_interrupted = false;
if (isNull _veh) exitWith {};
if ((_veh isKindOf "Car") || (_veh isKindOf "Ship") || (_veh isKindOf "Air")) then {
    if (life_inv_toolkit > 0) then {
        life_action_inUse = true;
        _displayName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _veh),"displayName");
        _upp = format [localize "STR_NOTF_Repairing",_displayName];

        //Setup our progress bar.
        disableSerialization;
        "progressBar" cutRsc ["life_progress","PLAIN"];
        _ui = uiNamespace getVariable "life_progress";
        _progress = _ui displayCtrl 38201;
        _pgText = _ui displayCtrl 38202;
        _pgText ctrlSetText format ["%2 (1%1)...","%",_upp];
        _progress progressSetPosition 0.01;
        _cP = 0.01;

        for "_i" from 0 to 1 step 0 do {
            if (animationState player != "AinvPknlMstpSnonWnonDnon_medic_1") then {
                [player,"AinvPknlMstpSnonWnonDnon_medic_1",true] remoteExecCall ["life_fnc_animSync",RCLIENT];
                player switchMove "AinvPknlMstpSnonWnonDnon_medic_1";
                player playMoveNow "AinvPknlMstpSnonWnonDnon_medic_1";
            };

            uiSleep 0.27;
            _cP = _cP + 0.01;
            _progress progressSetPosition _cP;
            _pgText ctrlSetText format ["%3 (%1%2)...",round(_cP * 100),"%",_upp];
            if (_cP >= 1) exitWith {};
            if (!alive player) exitWith {};
            if !(isNull objectParent player) exitWith {};
            if (life_interrupted) exitWith {};
        };

        life_action_inUse = false;
        "progressBar" cutText ["","PLAIN"];
        player playActionNow "stop";
        if (life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
        if !(isNull objectParent player) exitWith {titleText[localize "STR_NOTF_ActionInVehicle","PLAIN"];};

        _sideRepairArray = LIFE_SETTINGS(getArray,"vehicle_infiniteRepair");

        //Check if playerSide has infinite repair enabled
        if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
            [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;
        };

        _veh setDamage 0;
        titleText[localize "STR_NOTF_RepairedVehicle","PLAIN"];
    };
};
 
Y'a plusieurs question dans ce post, je suis un peu perdu :unsure:

Est-ce que les toolkits sont achetables dans le magasin ? Ils ne sont juste pas utilisables ?
Si tu veux que le toolkit soit un objet physique au lieu d'un objet virtuel, il faut modifier cette ligne dans ton fichier par ce qui a été dit plus haut :
Code:
if (life_inv_toolkit > 0) then {
 
M Meumii
Pour les hangars, ajoute le classname du hangar dans ton config_housing.hpp dans core/config

Pour le toolkit, dans ton repairTruck.sqf il faudrais un truc du style:
Code:
if ("classname" in ((uniform player) + (vest player) + (backpack player)) then {
//Code
};
Plus simple de faire un truc du genre

Code:
if (("ToolKit" in (items player))) then {

C'est plus lisible je trouve ;)

Sans oublier de modifier la suite :

Code:
//Check if playerSide has infinite repair enabled
        if (playerSide isEqualTo civilian && (_sideRepairArray select 0) isEqualTo 0) then {
            player removeItem "ToolKit";
        };
        if (playerSide isEqualTo west && (_sideRepairArray select 1) isEqualTo 0) then {
            player removeItem "ToolKit";
        };
        if (playerSide isEqualTo independent && (_sideRepairArray select 2) isEqualTo 0) then {
            player removeItem "ToolKit";
        };
        if (playerSide isEqualTo east && (_sideRepairArray select 3) isEqualTo 0) then {
            player removeItem "ToolKit";
        };
 
Solution