Système de gestion de l'économie avancé ?

Répondre
Partager Rechercher
Salut,
je me demandais s'il existait un système développé par quelqu'un qui gérerait une économie un peu plus crédible dans un module.
Par exemple avoir autre chose que des pièces d'or (du bronze, des monnaies locales), gérer la demande avec une fluctuation des prix.
Une sorte de système comme il peu en exister pour l'artisanat.

Ou si vous avez déjà pensé à cela, comment vous l'avez mis en pratique ?

Merci
__________________
http://i.imgur.com/nqpeauW.png SteamTrade Matcher : Hippa http://i.imgur.com/FmLJaTt.png
I'm Civ V, JoL ! JeuxOnLine I'm Guns of Icarus, JoL!
modules.nwn.free.fr : L'annuaire des modules NWN 1&2
?? Ca se prononce Hippar[k]ia, comme malachite ou chœur
https://valid.x86.fr/cache/banner/cslmdp-5.png
L'or, dans NWN, est traité comme une entité particulière. Il n'y a pas moyen de créer des subdivisions et de toute façon, on ne pourra pas les gérer par script. Notamment, il n'y aura pas de "place" dédiée dans l'inventaire du PJ pour créer des pièces d'argent ou de cuivre comme il y en a une pour les pièces d'or. J'y avais songé au départ de la conception des Jardins, j'ai vite abandonné l'idée.

Il y a eu des dérivatifs/palliatifs sur certains modules, du genre transformer la monnaie d'échange en pierres précieuses. (mais les calculs de base se feront forcément toujours en PO)
Il faut savoir également qu'il y a des fonctions internes qui calculent sur la base monétaire implémentée. Détermination de la valeur d'un objet et accessibilité par niveau en fonction du prix.

De mon coté, pour me permettre une échelle de valeurs plus grande, je suis parti sur la base de 1po = 1 pièce de cuivre et j'ai multiplié.

Pour l'économie, Prince Nexus avait, me semble-t-il, travaillé sur un système de bourse de valeurs. Je ne sais pas ce qu'est devenue l'idée.
Plop

J'ai trouvé à ce propos une approche assez intéressante postée par Dagesh sur les forums Bioware, qui permet de gérer le coût des objets via la propriété "Qualité" apparue (si je dis pas d'âneries) avec la màj 1.69.

J'en ai fait une traduction plus ou moins reformulée en y apportant de minimes précisions, aussi ça peut éventuellement donner des idées quant à un complément de gestion de l'économie selon des critères de qualité de fabrication.

Citation :
Modifier le coût des objets avec la propriété « Qualité »
via les fichiers « iprp_qualcost.2da » et « ItemPropDef.2da »

Tuto original en anglais par Dagesh

- - - - - - -

Ce dont vous avez besoin :

* Les fichiers 2da ItemPropDef.2da, iprp_qualcost.2da et iprp_bladecost.2da (ce dernier étant uniquement utilisé ici comme référence). Ces fichiers peuvent se trouver sur le site officiel (archives Full 2da sources) ou en utilisant NWN Explorer afin de les exporter depuis les données du jeu.
* Un moyen d'ouvrir et d'éditer les fichiers 2da tel que TlkEdit (mais NotePad on n'importe quel éditeur de texte fera aussi très bien l'affaire).

- - - - - - -

Pour commencer, ouvrez le fichier ItemPropDef.2da et repérez la ligne 86 ayant pour label Quality. Dans la colonne Cost vous devriez trouver indiquée la valeur **** alors que la plupart des autres lignes ont ici une valeur numérique. Prenons donc à titre d'exemple le bonus d'attaque (Attack Bonus, ligne 56), vous noterez que la table pour le bonus d'attaque comporte la valeur 0.5 dans cette colonne Cost. C'est là l'un des deux nombres utilisés dans notre cas pour calculer le coût total.

Remplacez la valeur **** de la colonne Cost par 0.5 pour la ligne Quality et sauvegardez le fichier.

Maintenant, ouvrez le fichier iprp_qualcost.2da. Vous noterez qu'ici la colonne Cost est partout fixée à zéro.

Pour vous faire une idée, ouvrez le fichier iprp_bladecost.2da. A noter ici que le colonne Cost indique 3 pour la ligne +1 jusqu'à 7 pour la ligne +5. Le nombre dans la colonne Cost est un facteur de modification conjointement utilisé avec celui de ItemPropDef.2da pour déterminer le coût total de propriété d'objet.

Retournez ensuite sur iprp_qualcost.2da et modifiez la ligne Above Average [=Au dessus de la moyenne] en remplaçant la valeur 0 par 3 dans la colonne Cost. Continuez ensuite en ajoutant 1 à chaque fois sur chacune des lignes suivantes dans cette rangée, jusqu'à atteindre la ligne Godlike [=Divin]. Pour information, les trois dernières lignes en dessous sont utilisées pour les gemmes, aussi vous pourrez par la suite les modifier en utilisant par exemple une autre échelle de valeurs si vous le souhaitez.

Donc, nous devrions désormais avoir sur les lignes 6 à 12 (d'Average jusqu'à Godlike) des valeurs allant de 0 à 8 dans la colonne Cost.

À la différence d'autres fichiers 2da, une possibilité nous permet maintenant de réduire le coût des objets. Nous pouvons en effet porter ici des valeurs négatives. À la ligne 5, Below Average [=En-dessous de la moyenne], indiquez une valeur de -3 et décrémentez-là à chaque fois de 1 jusqu'à la première ligne Destroy [=Détruit] qui devrait alors se terminer par -7.

Dans cet exemple, les lignes 0 et 6 restent à zéro mais bien sûr c'est ensuite vous qui voyez selon l'échelle que vous déciderez d'appliquer.

Nous devrions au final nous retrouver avec une série de chiffre pour la colonne Cost commençant par -7 à la première ligne et allant jusqu'à 8 à la douzième. Sauvegardez ce fichier.

Vous pouvez dès lors tester pour voir si tout cela fonctionne en déplaçant les deux fichiers 2da (ItemPropDef.2da et iprp_qualcost.2da) dans le dossier override du répertoire d'installation.

Ouvrez l'éditeur et ajoutez la propriété Qualité à un objet, vous pourrez alors remarquer que cela influe sur le coût selon la valeur attribuée à Qualité. Vous pouvez vérifier qu'en déplaçant la qualité vers Divin son coût total augmente alors qu'il diminue jusqu'à atteindre zéro en la déplaçant dans l'autre sens (vers Détruit) du fait des valeurs négatives attribuées.

L'intérêt à tout cela est de pouvoir par exemple ajouter d'autres propriétés à l'objet (comme un bonus d'attaque ou n'importe quel autre bonus) et y soustraire un peu de sa valeur totale en choisissant une qualité en dessous de Moyen.

Vous pouvez ainsi jouer avec les chiffres dans le fichier ItemPropDef.2da et iprp_qualcost.2da pour augmenter ou diminuer de combien la valeur peut influer sur un objet via la propriété Qualité.

- - - - - - -

Peut-être vous demandez-vous pourquoi donc vouloir faire cela ?

Si vous avez un serveur qui utilise la restriction du niveau des objets (option de module lors de la mise en ligne), cela permet effectivement d'ajuster le coût d'objets trop élevé pour qu'il puisse être utilisé par un joueur en contournant ainsi cette limitation, sans pour autant ajuster le coût de tous les objets ou interférer avec la limitation d'utilisation.

Un point positif (à priori) est qu'il suffit dès lors de placer ces fichiers dans le dossier override de la machine hébergeant le module sans que les joueurs n'aient à télécharger quoi que ce soit et pouvoir ainsi contrôler d'ici ces barèmes. Un autre point intéressant est de permettre un meilleur contrôle sur les prix via les scripts en ajoutant, retirant ou modifiant cette propriété sans avoir à toucher quoi que ce soit dans la palette.

À noter enfin que BaseItem.2da est également un bon fichier de référence pour le calcul de prix d'objets et peut s'avérer utile pour se faire une idée de leur coût total en effectuant les calculs adéquats (dont les formules peuvent se retrouver ici, dans la doc "item").
Pour compléter ce principe basé sur la qualité et toujours dans ce même ordre d'idée d'altération par propriétés d'objet, il peut aussi assez ingénieux de procéder de la même manière avec la propriété "Matériau" (elle aussi si je ne m'abuse apparue avec la version 1.69).

Du coup la procédure est là même, il vous faudra dans ce cas éditer la ligne "Material" de ItemPropDef.2da et remplacer la valeur **** par un facteur (mettons 0.5 comme dans le tuto ci-dessus) puis éditer le fichier iprp_matcost.2da de la même façon qu'iprp_qualcost.2da en attribuant un facteur pour chacune des variables de matériau (Adamantine, Bois, Cuivre, Acier, Tissu, Os, etc.)

Enfin pour pousser plus avant et au risque d'y laisser quelques prises de têtes assez sympa, "itempropdef.2da" permet également d'intervenir sur certains facteurs d'altération des prix (notamment pourquoi pas en utilisant des valeurs négatives sur les propriétés de malus).



Sinon quelques autres pistes de systèmes de scripts proposant une gestion alternative ou complémentaire de l'économie glanées sur le vault mais que je n'ai pas trop testé donc ne peux pas trop en dire plus :

* Currency System - Coinage v1.105 (scripts) Monnaie déclinée en items de différentes valeurs (~ platine, or, argent, bronze, cuivre) et scripts d'intégration du système aux marchands.

* Restocking Stores (scripts, orienté PW) Rafraichissement des marchands automatisé (inventaires, or possédés, etc)

* Eventuellement Persistant World Economy Management System (système de scripts, orienté PW) (et qui porte assez mal son nom) Gestion du butin de façon plus précise (respawn, limitations, système de loots avancés...)


My two PO
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés