[Dawnguard] Parchemin Des Anciens (Dragon)
#1
Posté 07 août 2012 - 17:27
Bon on peut refourguer les deux nouveaux parchemins au prêtre de la phalène. Mais le 3e, celui qu'on a récupéré dans la quête principale de Skyrim, on ne peut pas le revendre au prêtre.
Et si on l'a vendu puis racheté à l'orque bibliothécaire de l'Arcaneum, on ne peut pas lui revendre non plus.
Donc, on se retrouve avec un poids dans l'inventaire non négligeable, pire que les flûte et tambour des bardes.
Aubustou tape vite
et surtout dans la gueule
- Marmotte Milka, 28 juin 2012 à 21:27
#2
Posté 07 août 2012 - 18:47
Sachant que coté Vampires, on ne peut pas revendre au prêtre.
#3
Posté 07 août 2012 - 18:50
Et le poids est-il exagéré ? Si oui alors quelle valeur serait "acceptable" ?
#4
Posté 07 août 2012 - 18:55
#5
Posté 07 août 2012 - 20:00
Aubustou tape vite
et surtout dans la gueule
- Marmotte Milka, 28 juin 2012 à 21:27
#6
Posté 07 août 2012 - 21:36
Je viens de faire un test en vidant tout ce que je pouvais d'un perso niveau 67 avec quelques objets de quête dans l'inventaire. J'ai vidé tout ce que j'ai pu à la main. A la fin, le poids indiqué est à 0 malgré les objets de quêtes encore présents dans l'inventaire.
Pour ma part, je me suis fait un mini script pour tester mon mod d'inventaire : un appui sur une touche et tous les objets (même ceux de quête) sont basculés dans un conteneur.
Modifié par Gérauld, 07 août 2012 - 21:38.
#7
Posté 08 août 2012 - 18:36
sinon, oui, les objets de quête ne pèsent rien et ce, depuis oblivion (le concept d'objet de quête date de là d'ailleurs...)
Shéogorath - Prince de la folie
Vrai Grand Moddeur et FPIA à ses heures...#8
Posté 09 août 2012 - 09:51
Sinon, dans un script, même un removeitem de base, qui n'a pas de flag associé, suffit à virer un objet de quête de l'inventaire (je n'utilise cette commande qu'avec une destination donc pas de disparition d'objets)
Cela fait quelques mois que je passe mon temps à utiliser des removeitem, additem, dropobject et autres joyeusetés touchant à l'inventaire (en passant par l'utilisation de formlists ou de tableaux de forms (propriété)) sans avoir été embêté par ces objets de quête. Le joueur a donc la liberté de ne pas conserver l'objet d'une quête qu'il ne veut faire ou de placer l'objet dans son coffre pour plus tard.
Personnellement, j'ai opté pour l'ajout d'un menu via une touche (SKSE) mais on peut facilement imaginer un mod à part avec un pouvoir ou un sort pour virer tous les objets de l'inventaire (donc ceux de quête). Il suffira d'ajouter une routine de détection du conteneur le plus proche en évitant les conteneurs à respawn donc en ciblant les coffres appartenant au joueur par exemple...comme ceux dans les maisons par exemple....
#9
Posté 09 août 2012 - 12:27
j'hésite à le mettre sur mon sort de stockage, peut-être une fonction à part...
Shéogorath - Prince de la folie
Vrai Grand Moddeur et FPIA à ses heures...#10
Posté 09 août 2012 - 14:00
Le truc : utiliser des scripts qui conservent dans un tableau de forms (en propriété) les objets de chaque type possédés par le joueur. A l'initialisation, je fais juste un test avec les potions vanilla pour remplir le tableau à partir d'une formlist en fonction du nombre de potions détenues. Le reste est ajouté et retiré au fur et à mesure des mouvements dans l'inventaire du joueur (donc prend en compte les potions des mods).
Cela me permet de virer tous les objets mais par catégorie (je trie mes affaires régulièrement). Cela fonctionne sans problème sur les objets de quête. Je viens de retester en jeu avec un coeur de ronces objet de quête viré par mon script enlevant les ingrédients. J'en ai un par catégorie d'objet. Je ne les utilise pas pour la gestion d'inventaire car trop longs à l'exécution. Mais pour trier des objets, c'est pas mal du tout.
Le tableau s'appelle potions et est de type form en propriété. A l'initialisation le script a testé les potions présentes dans l'inventaire à partir d'une formlist de potions vanilla.
Par exemple, voici les fonctions utilisées par les potions (pas encore finalisées car je ne m'en sers que pour enlever rapidement les objets de mon inventaire... pour le test d'un autre mod) :
function videtoutpotion(objectreference destination) int x = potions.length - 1 while x != 0 if potions[x] != none && playerref.getitemcount(potions[x]) > 0 vire = playerref.getitemcount(potions[x]) posepotion(potions[x], vire, destination) nbpotions = nbpotions - vire potions[x] = none if nbpotions < 0 nbpotions = 0 endif endif x -= 1 endwhile MAJstat() endfunction function posepotion(form akbaseitem, int nbr, objectreference aksourcecontainer) retrait = 1 if playerref.getdistance(FindClosestReferenceOfTypeFromRef(coffreporte, playerref, 6000.0)) < 2000 || playerref.getitemcount (coffreporte) == 1 notification("Potion(s) placée(s) dans le coffre.") playerref.removeitem(akbaseitem, nbr, true, coffreporteref) elseif !aksourcecontainer || (aksourcecontainer as actor) objectreference dropitem = playerref.dropobject(akBaseItem,nbr) dropitem.SetActorOwner(Playerref.GetActorBase()) dropitem.moveto(playerref, 0, 20,20) ; sera modifié en tenant compte du headingangle du joueur par la suite else playerref.removeitem(akbaseitem, nbr, true, aksourcecontainer) endif wait(0.1) retrait = 0 endfunction function MAJliste(form akbaseitem) int x = 0 int trouv = 0 while (x < potions.length) if potions[x] == akbaseitem trouv = 1 endif x += 1 endwhile if trouv == 0 && nb < potions.length ;if potions[nb] == none potions[nb] = akbaseitem nb += 1 if nb == potions.length nb = 0 endif ;endif endif endfunction function SUPlist(form akbaseitem) int x = 0 int trouv = 0 while (x < potions.length) if potions[x] == akbaseitem trouv = x endif x += 1 endwhile if trouv != 0 potions[trouv] = none endif endfunction
Sinon, il y a également la possibilité de se créer une formlist d'objets de quête et de faire ça :
notification("Début du retrait") playerref.removeallitems(conteneur, true, true) int index = 0 While (index < ModelQuestobjects.GetSize()) playerref.removeitem(ModelQuestobjects.GetAt(index), playerref.getitemcount(ModelQuestobjects.GetAt(index)), true, conteneur) index += 1 EndWhile messagebox("retrait terminé")Je viens de tester avec une formlist assez conséquente car faite rapidement sans trier objets de quête ou autres. Cela met environ une minute à virer tout ce qui traîne dans l'inventaire. Objets de quête compris.
Modifié par Gérauld, 09 août 2012 - 17:32.
0 utilisateur(s) li(sen)t ce sujet
0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)