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é...
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é...
[TUTO] Paramétrer le SETUP de son mod
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
[TUTO] Paramétrer le SETUP de son mod
.
Salut les moddeurs!
Sauf erreur de ma part, il n'y a pas de TUTO expliquant comment bien paramétrer le SETUP de son mod pour mettre toutes les chances de son coté pour qu'il soit compatible avec le jeu d'origine et d'autres mods déjà en place.
Ma demande est un peu égoïste car je vais livrer un Mod pour la fin d'année pour moteur BG2.
Voici les points que j'ai noté qui sont à détailler par un pro que je ne suis pas:
- Choisir un préfixe libre pour ses fichiers afin qu'ils soient uniques. De mémoire, il faut aller sur un site pour réserver le préfixe.
- En cas de créations de sorts (.SPL), il faut ajouter ces sorts dans le fichier SPELL.ids. Si on les ajoute en dur, ça peut poser problème. Freddy avait écrit un code pour faire des ajouts automatiques.
- On peut être amené à modifier un fichier existant du jeu (créature, dialogue, carte, sort etc...). Comment traiter ce point et rester compatible?
- On peut avoir besoin d'un mod Kit. Comment tester son existence ou proposer son installation?
Autre?
Cocrane
Sauf erreur de ma part, il n'y a pas de TUTO expliquant comment bien paramétrer le SETUP de son mod pour mettre toutes les chances de son coté pour qu'il soit compatible avec le jeu d'origine et d'autres mods déjà en place.
Ma demande est un peu égoïste car je vais livrer un Mod pour la fin d'année pour moteur BG2.
Voici les points que j'ai noté qui sont à détailler par un pro que je ne suis pas:
- Choisir un préfixe libre pour ses fichiers afin qu'ils soient uniques. De mémoire, il faut aller sur un site pour réserver le préfixe.
- En cas de créations de sorts (.SPL), il faut ajouter ces sorts dans le fichier SPELL.ids. Si on les ajoute en dur, ça peut poser problème. Freddy avait écrit un code pour faire des ajouts automatiques.
- On peut être amené à modifier un fichier existant du jeu (créature, dialogue, carte, sort etc...). Comment traiter ce point et rester compatible?
- On peut avoir besoin d'un mod Kit. Comment tester son existence ou proposer son installation?
Autre?
Cocrane
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Encore un sujet que j'ai laissé passé.
Oui, tout ceci est faisable... et bien plus encore.
Pour éviter de me disperser, précise tes questions. D'autant qu'il n'existe pas une réponse unique, mais des méthodes variant selon le type de contrôle que tu veux effectuer.
La tendance en matière de tp2 consiste à écrire des tp2 très court renvoyant à des procédures spécifiques (INCLUDE des fichiers tph ou tpa).
Exemple de mon tp2 :
Oui, tout ceci est faisable... et bien plus encore.
Pour éviter de me disperser, précise tes questions. D'autant qu'il n'existe pas une réponse unique, mais des méthodes variant selon le type de contrôle que tu veux effectuer.
La tendance en matière de tp2 consiste à écrire des tp2 très court renvoyant à des procédures spécifiques (INCLUDE des fichiers tph ou tpa).
Exemple de mon tp2 :
Code : Tout sélectionner
/**********************************************************************
* "Menace sur le Royaume de Diamant Eternel for ToB, BGT and BG2:EE" *
* Combined ToB/BGT/BG:EE installer
**********************************************************************/
/* Backup folder */
BACKUP ~Diamant_Eternel/Backup~
/* Author */
AUTHOR ~Gwendolyne, aka Freddy_Gwendo, http://www.baldursgateworld.fr/lacouronne/members/freddy_gwendo.html~
/* enable all error messages; nothing suppressed. comment this out for release version */
//MODDER
/* launch the readme file immediately. */
VERSION ~Beta 0.1~ // 17.03.29
AUTO_TRA ~Diamant_Eternel/Tra/autotra/%s~
ALWAYS
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *
* PATCH_IF (ou ACTION_IF) GW_debug_variable : *
* ------------------------------------------- *
* INTÉGRATION d'un message dans un fichier .txt et/ou dans le fichier DEBUG pour débogage pendant le développement : *
* 0 = aucun message - 1 = vérifie certains points clé intermédiaires - 2 = tous les points clé intermédiaires - 3 = tous les messages. *
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
OUTER_SET GW_debug_variable = 1 // Variable for debugging
INCLUDE ~%MOD_FOLDER%/Lib/GW_PreReqs.tpa~ // Bibliothèque de fonctions et de macros définissant les variables de compatibilité avec les jeux et les autres mods.
INCLUDE ~%MOD_FOLDER%/Lib/GW_Variables.tpa~ // Bibliothèque de fonctions et de macros définissant des variables à partir des fichiers ids.
INCLUDE ~%MOD_FOLDER%/Lib/GW_Fonctions.tpa~ // Bibliothèque de fonctions et de macros générales.
/* ---------------- Handling of correctly formatted tra-files ---------------- */
/* Copies tra files into the autotra folder (to leave the originals untouched) */
DEFINE_ACTION_FUNCTION ~autotra_workaround~ BEGIN
COPY ~%MOD_FOLDER%/Tra/%LANGUAGE%~ ~%MOD_FOLDER%/Tra/autotra/%LANGUAGE%~
END
/* Converts tra files to UTF-8 */
ACTION_IF NOT VARIABLE_IS_SET cd_always THEN BEGIN // Convertir une seule fois les fichiers .TRA
OUTER_SET cd_always = 1
LAF ~autotra_workaround~ END
ACTION_DEFINE_ARRAY GW#noconvert BEGIN GW_Setup END
ACTION_DEFINE_ARRAY GW#reload BEGIN GW_Creat GW_Cutscenes GW_Items GW_Sorts GWCDDial END // GW_Cartes GW_Triggers GW_ GW_Jrnl GW_NPC
LAF HANDLE_CHARSETS
INT_VAR infer_charsets = 1
STR_VAR tra_path = EVAL ~%MOD_FOLDER%/Tra/autotra~
noconvert_array = GW#noconvert
reload_array = GW#reload
default_language = francais
iconv_path = EVAL ~%MOD_FOLDER%/tools/iconv~
END
END
/* TRAs declared in LANGUAGE must be reloaded - by hand, because of the copying (for non-EE version */
LOAD_TRA ~Diamant_Eternel/Tra/autotra/%LANGUAGE%/GW_Setup.tra~
END // of ALWAYS block
// ===========================================================================================================================================================================
LANGUAGE ~Francais~ ~francais~ ~Diamant_Eternel/Tra/francais/GW_Setup.tra~
BEGIN @0 // ~Installation de la Campagne~
/* Déplacé dans GW_PreReqs.tpa
REQUIRE_PREDICATE ((GAME_IS ~tob bgt~)
&& (MOD_IS_INSTALLED "SETUP-BG2FIXPACK.TP2" "0")
&& (FILE_EXISTS ~tobex.dll~))
OR (GAME_IS ~BG2EE~)
@10010 // ~====== Ce module requiert soit l'installation de l'extension Trône de Bhaal, de ToBEx et du BG2 Fixpack, soit une version Enhanced du jeu (BG2EE). ======~
*/
/* ------------------------------------------------ *
* Vérification de la présence des mods 1PP et IA *
* ------------------------------------------------ */
ACTION_IF (GW_Classical) AND ($GWCompat(~1PP~) STR_CMP "Y") BEGIN // 1ppv4 : Additional Shield Animations
PRINT @10011
PRINT @10012
ACTION_READLN test1PP
OUTER_WHILE NOT(IS_AN_INT %test1PP%) || (%test1PP% > 2) || (%test1PP% < 1) BEGIN
PRINT @10012
ACTION_READLN test1PP
END // of OUTER_WHILE NOT(IS_AN_INT %test1PP%) || (%test1PP% > 2) || (%test1PP% < 1)
ACTION_IF test1PP = 2 THEN BEGIN
FAIL @10013 // ~ABANDON de l'INSTALLATION car 1PP n'est pas installé.~
END
END // of ACTION_IF NOT (MOD_IS_INSTALLED ~1pp.tp2~ 101)
ACTION_IF (GW_Classical) AND ($GWCompat(~IA~) STR_CMP "Y") BEGIN // Infinity Animations installé
PRINT @10021
PRINT @10022
ACTION_READLN testIA
OUTER_WHILE NOT(IS_AN_INT %testIA%) || (%testIA% > 2) || (%testIA% < 1) BEGIN
PRINT @10022
ACTION_READLN testIA
END // of OUTER_WHILE NOT(IS_AN_INT %testIA%) || (%testIA% > 2) || (%testIA% < 1)
ACTION_IF testIA = 2 THEN BEGIN
FAIL @10023 // ~ABANDON de l'INSTALLATION car Infinity Animations n'est pas installé.~
END
END // of ACTION_IF NOT (MOD_IS_INSTALLED ~setup-infinityanimations.tp2~ 0)
/* --------------------------------------------------------- *
* Saisie d'un nom pour le destrier du Chevalier de Diamant. *
* --------------------------------------------------------- */
PRINT @10051 // ~VEUILLEZ SAISIR LE NOM DU DESTRIER DE VOTRE PALADIN :~
ACTION_READLN GWdestrier
PRINT @10052 // VOUS AVEZ SAISI : "%GWdestrier%"
PRINT @10053 // ACCEPTEZ-VOUS ce nom : "%GWdestrier%" ?
ACTION_READLN saisie
OUTER_WHILE (~%saisie%~ STRING_COMPARE_CASE "Y") BEGIN
PRINT @10051
ACTION_READLN GWdestrier
PRINT @10052
PRINT @10053
ACTION_READLN saisie
END
/* -------------------------------------------------------------- *
* Saisie d'un nom pour la licorne de la Chevaucheuse de Licorne. *
* -------------------------------------------------------------- */
PRINT @10055 // ~VEUILLEZ SAISIR LE NOM DE LA LICORNE DE VOTRE CHEVAUCHEUSE :~
ACTION_READLN GWlicorne
PRINT @10056 // VOUS AVEZ SAISI : "%GWlicorne%"
PRINT @10057 // ACCEPTEZ-VOUS ce nom : "%GWlicorne%" ?
ACTION_READLN saisie
OUTER_WHILE (~%saisie%~ STRING_COMPARE_CASE "Y") BEGIN
PRINT @10055
ACTION_READLN GWlicorne
PRINT @10056
PRINT @10057
ACTION_READLN saisie
END
/* ----------------------------------------------------------------------- *
* AF Installation des animations de background selon la langue choisie. *
* ----------------------------------------------------------------------- */
/* -------------------------------------------------------------------------------------------------------------------- *
* Petite assurance pour que les créatures et les objets utilisant la palette étendue de 1PP ne plantent pas le jeu ! *
* -------------------------------------------------------------------------------------------------------------------- */
ACTION_FOR_EACH GWPalette IN MPALETTE MPAL256 BEGIN
ACTION_IF FILE_EXISTS_IN_GAME ~%GWPalette%.bmp~ BEGIN
COPY_EXISTING - ~%GWPalette%.bmp~ ~override/%GWPalette%.bmp~
PATCH_MATCH ~%GWPalette%~ WITH
MPALETTE BEGIN SET size1PP = 9272 END
DEFAULT SET size1PP = 196664
END
OUTER_SET sizePal = %SOURCE_SIZE%
PRINT "CONTROLE de la palette %GWPalette%.bmp = %sizePal% - 1PP = %size1PP%"
ACTION_IF (sizePal != %size1PP%) BEGIN
PRINT @10014 // ~Copie du fichier %SOURCE_FILE% : palette étendue de 1PP.~
COPY ~%MOD_FOLDER%/%GWPalette%.bmp~ ~override/%GWPalette%.bmp~
END
END
END
/* --------------------------------------------------- *
* First, we install all the needed new system stuff *
* --------------------------------------------------- */
PRINT @10100 // ~Modification des fichiers IDS : OBLIGATOIRE !~
---------------------"
INCLUDE ~%MOD_FOLDER%/Lib/GW_ids.tph~ // Modification et extension des fichiers ids.
INCLUDE ~%MOD_FOLDER%/Lib/GW_Animate.tph~ // Ajout des nouvelles animations
/* ----------------------- *
* Install : Projectiles *
* ----------------------- */
INCLUDE ~%MOD_FOLDER%/lib/GW_Pro_fonctions_macros.tpa~ // Bibliothèque de fonctions et de macros pour la gestion des projectiles.
INCLUDE ~%MOD_FOLDER%/lib/200_Projectiles.tph~ // Copie, modification et installation des nouveaux projectiles.
/* --------------------------- *
* Install : VVC & VEF files *
* --------------------------- */
INCLUDE ~%MOD_FOLDER%/lib/210_vvc.tph~
/* ----------------------------------- *
* Variables : Definition & Settings *
* ----------------------------------- */
LAM ~GW_VARIABLES_CLASSES~ // Définition des variables GW_C_xxxx à intégrer dans les fichiers.
LAM ~GW_VARIABLES_RACES~ // Définition des variables GW_R_xxxx à intégrer dans les fichiers.
LAM ~GW_VARIABLES_SPECIFICS~ // Définition des variables GW_S_xxxx à intégrer dans les fichiers.
LAM ~GW_VARIABLES_ANIMATIONS~ // Définition des variables GW_A_xxxx à intégrer dans les fichiers.
/* ------------------- *
* Loading TRA files *
* ------------------- */
ACTION_IF (GW_Classical) BEGIN
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_Creat.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_Items.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_Sorts.tra~
/*LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_Cartes.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_Triggers.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_Jrnl.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_NPC.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/GW_Cutscenes.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/.tra~
LOAD_TRA ~%MOD_FOLDER%/tra/%LANGUAGE%/.tra~
*/
END
/* --------------------- *
* Install : EFF files *
* --------------------- */
INCLUDE ~%MOD_FOLDER%/lib/220_Effets.tph~
/* ----------------- *
* Install : Items *
* ----------------- */
INCLUDE ~%MOD_FOLDER%/lib/GW_Special_traits.tpa~ // Ajout automatique de caractéristiques spéciales à des créatures, des objets ou des sorts.
INCLUDE ~%MOD_FOLDER%/lib/GW_Itm_fonctions_macros.tpa~ // Bibliothèque de fonctions et de macros pour créer et modifier des d'objets.
LAM ~GW_ADJUST_TOOLTIP~ // Ajout automatique des colonnes supplémentaires nécessaires.
INCLUDE ~%MOD_FOLDER%/lib/241_Armes.tph~ // Install Weapons.
INCLUDE ~%MOD_FOLDER%/lib/242_Armures.tph~ // Install Armors.
INCLUDE ~%MOD_FOLDER%/lib/243_Equipement.tph~ // Install misc. Equipments.
INCLUDE ~%MOD_FOLDER%/lib/244_Potions.tph~ // Install Potions.
INCLUDE ~%MOD_FOLDER%/lib/245_Magie.tph~ // Install Magic Items.
INCLUDE ~%MOD_FOLDER%/lib/246_ObjetsDiv.tph~ // Install misc. Items.
INCLUDE ~%MOD_FOLDER%/lib/247_Livres.tph~ // Install Books.
INCLUDE ~%MOD_FOLDER%/lib/248_Tresor.tph~ // Install Jewelry and Gems.
INCLUDE ~%MOD_FOLDER%/lib/250_Trophees.tph~ // Install Trophies and Bodies.
INCLUDE ~%MOD_FOLDER%/lib/251_Cles.tph~ // Install Keys.
INCLUDE ~%MOD_FOLDER%/lib/253_Mines.tph~ // Install Mining, Devices and Machinery.
/* --------------------------- *
* Install : KITS and Spells *
* --------------------------- */
INCLUDE ~%MOD_FOLDER%/lib/GW_Spl_fonctions_macros.tpa~ // Bibliothèque de fonctions et de macros pour créer et modifier des sorts.
INCLUDE ~%MOD_FOLDER%/lib/300_Sorts.tph~ // Install misc. spells and spell icons.
INCLUDE ~%MOD_FOLDER%/lib/GW_Kits.tph~ // Install Kits.
INCLUDE ~%MOD_FOLDER%/lib/310_Sorts_Kits.tph~ // Install Kits spells.
INCLUDE ~%MOD_FOLDER%/lib/320_Sorts_Pretre.tph~ // Install Priest spells.
INCLUDE ~%MOD_FOLDER%/lib/330_Sorts_Druide.tph~ // Install Druidic spells.
INCLUDE ~%MOD_FOLDER%/lib/340_Sorts_Mage.tph~ // Install Mage spells.
INCLUDE ~%MOD_FOLDER%/lib/350_Sorts_Dragons.tph~ // Install Dragons spells.
INCLUDE ~%MOD_FOLDER%/lib/360_Sorts_Bouffe.tph~ // Install Food component spells.
/*
PRINT ~-----------------------------------
INSTALLATION de DETECTABLE SPELLS
-----------------------------------~
SILENT
INCLUDE ~%MOD_FOLDER%/lib/ds.tph~
LAF ~detectable_spells~ END
LAF ~GW_DIAMOND_DETECTABLE_SPELLS~ END
VERBOSE
PRINT ~--------------------------------------------
INSTALLATION de DETECTABLE SPELLS TERMINEE
--------------------------------------------~
// Petit code pour tester rapidement les objets
COPY_EXISTING ~Bag03.itm~ ~override/GWBag101.itm~
COPY_EXISTING ~Bag04.sto~ ~override/GWBag101.sto~ SAY NAME2 #56856 WRITE_SHORT 0x22 999 // Capacity
PATCH_FOR_EACH item IN
//GWDag01 GWDag02 GWDag03 GWDag04 GWDag51 GWDag52 GWEpB01 GWEpB02 GWEpB03 GWEpB04 GWEpL01 GWEpL02 GWEpL03 GWEpL04 GWEpC01 GWEpC02 GWEpC03 GWEpC04 GWEpT01 GWEpT02 GWEpT03 GWEpT04 GWCim01 GWCim02 GWCim03 GWCim04 GWKat01 GWKat02 GWKat03 GWKat04 GWRapi1 GWRapi2 GWRapi3 GWRapi4 GWRapi5 GWRapi6 GWSab01 GWSab02 GWSab03 GWSab04 GWSab11 GWSab12 GWSab13 GWSab14 GWSab21 GWSab22 GWSab23 GWSab24 GWAxe01 GWAxe02 GWAxe03 GWAxe04 GWFla01 GWFla02 GWFla03 GWFla04 GWHam01 GWHam02 GWHam03 GWHam04 GWMac01 GWMac02 GWMac03 GWMac04 GWMgSt01 GWMgSt02 GWMgSt03 MgSt04 GWDolo1 GWDolo2 GWDolo3 GWDolo5 GWDolo6 GWDolo7 GWEspo1 GWEspo2 GWEspo3 GWPert1 GWPert2 GWPert3 GWPert4 GWPert5 GWSpet1 GWSpet2 GWSpet3 GWVoug1 GWVoug5 GWVoug6
//GWStafAb GWStafAl GWStafCj GWStafDi GWStafEn GWStafIl GWStafIn GWStafNe GWPioche
GWTome01 GWTome02 GWTome03 GWTome04 GWTome05 GWTome06 GWTome07 GWTome12 GWTome31 GWTome32 GWTome51 GWTome52 GWTome53 GWTome71
GWTome54 GWTome55 GWTome56 GWTome57 GWTome58 GWTome59 GWTome60 GWTome61 GWTome36 GWTome37
//GWTome15 GWTome16 GWTome17 GWTome18 GWTome19 GWTome20 GWTome21 GWTome22 GWTome23 GWTome24 GWTome25 GWTome26 GWTome27 GWTome28 GWTome29 GWTome30
SW1H04 GW1 GW2 GW3 GW4 GW5
BOW02 AROW01 AROW02 AROW03
GWBAgiPe GWSAgiPe GWCAgiPe GWWDtGd GWWFrmEt GWWProGd GWWPsgEt GWWPtnDe
GWSac01 GWSac02 GWSac03 GWSac04 GWSac91 GWSac92 GWSac93
GWGourd1 GWGourd2
GWSilex GWBriqu GWCassol GWBarat2
GWAncre GWCompas GWLgVue GWSextan GWGouver GWCanneP
GWSemenc GWPlum01 GWEncre1 GWPlumie GWEncLiq GWHuileB GWHuileV
GWPotVde GWFioleV GWEauBen GWPieSel GWSacOr GWTelDal
GWKey002 GWKey003 GWKey004 GWKey024 GWKey028 GWKey040
GWPelle GWSeau
GWBody01 GWBody02 GWBody03 GWBody04 GWBody05 GWBody11 GWBody12 GWBody13 GWBody14 GWBody15 GWBody16 GWBody17 GWBody18 GWBody19 GWBody20 GWBody31 GWBody32 GWBody33 GWBody34 GWBody35 GWBody51 GWBody61 GWFred01 GWFred02 GWFred03 GWAmarH
GWEpee1 GWEpee2 GWEpee3 GWEpee7
GWCrane1 GWCrane2 GWCrane3 GWCrane4 GWCrane5 GWOs01 GWOs02 GWOs03 GWOs04 GWOs05 GWOs06 GWOs07 GWOs08 GWOs09 GWOs10 GWOs11 GWOs12
GWScalp1 GWScalp2 GWScalp3 GWScalp4
GWBRhiCa GWTorgal GWUmbHy GWUmbHo GWGtFdPl GWGtFePl GWGtNuPl GWGalile GWMedHy GWGeanc GWMinoH1 GWMinoH2 GWMariH GWSuccH GWEyeGau GWEyeSpe GWEyeOA
GWRequF GWRequM GWRequD GWPoul1 GWPoul2 GWPoul3 GWPoul4 GWPoul5
GWEyeDia GWDgEgg GWDgRgE GWDgWhE GWDgBlE GWDgBrE GWDgJaE GWDgNoE GWDgOmE GWDgPoE GWDgVeE GWDgRgG GWDgWhG GWDgBlG GWDgBrG GWDgJaG GWDgNoG GWDgOmG GWDgPoG GWDgVeG GWDgRgD GWDgWhD GWDgBlD GWDgBrD GWDgJaD GWDgNoD GWDgOmD GWDgPoD GWDgVeD GWDgRgO GWDgWhO GWDgBlO GWDgBrO GWDgJaO GWDgNoO GWDgOmO GWDgPoO GWDgVeO GWDgRgT GWDgWhT GWDgBlT GWDgBrT GWDgJaT GWDgNoT GWDgOmT GWDgPoT GWDgVeT
GWPAnge GWAretes GWRequ1 GWRequ2 GWRequ3 GWRequ4 GWRequ5 GWThon1 GWThon2 GWThon3 GWPGuit GWMarlin GWLabre
GWRING01 GWTRESOR GWRuby1 GWRuby2 GWPRevel GWGaxxFa GWEpee4 GWEpee5 GWEpee6
GWListe1 GWListe2 GWMess1 GWMess2 GWMap01 GWNote01
GWBook05 GWBook07 GWBook08 GWBook21 GWBook29
GWBook30 GWBook31 GWBook32 GWBook33 GWBook34 GWBook35 GWBook36 GWBook38 GWBook39 GWBook40 GWBook41 GWBook42 GWBook43 GWBook44 GWBook45 GWBook46 GWBook47 GWBook48 GWBook49
GWBook50 GWBook51 GWBook52 GWBook53 GWBook54 GWBook55 GWBook56 GWBook57 GWBook58 GWBook59 GWBook60 GWBook61 GWBook62 GWBook63 GWBook64 GWBook66 GWBook67 GWBook68 GWBook69
GWBook70 GWBook71 GWBook72 GWBook73 GWBook74 GWBook75 GWBook76 GWBook77 GWBook78 GWBook79 GWBook80 GWBook81 GWBook82 GWBook83 GWBook84 GWBook85 GWBook86 GWBook87 GWBook88 GWBook89 GWBook90 GWBook91 GWBook99
GWAxeCT5 GWEpBCT2 GWEpBCT3 GWEpLCT1 GWEpLCT3 GWEpLCT4 GWEpLCT7 GWEpLCT9 GWEpTCT1 GWEpTCT4 GWEpTCT5
GWCoco1 GWCoco2 GWPoel1 GWMarmit GWGrill GWCafeM GWCafet GWTheie GWBarat1
BEGIN
PATCH_IF FILE_EXISTS_IN_GAME ~%item%.itm~ BEGIN
ADD_STORE_ITEM ~%item%~ LAST #3 #3 #0 ~IDENTIFIED~ #1
END
END
BUT_ONLY
/* --------------------- *
* Install : Creatures *
* --------------------- */
INCLUDE ~%MOD_FOLDER%/lib/230_Creatures.tph~ // Install .cre files : appelle la librairie GW_Cre_fonctions_macros.tpa et la macro GW_Cre_def_variables.tpa.
/* ------------------ *
* Install : Stores *
* ------------------ */
/* ------------------------------- *
* Compiling Dialogs and Scripts *
* ------------------------------- */
/* ---------------- *
* Install : Maps *
* ---------------- */
/* ------------------------- *
* Install : Miscellaneous *
* ------------------------- */
ACTION_FOR_EACH rep_sound IN ~Cartes~ ~Effets~ ~Sorts~ ~Cre~ BEGIN
LAF HANDLE_AUDIO STR_VAR audio_path = EVAL "%MOD_FOLDER%/Sons/%rep_sound%" oggdec_path = EVAL "%MOD_FOLDER%/tools/audio" END
END
INCLUDE ~%MOD_FOLDER%/lib/GW_Tilesets.tph~ // Décompression et installation des fichiers .MOS et .TIS.
/* -------------------------------- *
* Suite de l'installation *
* -------------------------------- */
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Salut Freddy,
je vois que tu es à l'aise avec le sujet.
En première lecture, je suis loin de tout capter. Je vois que tu peux utiliser des variables (nom entouré de %variable%). Je ne vois pas où seront renseignés leurs valeurs et je pensais que l'on avait pas cette possibilité dans le jeu et à l'installation.
Je te propose deux sujets pour commencer:
1- s'assurer que le mod "Infinity Animations" est installé.
2- ajouter une liste de sorts dans des emplacements libres de Spell.ids.
A mon avis, c'est déjà pas mal vu que le principe .tpa, tph, include etc... je ne pratique pas .
Ccorane
je vois que tu es à l'aise avec le sujet.
En première lecture, je suis loin de tout capter. Je vois que tu peux utiliser des variables (nom entouré de %variable%). Je ne vois pas où seront renseignés leurs valeurs et je pensais que l'on avait pas cette possibilité dans le jeu et à l'installation.
Je te propose deux sujets pour commencer:
1- s'assurer que le mod "Infinity Animations" est installé.
2- ajouter une liste de sorts dans des emplacements libres de Spell.ids.
A mon avis, c'est déjà pas mal vu que le principe .tpa, tph, include etc... je ne pratique pas .
Ccorane
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Oui, elles sont générées dans les procédures INCLUDE. ]Cocrane a écrit :En première lecture, je suis loin de tout capter. Je vois que tu peux utiliser des variables (nom entouré de %variable%). Je ne vois pas où seront renseignés leurs valeurs et je pensais que l'on avait pas cette possibilité dans le jeu et à l'installation.
1- s'assurer que le mod "Infinity Animations" est installé.
[/QUOTE]
Pour vérifier si un mod (ou un composant d'un mod) est installé, c'est assez simple : MOD_IS_INSTALLED "SETUP-nom_du_mod" "numero_du_composant". Dans ton cas,
Code : Tout sélectionner
BEGIN @0 // ~nom de ton composant (principal ou pas)~
REQUIRE_PREDICATE ((GAME_IS ~bgt~)
&& (MOD_IS_INSTALLED "setup-infinityanimations.tp2" "0") // Présence d'IA
// && (MOD_IS_INSTALLED "SETUP-BG2FIXPACK.TP2" "0") // Présence de BG2Fixpack ?
// && (FILE_EXISTS ~tobex.dll~) // Si tu souhaites vérifier que ToBEX est installé
)
@10010 // ~====== Ce module requiert l'installation de BGT et d'Infinity Animations... ======~
Tu peux aussi utiliser ceci :
Code : Tout sélectionner
BEGIN @0 // ~nom de ton composant (principal ou pas)~
REQUIRE_COMPONENT ~setup-infinityanimations.tp2~ 0 @10010
Pour ajouter des sorts dans le fichier SPELL.IDS, c'est assez facile en théorie. Cependant, puisque ton objectif est de maximiser la compatibilité de ton mod avec les autres, je te conseille une autre technique. Prenons l'exemple suivant : ton nouveau sort est un sort de magicien et tu l'appelles SPWI338.SPL.2- ajouter une liste de sorts dans des emplacements libres de Spell.ids.
Code : Tout sélectionner
ADD_SPELL ~tonmod/sorts/SPWI338.SPL~ 2 3 ~NOM_DE_TON_SORT~ (avec 2 = sort de mage et 3 = niveau du sort)
Essaie plutôt ceci :
Code : Tout sélectionner
ADD_SPELL ~tonmod/sorts/tonsort.spl~ 2 3 ~NOM_DE_TON_SORT~
SAY NAME1 @nnnn SAY UNIDENTIFIED_DESC @nnn
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Ajout du sort
> ca marche
Contrôle de la présence de mod etc...
> ca marche pas.
Visiblement le mot clé n'existe pas dans mon installation:
> ca marche
Contrôle de la présence de mod etc...
> ca marche pas.
Visiblement le mot clé n'existe pas dans mon installation:
"
[SETUP_PDBA1CH8.TP2] PARSE ERROR at line 12 column 1-17
Near Text: REQUIRE_PREDICATE
GLR parse error
[SETUP_PDBA1CH8.TP2] ERROR at line 12 column 1-17
Near Text: REQUIRE_PREDICATE
Parsing.Parse_error
"
LOAD_TRA ~PDBA1CH8\LANGUAGE\FRENCH\COMPUTER.TRA~
REQUIRE_PREDICATE ((GAME_IS ~bgt~)
&& (MOD_IS_INSTALLED "setup-infinityanimations.tp2" "0") // Présence d'IA
// && (MOD_IS_INSTALLED "SETUP-BG2FIXPACK.TP2" "0") // Présence de BG2Fixpack ?
// && (FILE_EXISTS ~tobex.dll~) // Si tu souhaites vérifier que ToBEX est installé
)
@1 // ~====== Ce module requiert l'installation de BGT et d'Infinity Animations... ======~
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
REQUIRE_PREDICATE est un flag de composant (cf la doc WeiDU), il s'utilise donc juste après un BEGIN de composant et avant toute instruction, en particulier LOAD_TRA.
Il existe depuis un grand nombre d'année, je doute que tu aies un WeiDU si vieux qu'il ne le comprenne pas.
L'ordre des instructions est probablement la cause profonde de ton problème.
Il existe depuis un grand nombre d'année, je doute que tu aies un WeiDU si vieux qu'il ne le comprenne pas.
L'ordre des instructions est probablement la cause profonde de ton problème.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Pas mieux, d'ailleurs :
L'instruction REQUIRE_PREDICATE doit être placée juste après le BEGIN composant.Freddy_Gwendo a écrit :Code : Tout sélectionner
[color="#FFFF00"][B]BEGIN @0 // ~nom de ton composant (principal ou pas)~[/B][/color] REQUIRE_PREDICATE ((GAME_IS ~bgt~) && (MOD_IS_INSTALLED "setup-infinityanimations.tp2" "0") // Présence d'IA // && (MOD_IS_INSTALLED "SETUP-BG2FIXPACK.TP2" "0") // Présence de BG2Fixpack ? // && (FILE_EXISTS ~tobex.dll~) // Si tu souhaites vérifier que ToBEX est installé ) @10010 // ~====== Ce module requiert l'installation de BGT et d'Infinity Animations... ======~
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Pas de nouvelles depuis un mois : ça roule (comme on dit par chez moi : "pas de nouvelles, bonnes nouvelles") ou est-ce que ça bloque toujours quelque part ?
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Salut Freddy,
effectivement, les semaines s'enchainent et j'ai peu codé dernièrement. J'essaie de m'y remettre dare dare mais j'ai du mal alors que je suis sur ma dernière carte de mon donjon.
Je pense que j'avais besoin de lever un peu le pied.
Pour ce sujet, j'avais testé le code mais j'avais pas encore fait le tour de ce que ça peut donner.
Le fait de mettre un BEGIN (de mémoire) engendrait l'installation comme un composant alors que je veux juste vérifier l'installation, signaler les points à problème si il y en a. Dans ce ca, je veux proposer d'annuler l'installation ou de poursuivre quand même.
Il faut que je me remette dans le test que j'avais fait pour être plus précis. Mais je sens que cette partie "install setup" va pas me plaire.
Cocrane
effectivement, les semaines s'enchainent et j'ai peu codé dernièrement. J'essaie de m'y remettre dare dare mais j'ai du mal alors que je suis sur ma dernière carte de mon donjon.
Je pense que j'avais besoin de lever un peu le pied.
Pour ce sujet, j'avais testé le code mais j'avais pas encore fait le tour de ce que ça peut donner.
Le fait de mettre un BEGIN (de mémoire) engendrait l'installation comme un composant alors que je veux juste vérifier l'installation, signaler les points à problème si il y en a. Dans ce ca, je veux proposer d'annuler l'installation ou de poursuivre quand même.
Il faut que je me remette dans le test que j'avais fait pour être plus précis. Mais je sens que cette partie "install setup" va pas me plaire.
Cocrane
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
J'imagine que c'est l'installation de IA que tu veux forcer ?
Je ne suis pas pour (je préfère indiquer au joueur que le mod nécessite IA et qu'il doit l'installer), mais si tu y tiens vraiment, je peux te fournir le code qui va bien.
Je ne suis pas pour (je préfère indiquer au joueur que le mod nécessite IA et qu'il doit l'installer), mais si tu y tiens vraiment, je peux te fournir le code qui va bien.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Le code que je t'ai donné empêche l'installation si IA n'est pas installé. Si tu préfères prévenir le joueur qu'il doit installer IA, fais comme moi :
avec
Les variables GW_Classical et $GWCompat(~IA~) sont définies avant ce code, dans le bloc ALWAYS :
En gros, $GWCompat(~IA~) est une variable du style (MOD_IS_INSTALLED "%module%" "%component%") définie pour lancer les ajustements à faire selon les mods installés (Spell et Item Revision, IA, 1PP, etc.).
Tu peux la remplacer par (NOT MOD_IS_INSTALLED "setup-infinityanimations.tp2" "0")
Pour toi, ça donnerait ceci :
Code : Tout sélectionner
ACTION_IF (GW_Classical) AND ($GWCompat(~IA~) STR_CMP "Y") BEGIN // Infinity Animations is not installed
PRINT @10021
PRINT @10022
ACTION_READLN testIA
OUTER_WHILE NOT(IS_AN_INT %testIA%) || (%testIA% > 2) || (%testIA% < 1) BEGIN
PRINT @10022
ACTION_READLN testIA
END // of OUTER_WHILE NOT(IS_AN_INT %testIA%) || (%testIA% > 2) || (%testIA% < 1)
ACTION_IF testIA = 2 THEN BEGIN
FAIL @10023 // ~ABANDON de l'INSTALLATION car Infinity Animations n'est pas installé.~
END
END // of ACTION_IF NOT (MOD_IS_INSTALLED ~setup-infinityanimations.tp2~ 0)
Code : Tout sélectionner
@10021 = ~
*******************************************************************************
* ATTENTION ! ATTENTION ! ATTENTION ! ATTENTION ! ATTENTION ! *
*******************************************************************************
* *
* Ce module nécessite comme pré-requis l'installation de Infinity Animations. *
* Puisque ce n'est pas le cas, plusieurs sorts (notamment Chargeur spirituel *
* et Cavalerie spirituelle qui convoquent des esprits de Chevaliers de *
* Diamant et de Chevaucheuses de licorne avec leurs montures - chevaux et *
* licornes) ne fonctionneront pas. *
*******************************************************************************~
@10022 = ~
AVEZ-VOUS COMPRIS L'AVERTISSEMENT ?
-----------------------------------
(1) Tapez 1 pour continuer l'installation sans Infinity Animations.
(2) Tapez 2 pour abandonner l'installation.~
@10023 = ~ABANDON de l'INSTALLATION car Infinity Animations n'est pas installé.~
Code : Tout sélectionner
/* ========================= *
* RECHERCHE du JEU UTILISÉ. *
* ========================= */
OUTER_SET GW_ToB = (GAME_IS ~tob~ AND NOT GAME_IS ~bgt~) ? 1 : 0
OUTER_SET GW_BGT = (GAME_IS ~bgt~) ? 1 : 0
OUTER_SET GW_BG2EE = (GAME_IS ~BG2EE~ AND NOT GAME_IS ~EET~) ? 1 : 0
OUTER_SET GW_Classical = ((GW_ToB = 1) OR (GW_ToB = 1)) ? 1 : 0
Tu peux la remplacer par (NOT MOD_IS_INSTALLED "setup-infinityanimations.tp2" "0")
Pour toi, ça donnerait ceci :
Code : Tout sélectionner
ACTION_IF ((GAME_IS ~bgt~) AND (NOT MOD_IS_INSTALLED "setup-infinityanimations.tp2" "0")) BEGIN // Infinity Animations is not installed
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité