Français Solved Script de fouille de véhicule et container avec saisie d'items illégaux

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

Pablo07

User
11/8/21
30
2
2
300
Bonjour,

J''ai un problème de fouille véhicule et container je voudrais savoir comment faire pour que les prix soit par rapport a la bourse qui est dynamic-market the-programmer.
Pour la fouille de container est ce le même principe?

Fichier fn_vehInvSearch.sqf
 

Fichiers joints

Dernière édition par un modérateur:
Solution
Hello !

Dans ton fichier, trouve cette ligne :
Code:
_price = getNumber (_itemConfig >> "sellPrice");
et remplace-la par :
Code:
_price = -1;
if (isClass(missionConfigFile >> "CfgDynamicMarketPrice" >> _variable)) then {
    { if (_x # 0 == _variable) exitWith { _price = _x # 1; }; } forEach BoursePublicPrice;
} else {
    _price = getNumber (_itemConfig >> "sellPrice");
};
--- Ce message a été généré automatiquement par ChatGPT, le contenu peut être incorrect. Veuillez lire le message avec précaution ! ---

Bonjour,

Pour que les prix soient basés sur la bourse dynamic-market the-programmer, vous devez ajouter une requête à cette bourse pour obtenir les prix actuels des objets. Vous pouvez utiliser les fonctions fournies par la bourse pour cela.

Pour la fouille de conteneur, le principe est le même. Vous pouvez utiliser le même script pour la fouille des véhicules et des conteneurs en ajustant simplement la variable _vehicle pour qu'elle corresponde au conteneur ciblé.

N'hésitez pas à me poser d'autres questions si nécessaire.

Cordialement.

--- Pour continuer la discussion avec ChatGPT, cliquez sur "Répondre" en bas à droite de ce message. Sinon, attendez que quelqu'un vous réponde. ---
 
Hello !

Dans ton fichier, trouve cette ligne :
Code:
_price = getNumber (_itemConfig >> "sellPrice");
et remplace-la par :
Code:
_price = -1;
if (isClass(missionConfigFile >> "CfgDynamicMarketPrice" >> _variable)) then {
    { if (_x # 0 == _variable) exitWith { _price = _x # 1; }; } forEach BoursePublicPrice;
} else {
    _price = getNumber (_itemConfig >> "sellPrice");
};
 
  • Like
Les réactions: Pablo07
Solution
Bonjour,
pour les véhicules ca marche aucun souci merci par contre pour les container faut il faire pareil ou y a d'autres modifications a faire ?
 
Parfait, merci :)

C'est à peu près la même modif, remplace :
Code:
_illegalPrice = M_CONFIG(getNumber,"VirtualItems",_var,"sellPrice");
par :
Code:
_illegalPrice = -1;
if (isClass(missionConfigFile >> "CfgDynamicMarketPrice" >> _var)) then {
    { if (_x # 0 == _var) exitWith { _illegalPrice = _x # 1; }; } forEach BoursePublicPrice;
} else {
    _illegalPrice = M_CONFIG(getNumber,"VirtualItems",_var,"sellPrice");
};
 
Parfait, merci :)

C'est à peu près la même modif, remplace :
Code:
_illegalPrice = M_CONFIG(getNumber,"VirtualItems",_var,"sellPrice");
par :
Code:
_illegalPrice = -1;
if (isClass(missionConfigFile >> "CfgDynamicMarketPrice" >> _var)) then {
    { if (_x # 0 == _var) exitWith { _illegalPrice = _x # 1; }; } forEach BoursePublicPrice;
} else {
    _illegalPrice = M_CONFIG(getNumber,"VirtualItems",_var,"sellPrice");
};
Super merci ca marche nikel
si je veux garder mon fichier d'origine pour la fouille des véhicules est ce que je fais la même modif que tu as faite au fichier container

voici vehInvSearch d'origine
Code:
#include "..\..\script_macros.hpp"
/*
    File: fn_vehInvSearch.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    Searches the vehicle for illegal items.
*/
private ["_vehicle","_vehicleInfo","_value","_list"];
_vehicle = cursorObject;
_list = ["Air","Ship","LandVehicle"];
if (isNull _vehicle || {!(KINDOF_ARRAY(_vehicle,_list))}) exitWith {};

_vehicleInfo = _vehicle getVariable ["Trunk",[]];
if (count _vehicleInfo isEqualTo 0) exitWith {hint localize "STR_Cop_VehEmpty"};

_value = 0;
_illegalValue = 0;
{
    _var = _x select 0;
    _val = _x select 1;
    _isIllegalItem = M_CONFIG(getNumber,"VirtualItems",_var,"illegal");
    if (_isIllegalItem isEqualTo 1 ) then{
        _illegalPrice = M_CONFIG(getNumber,"VirtualItems",_var,"sellPrice");
        if (!isNull (missionConfigFile >> "VirtualItems" >> _var >> "processedItem")) then {
            _illegalItemProcessed = M_CONFIG(getText,"VirtualItems",_var,"processedItem");
            _illegalPrice = M_CONFIG(getNumber,"VirtualItems",_illegalItemProcessed,"sellPrice");
        };

        _illegalValue = _illegalValue + (round(_val * _illegalPrice / 2));
    };
} forEach (_vehicleInfo select 0);
_value = _illegalValue;
if (_value > 0) then {
    [0,"STR_NOTF_VehContraband",true,[[_value] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",RCLIENT];
    BANK = BANK + _value;
    [1] call SOCK_fnc_updatePartial;
    _vehicle setVariable ["Trunk",[[],0],true];
} else {
    hint localize "STR_Cop_NoIllegalVeh";
};
 
Oui c'est la même chose que le fn_containerInvSearch.sqf :
Remplace :
Code:
_illegalPrice = M_CONFIG(getNumber,"VirtualItems",_var,"sellPrice");
par :
Code:
_illegalPrice = -1;
if (isClass(missionConfigFile >> "CfgDynamicMarketPrice" >> _var)) then {
{ if (_x # 0 == _var) exitWith { _illegalPrice = _x # 1; }; } forEach BoursePublicPrice;
} else {
_illegalPrice = M_CONFIG(getNumber,"VirtualItems",_var,"sellPrice");
};