Achat unique

Répondre
Partager Rechercher
Merci aux âmes secourables qui liront (lol)

3 questions:

1- Est-il possible (sûrement que oui) de fermer l'inventaire d'un magasin dés qu'un achat d'item est effectué?

2- Est-il possible que par rapport à l'inventaire complet d'un magasin, seul une partie soit visible et achetable aléatoirement à chaque première ouverture?
(En faite je voudrai qu'un même marchand n'est pas toujours les mêmes item en vente).

Et 3- Peut-on faire du marchandage avec un pnj?

D'avance merci pour votre aide.
Pour la première surement, il suffit de trouver l'évènement correspondant mais là je ne pourrai pas t'aider.

Pour la 2, la seule solution que je vois est de créer plusieurs boutiques liées au PNJ. Dans la conversation, au bon noeud, dans "action", tu ajoutes un script qui choisi aléatoirement l'une de ces boutiques. Ce n'est pas vraiment du "pur aléatoire parmi toute la boutique" mais ça peut peut-être aider.

Pour la 3, aucune idée. Il ne me semble pas.
1. Peu probable, les seuls évènements concernant une échoppe sont ouverture et fermeture, pas d’évènement achat. Peut être une bidouille horrible en modifiant l'interface et en interceptant le bouton ok d'achat? Mais je ne sais pas du tout si c'est faisable.

2. On peut "randomiser" l'inventaire de l'échoppe à coup de CreateItemOnObject et de DestroyObject. Mais la solution de Charlouloute me semble bien plus simple et au moins aussi efficace.

3. Oui avec une conversation : le script standard ga_open_store permet de passer des modificateurs de prix en pourcentage. Dans la conversation différents appels en fonction du marchandage.
1. Tu pourrais le faire


  1. à l'ouverture du shop, tu stockes une variable sur le PJ genre PC_Shopping = 1 ainsi que le tag du shop ouvert
  2. sur l'événement onAcquireItem du PC, tu vérifies si la variable PC_Shopping == 1
  3. Si oui, tu fermes le shop via son tag


2. Utiliser une liste prédéfinie de shops est plus simple. Sinon tu récupères un script de génération aléatoire de trésors et tu pars de là pour générer l'inventaire du shop


3. Comme Claudius, encore que ça dépend de quel type de marchandage tu parles
En faite, il ne faut pas non plus que je me lance dans des choses plus grosses que moi... mon idée de base en faite, est que des voyageurs (pnj) soient présent et permettent des échanges avec le personnage (comme de personnage à personnage, via l'interface "marchandage"). Mais après il faut également s'occuper de la cohérence de l'échange, bref...

Et pour rendre aléatoire l'inventaire d'une échoppe, ce que propose Charlouloute est en effet une bonne idée et plus facile à réaliser pour moi au final. Par contre, une fois l'échoppe "sélectionner", il faut que se soit toujours celle-ci qui s'ouvre pour tout joueur, au moins pour un certain laps de temps.
Je vois

Pour ce qui est de varier le shop toutes les N minutes, ce que je ferai c'est stocker deux variables sur le NPC :

1. Timestamp de dernière attribution de shop ( ie. nombre de minutes depuis une date précise )
2. tag du shop

de sorte que tu puisses grace au timestamp vérifier le nombre de minutes écoulées depuis la dernière attribution.

Si ça te semble pas top compliqué, j'ai la fonction timestamp qui va bien.
Je note, merci Laban
Là j'ai mis un peu de côté cette étape, je suis retombé par hasard sur une sauvegarde de mon tout 1er module de nwn1 et comme g pu l'ouvrir avec l'éditeur de nwn2, j'ai tout plein de script à ma disposition.
D'ailleurs parmi eux, y-en a justement un qui vide un inventaire dés qu'on y prends un objet.
Je reviens vers toi si besoin
Répondre

Connectés sur ce fil

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