Isaya a écrit :Cette capacité est employée dans le mod BG1 NPC Project pour rétablir les voix et la biographie des personnages via les dialogues initiés par le joueur. C'est un moyen que le mod Kelsey avait été le premier à proposer pour ceux qui rencontraient des problèmes de textes en cherchant à poursuivre une partie après avoir réinstallé. Cf. le fichier bg1npc/phase3/pid/x#pcinit.d, par des actions dans un dialogue. D'autres mods le faisaient via script.
Cette methode sert uniquement pour les personnages originaux j'imagine? Je souhaite utiliser cette methode pour mon hero, je ne peux pas le rendre muet via un sort car il serait impossible de lancer un dialogue avec lui, alors j'utilise
SetPlayerSound(Myself,"0","SELECT_COMMON1")
SetPlayerSound(Myself,"0","SELECT_COMMON2")
SetPlayerSound(Myself,"0","SELECT_COMMON3")
qui fonctionne très bien, mais je veux réattribuer ces 3 soundsets après avoir terminer le dialogue de réintégration dans le groupe, hors ces soundsets n'ont pas d'équivalents en écrits car ce sont des soundsets extérieurs au jeu.
Comme je veux rendre mon module compatible au maximum, je ne peux pas simplement reprendre la String ref du Dialog.tlk qui sera différente en fonction du nombre de modules installés.
EDIT : je viens de voir avec le module Kelsey que c'était possible aussi pour des modules.
Réussi:
Fichier.bcs
IF
Global("El[r]inSoul","GLOBAL",1)
AreaCheck("AR1512")
THEN
RESPONSE #100
SetPlayerSound(Myself,"0","SELECT_COMMON1")
SetPlayerSound(Myself,"0","SELECT_COMMON2")
SetPlayerSound(Myself,"0","SELECT_COMMON3")
ActionOverride(Myself,ReallyForceSpellRES("El
oul",Myself)) // No such index
SetGlobal("El[r]inSoul","GLOBAL",2)
Continue()
END
xxxxxP.dlg
IF ~~ THEN BEGIN 2
SAY @1002
IF ~~ THEN DO ~
SetGlobal("El[r]inSoul","GLOBAL",3)
SetPlayerSound(Myself,@2026,26)
SetPlayerSound(Myself,@2027,27)
SetPlayerSound(Myself,@2026,28)
ForceSpellRES("Eltnd",Myself)
JoinParty() ~
EXIT
END