Page 1 sur 1

[SETUP] comment proposer d'utiliser sa save BG1

Posté : ven. 15 déc. 2017, 20:45
par Cocrane
Le mod est à jouer à priori avec une équipe fin de BG1.

D'une manière générale comment on procède pour laisser la possibilité au joueur d'utiliser l'équipe de son choix issue d'une sauvegarde au lieu de constituer son équipe via le mod?

Cocrane

Posté : sam. 22 déc. 2018, 10:50
par Cocrane
Je relance ce sujet.

Je désire gérer les cas suivants pour mon mod:

1-Nouveau PNJ
1-1 Jouer le mod tout de suite
Lancer une partie BG1. Le charname est déplacé sur la carte de départ du mod.

1-2 Jouer le mod après la mort de Sarevok (suite)
Si Sarevok est mort, on active le mod.


2-Sauvegarde
2-1 Jouer le mod tout de suite.
Le groupe est déplacé sur la carte de départ du mod.

2-2 Jouer le mod après la mort de Sarevok (suite)
Si Sarevok est mort, on active le mod.


Je suppose que ce choix est à proposer pendant l'installation via le TP2.

1-1 ou 2-1: paramétrer un fichier BCS global. Déplacement par défaut du groupe.
1-2 ou 2-1: paramétrer un fichier BCS global. Déplacement du groupe après la mort de Sarevok.

Il me semble que le fichier BCS à paramétrer est Baldur.bcs.

A noter le mod est géré pour la version de base avec une installation BGT. (je n'ai pas testé un autre mode d'installation)


Qu'en pensez-vous?


Cocrane

Posté : dim. 30 déc. 2018, 16:00
par Cocrane
Je pense avoir trouvé la solution. Voici mon code dans le TP2:

Code : Tout sélectionner

	 
BEGIN ~Le champion de Bhaal~

// Mode d'installation
PRINT @1 
//Vous désirez?
//[1] Activer le mod à la mort de Sarevok (suite de BG1).
//[2] Démarrer une partie avec le mod tout de suite.~
ACTION_READLN ~reply~
 OUTER_WHILE ((~%reply%~ STRING_EQUAL_CASE ~1~ = 0) AND (~%reply%~ STRING_EQUAL_CASE ~2~ = 0)) BEGIN
  PRINT @1  
  ACTION_READLN ~reply~
 END

// Choix [1] effectué
ACTION_IF (~%reply%~ STRING_EQUAL_CASE ~1~ = 1) BEGIN
 PRINT @2 // Choix [1] effectué
 EXTEND_BOTTOM ~BALDUR.bcs~ ~PDBA1CH8\Setup\DEM_MOD1.baf~ // Ajout variable pour activer le mod à la mort de Sarevok.
END

// Choix [2] effectué
ACTION_IF (~%reply%~ STRING_EQUAL_CASE ~2~ = 1) BEGIN
  PRINT @3
  EXTEND_BOTTOM ~BALDUR.bcs~ ~PDBA1CH8\Setup\DEM_MOD2.baf~ // Ajout variable pour démarrer le mod aussitôt la partie lancée.
END
Selon le code ajouté ajouté dans le fichier BADUR.bcs, le mod sera activé à la mort de Sarevok ou tout de suite.


Qu'en pensez-vous?

Posté : dim. 30 déc. 2018, 21:17
par Freddy_Gwendo
Sur le fond, il se trouve que j'ai travaillé il y a quelques mois sur la meilleure manière d’éliminer les ACTION_READLN d'un mod pour faciliter son installation par un outil d'installation automatique.

Dans ton cas, je te conseillerais bien d’utiliser un fichier ini comportant la variable coco_protecteur=1 (Jouer le mod après la mort de Sarevok (suite)). Si l'utilisateur veut jouer l'autre version, il lui suffit de modifier la variable en 0 (Jouer le mod tout de suite). Ou l'inverse selon ta préférence.

Dans ton tp2, il te suffit de

Code : Tout sélectionner

ACTION_IF (%coco_protecteur%) BEGIN
    EXTEND_BOTTOM ~BALDUR.bcs~ ~PDBA1CH8\Setup\DEM_MOD1.baf~ // Ajout variable pour activer le mod à la mort de Sarevok.
END ELSE BEGIN
    EXTEND_BOTTOM ~BALDUR.bcs~ ~PDBA1CH8\Setup\DEM_MOD2.baf~ // Ajout variable pour démarrer le mod aussitôt la partie lancée.
END
Dans le bloc ALWAYS, une fonction vérifie intégrité de la variable coco_protecteur et la rétablit à sa valeur par défaut (1) si elle est différente de 0 ou 1.

Si ça t'intéresse, je te peux te passer les fichiers qui vont bien. Je les ai testés avec 1PP (plus de 15 variables) et avec mon mod : ça marche nickel. Le principe a été repris par AL|EN pour son futur outil d'installation et par les dernières versions de stratagems.

Posté : dim. 30 déc. 2018, 22:49
par Cocrane
Salut Freddy,
je note le principe. Effectivement, il manquera la partie "lecture du fichier .ini et affectation de la valeur à la variable".

Pour mon cas, cela nécessite que le joueur prenne le temps de lire le ReadMe pour savoir qu'il peut ajuster des réglages et donc choisir comment est activé le mod. Je pense que certains passeront à coté. Vu que j'ai pour le moment une seule variable, ca me semble pratique et pas chiant de poser la question au début de l'installation.

Par contre, le principe m'intéresse. Ca pourrait être utile dans mon futur.

J'ai ce cas à te soumettre:
- je fais l'installation via le .ini
- je modifie la valeur de la variable ensuite

La nouvelle valeur peut elle être prise en compte dans le jeu sans relancer le TP2?

Cocrane

Posté : mar. 01 janv. 2019, 23:05
par Freddy_Gwendo
Pas de souci. Le ini ne sert que pour simplifier l'installation et limiter le nombre d'options ou de messages affichés à l’écran.

En gros, selon la valeur de la variable X, tu lances telle ou telle procédure d'installation. Rien ne t'empêche ensuite de modifier X dans ces procédures.

Édit : j'utilise ce stratagème dans 1PP pour éviter des conflits de variables. En cas d'incompatibilité entre deux variables, je choisis la variable la plus importante comme prioritaire et je rétablis la seconde à sa valeur par défaut. L'utilisateur est prévenu par un message à l'écran.
Mais lorsqu'il y a plusieurs variables, il ne faut pas oublier de bien renseigner le readme. Je viens de terminer un tableau récapitulatif dans mon mod : les joueurs n’auront aucune excuse !

Posté : dim. 13 janv. 2019, 13:54
par Cocrane
C'est noté.

Je pense qu'on aura l'occasion d'en parler concrètement lorsque je vais proposer mon mod à l'install.

Cocrane