[Recherche] Liste complète des spells / feats

Répondre
Partager Rechercher
Je cherche l'impossible : une ressource / page web / site qui contienne tous les sorts / pouvoirs / feats dans nwn2 + motb avec référence de leurs valeur / constante.

Je m'explique : dans le cadre de l'IA customisée que je fais, je vais gérer tout ça de manière assez fine et sans passer par les "Talents" de Bioware repris par Obsidian.

En effet, ce qui est lié au Summoning par exemple, mais en fait aux sorts et aux pouvoirs en général fonctionne quand même plutôt bizarrement à mon goût.

Je vais faire des mages offensifs qui lanceront les sorts en fonction du niveau avéré de leurs ennemis, ou des soigneurs qui évalueront le pouvoir / potion à utiliser en fonction des PdV perdus par leurs petits camarades.

Comme on le fait en temps que joueur, en somme... Enfin bref.


Donc comme j'ai pas trop envie de m'attaquer aux 2DA(s) tout seul je voulais savoir si quelqu'un sait si ça peut se trouver, une liste par classe / niveau ? Sachant qu'en plus ils faut tenir compte des Feats.

Merci d'avance pour vos infos.
Pourtant, la meilleure liste qui existe est celle des 2DA. C'est en tous les cas, la seule complète que je connaisse.
Dans le spells.2da de base, il y a 1008 sorts !
Je ne le recopie pas ici, mais tu peux le trouver dans "C:\Program Files\Atari\Neverwinter Nights 2\Data" dans 2da.zip
Il y a 1860 feats dans feats.2da !

Je suivrais ton projet de près comme j'ai suivi certains autres (mais qui n'ont abouti à pas grand chose à part faire fuir des rats devant un porteur de torche). J'espère que tu concrétiseras. Et si ça correspond à ce que je recherche, je le transposerai si nécessaire pour NWN1. (ça dépend essentiellement des scripts que tu feras).
De mon côté, j'ai pas mal travaillé sur l'IA des PNJ/roublards et aussi sur la détection des invisibles. Ça a abouti à quelques petites choses que j'utilise chez moi. Par contre, je n'ai rien fait du tout sur les lanceurs de sort.

En tous les cas, bon courage !
Bon faut être indulgent, c'est loin d'être fini, ça fait jamais ce que tu veux quand tu le veux tout ça tout ça.

Mais voici un aperçu du résultat. /Tout/ est géré au niveau d'un controlleur par heartbeat, à l'exception de onDamaged et onDeath.

Et les blood splashs n'en font pas partie, of course

EDIT : Et Azmathiel, si tu veux me faire un zip avec des exemples de script, je suis preneur. Il est bon de savoir ce que font les autres. Pour le moment, le système que j'emploie utilise NWNX4 et un plugin pour icelui produit maison par GrinningFool, en gros support des tableaux + hashage. Mais ça peut se faire sans, avec une fonction de tokenisation et une librairie de pseudo-arrays.

Je n'ai "que" >> CA << sous la main (clic-droit, "Enregistrer sous"). C'est la liste des dons du fichier 2DA comportant référence/nom/description. A savoir qu'il contient également les dons désactivés, je n'ai fait aucune distinction.

J'ai fait ça un jour de pluie, et j'en prépare un également un pour les sorts pour ceux que ça intéresse.


C'est un fichier texte, mais tu peux le renommer en fichier 2DA et l'ouvrir avec Excel.

En gros ça ressemble à ça :
Code:
0	Nom du don	Type de don : ****
		Description

1	Nom du don	Type de don : ****
		Description

2	Nom du don	Type de don : ****
		Description

etc...
Ca va jusqu'à 2135, vu qu'il y a également les dons MoTB.
Super Deyonara, comme toujours !

Et bien sûr, la version sorts m'intéresse.

Eventuellement, tu ne penses pas intégrer les constantes dans une colonne ( SPELL_TRUC_TRUC ) parce que les entiers dans les scripts, ça améliore pas la lisibilité
Supp : problème résolu
Faut faire : clic droit+enregistrer la cible du lien sous (comme le dit Deyo.... ah ces impatients qui se précipitent plutôt que de finir de lire tout le texte )

