|
Je suis fort étonné de ne presque rien trouver ici ou très peu d’information concernant NWNX, qui est la révolution pour les modules persistant ramenant au rang d’archaïsme primaire les autres solutions qui avaient cependant tout de même le mérite d’exister avant sa venue.
NWNX apporte ce qui faisait cruellement défaut à nwn c’est à dire la gestion par une base de donnée les différentes informations qui circulent au sein du module et devant être conservé et manipulé tout en permettant l’évolution du module. Il est même possible de qualifier les variables pour leurs affectés une qualité temporelle, c’est à dire que la variable sauvée peut être effacée par nwnx au bout d’un certain temps définit par le scripteur. L’intérêt d’usage d’une telle solution est d’éviter un ensemble de manipulation à la re-compilation du module lors de mise à jour, qui peut être source d’erreur et de difficultés lors d’une mise à jour. Eviter un volume trop important de ligne de scripte dédié uniquement à la sauvegarde des variables et aussi à la gestion d’objet placeable volumineux ne servant qu’à la sauvegarde (cf Ambrosia). Le gain de temps à la recompilation est remarquable, les scripteurs faisant des multiples recompilations pour l’évolution de leur module en verront un intérêt majeur. De ne pas charger l’inventaire du personnage ou le personnage lui-même d’éléments pour conserver les variables. La gestion des variables se fait comme elle doit logiquement être faite, en dehors de la jouabilité du personnage et totalement transparente pour le joueur. La solution nwnx prend également en charge la gestion de portabilité des persos sur d’autres serveurs qui devront être équipés de la même solution. Il n’y a pas de limite de quantité globale de variable. Cela évite ainsi d’être limité à cause de la limitation de la quantité de ligne de scripte sur aurora. Comment fonctionne NWNX ? C’est vraiment simple. C’est un exécutable qui est lancé, une fenêtre DOS apparaît en même temps que le chargement de la fenêtre de lancement du serveur qu’il faut ensuite normalement utiliser pour lancer le module. Il existe également la possibilité d’y inclure une ligne de commande pour lancer automatiquement le module. Ce qui permet de gérer sous forme de fichier batch (un fichier .bat ou .com) le lancement du module. On voit tout de suite l’intérêt d’administration à distance se profiler. Nwnx ensuite, se charge des transactions sous forme de requête SQL entre le module et la base de donnée dont on a plus à s’en soucier. Comment l’installer ? C’est encore plus simple. Il suffit de placer l’exécutable nwn extender dans le dossier de nwn. Importer le point erf fournie qui contient deux malheureux petit scripte et non pas une ribambelle de scripte plus compliqué les uns que les autres qui peuvent se corrompre lors de mise à jour ou d’importation d’un autre erf qui serait malheureux en les écrasant. Une ligne de scripte à mettre dans l’event OnModuleload pour initialiser nwnx en y incluant la bibliothèque. Les fameux et classiques includes à mettre en début de scripte pour gérer les bibliothèques, qu’on retrouve un peu partout. A noter que nwnx n’en possède qu’une, cela évite de se retrouver avec une tonne de bibliothèque s’appelant mutuellement. Ensuite on passe au chose sérieuse avec la base de donnée. Il faut lancer l’utilitaire de gestion d’ODBC et déclarer le lien avec le moteur de la base de donnée à utiliser en lui donnant comme nom nwn. C’est expliqué dans la procédure d’installation, rien de bien difficile en soit. Comment utiliser et employer NWNX ? Si on ne veut pas s’ennuyer avec la gestion de base de donnée ou que le modèle fourni nous convient, on l’emploie pour y stocker les variables au fur et à mesure qu’on en a besoin. Pour les gérer, on les nomme tout simplement et ensuite on les gère comme les autres systèmes. Sinon il y a un moyen beaucoup plus riche et puissant de travailler sur la base de donnée en écrivant directement des requêtes SQL dans ses scriptes, c’est assez puissant pour permettre de gérer même un ensemble de variable en retour. Par exemple l’ensemble des persos de telle catégorie pourrait être aisément retrouvée avec une requête. L’élément fort est la possibilité de gérer les variables à l’extérieur de nwn et du coup de pouvoir apporter une interactivité avec l’extérieur du module. Rassembler par exemple un ensemble d’information et les gérer sur une page web est de l’ordre du possible. Alimenter la base de donnée de manière externe pour élargir les fonctionnalités du module. Le défaut principal de cette solution, est qu’elle ne tourne actuellement que sur des serveurs windows. L’auteur (papillon) a fourni les sources, c’est du visual c++ afin de pouvoir rendre nwnx compatible avec une solution Linux. On ne devrait plus trop attendre avant qu’une solution équivalente en Linux ne sorte, à moins qu’ici on ait des personnes suffisamment qualifiées pour le faire. Je vous dis tout de suite que je serais preneur. Voici le lien pour la version 1,23 de nwnx avec les codes sources. NWNX Ocan |
19/02/2003, 12h55 |
|
Aller à la page... |
NWNX
Suivre Répondre |
|
Partager | Rechercher |
|
Pour compléter l’excellente réponse d’Iridian fait à Prophetia, je dirais qu’effectivement il faut obligatoirement avoir le pilote ODBC pour pouvoir attaquer la base de donnée. De toute façon celui-ci est fourni avec le moteur de la base de donnée. Toutes les bases de donnée qui fournissent un pilote ODBC sont utilisables, ce qui veut dire en résumé toute, et c’est bien là un des avantages de la solution. Des tests probants ont été effectués sur ACCESS, Oracle, Mysql, SQLServer…
Mysql est un SGBD qui a l’avantage d’être libre de diffusion, on peut le récupérer sur le site www.mysql.com différente version sont actuellement en circulation. Certaine validé par la communauté et d’autres en cours de bêta-test. Il est inutile de se précipiter sur la dernière version qui risquerait de vous jouer des tours, la version 3,23 pourrait être utilisé, je pense. Le pilote ODBC se nomme MyOdbc on le trouve au même endroit. Nwnx fournie en exemple un schéma, une structure de base, à mettre en place, mais si on ne souhaite pas le faire, il est fourni également un module, en exemple, qui permet de créer la structure de la base donnée. Il suffit de lancer le module (en ayant pris soins bien évidemment de lancer avant Nwnx et de déclaré la liaison odbc) En fait ce module, vous permet de tester si la liaison nwnx et l’ODBC est bien en place, il vous crée une table dans votre base de donnée qui se nomme pwdata et définie sa structure, vous pourrez même tester un enregistrement. Vous pourrez par la suite, pour votre module conserver cette structure dans votre module. L’appel des variables se fait ensuite suivant ce schéma dans l’include fournie, qui en fait transforme le tout en requête SQL, mais vous n’avez pas à vous soucier de cela si vous ne souhaitez pas modifier l’include et travailler sur les requêtes SQL. Par contre pour ceux qui maîtrise les requêtes SQL, ils peuvent se faire plaisir en tapant directement des requêtes dans les scriptes. En ce qui concerne la charge, c’est là où il y a actuellement quelques interrogations, papillon travaille dessus pour l’optimiser. Le serveur n’est pas bloqué, ni saturés mais on note cependant une augmentation sensible de la charge, si vous avez des serveurs qui sont limités en capacités de traitement vous devriez voir la charge monter mais cela n’est pas bloquant. Iridian, je ne comprends pas bien le sens de ta question. Un ODBC est une interface entre une application et une base de donnée. Il permet d’interroger et d’écrire sur les tables d’une base de donnée comme si on utilisait la base de donnée en elle-même. Lors de la déclaration de la liaison avec la base de donnée on indique : le pilote ODBC choisit (en correspondance avec le moteur de la base de donnée) et le chemin de la Base de donnée (là où se situe la BDD). Il est possible en ce sens d’attaquer une base de donnée de n’importe où, mais toujours faut-il que la machine, sur laquelle on déclare la liaison, ait les droits de pouvoir y accéder. L’ODBC est utile là où on a besoin de faire une liaison pour un traitement. Pour NWNX par exemple il n’est utile que pour le serveur où le module tourne. Si un autre module doit attaquer la même base de donnée, il faudra simplement dans l’ODBC de se module indiquer le chemin de la même base de donnée. Ocan |
19/02/2003, 18h01 |
|
|
http://www.oracle.com, il faut savoir pour oracle que le logiciel (si on peut appeler ça un logiciel lol) en lui meme est gratuit et téléchargeable sur le site d'oracle, seule la licence d'utilisation est payante, et là je vous raconte meme pas le prix....
Donc en gros on à tout à fait le droit d'utiliser Oracle de façon personnelle afin de developper des outil autour d'Oracle par exemple, par contre son utilisation courante necessite une liscence, et là faut avoir les moyens... Donc une version Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP, il faut compter environs 1,3 Go juste pour les fichier à télécharger Prophetia p.s: depuis le post, ils ont mis un systeme login mot de pas, mais il suffit de s'enregistrer, c'est gratuit, mais bon atention aux utilisations froduleuse |
19/02/2003, 20h53 |
|
|
A quand Oracle sur kazaa...
|
20/02/2003, 10h42 |
|
|
Bon ben apres avoir recherché un peu plus, j'ai trouvé, grace à l'authentification NT, mais bon ça serrait quand meme mieux de pouvoir passer le login et le mot de passe
|
22/02/2003, 23h16 |
|
|
Bonjour a tous,
je sais que le post n'est plus d'actu mais j'ai de serieux problemes pour faire marcher le CNR et ma bd SQL en meme temps... il y a des scripts par defaut utilisant la bd bioware, avec les lignes de programme a activé ou desactivé pour que ca bascule sur SQL et pourtant les tables ne se creeent pas etc..etc... je vous remercie d'avance : gdc3869@hotmail.com |
24/11/2005, 21h46 |
|
|
Peut-être utile pour NwN2, je remonte.
|
14/12/2006, 16h26 |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|