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é...
[SPL] Comment créer un sort de soin spécifique à une créature ?
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
[SPL] Comment créer un sort de soin spécifique à une créature ?
.
Dans mon mod, il y aura possibilité d'avoir un golem d'ambre (nouvelle créature).
On pourra acheter un parchemin de magicien pour réparer le golem d'ambre.
Comment paramétrer le sort pour que le sort puisse s'appliquer uniquement si la cible est un golem d'ambre?
Je suppose qu'il faut:
- ajouter le golem d'ambre dans un fichier IDS.
- tester si la cible est un golem d'ambre.
(Je ne vois pas de fonction pour tester la cible comme condition de déclenchement)
- soigner la cible. (Current HP Modifier [17] ou HP: Regeneration [98]?)
Qui a une idée?
On pourra acheter un parchemin de magicien pour réparer le golem d'ambre.
Comment paramétrer le sort pour que le sort puisse s'appliquer uniquement si la cible est un golem d'ambre?
Je suppose qu'il faut:
- ajouter le golem d'ambre dans un fichier IDS.
- tester si la cible est un golem d'ambre.
(Je ne vois pas de fonction pour tester la cible comme condition de déclenchement)
- soigner la cible. (Current HP Modifier [17] ou HP: Regeneration [98]?)
Qui a une idée?
- deratiseur
- Golem de fer
- Messages : 3698
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
.
Il suffit que via ton tp2 (fichier d'installation) tu donnes à ton golem un ids "unique" qui n’affecteras pas son animation ou sa race, etc, genre specific.ids, et tu donnes une valeur qui n'existe pas, par exemple 993. Ça fonctionne, je l'ai fais sur deux araignées du dukp pour quelle soient "ennemis héréditaires" et qu'elles s'attaquant à vu).
Ensuite ton sort de guérison utiliseras l’effet #177 (use EFF File), qui cible le specific.ids (valeur 6) et affecte ce qui correspond à 993 (dans l’exemple utilisé ici). Ton sort n'aura d'effet que sur ta créature et sur rien d'autre. Le soin est donné par un fichier .eff externe, celui que tu as rentré dans le #177
Ensuite ton sort de guérison utiliseras l’effet #177 (use EFF File), qui cible le specific.ids (valeur 6) et affecte ce qui correspond à 993 (dans l’exemple utilisé ici). Ton sort n'aura d'effet que sur ta créature et sur rien d'autre. Le soin est donné par un fichier .eff externe, celui que tu as rentré dans le #177
- deratiseur
- Golem de fer
- Messages : 3698
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
.
Je viens de vérifier mes bestioles qui utilisent cette méthode : pas besoin de te compliquer la vie dans le tp2, il y a une case "specifics" dans le premier onglet de la créature dans DLTCEP. Tu peux rentrer un nombre en hexa là.
Pour éviter qu'on utilise les même : j'utilise les valeurs 123 et 124.
Pour éviter qu'on utilise les même : j'utilise les valeurs 123 et 124.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
C'est noté pour le TP2.
Pour le moment, j'ai ajouté la valeur en direct dans SPECIFIC.IDS et j'ai sélectionné cette valeur pour ma créature dans DLTCEP.
Visiblement ca ne fonctionnement pas.
Si je lance mon nouveau sort en soignant en direct ca marche.
Si je mets à la place l'effet 177 sur la valeur de ma créature dans SPECIFIC.IDS, je peux sélectionner ma cible mais elle n'est pas soignée.
Du coup, j'ai essayé des valeurs déja existantes ou un autre fichier IDS, l'effet soin ne se déclenche pas.
Le nom de l'effet à lancer si la condition est remplie est bien paramétrée.
J'ai jeté un oeil sur l'épée batarde contre les métamorphes du jeu et je ne vois pas d'erreur de paramétrage.
Bizarre bizarre.
Pour le moment, j'ai ajouté la valeur en direct dans SPECIFIC.IDS et j'ai sélectionné cette valeur pour ma créature dans DLTCEP.
Visiblement ca ne fonctionnement pas.
Si je lance mon nouveau sort en soignant en direct ca marche.
Si je mets à la place l'effet 177 sur la valeur de ma créature dans SPECIFIC.IDS, je peux sélectionner ma cible mais elle n'est pas soignée.
Du coup, j'ai essayé des valeurs déja existantes ou un autre fichier IDS, l'effet soin ne se déclenche pas.
Le nom de l'effet à lancer si la condition est remplie est bien paramétrée.
J'ai jeté un oeil sur l'épée batarde contre les métamorphes du jeu et je ne vois pas d'erreur de paramétrage.
Bizarre bizarre.
- deratiseur
- Golem de fer
- Messages : 3698
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
.
J'utilise cette astuce dans des scripts. Pour un effet, peut-être a t-il besoin que la valeur soit vraiment dans l'ids. Essaie de rajouter la valeur de ta créature au fichier specific.ids et re-teste.
- 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
.
De retour après une semaine de boulot harassante...
Le problème de l'attribution d'un nouveau code ids, c'est les risques incompatibilité entre plusieurs mods.
Comme j'introduis de nouvelles races et de nouveaux codes specifics pour différencier mes dragons, j'ai défini une routine pour lire les fichiers ids existants et ajouter automatiquement un code NON existant.
Puis tu fonctionnes comme l'indique derat.
Comme j'utilise ce truc dans des capacités de mes kits pour soigner uniquement les licornes ou le destrier du paladin, je code l'effet à lancer dans le tp2.
Pour cela, je lance au début de l'installation (après l'attribution des nouveaux codes ids) une macro qui stocke ces codes ids dans une variable :
Puis j'utilise la variable %GW_S_xxxxx% :
Dans ton cas, ce sera
Et voilà, le tour est joué, tu n'as plus à te soucier des codes specifics des autres.
Ceci dit, dans ton cas, le mieux serait d'utiliser le code GOLEM_AMBER dans le fichier class.ids (où se trouvent déjà les codes GOLEM_IRON, GOLEM_FLESH, GOLEM_STONE et GOLEM_CLAY). La procédure est la même.
De plus, ce serait compatible avec mes propres golems d'ambre, de feu, d'eau et électriques.
PS : j'ai fait des essais de modification des bams des golems pour créer une nouvelle animation de golem d'ambre. C'est en bonne voie. Dès que je suis saatisfait, je t'envoie les fichiers.
Le problème de l'attribution d'un nouveau code ids, c'est les risques incompatibilité entre plusieurs mods.
Comme j'introduis de nouvelles races et de nouveaux codes specifics pour différencier mes dragons, j'ai défini une routine pour lire les fichiers ids existants et ajouter automatiquement un code NON existant.
Puis tu fonctionnes comme l'indique derat.
Comme j'utilise ce truc dans des capacités de mes kits pour soigner uniquement les licornes ou le destrier du paladin, je code l'effet à lancer dans le tp2.
Pour cela, je lance au début de l'installation (après l'attribution des nouveaux codes ids) une macro qui stocke ces codes ids dans une variable :
Code : Tout sélectionner
DEFINE_ACTION_MACRO GW_VARIABLES_SPECIFICS BEGIN
COPY_EXISTING - ~Specific.ids~ ~override~
READ_2DA_ENTRIES_NOW GW_Specific 2
FOR (row=0;row<GW_Specific;row+=1) BEGIN
READ_2DA_ENTRY_FORMER GW_Specific row 0 numero
READ_2DA_ENTRY_FORMER GW_Specific row 1 specific
// DRAGONS
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BLACK_DRAGON~ BEGIN SET GW_S_DragonNoir = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BLUE_DRAGON~ BEGIN SET GW_S_DragonBleu = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~GREEN_DRAGON~ BEGIN SET GW_S_DragonVert = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RED_DRAGON~ BEGIN SET GW_S_DragonRouge = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~WHITE_DRAGON~ BEGIN SET GW_S_DragonBlanc = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BRASS_DRAGON~ BEGIN SET GW_S_DragonAirain = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BRONZE_DRAGON~ BEGIN SET GW_S_DragonBronze = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~COPPER_DRAGON~ BEGIN SET GW_S_DragonCuivre = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~GOLD_DRAGON~ BEGIN SET GW_S_DragonOr = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SILVER_DRAGON~ BEGIN SET GW_S_DragonArgent = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~AMETHYST_DRAGON~ BEGIN SET GW_S_DragonAmethyste = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~CRYSTAL_DRAGON~ BEGIN SET GW_S_DragonCristal = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~EMERALD_DRAGON~ BEGIN SET GW_S_DragonEmeraude = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SAPPHIRE_DRAGON~ BEGIN SET GW_S_DragonSaphire = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~TOPAZE_DRAGON~ BEGIN SET GW_S_DragonTopaze = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BROWN_DRAGON~ BEGIN SET GW_S_DragonBrun = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~DEEP_DRAGON~ BEGIN SET GW_S_DragonProfondeurs = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~PRISMATIC_DRAGON~ BEGIN SET GW_S_DragonPrismatic = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~PURPLE_DRAGON~ BEGIN SET GW_S_DragonPourpre = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RATTELYR_DRAGON~ BEGIN SET GW_S_DragonRattelyr = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SHADOW_DRAGON~ BEGIN SET GW_S_DragonOmbre = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~YELLOW_DRAGON~ BEGIN SET GW_S_DragonJaune = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~DEVOUR_BRAIN_DRAGON~ BEGIN SET GW_S_DragonDecerveleur = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SORCELLERIE_DRAGON~ BEGIN SET GW_S_DragonSorcellerie = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~CHANT_DRAGON~ BEGIN SET GW_S_DragonChanteur = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FANG_DRAGON~ BEGIN SET GW_S_DragonPointes = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~MERCURY_DRAGON~ BEGIN SET GW_S_DragonMercure = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~MIST_DRAGON~ BEGIN SET GW_S_DragonBrumes = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~STEEL_DRAGON~ BEGIN SET GW_S_DragonAcier = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~CHAOS_DRAGON~ BEGIN SET GW_S_DragonChaos = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~HOWLING_DRAGON~ BEGIN SET GW_S_DragonHurleur = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~PYROCLASTIC_DRAGON~ BEGIN SET GW_S_DragonPyroclastique = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RUST_DRAGON~ BEGIN SET GW_S_DragonRouille = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~ARBOREAL_DRAGON~ BEGIN SET GW_S_DragonAboreal = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~AXIAL_DRAGON~ BEGIN SET GW_S_DragonAxial = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BATTLE_DRAGON~ BEGIN SET GW_S_DragonGuerre = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~OCEANUS_DRAGON~ BEGIN SET GW_S_DragonOcean = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RADIANT_DRAGON~ BEGIN SET GW_S_DragonRadiant = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~ADAMANTITE_DRAGON~ BEGIN SET GW_S_DragonAdamantite = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~VAMPIRIC_DRAGON~ BEGIN SET GW_S_DragonVampire = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~ZOMBIE_DRAGON~ BEGIN SET GW_S_DragonZombie = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~DRACOLICH~ BEGIN SET GW_S_Dracoliche = %numero% END
// MORTS-VIVANTS
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~MUMMY~ BEGIN SET GW_S_Momie = %numero% END // 219 MUMMY
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~REVENANT~ BEGIN SET GW_S_Revenant = %numero% END // 218 REVENANT
// CREATURES du FEU
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FIRE_CREATURE~ BEGIN SET GW_S_Fire = %numero% END
// CREATURES VOLANTES
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FLYING_CREATURE~ BEGIN SET GW_S_Volants = %numero% END
PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FLYING_SUMMONED~ BEGIN SET GW_S_Volants_convoques = %numero% END
END
BUT_ONLY
END
Dans ton cas, ce sera
Code : Tout sélectionner
COPY mymod\monfichier override\monfichier
WRITE_BYTE offset_à_modifier EVAL "%GW_S_xxxxx%".
Ceci dit, dans ton cas, le mieux serait d'utiliser le code GOLEM_AMBER dans le fichier class.ids (où se trouvent déjà les codes GOLEM_IRON, GOLEM_FLESH, GOLEM_STONE et GOLEM_CLAY). La procédure est la même.
De plus, ce serait compatible avec mes propres golems d'ambre, de feu, d'eau et électriques.
PS : j'ai fait des essais de modification des bams des golems pour créer une nouvelle animation de golem d'ambre. C'est en bonne voie. Dès que je suis saatisfait, je t'envoie les fichiers.
Modifié en dernier par vv221 le jeu. 27 avr. 2023, 17:24, modifié 1 fois.
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
.
@Dérat:
"Essaie de rajouter la valeur de ta créature au fichier specific.ids et re-teste."
J'ai essayé hier soir avant de t'écrire. Que la valeur soit d'origine ou ajouté et quelque soit le fichier ids, le soin ne se déclenche pas et la créature est bien paramétrée. L'effet en direct fonctionne.
Donc je suis un brun dibutatif.
@Freddy:
Salut,
c'est noté pour la routine et plutot un paramétrage ids via une classe. Après, mon mod étant ni sur l'histoire de BG1 ou de BG2 mais un long intermède entre BG1 et BG2, j'ai un peu laissé tombé l'idée d'être compatible. J'avoue que j'avance tellement lentement à mon goût que je donne priorité au mod.
"Essaie de rajouter la valeur de ta créature au fichier specific.ids et re-teste."
J'ai essayé hier soir avant de t'écrire. Que la valeur soit d'origine ou ajouté et quelque soit le fichier ids, le soin ne se déclenche pas et la créature est bien paramétrée. L'effet en direct fonctionne.
Donc je suis un brun dibutatif.
@Freddy:
Salut,
c'est noté pour la routine et plutot un paramétrage ids via une classe. Après, mon mod étant ni sur l'histoire de BG1 ou de BG2 mais un long intermède entre BG1 et BG2, j'ai un peu laissé tombé l'idée d'être compatible. J'avoue que j'avance tellement lentement à mon goût que je donne priorité au mod.
- 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
.
Envoie-moi tes fichiers. Je vais les tester avec ma procédure.
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
.
voilà les données:
http://www.mediafire.com/download/aiypmflxb5rr5y4/Parchemin+r%C3%A9paration+golem+ambre.rar
fichier CRE avec anim golem classique
Fichier EFF pour l'effet de régénération
fichier ITEM pour le sortilège en parchemin
fichier Bam pour le dessin du parchemin
Fichier IDS avec la nouvelle valeur
http://www.mediafire.com/download/aiypmflxb5rr5y4/Parchemin+r%C3%A9paration+golem+ambre.rar
fichier CRE avec anim golem classique
Fichier EFF pour l'effet de régénération
fichier ITEM pour le sortilège en parchemin
fichier Bam pour le dessin du parchemin
Fichier IDS avec la nouvelle valeur
- 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'ai identifié le problème.
Pour être certain de bien le résoudre, je suppose que le parchemin sera lu par l'équipe et permettra de soigner un Golem d'ambre.
Si c'est le cas, il faut revoir ton parchemin.
Je m'y attelle dans une petite heure en te donnant le tp2 avec la création de la nouvelle classe.
Notes :
1. Pour ce genre d'archives à la taille riquiqui, passe par les pièces jointes du message. Ça t'évitera un détour par ton site d'archivage.
2. J'ai reçu ton message sur le Golem d'ambre. Je terminerai les fichiers bam demain.
Pour être certain de bien le résoudre, je suppose que le parchemin sera lu par l'équipe et permettra de soigner un Golem d'ambre.
Si c'est le cas, il faut revoir ton parchemin.
Je m'y attelle dans une petite heure en te donnant le tp2 avec la création de la nouvelle classe.
Notes :
1. Pour ce genre d'archives à la taille riquiqui, passe par les pièces jointes du message. Ça t'évitera un détour par ton site d'archivage.
2. J'ai reçu ton message sur le Golem d'ambre. Je terminerai les fichiers bam demain.
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
.
C'est simple : ton parchemin utilisait un effet basé sur la variable réaction (EA = Ally) et l'effet sur une variable inconnue. De plus, il était mal codé.Cocrane a écrit :Si tu trouves la solution, je serai intéressé de savoir où était le problème.
J'ai tout refait et testé : ça fonctionne sur un Golem d'ambre en vadrouille et aussi sur un golem d'Ambre intégré dans le groupe.
Comme l'explication serait longue, je te laisse comparer mes fichiers et les tiens, mais le principe est simple : le parchemin lance un sort sur une cible. Ce sort utilise un effet qui ne se déclenche que sur un Golem d'Ambre. L'effet lance le sort de guérison.
Pour le parchemin:
- soit il est acheté pour réparer le golem.
- soit il est achété pour apprendre le sort (je n'ai pas encore travaillé ce point).
Regarde le parchemin de Fireball (Boule de feu) : il te suffira de créer un deuxième header au parchemin permettant d'apprendre le sort, identique à celui du parchemin de Boule de feu en modifiant seulement le nom du sort à apprendre.
Notes :
- Je te laisse modifier les emplacements de ton mod dans les procédures (c.à.d remplacer monmod ou Diamant_Eternel par tes répertoires).
- J'ai laissé quelques codes relatifs aux races et aux valeurs specifics, au cas où tu voudrais faire la même manip.
- Si tu veux apprendre le sort, il te faudra déterminer si c'est un sort de mage, de prêtre ou inné. Dans l'état, les deux sorts utilisés sont des sorts de prêtre (mais le parchemin est utilisable par tout le monde). Selon ton choix, il te faudra modifier les caractéristiques du sort et les flags d'utilisabilité du parchemin.
- Fichiers joints
-
- GW_Soins_Golem_Ambre.7z
- (5.87 Kio) Téléchargé 96 fois
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
.
J'ai effectivement testé avec le fichier EA.IDS vu que ça ne fonctionnait pas avec SPECIFIC.IDS.
J'ai comparé ton paramétrage au mien. Vu que le tien fonctionne.
Freddy:
ITEM
lance sort CUREGOLAM
SORT CUREGOLAM
effet 177 filtre IDS sur class
lance effet CUREGOLAM
Effet CUREGOLAM
lance sort CUREGOLA
SORT CUREGOLA
lance effet soin
Cocrane
ITEM
lance effet 177 filtre IDS
lance effet GOLEMHP
EFFET GOLEMHP
lance effet régénération
Je ne comprends pas pourquoi mon enchainement ne fonctionne pas. Mais bon.
Le tien est déjà orienté sort ce qui a l'avantage de laisser l'occasion de paramétrer l'apprentissage du sort.
Dérat, Freddy merci pour votre aide.
Encore une fois le travail en groupe me permet de régler un point bloquant.
J'ai tester l’installation via ton TP2 mais j'ai un pb WEIDU. Du coup j'ai paramétré la valeur IDS manuellement.
Je suis assez basique en code TP2 du coup j'ai du faire une erreur dans mon installation.
J'ai ajouté dans mon répertoire d'installation un \LIB où je place les fichier TPA et TPH.
Ton TP2 et l'exe du même sont à la racine du jeu.
TP2
J'ai comparé ton paramétrage au mien. Vu que le tien fonctionne.
Freddy:
ITEM
lance sort CUREGOLAM
SORT CUREGOLAM
effet 177 filtre IDS sur class
lance effet CUREGOLAM
Effet CUREGOLAM
lance sort CUREGOLA
SORT CUREGOLA
lance effet soin
Cocrane
ITEM
lance effet 177 filtre IDS
lance effet GOLEMHP
EFFET GOLEMHP
lance effet régénération
Je ne comprends pas pourquoi mon enchainement ne fonctionne pas. Mais bon.
Le tien est déjà orienté sort ce qui a l'avantage de laisser l'occasion de paramétrer l'apprentissage du sort.
Dérat, Freddy merci pour votre aide.
Encore une fois le travail en groupe me permet de régler un point bloquant.
J'ai tester l’installation via ton TP2 mais j'ai un pb WEIDU. Du coup j'ai paramétré la valeur IDS manuellement.
Je suis assez basique en code TP2 du coup j'ai du faire une erreur dans mon installation.
J'ai ajouté dans mon répertoire d'installation un \LIB où je place les fichier TPA et TPH.
Ton TP2 et l'exe du même sont à la racine du jeu.
Code : Tout sélectionner
[SETUP_GOLEM_AMBRE.TP2] PARSE ERROR at line 1 column 0-6
Near Text: INCLUDE
GLR parse error
[SETUP_GOLEM_AMBRE.TP2] ERROR at line 1 column 0-6
Near Text: INCLUDE
Parsing.Parse_error
ERROR: parsing [SETUP_GOLEM_AMBRE.TP2]: Parsing.Parse_error
ERROR: problem parsing TP file [SETUP_GOLEM_AMBRE.TP2]: Parsing.Parse_error
FATAL ERROR: Parsing.Parse_error
Code : Tout sélectionner
INCLUDE ~PDBA1CH8/LIB/GW_ids.tph~ // Ajout des entrées ids
INCLUDE ~PDBA1CH8/LIB/Variables.tpa~ // Définition des variables des fichiers ids
LAM ~GW_VARIABLES_CLASSES~ // Lance la macro qui définit automatiquement la valeur class.ids du Golem d'Ambre
COPY ~override\GolAmb1.cre~ ~override\GolAmb1.cre~ WRITE_BYTE 0x273 EVAL "%GW_C_Golem_Ambre%" // Ecriture du code class.ids correspondant au Golem d'Ambre
// Selon les mods installés auparavant, il sera automatiquement calculé.
COPY ~override\CurGolAm.spl~ ~override\CurGolAm.spl~ WRITE_LONG 0x9d EVAL "%GW_C_Golem_Ambre%" // Ecriture de la valeur class.ids du Golem d'Ambre
- 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
.
Oups !
J'ai dû mal m'exprimer : Tu NE DOIS PAS LANCER MON TP2 !!!!
Tu le recopies dans ton propre tp2.
Ce n'est pas un fichier tp2 à proprement parler, ce sont juste des lignes de codes à insérer dans ton propre tp2.
Donc :
1. Tu copies les fichiers Fonctions_macros_ids.tpa, GW_ids.tph et variables.tpa dans le répertoire tonmod\lib.
2. Tu copies les fichiers CUREGOLA.spl, CUREGOLAM.spl, CUREGOLAM.eff et SCRP10.itm dans les répertoires concernés de ton mod.
3. Tu copies les lignes de mon tp2 dans ton tp2.
Ces deux lignes chargent en mémoire les fonctions et macros nécessaires.
Lance la macro qui définit automatiquement la valeur class.ids du Golem d'Ambre
Écriture du code class.ids correspondant au Golem d'Ambre. Selon les mods installés auparavant, il sera automatiquement calculé.
Écriture de la valeur class.ids du Golem d'Ambre
Et tu n'oublies pas de copier le fichier scrp10.itm
La variable %GW_C_Golem_Ambre% est calculée automatiquement dans la macro.
C'est ce que je voulais dire quand j'écrivais :
Par ailleurs,
Mais cette technique est l'une des plus simples pour réaliser ce que tu voulais faire.
De mémoire, si ton parchemin ne fonctionnait pas, c'est parce qu'il utilisait un effet basé sur la variable "Ally" sur un golem codé comme "enemy". Et quand bien même ton golem aurait été un allié, ton effet de régénération ne concernait qu'un type de créature dont le code ids n'était pas défini ("10").
Édit : si vraiment tu n'arrives pas à lancer la procédure, envoie-moi ton tp2 et je l'inclurai dedans.
J'ai dû mal m'exprimer : Tu NE DOIS PAS LANCER MON TP2 !!!!
Tu le recopies dans ton propre tp2.
Ce n'est pas un fichier tp2 à proprement parler, ce sont juste des lignes de codes à insérer dans ton propre tp2.
Donc :
1. Tu copies les fichiers Fonctions_macros_ids.tpa, GW_ids.tph et variables.tpa dans le répertoire tonmod\lib.
2. Tu copies les fichiers CUREGOLA.spl, CUREGOLAM.spl, CUREGOLAM.eff et SCRP10.itm dans les répertoires concernés de ton mod.
3. Tu copies les lignes de mon tp2 dans ton tp2.
Code : Tout sélectionner
INCLUDE ~tonmod/lib/GW_ids.tph~ // Ajout des entrées ids
INCLUDE ~tonmod/lib/Variables.tpa~ // Définition des variables des fichiers ids
Code : Tout sélectionner
LAM ~GW_VARIABLES_CLASSES~
Code : Tout sélectionner
COPY ~tonmod\repertoire\GolAmb1.cre~ ~override\GolAmb1.cre~ WRITE_BYTE 0x273 EVAL "%GW_C_Golem_Ambre%"
Code : Tout sélectionner
COPY ~tonmod\repertoire\CurGolAm.spl~ ~override\CurGolAm.spl~ WRITE_LONG 0x9d EVAL "%GW_C_Golem_Ambre%"
Et tu n'oublies pas de copier le fichier scrp10.itm
La variable %GW_C_Golem_Ambre% est calculée automatiquement dans la macro.
C'est ce que je voulais dire quand j'écrivais :
Freddy a écrit : Je te laisse modifier les emplacements de ton mod dans les procédures (c.à.d remplacer monmod ou Diamant_Eternel par tes répertoires).
Par ailleurs,
J'ai envisagé un moment de rajouter l'option apprentissage du sort au parchemin. Dommage.Le tien est déjà orienté sort ce qui a l'avantage de laisser l'occasion de paramétrer l'apprentissage du sort.
Mais cette technique est l'une des plus simples pour réaliser ce que tu voulais faire.
De mémoire, si ton parchemin ne fonctionnait pas, c'est parce qu'il utilisait un effet basé sur la variable "Ally" sur un golem codé comme "enemy". Et quand bien même ton golem aurait été un allié, ton effet de régénération ne concernait qu'un type de créature dont le code ids n'était pas défini ("10").
Édit : si vraiment tu n'arrives pas à lancer la procédure, envoie-moi ton tp2 et je l'inclurai dedans.
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
.
Tiens, suite à ton MP, j'ai eu une idée subite.
Dis-moi ce que tu en penses.
Dis-moi ce que tu en penses.
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, bonnes nouvelles !
Dois-je en conclure que tu as réussi à intégrer ma procédure dans ton tp2 ?
Dois-je en conclure que tu as réussi à intégrer ma procédure dans ton tp2 ?
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
.
Ça veut dire qu'il faut que tu remplaces dans le fichier GW_ids.tph la ligne
INCLUDE ~Diamant_Eternel/Lib/Fonctions_macros_ids.tpa~
par
INCLUDE ~répertoire de ton mod/Lib/Fonctions_macros_ids.tpa~
Par ailleurs, ta boîte est pleine...
INCLUDE ~Diamant_Eternel/Lib/Fonctions_macros_ids.tpa~
par
INCLUDE ~répertoire de ton mod/Lib/Fonctions_macros_ids.tpa~
Par ailleurs, ta boîte est pleine...
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
.
Ce n'est rien d'autre qu'un fichier tp2 (comme les tpa) : tu l'ouvres avec n'importe quel éditeur de textes.
J'écris les miens avec Notepad++ (gratuit !) et les highlights d'Argent77 (téléchargeables sur SHS).
J'écris les miens avec Notepad++ (gratuit !) et les highlights d'Argent77 (téléchargeables sur SHS).
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.
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
.
Hello,Freddy_Gwendo a écrit : ↑sam. 12 sept. 2015, 09:40 De retour après une semaine de boulot harassante...
Le problème de l'attribution d'un nouveau code ids, c'est les risques incompatibilité entre plusieurs mods.
Comme j'introduis de nouvelles races et de nouveaux codes specifics pour différencier mes dragons, j'ai défini une [post=396951]routine[/post] pour lire les fichiers ids existants et ajouter automatiquement un code NON existant.
Puis tu fonctionnes comme l'indique derat.
Comme j'utilise ce truc dans des capacités de mes kits pour soigner uniquement les licornes ou le destrier du paladin, je code l'effet à lancer dans le tp2.
Pour cela, je lance au début de l'installation (après l'attribution des nouveaux codes ids) une macro qui stocke ces codes ids dans une variable :
Puis j'utilise la variable %GW_S_xxxxx% :Code : Tout sélectionner
DEFINE_ACTION_MACRO GW_VARIABLES_SPECIFICS BEGIN COPY_EXISTING - ~Specific.ids~ ~override~ READ_2DA_ENTRIES_NOW GW_Specific 2 FOR (row=0;row<GW_Specific;row+=1) BEGIN READ_2DA_ENTRY_FORMER GW_Specific row 0 numero READ_2DA_ENTRY_FORMER GW_Specific row 1 specific // DRAGONS PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BLACK_DRAGON~ BEGIN SET GW_S_DragonNoir = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BLUE_DRAGON~ BEGIN SET GW_S_DragonBleu = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~GREEN_DRAGON~ BEGIN SET GW_S_DragonVert = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RED_DRAGON~ BEGIN SET GW_S_DragonRouge = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~WHITE_DRAGON~ BEGIN SET GW_S_DragonBlanc = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BRASS_DRAGON~ BEGIN SET GW_S_DragonAirain = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BRONZE_DRAGON~ BEGIN SET GW_S_DragonBronze = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~COPPER_DRAGON~ BEGIN SET GW_S_DragonCuivre = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~GOLD_DRAGON~ BEGIN SET GW_S_DragonOr = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SILVER_DRAGON~ BEGIN SET GW_S_DragonArgent = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~AMETHYST_DRAGON~ BEGIN SET GW_S_DragonAmethyste = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~CRYSTAL_DRAGON~ BEGIN SET GW_S_DragonCristal = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~EMERALD_DRAGON~ BEGIN SET GW_S_DragonEmeraude = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SAPPHIRE_DRAGON~ BEGIN SET GW_S_DragonSaphire = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~TOPAZE_DRAGON~ BEGIN SET GW_S_DragonTopaze = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BROWN_DRAGON~ BEGIN SET GW_S_DragonBrun = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~DEEP_DRAGON~ BEGIN SET GW_S_DragonProfondeurs = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~PRISMATIC_DRAGON~ BEGIN SET GW_S_DragonPrismatic = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~PURPLE_DRAGON~ BEGIN SET GW_S_DragonPourpre = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RATTELYR_DRAGON~ BEGIN SET GW_S_DragonRattelyr = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SHADOW_DRAGON~ BEGIN SET GW_S_DragonOmbre = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~YELLOW_DRAGON~ BEGIN SET GW_S_DragonJaune = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~DEVOUR_BRAIN_DRAGON~ BEGIN SET GW_S_DragonDecerveleur = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~SORCELLERIE_DRAGON~ BEGIN SET GW_S_DragonSorcellerie = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~CHANT_DRAGON~ BEGIN SET GW_S_DragonChanteur = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FANG_DRAGON~ BEGIN SET GW_S_DragonPointes = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~MERCURY_DRAGON~ BEGIN SET GW_S_DragonMercure = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~MIST_DRAGON~ BEGIN SET GW_S_DragonBrumes = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~STEEL_DRAGON~ BEGIN SET GW_S_DragonAcier = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~CHAOS_DRAGON~ BEGIN SET GW_S_DragonChaos = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~HOWLING_DRAGON~ BEGIN SET GW_S_DragonHurleur = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~PYROCLASTIC_DRAGON~ BEGIN SET GW_S_DragonPyroclastique = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RUST_DRAGON~ BEGIN SET GW_S_DragonRouille = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~ARBOREAL_DRAGON~ BEGIN SET GW_S_DragonAboreal = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~AXIAL_DRAGON~ BEGIN SET GW_S_DragonAxial = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~BATTLE_DRAGON~ BEGIN SET GW_S_DragonGuerre = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~OCEANUS_DRAGON~ BEGIN SET GW_S_DragonOcean = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~RADIANT_DRAGON~ BEGIN SET GW_S_DragonRadiant = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~ADAMANTITE_DRAGON~ BEGIN SET GW_S_DragonAdamantite = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~VAMPIRIC_DRAGON~ BEGIN SET GW_S_DragonVampire = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~ZOMBIE_DRAGON~ BEGIN SET GW_S_DragonZombie = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~DRACOLICH~ BEGIN SET GW_S_Dracoliche = %numero% END // MORTS-VIVANTS PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~MUMMY~ BEGIN SET GW_S_Momie = %numero% END // 219 MUMMY PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~REVENANT~ BEGIN SET GW_S_Revenant = %numero% END // 218 REVENANT // CREATURES du FEU PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FIRE_CREATURE~ BEGIN SET GW_S_Fire = %numero% END // CREATURES VOLANTES PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FLYING_CREATURE~ BEGIN SET GW_S_Volants = %numero% END PATCH_IF ~%specific%~ STRING_EQUAL_CASE ~FLYING_SUMMONED~ BEGIN SET GW_S_Volants_convoques = %numero% END END BUT_ONLY END
Dans ton cas, ce seraEt voilà, le tour est joué, tu n'as plus à te soucier des codes specifics des autres.Code : Tout sélectionner
COPY mymod\monfichier override\monfichier WRITE_BYTE offset_à_modifier EVAL "%GW_S_xxxxx%".
Ceci dit, dans ton cas, le mieux serait d'utiliser le code GOLEM_AMBER dans le fichier class.ids (où se trouvent déjà les codes GOLEM_IRON, GOLEM_FLESH, GOLEM_STONE et GOLEM_CLAY). La procédure est la même.
De plus, ce serait compatible avec mes propres golems d'ambre, de feu, d'eau et électriques.
PS : j'ai fait des essais de modification des bams des golems pour créer une nouvelle animation de golem d'ambre. C'est en bonne voie. Dès que je suis saatisfait, je t'envoie les fichiers.
Aurais-tu la même variable que tu as donné à Cocrane mais pour kit.ids ? Avec le flag nécessaire (0x246?).
J'essaye de faire en sorte que le familier de mon personnage soit l'unique créature affectée par un sort, en me basant sur son kit.
EDIT: Il semblerait que ce ne soit pas possible pour les kits, j'ai essayé en suivant ton document relatif au champ SPECIFICS, cela me met une erreur.
Merci!
EDIT: J'ai retrouvé ton topic mentionnant tout ça, mais j'aurai éventuellement besoin d'un coup de main pour patcher le fichier .spl afin d'appliquer le flag SPECIFIC précis:
viewtopic.php?p=396951#p396951
- Fichiers joints
-
- Sans titre.png (140.64 Kio) Vu 1118 fois
Modifié en dernier par Faust le sam. 29 avr. 2023, 19:21, modifié 11 fois.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité