Aller au contenu


[Mod En Test]Autopicker

AutoPicker Mod

  • Veuillez vous connecter pour répondre
15 réponses à ce sujet

#1 Lucead

Lucead

Posté 26 septembre 2012 - 22:06

Bonjour à tous !

Je suis un petit nouveau sur Wiwiland (du moins le forum, j'ai usé de vos services pendant quelques années sans regrets :coeur: ), et comme j'ai maintenant beaucoup de temps, je me suis dit que participer à la communauté Skyrim serait pas mal (j'aurai tellement voulu le faire à l'époque de Morrowind :().

Donc aujourd'hui, je viens vous présenter mon premier mod sur lequel j'en ai déjà bien bavé !
Vous pourrez le trouver ici. Celui-ci reste en test, et comme mentionner dans la description, je recommande LARGEMENT de l'utiliser sur une sauvegarde propre, à part.

Pour reprendre le principe du mod ici, il s'agit d'un petit script qui cherche en permanence les cadavres autour de vous (sur une zone assez restreinte tout de même), et récupère automatiquement certains objets (s'il y en sur le cadavre bien évidemment) comme l'or, les crochets et les flèches (et c'est tout pour le moment :P). Pourquoi un tel mod ? Surtout parceque j'en avais marre de fouiller les 3 zillions de cadavres jonchant le sol des tombeaux nordiques !

Point de triche ici, ce n'est pas l'objectif, seulement d'alléger la fouille systématique de tous les cadavres pour des objets communs.

Donc voilà, une bien petite participation pour commencer pour les personnes que cela intéresse. Au passage, si certains veulent bien faire quelques tests, cela serai très sympa ;) Normalement, pas de soucis d'instabilité, juste d'éventuelles lenteurs (chez moi, ça ne change rien donc bon :s), et un problème pour les MAJ (que je connais, je regarde pourquoi ça déconne).

J'attends vos avis/critiques/lynchages/insultes/mots doux/toussa toussa :roll:

#2 Spitoven

Spitoven

Posté 26 septembre 2012 - 23:36

Super idée ! :good:

J'ai juste un peu peur que ça cause des ralentissements chez moi, étant un peu limite... :(
Image IPB

#3 Lucead

Lucead

Posté 27 septembre 2012 - 07:55

Merci pour ta réponse !

Voir le messageSpitoven, le 26 septembre 2012 - 23:36, dit :

J'ai juste un peu peur que ça cause des ralentissements chez moi, étant un peu limite... :(

En ce qui concerne la recherche de l'acteur le plus proche (le plus gros du travail), je me suis basé sur le même fonctionnement que Gérauld de ce post. Donc en pratique, oui, il doit y avoir un certain impact. Cependant, si j'augmente les délais de vérification, cela pourrait perdre de l'intérêt. S'il y en a qui veulent changer cette valoir, je peux l'expliquer, ce n'est pas compliquer.

Un petit bout de code pour illustrer le pourquoi du comment :

Actor Function GetNearestActor()
	Return Game.FindRandomActorFromRef(PlayerRef, LootRadius)
EndFunction

Event OnUpdate() 
	Actor actorRef = GetNearestActor()
	While (!CanBeLoot(actorRef))
		actorRef = GetNearestActor()
	EndWhile

	SeekForMiscObjects(actorRef)
	SeekForAmmos(actorRef)
	SeekForIngredients(actorRef)
	RegisterForSingleUpdate(UpdateDelay)
EndEvent

Voilà ma configuration pour comparer (je passe les détails) :
Core i7 930
ATI HD 5870
6Go RAM
Comme dit dans mon premier post, je n'ai pas remarqué de ralentissements pour le moment.

#4 Spitoven

Spitoven

Posté 27 septembre 2012 - 10:10

Voir le messageLucead, le 27 septembre 2012 - 07:55, dit :

Voilà ma configuration pour comparer (je passe les détails) :
Core i7 930
ATI HD 5870
6Go RAM
Comme dit dans mon premier post, je n'ai pas remarqué de ralentissements pour le moment.

Tu m'étonnes... :D
Image IPB

#5 Lucead

Lucead

Posté 27 septembre 2012 - 10:20

C'est vrai que je suis plutôt fier de ma bête :cool: Mais ça ne m'empêche pas d'avoir des ralentissements, parfois même avec des mods tout bête (ce qui est très énervant soit dit en passant).

#6 MagikMike

MagikMike

    Crétins de bugs !


Posté 27 septembre 2012 - 17:25

Ho, moi venait de "découvrir naivement" le concept d'autolooter......
C'est fou ce que l'on peut faire avec des scripts..

Encore heureux que Skyrim n'est pas multijoueur :)

Bravo !
PNOG
PNOS

On a toujours besoin d'un petit PNO chez soi (merci Neluche)

#7 Lucead

Lucead

Posté 28 septembre 2012 - 10:13

Merci :)

Je suis en train de voir ce que je peux améliorer, notamment les performances. Je pense mettre un menu IG permettant de configurer le mod (au moins pour la distance et la périodicité de la vérification).
Pour le moment, le mod est déclenché par une quête, mais cela pose problème pour les mises à jour. Je suis donc en train de voir pour passer par un sort (même si j'ai horreur de ça) pour activer et désactiver le mod, mais j'ai quelque soucis avec les sorts exploitant OnUpdate()...

#8 SammyFisherJr

SammyFisherJr

Posté 28 septembre 2012 - 10:28

Bonne idée, bravo pour le boulot réalisé !
Par-contre, je trouve que ça fait un peu anti-jeu... pour moi, fouiller les cadavres fait partie du travail de l'aventurier-errant-qui-n'a-pas-encore-pris-de-flèche-dans-le-genou.

Pourquoi ne pas limiter le système à une simple détection de cadavres "pleins" (très role-play si on joue un nécromancien, ou un personnage un peu gore ou pourquoi pas un loup-garou, l'on pourrait alors justifier la détection par l'odorat... à chacun de se trouver son explication au final), et proposer l'auto loot en option ?
Cher frère, je ne colporte pas de rumeurs. Je les crée.  Lucien Lachance, annonceur de la confrérie noire

#9 Lucead

Lucead

Posté 28 septembre 2012 - 10:47

Le gros problème en fait, c'est que je trouve papyrus vraiment limité ! Je ne sais pas si c'est le cas pour les autres moddeurs, mais je suis vraiment déçu par ça.

En pratique, je n'ai rien trouvé de vraiment viable pour parcourir un inventaire, que ce soit celui du joueur, d'un ennemi, d'un container, etc. Si on voudrait faire ce que tu veux, il faudrait définir une liste fermer d'éléments à chercher. C'est ce que je fais actuellement. Ceci dit, c'est amplement faisable, cela ne nécessiterait d'ailleurs pas énormément de changement par rapport à ma version actuelle (un booléen à rajouter, rien de mortel :green:).
Peut-être qu'avec SKSE, il y a moyen de faire quelque chose d'un peu plus abouti, mais si je peux l'éviter, cela ne serait pas plus mal. Il faut que je jettes un oeil à ça.

Un autre petit soucis, c'est comment gérer la "notification" comme quoi il y a quelque chose à ramasser ? On peut afficher un message en haut à gauche, mais on peut en avoir que 4 maximum, après quoi cela engendre un décalage dans l'affichage de ces derniers. A la limite, quelque chose qui pourrait être beaucoup plus sympa serait de mettre un "glow" (ou autre effet) sur le cadavre en question pour bien le démarquer, mais j'ai jamais fait ça :? (d'ailleurs, je sais même pas si c'est possible !). Un peu comme ce mod.

Pour résumé, je comprends ton point de vue, je veux bien même le réaliser, mais il y a quelques petites choses qui me tracassent tout de même.

Modifié par Lucead, 28 septembre 2012 - 15:04.


#10 Gérauld

Gérauld

Posté 29 septembre 2012 - 17:41

Bossant sur un mod d'inventaire, je comprends tout à fait ce que tu ressens concernant l'absence de fonctions permettant de parcourir un inventaire.
Surtout que l'utilisation de boucles cherchant dans des formlists ralentit grandement l'exécution du script (mais pas le jeu, voir la suite du post).

Pour les réglages, le mieux est de faire un menu in-game effectivement afin que chacun utilise le mod à sa sauce. Ceci impliquera le remplacement des valeurs concernées par des variables globales. Le plus simple est d'utiliser un sort ou un pouvoir pour appeler le menu.

Pour finir, un petit point pour ceux qui pensent que les scripts peuvent tuer le framerate du jeu : c'est faux.
Les scripts ne ralentissent pas le jeu.
Il est largement plus facile de tuer le nombre de FPS en ajoutant des statics qu'en mettant une centaine de scripts.
Les scripts se partagent une plage de temps fixe. Les scripts ne peuvent donc qu'impacter la vitesse d'exécution des autres scripts.
Ensuite, il existe des petits trucs pour que chaque script s'exécute plus rapidement, ralentissant moins les autres du coup.

Donc, je le dis à tous, arrêtez d'avoir peur pour vos FPS à cause des scripts. Une quarantaine de scripts impactent moins le jeu qu'un seul mode de maison ou de donjon non optimisé.
L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#11 Dorjé

Dorjé

    3e433ème effet d'un papillon tibétain


Posté 29 septembre 2012 - 18:02

Yes, en dehors des textures HD, se ne sont pas tant les scripts qui ralentissent le jeu (un peu quand même ;) ) : Mais la multiplication des .esp, skyrim affectant peu de mémoire (bien moins qu'Oblivion) pour la gestion des esp : Donc thématique du moment : Choisissez bien les mods qui vous paraissent "essentiels" pour votre partie (essayer de tourner entre 100 et 150 .esp actifs) et sinon (et si vous savez comment faire sous TESsnip !!!!) : Fusion, fusion & fusion !!!
Essayer ne veut rien dire. Fais le ou ne le fais pas ! (maître Yoda :) )

Lien : PROJET MORROWIND 3E433 (Morrowind dans Oblivion !)

#12 Gérauld

Gérauld

Posté 29 septembre 2012 - 18:44

Attention avec tesVsnip si les esp contiennent des entrées avec des sous-données compressées : risques de corruption.
Il vaut mieux attendre une version stable de tesVgecko.
Sinon, Lucead, je ne vois pas trop comment ajouter du glow de manière simple mais il y a peut-être moyen d'utiliser les marqueurs de quête (les petites flèches) si tu utilises des alias...

Modifié par Gérauld, 29 septembre 2012 - 18:44.

L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#13 Lucead

Lucead

Posté 30 septembre 2012 - 08:30

Merci pour ces retours et conseils !

Voir le messageGérauld, le 29 septembre 2012 - 17:41, dit :

Surtout que l'utilisation de boucles cherchant dans des formlists ralentit grandement l'exécution du script (mais pas le jeu, voir la suite du post).
Et c'est encore pire quand on utilises 3 Arrays :? J'ai depuis remplacé par une FormList qui est effectivement beaucoup plus propre et rapide (et la fonction GetItemCount() permet de faire un tri rapide sur les acteurs intéressants).


Voir le messageGérauld, le 29 septembre 2012 - 17:41, dit :

Pour les réglages, le mieux est de faire un menu in-game effectivement afin que chacun utilise le mod à sa sauce. Ceci impliquera le remplacement des valeurs concernées par des variables globales. Le plus simple est d'utiliser un sort ou un pouvoir pour appeler le menu.
Pour les globales, c'est fait. Rien de bien compliqué, même si alourdit pas mal le code de GetValue()/SetValue(), mais bon. Pour les menus, je suppose qu'il va falloir que je me contente encore de vieilles MessageBox...


Voir le messageGérauld, le 29 septembre 2012 - 17:41, dit :

Pour finir, un petit point pour ceux qui pensent que les scripts peuvent tuer le framerate du jeu : c'est faux.
Les scripts ne ralentissent pas le jeu.

Il me semblais bien avoir lu ça quelque part sur le forum entre-temps. Bah, je préfère ça à tout devoir optimiser comme un forcené :grin:


Voir le messageGérauld, le 29 septembre 2012 - 18:44, dit :

Sinon, Lucead, je ne vois pas trop comment ajouter du glow de manière simple mais il y a peut-être moyen d'utiliser les marqueurs de quête (les petites flèches) si tu utilises des alias...
J'ai pas eu le temps de regarder, mais je m'en doutais un peu... Pour l'instant, je suis parti sur de l'affichage de message. C'est bien dégueulasse  mais au moins ça marche ! Enfin du moins c'est sensé marcher...

Et va vraiment falloir que je me penche sur ces alias !
Mon plus gros problème pour l'instant, c'est de savoir quel "objet" doit gérer le script. En utilisant une "quête" pour gérer mon script, j'ai eu pas mal de soucis, notamment quand je modifiais le mod (en général, les modifications ne sont pas prises en comptes, les sauvegardes se retrouvent corrompues lorsqu'on supprime le mod, etc). C'est pour ça que j'essayais de trouver une alternative, mais il semblerait que fasse avec.

Modifié par Lucead, 30 septembre 2012 - 08:33.


#14 HawkFest

HawkFest

Posté 21 novembre 2012 - 08:13

Voir le messageLucead, le 30 septembre 2012 - 08:30, dit :

J'ai pas eu le temps de regarder, mais je m'en doutais un peu... Pour l'instant, je suis parti sur de l'affichage de message. C'est bien dégueulasse  mais au moins ça marche ! Enfin du moins c'est sensé marcher...
As-tu essayé avec les objets Message (Miscellaneous / Message) ? Tu peux même facilement y gérer des menus etc. Au lieu d'utiliser Utility.Messagebvox dans ton code, déclare Message property NomDuMenu auto, puis assigne l'ID du message à la propriété via le CK (qui est super pour ça, bouton Properties). Tu peux ensuite l'afficher avec NomDuMenu.Show() .

#15 Lucead

Lucead

Posté 21 novembre 2012 - 18:26

Merci pour ton conseil. :)

Comme dit dans ce topic, ce mod est à l'arrêt vu que je trouve difficilement du temps avec CKPE ! Et en plus, j'ai des superbes cells à faire pour LeRoy ^^ Mais cela me sera toujours utile au moment où je reprendrai le développement de ce mod (duquel j'avoue avoir du mal à me passer en jeu).

#16 Lucead

Lucead

Posté 29 janvier 2013 - 18:39

Mince, je me suis fait voler l'idée :'( http://skyrim.nexusm...com/mods/30408/
Bon, c'est loin de fonctionner comme je l'ai toujours souhaité, donc je ferai quand même ma version .... quand j'aurai le temps :grin:





Aussi étiqueté avec AutoPicker, Mod

0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)