Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[KIT] Impossible d'équiper une arme et divers autres problèmes

Répondre
Avatar du membre
Huxaltec
Adepte de Grondemarteau
Gnoll
Messages : 156
Enregistré le : mar. 14 avr. 2009, 09:36
Localisation : Maztica, vallée de Nexal
Statut : Hors ligne

[KIT] Impossible d'équiper une arme et divers autres problèmes

.

Message par Huxaltec »

Salut, me revoilà pour quelques petits soucis concernant mon kit de "corsaire" qui touche bientôt à sa fin...

Lorsque je commence une nouvelle partie pour tester mon mod dans BG1-BGT, 2 objets apparaissent (identiques) dans mon inventaire (mon coffre au trésor pour ceux qui ont suivi) au lieu d'1 seul (sort de type AP_ au niveau 1), ce qui n'est pas le cas si je crée une nouvelle partie BG2.

Autre souci, quand je démarre une nouvelle partie de BG1 (BG1 seulement), je ne peux pas équiper une arme dans la main principale de mon personnage, un message apparaît : "utilisation d'arme magique".

Voilà, je vous remercie d'avance pour vos réponses.
A bientôt.
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

As-tu fait apparaître une seule fois le sort AP_ dans tout le fichier 2DA des aptitudes de ton kit (celui qui attribue les apports aux différents niveaux) ?

Comment as-tu fait pour éviter de perdre l'objet au début de BG2 quand le jeu vide automatiquement l'inventaire du personnage ? Selon la façon de procéder, cette méthode pourrait pas mégarde, si elle s'applique aussi au début de BG1, t'ajouter un deuxième objet. Ce pourrait être le cas en d'ajout à partir de Dplayer3.bcs, par exemple.

Une solution consiste à appliquer la méthode que j'ai proposée pour le kit Chantelame, dans ce message. Comme elle ajoute quelque chose au fichier ar0602.bcs, qui correspond au début de BG II, elle ne peut pas interférer dans BGT à Château-Suif ou en commençant une partie directement dans Throne of Bhaal.
Dans ton cas, il suffit d'ajouter l'objet dans l'inventaire, la commande FillSlot est inutile si l'objet reste dans le sac et non dans un slot particulier.

En ce qui concerne ton problème d'arme, je ne suis pas sûr de ce que tu avances. Tu parles de "BG1 seulement". Veux-tu dire sans BGT ? Dans ce cas, tu ne peux pas avoir ton kit.
Le texte dont tu parles est associé au son qui correspond à l'interdiction par le jeu d'équiper un objet en raison des problèmes de restriction appliqué à l'objet.
Chaque kit a des restrictions d'armes qu'il ne peut reprendre que d'une classe ou d'un kit existant. Essaie toutes les armes possibles pour voir celles que le jeu considère autorisées.
Vérifie que tu as bien appliqué une restriction compatible avec ton kit, par exemple celle d'un voleur (si c'est bien un kit de voleur, je ne sais plus).
La valeur des restrictions est indiquée dans le ADD_KIT. Exemple pour le kit Chantelame (ligne surlignée) :
ADD_KIT ~CHANTELAME~
// Types d'armes autorisés - CLASWEAP
~CHANTELAME 0 1 0 0 0 0 0 0~
// Compétences autorisees - WEAPPROF.2da
~CHANTELAME 5 5 0 0 0 0 0 0 5 5 0 0 0 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~
// Scores de caracteristiques minimaux necessaires - ABCLASRQ.2da
~CHANTELAME 13 15 13 13 3 8~
// Modificateurs des scores de caracteristique - ABCLSMOD.2da
~CHANTELAME 1 0 0 0 0 0~
// Caractéristiques minimales pour se jumeler VERS le kit - ABDCDSRQ.2da
~CHANTELAME 13 15 13 13 3 8~
// Caractéristiques minimales pour se jumeler DEPUIS le kit - ABDCSCRQ.2da
~CHANTELAME 13 15 13 13 3 8~
// Alignements autorisés - ALIGNMNT.2da
~CHANTELAME 1 0 0 1 0 0 0 0 0~
//Possibilites de jumelage - DUALCLAS.2da
~CHANTELAME 0 0 0 0 0 0~
// Habilités gagnées par niveau - 2da personnel
~chantelame/CLABFI09.2DA~
//Races et classes acceptants le kit - Kittable.d2a
~K_F_E~
// Autorisation d'objets - KITLIST.2DA
~0x00000001 2~
// Habiletés de Haut niveau - LUABBR.2DA
~Fi0~
//equipement au debut de TOB - 25STWEAP.2DA
~LEAT14 * HELM07 BAG25 RING06 RING31 CLCK02 BOOT01 AMUL19 BRAC16 BELT06 AROM11,80 * * POTN52,5 POTN4,2 POTN14,5 BOW12 SW1H73 STAF24~
//description du kit
SAY @01
SAY @02
SAY @03
Les deux valeurs correspondent aux dernières colonnes du fichier KITLIST.2DA. Tu devras choisir parmi celle du jeu de base celle qui convient le mieux à ton kit. La dernière colonne correspond à la classe mère de ton kit. A la rigueur, tu peux utiliser pour la valeur "UNUSABLE" celle d'un kit d'une autre classe, mais il faudrait une raison exceptionnelle (un kit de guerrier restreint aux armes du voleur, par exemple).
Avatar du membre
Huxaltec
Adepte de Grondemarteau
Gnoll
Messages : 156
Enregistré le : mar. 14 avr. 2009, 09:36
Localisation : Maztica, vallée de Nexal
Statut : Hors ligne
.

