Français Solved Adding ACE Objects to Different Stores and Displaying Icons in Seller/Bag List

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

Gertrude

User
27/4/22
31
1
450
Bonjour,
Si quelqu'un peut m'éclairer de la manière correcte de procéder;
Je cherche à rajouter des objets du Ace dans les différents magasins que ce soit cop/indé/civils.
Alors j'ai rajouté les lignes dans le config comme ceci par exemple :
Code:
class Cabletie {
        variable = "Cabletie";
        displayName = "ACE_CableTie";
        weight = 1;
        buyPrice = 65;
        sellPrice = 50;
        illegal = false;
        edible = -1;
        drinkable = -1;
        icon = "icons\ace_cabletie_ca.paa";
    };

Alors j'ai visiblement les objets in game mais j'aimerais avoir une icône dans la liste vendeur/sac
Actuellement IG j'ai ça pour vous donner une idée. 20220529174128_1.jpg
 
Dernière édition par un modérateur:
Salut ! De ce que je vois c'est pas le seul item à avoir un problème d'affichage, tu peux nous joindre ton fn_virt_menu stp
 
[CODE title="fn_virt_menu.sqf"]#include "..\..\script_macros.hpp"
/*
File: fn_virt_menu.sqf
Author: Bryan "Tonic" Boardwine
Description:
Initialize the virtual shop menu.
*/

params [
["_shopNPC", objNull, [objNull]],
"",
"",
["_shopType", "", [""]]
];

if (isNull _shopNPC || {_shopType isEqualTo ""}) exitWith {};

private _shopSide = M_CONFIG(getText,"VirtualShops",_shopType,"side");

life_shop_type = _shopType;
life_shop_npc = _shopNPC;

private _exit = false;

if !(_shopSide isEqualTo "") then {
private _flag = switch (playerSide) do {case west: {"cop"}; case independent: {"med"}; default {"civ"};};
if !(_flag isEqualTo _shopSide) then {_exit = true;};
};

if (_exit) exitWith {};

private _conditions = M_CONFIG(getText,"VirtualShops",_shopType,"conditions");

if !([_conditions] call life_fnc_levelCheck) exitWith {hint localize "STR_Shop_Veh_NotAllowed";};

createDialog "shops_menu";

[] call life_fnc_virt_update;
[/CODE]
 
Alors oui ce sont tout les items du Ace que j'essaie de rajouter, une bonne quinzaine actuellement. pour ce que j'ai fais c'est créer les lignes de codes objets par objets dans le config_vItems.hpp comme cité plus haut. après dites moi ce que je dois faire de plus, je l'ignore c'est pour celà que je suis là ;;)
 
[CODE title="fn_virt_update.sqf"]#include "..\..\script_macros.hpp"
/*
File: fn_virt_update.sqf
Author: Bryan "Tonic" Boardwine

Description:
Update and fill the virtual shop menu.
*/
private ["_item_list","_gear_list","_shopItems","_name","_price"];
disableSerialization;

//Setup control vars.
_item_list = CONTROL(2400,2401);
_gear_list = CONTROL(2400,2402);

//Purge list
lbClear _item_list;
lbClear _gear_list;

if (!isClass(missionConfigFile >> "VirtualShops" >> life_shop_type)) exitWith {closeDialog 0; hint localize "STR_NOTF_ConfigDoesNotExist";}; //Make sure the entry exists..
ctrlSetText[2403,localize (M_CONFIG(getText,"VirtualShops",life_shop_type,"name"))];
_shopItems = M_CONFIG(getArray,"VirtualShops",life_shop_type,"items");

{
_displayName = M_CONFIG(getText,"VirtualItems",_x,"displayName");
_price = M_CONFIG(getNumber,"VirtualItems",_x,"buyPrice");
if (!(_price isEqualTo -1)) then {
_item_list lbAdd format ["%1 ($%2)",(localize _displayName),[_price] call life_fnc_numberText];
_item_list lbSetData [(lbSize _item_list)-1,_x];
_item_list lbSetValue [(lbSize _item_list)-1,_price];
_icon = M_CONFIG(getText,"VirtualItems",_x,"icon");
if (!(_icon isEqualTo "")) then {
_item_list lbSetPicture [(lbSize _item_list)-1,_icon];
};
};
} forEach _shopItems;

{
_name = M_CONFIG(getText,"VirtualItems",_x,"displayName");
_val = ITEM_VALUE(_x);

if (_val > 0) then {
_gear_list lbAdd format ["%2 [x%1]",_val,(localize _name)];
_gear_list lbSetData [(lbSize _gear_list)-1,_x];
_icon = M_CONFIG(getText,"VirtualItems",_x,"icon");
if (!(_icon isEqualTo "")) then {
_gear_list lbSetPicture [(lbSize _gear_list)-1,_icon];
};
};
} forEach _shopItems;
[/CODE]
 
Enfaite ton script essai de trouver les items dans le stringtable.xml. (grace au localize _displayName), donc ajoutes la "traduction" de l'item dedans
 
Solution
comme ceci par exemple pour être sûr ?
Code:
        </Key>
        <Key ID="ACE_CableTie">
            <Original>Cabletie</Original>
            <French>Cabletie</French>
 
Dernière édition par un modérateur:
je crois que c'est fait non ?
Code:
    class Cabletie {
        variable = "Cabletie";
        displayName = "ACE_CableTie";
        weight = 1;
        buyPrice = 65;
        sellPrice = 50;
        illegal = false;
        edible = -1;
        drinkable = -1;
        icon = "icons\ace_cabletie_ca.paa";
    };
 
Dernière édition par un modérateur: