Après plusieurs semaines sans y avoir touché, j'ai repris l'esp. Je suis coincé par la nature même du PipBoy, avec n'importe quel autre objet le mod serait fini depuis bien longtemps déjà
Si vous enlevez le PipBoy, et que vous le rééquipez - ce que fait ce mod - et bien vous n'avez plus « Le » PipBoy, mais PipBoy de PNJ. C'est à dire, avec un écran vert lumineux, avec aucune interaction possible, hormis « sortir et ranger » son bras, avec au passage le droit de se faire exploser les yeux si il est 3h du matin et que vous jouez dans le noir.
Pour palier à ce problème, la commande
ResetPipBoyManager est nécessaire. Son but est refaire le lien entre le mesh du PipBoy, et les menus, et de rendre le PipBoy interactif.
Initialement, je l'avais mise à la suite de chaque changement :
► Afficher le texte
if APipEtat >= 80 && APipEtat < 100 && APipStade1 == 0
set APipStade1 to 1
set APipStade2 to 0
set APipStade3 to 0
set APipStade4 to 0
player.unequipitem PipBoy 1
player.removeitem PipBoy 1 1
player.additem APip01 1 1
player.equipitem APip01 1
ResetPipboyManager <= Ici
elseif APipEtat >= 45 && APipEtat < 80 && APipStade2 == 0
set APipStade2 to 1
set APipStade1 to 0
set APipStade3 to 0
set APipStade4 to 0
player.unequipitem APip01 1
player.removeitem APip01 1 1
player.additem APip02 1 1
player.equipitem APip02 1
ResetPipboyManager <= Ici
elseif APipEtat >= 15 && APipEtat < 45 && APipStade3 == 0
set APipStade3 to 1
set APipStade1 to 0
set APipStade2 to 0
set APipStade4 to 0
player.unequipitem APip02 1
player.removeitem APip02 1 1
player.additem APip03 1 1
player.equipitem APip03 1
ResetPipboyManager <= Ici
elseif APipEtat < 15 && APipStade4 == 0
set APipStade4 to 1
set APipStade1 to 0
set APipStade2 to 0
set APipStade3 to 0
player.unequipitem APip03 1
player.removeitem APip03 1 1
player.additem APip04 1 1
player.equipitem APip04 1
ResetPipboyManager <= Ici
elseif APipEtat >= 100
set APipStade4 to 0
set APipStade1 to 0
set APipStade2 to 0
set APipStade3 to 0
player.unequipitem APip04 1
player.removeitem APip04 1 1
player.unequipitem APip01 1
player.removeitem APip01 1 1
player.unequipitem APip02 1
player.removeitem APip02 1 1
player.unequipitem APip03 1
player.removeitem APip03 1 1
player.additem PipBoy 1 1
player.equipitem PipBoy 1
ResetPipboyManager <= Ici
Le problème... c'est que ça ne marche que dans 75% des cas, le PipBoy est bien remplacé par sa nouvelle version, mais n'est pas réinitialisé. Je crois d'ailleurs que c'est toujours le même stade qui pose problème (stade 2 ou 3, je vais revérifier), comme si cette ligne en particulier n'était pas lue.
Pour contourner ça, j'ai collé la commande entre un Begin Gamemode [ ] et un End indépendant, afin qu'elle soit exécutée en permanence. Ça marche, seulement quand on reset le PipBoy, on éteint aussi la lumière si elle est active... donc impossible d'éclairer un endroit plus d'une seconde. Ça doit couper la radio également sur le même principe.
Idem en Menumode, le sélecteur rotatif se remet en position haute. Du coup, le mod n'est pas « propre », et ça m'embête beaucoup.
Le code n'est pas complet, c'est juste la partie qui me semble défaillante. Avez-vous des suggestions ?