Edit : ouep pardon Laban... c'est même ce que contient le fichier ^^'
C'est bon j'ai réparé le lien (je m'a trompée du nom de section dans le lien).

Si tu cliques dessus, ça affichera le contenu dans ton navigateur internet. Sinon, c'est toujours ce cher clic-droit et "Enregistrer sous".


Si tu veux le nom des variables avec la référence, ouvre le fichier nwscript.nss avec le bloc note (dans le fichier Scripts.zip du répertoire "data" du jeu), et copie toutes les variables FEAT_* où tu veux pour les avoir sous la main.
Le fichier que je mets en pièce jointe peut éventuellement t'aider : il s'agit de la liste complète des constantes NWN2 et MotB avec les valeurs associées, triées par ordre alphabétique.

C'est directement tiré du fichier nwscript.nss (MotB 1.10, donc sans les vrais-faux nouveaux sorts), après avoir appliqué quelques regex pour rendre le tout utilisable.

Je me sers de ce genre de bidule pour mes futurs colorations syntaxiques / templates pour PSPad.

Edit : si c'est utile, je peux facilement le reformater pour mettre des tabulations pour Excel.
Fichiers attachés
Liste constantes.txt (293,8 Ko, 63 affichages)
Très très cool. Merci à tous les deux. Je pensais justement aller trifouiller dans ce script de base pour voir ce qui s'y passe

Bon, maintenant, il faut trier toutes ces données, les ordonner par classes, par niveau et tutti quanti

J'avais récupéré le script Autobuff qui fonctionne bien, mais comme il ne fait aucune distinction de classes / niveaux, il est un peu gourmand en ressources au final, vu que c'est une longue suite de
Code PHP:

 if( GetHasSpell () && !GetHasSpellEffect() ) 

Si t'as une DB à disposition, j'avais créé, milieu 2006, un convertisseur 2da->requêtes d'intégration SQL, ça peut t'être utile pour trier mais faudra bosser un peu dessus(interface, conversion de tlk dans une table si tu veux que ce soit lisible,...).

C'est là si ça intéresse quelqu'un : http://www.deepblack.be/download/2DAToSQL.jar
Hop le fichier des sorts à >> TELECHARGER << (clic-droit "Enregistrer sous").

Il se peut qu'il y ait des sorts inutilisés sur celui-là, vu que je n'ai fait que prendre les informations du fichier 2DA. Il y a également beaucoup de don/capacités spéciales/propriétés d'item.

La présentation est la même que pour les dons, et ça s'arrête à 1161.
Un seul mot : énorme.

Mille mercis Deyonara. Maintenant, en avant les REGEXP, tris et Cie.

Et merci Anthraxcite ! ça marche comment, c'est du Java non ? ça se lance tout seul et ça balance vers un mysql ? ça produit un fichier SQL ?
C'est un jar, il te faut un JRE(java runtime environment) pour l'exécuter, ensuite tu auras un gui qui te permettra de choisir le ou les 2da(fichier) à convertir. Tu pourras également choisir un suffix et un prefix à rajouter au nom de la table(exemple si tu choisi test1 et test2 pour le feats.2da il te sortira un test1featstest2) en sortie ainsi que le répertoire dans lequel le fichier texte sera créé. Ce fichier contiendra des lignes à faire avaler à la base de données(par un client phpmyadmin par exemple, c'est juste un create et des insert). Cette génération peut être vraiment longue sur certains fichiers ça dépend du processeur mais surtout de la taille du fichier. Là j'essaye de convertir le spells mais il est toujours dessus(depuis plus d'une demi-heure, peut-être planté je sais pas encore).
OK, je vois. C'est sympatoche ce petit outil dis moi Au pire, fractionnage des insertions pour ne pas tout passer d'un coup...

Ça pourrait en effet être d'utile d'attaquer une base mysql avec tout ça, pour faire des requêtes croisées... Quitte à y intégrer les contenus des tlk pour avoir les textes en face... mmm..
En effet, sur spells.2da il pédale dans la semoule.

J'ai fini par comprendre que pour intégrer ça dans les outils Mysql 5 il faut passer par "scripts" ! youpi !

Mettre à disposition une db avec tous les fichiers 2da et compagnie, ça serait pas mal

PS : Et si tu retrouves la source sans avoir le temps et que tu souhaites la mettre à disposition, son évolution éventuelle le sera, à disposition
Alors en fait, j'ai fini par trouver de l'aide auprès de Cadderly, qui a un générateur de persos en ligne et donc des scripts php pour faire le 2da->SQL.

Donc du coup, à part un certain nombre de cas où les 2da sont plantés, j'ai un bon tas des 796 2da dans une base...

Me reste plus qu'à intégrer les constantes et le tlk pour faire des requêtes croisées
Non, si tu remets la main dessus, ça pourrait être pas plus mal.

Parce que là, quand même, ça oblige à faire tourner un Apache / PHP.

Et puis comme je veux me mettre à Java... on sait jamais
Ah oui, j'ai oublié de dire qu'il existe en fait un outil en java mis à dispo par le PRC / DLA mais j'ai pas réussi à le faire fonctionner : c'est tout en ligne de commandes, et les tabulations qu'utilise OBSIDIAN le font planter :/

Mais sinon, pouvoir lancer un

Code PHP:

SELECT S.labelC.nameS.bardS.range
FROM 2da_spells S
const_all C
WHERE S
.bard !=  "****"
AND S.id c.value
AND c.name REGEXP  '^SPELL_'
ORDER  BY S.bard ASC S.range ASC 
LIMIT 0 
150 
Et récupérer tous les sorts de barde, classés par niveau et zone d'effet... C'est trop bon ;D
J'ai retrouvé la source mais va me falloir le temps de la refaire, le programme n'est pas planté en fait mais la variable atteint une telle taille(j'appelle un getRequest pour me renvoyer la requête mais celle-ci est énorme et à chaque ajout sur celle-ci ça prend de plus en plus de temps) que ça ralenti de plus en plus. Vais peut-être devoir revoir la conception du prog pour injecter directement sur un flux(en l'occurrence le flux est pointé sur le fichier).
Bon esprit

Du coup je me suis lancé sur le dialog.tlk (210 000 + entrées quand même).

Et là, merci à Kivinen pour son pack d'outils. Je ne m'en était pas servi, et il a pile poil l'outil qu'il fallait. Du coup, PsPad rame 16 minutes pour faire des regexp sur le fichier, mais ça marche !
Source : http://www.deepblack.be/download/2DAToSQL-source.rar
Jar : http://www.deepblack.be/download/2DAToSQL.jar

J'ai nettoyé/amélioré/commenté(mais pas de long en large, rien sur la structure) l'ensemble, j'ai ajouté pas mal d'infos dans la fenêtre de log. J'ai pu parser d'un coup les 3 plus gros 2das du jeu en 6 dixièmes.

Possibilité de sortie sur un ou plusieurs fichiers, les noms de fichiers contiennent le nom du 2da si c'est séparé ainsi que la date pour s'y retrouver.

C'est tjs en développement j'ai un soucis si j'essaye de parser tous les fichiers 2da d'un coup, pas encore eu le temps de regarder en détail(nullpointerexception).
Voilà j'arrive à parser tous les 2das sauf les suivants :
Liste des 2das vides(pas de ligne à traiter) :
iprp_base1.2da
iprp_slotscost.2da
iprp_staminacost.2da
iprp_terraintype.2da
resistancecost.2da

Fichiers non-conforme(pas de numéro pour commencer, même si le jeu se fout des ID, j'ai pas envie de gérer cette paresse des devs, déjà que j'ai du être très large pour traiter certains fichiers où y a des espaces n'importe où) :
keymap.2da
Répondre

Connectés sur ce fil

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