Je travaille sur la gestion des coffres dans les bases de données.
De manière à ne plus jamais rencontrer le problème des tables qui grossissent à l’infini, je prends le parti de créer une table différente pour :
- la banque
- le vendeur au marché
- les 4 coffres des maisons
Ces tables sont détruites chaque fois qu’elles sont modifiées et je les recrée pour n’enregistrer que les données courantes, ce qui me garantit des bases de données en condition optimale en toutes circonstances.
Pour rendre les habitations plus attrayantes, j’ai ajouté un coffre de plus à chaque palier, soit 1 pour la petite maison jusqu’à 4 pour le château.
J’ajoute également des domestiques pour donner de la vie à l’ensemble. Je travaille à leur intelligence artificielle pour plus de réalisme.
Voilà qui me met un peu de pain sur la planche, d’autant que j’ai remarqué que le code des vendeurs est tout pourri, je vais le refaire entièrement. Ce sera rapide puisque j’utilise la même technique pour tous les types de conteneurs associés à un joueur.
J’ai corrigé un bug très vicieux pour les PNJs d’ambiance, qui démarraient encore bien une conversation alors qu’ils étaient séparés de trente mètres. On n’est pas à l’opéra…
Le bug venait du fait que ClearAllActions(), appelé pour stopper leurs actions d’ambiance, nettoie bien la pile d’actions mais empêchait aussi un ActionMoveToObject de s’enclencher. Ce n’est pas très normal et ce n’est pas documenté, mais ce bug me chipotait depuis longtemps déjà et l’idée m’est venue de séparer l’événement de rapprochement des PNJs en deux phases, la première qui met un terme à toutes leurs actions, la deuxième qui lance leur déplacement. Le problème est ainsi résolu.