Français Solved Restrictions de stockage pour 2 types de véhicules

  • Auteur de la discussion Auteur de la discussion Joe Dalton
  • Date de début Date de début

Joe Dalton

User
6/9/20
46
7
600
Bonjour à tous,

Je viens vers vous avec un petit souci d'écriture, que je n'arrive pas à résoudre tout seul sans "tout casser".
Je m'explique, grâce à ces 2 tutos(un grand merci à leurs auteurs):
https://forum.the-programmer.com/post/bloquer-le-stockage-dun-item-dans-un-véhicule-spécifique.899/

Et ... Pas moyen de remettre la main sur le 2ème, désolé Android c'est un peu limité comme setup de dev' 😅 ( Création de la fnc storeallitem and takeallitem). Fonctions que je vais remplacer du coup par le nouveau tuto qui permet de transférer tout avec le double clic mais là n'est pas le souci.
Bref, après mise en place de ces 2 tutos sur le serveur et un fonctionnement impeccable, j'aurais voulu "pousser le vice" un peu plus.

Le but : Bloquer le stockage de l'item "Pétrole raffiné" à 2 véhicules seulement, une citerne Total et un bateau. Mais aussi bloquer le coffre de ces derniers, qu'ils ne puissent stocker que du pétrole raffiné ou non raffiné (2 items).
Grâce au 1er tuto, je peux aisément bloquer le stockage de l'item, mais aussi bloquer le véhicule pour qu'il ne puisse plus stocker que l'item en question, comme ceci :

Code:
if ((_ctrl == "oil_processed") && (!((typeOf life_trunk_vehicle ) == "chciternvol_total"))) exitWith {hint "Vous ne pouvez pas stocker du carburant dans ce véhicule !";}; if (!(_ctrl == "oil_processed") && ((typeOf life_trunk_vehicle ) == "chciternvol_total")) exitWith {hint "Vous ne pouvez pas stocker autre chose que du carburant dans ce véhicule !";};

Résultat : La citerne ne peut contenir que du "oil_processed" et le "oil_processed" ne peut être stocké que dans cette citerne.

J'ai donc tenté, sans succès, dans un premier temps, de réaliser la même chose mais pour 2 véhicules. Le "oil_processed" ne pourrait être contenu que dans la citerne ou le mk5(bateau) :

Code:
if ((_ctrl == "oil_processed") && (!((typeOf life_trunk_vehicle ) == "chciternvol_total")) || (!((typeOf life_trunk_vehicle) =="rksla3_lcvpmk5_1_civ")) exitWith {hint "Vous ne pouvez pas stocker du carburant dans ce véhicule !";};
if (!(_ctrl == "oil_processed") && ((typeOf life_trunk_vehicle ) == "chciternvol_total")) || (((typeOf life_trunk_vehicle) =="rksla3_lcvpmk5_1_civ")) exitWith {hint "Vous ne pouvez pas stocker autre chose que du carburant dans ce véhicule !";};

Et c'est là que j'ai besoin de vos talents multiples 💪😅 Comment écrire ceci correctement afin que d'une part, la citerne et le mk5 ne puissent stocker que ces 2 items : le "oil_unprocessed" & le "oil_processed"et d'autre part que ces items ne puissent être stockés dans rien d'autre que les 2 fameux véhicules.
Est ce que ce qui suit, pourrait être fonctionnel ou j'ai écrit çà avec mes pieds ? 🤭

Code:
if ((_ctrl == "oil_processed" || "oil_unprocessed") && (!((typeOf life_trunk_vehicle ) == "chciternvol_total")) || (!((typeOf life_trunk_vehicle) =="rksla3_lcvpmk5_1_civ")) exitWith {hint "Vous ne pouvez pas stocker du carburant dans ce véhicule !";};
if (!(_ctrl == "oil_processed"||"oil_unprocessed") && ((typeOf life_trunk_vehicle ) == "chciternvol_total")) || (((typeOf life_trunk_vehicle) =="rksla3_lcvpmk5_1_civ")) exitWith {hint "Vous ne pouvez pas stocker autre chose que du carburant dans ce véhicule !";};

Désolé pour la mise en page dég... sans les balises de code etc et merci d'avance pour les éventuelles réponses.

JD
 
Dernière édition par un modérateur:
Solution
Il y a un petit soucis de syntaxe dans ton code BastienWolf BastienWolf, voici une version modifiée (corrigée je l'espère) :
Code:
if ((_ctrl in ["oil_processed","oil_unprocessed"]) && !((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker du carburant dans ce véhicule !";};
if (!(_ctrl in ["oil_processed","oil_unprocessed"]) && ((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker autre chose que du carburant dans ce véhicule !";};
Bonjour à toi.

Essaye ceci :
Code:
if ((_ctrl == "oil_processed" || "oil_unprocessed") && !((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker du carburant dans ce véhicule !";};
if (!(_ctrl == "oil_processed"||"oil_unprocessed") && ((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker autre chose que du carburant dans ce véhicule !";};
 
  • Like
Les réactions: Joe Dalton
Il y a un petit soucis de syntaxe dans ton code BastienWolf BastienWolf, voici une version modifiée (corrigée je l'espère) :
Code:
if ((_ctrl in ["oil_processed","oil_unprocessed"]) && !((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker du carburant dans ce véhicule !";};
if (!(_ctrl in ["oil_processed","oil_unprocessed"]) && ((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker autre chose que du carburant dans ce véhicule !";};
 
  • Heart
Les réactions: Joe Dalton
Solution
Il y a un petit soucis de syntaxe dans ton code BastienWolf BastienWolf, voici une version modifiée (corrigée je l'espère) :
Code:
if ((_ctrl in ["oil_processed","oil_unprocessed"]) && !((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker du carburant dans ce véhicule !";};
if (!(_ctrl in ["oil_processed","oil_unprocessed"]) && ((typeOf life_trunk_vehicle) in ["chciternvol_total","rksla3_lcvpmk5_1_civ"])) exitWith {hint "Vous ne pouvez pas stocker autre chose que du carburant dans ce véhicule !";};
Bien vu :D Merci l'ami :D
 
  • Heart
  • Like
Les réactions: Joe Dalton et Maxence
Un grand merci à tous les 2 pour vos réponses, je teste ça et vous dis ce qu'il en est.
Et merci beaucoup au modo, qui a m'a corrigé la mise en page, très appréciable 💪😘