Message par Huxaltec »

J'ai effectivement fait apparaître une seule fois l'AP en question au niveau 1.

Pour éviter de perdre l'objet au début de BG2, j'ai justement utilisé la deuxième méthode que tu préconises pour le kit de chantelame et ça marche (merci d'ailleurs, c'est très efficace).

Mais le problème du double objet était déjà là avant d'appliquer cette méthode. D'ailleurs je pensais utiliser un script à peu près similaire à la place de l'AP_ pour contourner peut-etre le problème; en utilisant par contre le trigger OnCreation() sur AR0015 (chateausuif):

QQxxxxx.baf

Code : Tout sélectionner

IF
  OnCreation()
  Global("NewBG1","AR0015",0)
  Kit(Player1,QQCORSR)
  Global("CorsairVerif2Player1","AR0015",0) //CorsairVerif1Player1 est déjà utilisé pour le "coffre" SoA
THEN
  RESPONSE #100
    ActionOverride(Player1,CreateItem("QQCOF",1,0,0))
    SetGlobal("CorsairVerif2Player1","AR0015",1)
END

Setup-Corsaire.tp2

Code : Tout sélectionner

EXTEND_BOTTOM ~AR0015.bcs~ ~Corsaire/Scripts/QQxxxxx.baf~

Mais là, au contraire, aucun objet n'apparaît dans l'inventaire de départ de BG1-BGT (si je supprime l'AP_).


Pour ce qui est du texte "utilisation d'arme magique" qui m'empêche d'équiper ma main principale, c'est uniquement lorsque je teste une nouvelle partie BG1-BGT. C'est valable pour toutes les armes, autorisées comme non autorisées. Lorsque je commence BG2-BGT, tout fonctionne normalement.
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

J'aimerais bien que tu clarifies ce que tu appelles BG1-BGT et BG2-BGT car ça me semble mystérieux. Fais-tu référence à une installation unique de BGT au travers de laquelle tu choisis de commencer une partie de BG1 ou de BG2 ? Autrement dit, as-tu bien une installation unique de BGT et de ton kit ? Dans ce cas, la différence de comportement vis à vis des armes est particulièrement surprenante. Autrement la différence entre les deux installations pourrait être à l'origine du comportement anormal.

Pour la création d'objet en double, aurais-tu par erreur glissé un autre sort AP_ qui donnerait aussi l'objet ? As-tu un autre fichier, de type script, qui pourrait l'ajouter (autre que celui qui le fait dans la zone AR0602) ? Enfin, fais-tu un import d'un personnage déjà créé ? Il pourrait y avoir un risque de création d'un deuxième objet dans ce cas (je ne suis pas sûr).
Avatar du membre
Huxaltec
Adepte de Grondemarteau
Gnoll
Messages : 156
Enregistré le : mar. 14 avr. 2009, 09:36
Localisation : Maztica, vallée de Nexal
Statut : Hors ligne
.

Message par Huxaltec »

Quand j'écris BG1-BGT et BG2-BGT, je veux simplement dire nouvelle partie BG1 ou BG2 avec BGT installé.
Petite précision : à partir d'une nouvelle partie BG1 (BGT en fait), je me suis téléporté à l'AR0602 (donjon d'irenicus), et après la cinématique, je peux enfin utiliser des armes; ce qui veut dire que la suppression de l'équipement au début de BG2 efface "utilisation d'arme magique".
Peut-etre qu'en utilisant la commande FillSlot dans la zone ar0015 (chateausuif) à OnCreation()... Mais vu que je suis débutant en scripts, peut-etre que tu pourrais m'aiguiller dans ce sens... si tu penses que ça pourrait etre une solution...

Pour le coffre qui apparaît en double dans l'inventaire, c'est justement lorsque j'utilise un personnage importé (de kit Corsaire) qu'il n'y a aucun problème (objet unique)... Peut-etre parce que j'ai fait des mauvaises manips entre temps sur mon mod, et le personnage importé n'en tiens pas compte... je ne sais pas...
En fait, j'ai un AP_ qui crée le coffre au niveau 1, et un script qui le recrée à l'AR0602 (pas en double dans ce dernier cas); j'ai bien vérifié et aucun aucun autre AP_ au niveau 1 ne fait apparaitre également l'objet. Même chose au niveau des scripts.
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Tu indiques que le fait d'aller dans la zone de début de BG2 résout le problème. Si j'ai bien compris, le kit fonctionne aussi si tu démarres directement dans BG2.
J'en tire une conclusion simple : l'ajout de l'objet par le script fonctionne mais le sort AP_ utilisé au niveau 1 doit poser un problème. Vérifie quelles sont les différences entre les deux. L'objet est-il bien le même ? Est-il créé au même endroit : dans le sac et non dans un emplacement particulier comme les objets rapides ? S'il l'objet apparaît dans les objets rapides, il apporte automatiquement des capacités au porteur si jamais certains sont codés dans l'objet. Se pourrait-il qu'il y ait de tels effets dans l'objet qui pourrait parasiter le personnage ?

D'autre part, on ne peut pas exclure que les effets bizarres soient produits par la présence des deux objets dans l'inventaire. Alors ces effets disparaitraient dès que le problème de l'apparition en double serait résolu. Je te suggère donc de te focaliser d'abord sur ce problème. Les autres symptômes sont peut-être un gêne pour identifier ce premier problème.

J'ai une question concrète : est-ce que ton objet est toujours un sac, c'est à dire est-ce qu'il est toujours marqué comme un contenant et a-t-il le même nom que le fichier STO ? Dans ce cas, puisque tu veux ouvrir le contenant via le dialogue d'un personnage invisible, casse ce lien afin d'éviter qu'il y ait deux façons d'ouvrir le sac. Qui sait si le moteur de jeu ne pose pas un problème dans ce cas.

Dernier point : un fichier STO n'existe qu'en un seul exemplaire dans la sauvagarde, contrairement aux fichiers ITM, par exemple. La conséquence est que deux fichiers ITM identique pointent sur le même contenant. Si tu mets un truc à partir d'un sac puis que tu ouvres l'autre, tu y trouveras le truc.
Par le passé, il y a des problèmes de ce genre avec des mods faits pour SoA seuls qui utilisaient le même nom qu'un sac de contenance de ToB (celui que récupère un personnage créé directement pour jouer l'extension).
Dans le cas de ton kit, la conséquence est que si tu crées deux personnages en multijoueurs avec le kit de corsaire, ils vont avoir le même sac si tu as prévu un seul fichier STO.
Là-encore, j'ignore si la présence de deux contenants identiques dans l'inventaire du personnage peut poser problème sur les capacités du personnage.

Sans avoir accès à tes fichiers, je suis assez embêté pour t'aider. Si tu es prêt à me transmettre ton kit pour que je puisse essayer et vérifier par moi-même, n'hésite pas à me contacter par MP pour déterminer un moyen de me le transmettre (par mail s'il est de taille raisonnable).
Bataff
Zombi
Messages : 47
Enregistré le : ven. 25 oct. 2019, 14:53
Localisation : vers Lyon
Statut : Hors ligne
.

Message par Bataff »

Bonjour,
12 ans plus tard ... Je ressors ce topic, moins en ce qui concerne les kits (quoique ...) mais plus sur le message "Utilisation d'arme magique".
Il m'est arrivé la même chose en moddant un PNJ assassin (jeu : BGT en commençant à Châteausuif -BG1-) et je pense avoir compris d'où vient le problème.

Ici, il est bien probable que cela vienne de cette ligne et que l'objet créé "QQCOF" soit magique :

Code : Tout sélectionner

...
ActionOverride(Player1,CreateItem("QQCOF",1,0,0))
...
Pourquoi ? Car l'objet créé ne serait pas mis dans l'inventaire -visible- mais dans un slot fantôme "Magically Created Weapon" apparemment utilisé pour utiliser un objet magique (dont les potions et les scrolls). C'est ce que j'ai découvert il y a peu, après de nombreux tests et en scrutant le fichier de sauvegarde de la partie avec NI à chaque fois.
C'est pour cela que l'on ne le verrait pas forcément et que des slots (ceux des emplacements rapides pour les armes et ceux des munitions) renvoient ce message et empêchent alors d'utiliser n'importe quel autre objet dans ces emplacements.

J'ai aussi rencontré la même chose avec les actions TakePartyItem() et PickUpItem().

Une solution que j'ai trouvée pour remédier à cela (et qui a marché dans mon cas) : Bloquer ce "slot fantôme" par un autre objet magique (l'idéal serait un objet qui ne fasse rien -et qui disparaisse une fois utilisé-) avant d'utiliser les actions ci-dessus permettant de ramener des objets dans l'inventaire du PNJ. Puis, enfin, libérer le slot "Magically Created Weapon" par l'action UseItem() sur l'objet bloquant :

Code : Tout sélectionner

...
[color="#00FF00"]ActionOverride(Player1,CreateItem("objvide",0,0,0))[/color]  //"objvide" est l'objet magique bloquant qui se retrouverait dans le "slot fantôme".
ActionOverride(Player1,CreateItem("QQCOF",1,0,0))    //création normale de "QQCOF" qui ne se retrouvera pas dans le "slot fantôme" (car occupé).
[color="#00FF00"]ActionOverride(Player1,UseItem("objvide",Player1))[/color]   //Utilisation de "objvide" élaboré à ne rien faire et disparaitre après => Le "slot fantôme" est vide.
...
Note : Pas testé sur d'autres types de PNJ ou dans d'autres contextes.

Edit : Peut-être inutile si on a compris l'explication, voilà un autre exemple plus complet et sans override pour finaliser mon message :
► Afficher le texte
Remarques :
1. Bien que non testé dans un autre contexte (par exemple dans BGT/BG2 - cf message #3 de ce fil de discussions), cette portion de script ne devrait normalement pas poser de problème si un objet magique ne se retrouve pas dans le "slot fantôme" puisque UseItem peut utiliser cet objet dans l'inventaire visible.
2. Si le slot fantôme était déjà occupé par un objet magique, cette portion de script ne marchera pas. Dans ce cas, il faut voir avant cette dernière et trouver où ce "slot fantôme" a été occupé.
3. L'objet "bloquant" est très facile à faire. Il suffit d'utiliser NI ou DLTCEP, d'ouvrir par exemple la potion de soin mineur, d'enlever tous ses effets et de sauvegarder l'objet avec un autre nom dans son mod perso. Puis, dans le fichier .tp2, de l'implémenter comme pour n'importe quel objet nouveau.[/color]
Répondre

Retourner vers « Kits »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité