Bienvenue sur ce tutoriel qui vous permettra de modifier le fonctionnement du script de traitement des items virtuels pour que l'objet obtenu soit aléatoire parmis une liste prédéfinie dans le Config_Process.hpp.
Dans votre fn_processAction.sqf, remplacez ces lignes :
fn_processAction.sqf:
_newItemWeight = 0;
{
_weight = ([_x select 0] call life_fnc_itemWeight) * (_x select 1);
_newItemWeight = _newItemWeight + _weight;
} count _newItem;
Code :
_newItemWeight = 0;
_percent = (floor random 100) + 1;
{
_prob = _x select 2;
_probdiff = _x select 3;
if ((_percent >= _prob) && (_percent <= _probdiff)) exitWith {
_weight = ([_x select 0] call life_fnc_itemWeight) * (_x select 1);
_newItemWeight = _newItemWeight + _weight;
};
} count _newItem;
Ensuite, dans le même fichier, remplacez ces lignes :
Code :
{
[true,(_x select 0),((_x select 1)*(_minimumConversions))] call life_fnc_handleInv;
} count _newItem;
fn_processAction.sqf:
{
_prob = _x select 2;
_probdiff = _x select 3;
if ((_percent >= _prob) && (_percent <= _probdiff)) exitWith {
[true,(_x select 0),((_x select 1)*(_minimumConversions))] call life_fnc_handleInv;
};
} count _newItem;
Exemple de configuration :
Config_Process.hpp:
class minerais {
MaterialsReq[] = {{"pierre",1}};
MaterialsGive[] = {{"copper_refined",1,0,75},{"iron_refined",1,75,100}}; // 1 cuivre 75% de chance (de 0 à 75 sur 100) / 1 fer 25% de chance de (75 à 100 sur 100)
Text = "STR_Process_Minerais";
NoLicenseCost = 1350;
};
Pour comprendre les pourcentages :
0, 100 : 100%
55, 60 : 5%
20, 100 : 80%
20, 20 : 0% -> INUTILE
Et voila !
Merci à
![Maxence](/data/avatars/s/0/4.jpg?1622225631)
![Smile :) :)](https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/72x72/1f642.png)
Dernière édition par un modérateur: