Les bénéfices du marchand

Répondre
Partager Rechercher
Je m'explique :

Comment faire pour que l'or qu'un PJ dépense lors d'un achat à un marchand soit créé dans un contenant coffre (et ajoutée à l'or déjà présent bien sur...) ?

C'est-y possib' ?

Surement :

J'iopterait pour un OnHrtBeat qui verifie si le Marchand possede de l'or, si oui : Stock et vidage de son Or, si non, return;

Sachant que je crois qu'il y a une option pour que le PnJ garde l'ord des Pj lors des achats.
http://www.smilies.org/basesmilies3/up.gif

N'y aura-t-il donc aucune âme charitable pour me pondre ce script ?

(je voulais juste que le bénéfice de la vente d'un objet par un marchand viennent s'ajouter à l'inventaire d'un coffre situé derrière le marchand, et non pas dans l'inventaire DU marchand PNJ. Ainsi l'or reste plus facilement accessible aux PJ )





Si effectivement le marchand garde l'or des transactions, c'est un script très simple. Dans l'intérêt de ta progression en script, je te conseille de le faire toi-même, c'est un bon exercice sans difficultés.
Voici quand même les fonctions qui vont te servir :
Code PHP:

Rapporte la quantité d'or qu'une créature possède

int GetGold
(
    
object oTarget OBJECT_SELF
); 
Code PHP:

Prend une somme d'or spécifiée à une créature et met cette somme dans l'inventaire de celui qui exécute cette fonction si bDestroy est à FALSE

void TakeGoldFromCreature
(
    
int nAmount,
    
object oCreatureToTakeFrom,
    
int bDestroy FALSE
); 
Voilà, et je te conseille d'utiliser le OnHeartBeat du coffre, ça sera plus simple.
Ca m'étonnerait que ça marche... Il y a une manière simple de vérifier : créez un marchand, commencez la partie en MD, et incarnez vous dans lui, et regardez votre niveau d'or...
Je pense que le principe du marchand est différent.
Il y a bien une option pour garder l'or dans l'assistant script mais elle concerne la prise d'or simple dans un script. Je pense qu'il faut évaluer les objets vendu avec un script, déterminer leur prix (il doit y avoir une fonction pour ça) et créer l'or dans le coffre. Ou plus simple associer le script au marchand. Je vais voir (ça commence à faire beaucoup à voir ).
Hum bah zut effectivement, eM, nous raconte pas de connerie !

Bon c'est encore simple mais moins quand même... Le plus simple, c'est de positionner une variable à l'ouverture du stock puis de la retirer à la fermeture, en utilisant les OnAcquire et OnUnAcquireItem du module pour changer les quantités d'or dans le coffre.
Seul problème, les marchands n'ont pas de OnClose....

Une autre solution serait d'utiliser le OnHeartBeat pour faire une boucle dans l'inventaire du marchand, retenir la valeur de tous les objets puis changer la quantité d'or dans le coffre en fonction de la valeur des objets qui se trouvaient là y a 6 secondes... Mais il faut oublier les objets en quantité infinie dans ce cas...
T'es pas obligé Ange (c'est pas pour le module des Forêts de Mystra, mais pour celui du Théâtre des illusions )

Sinon, merci Jedaï , mais ma progression en script est plutôt liée à mon temps libre... et ce dernier est fort restreint hélas, mais promis, dès que j'aurais plus de temps je m'y penche.
Oui il faut se baser sur l'inventaire du marchand... Uniquement. Se baser sur celui du joueur serait stupide, étant donné que s'il se fait voler en cours de transaction, l'argent sera aussi rajouté... Vais réfléchir à tout ça, mais d'abord je fais le script pour Iridian et après le tien fro, pis encore après le mien
Répondre

Connectés sur ce fil

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