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é...
[KIT] Comment coder la variable "Autorisation d'objets" d'un nouveau kit ?
- 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
[KIT] Comment coder la variable "Autorisation d'objets" d'un nouveau kit ?
.
Je suis en train de finaliser deux kits pour mon mod ; le Chevalier de Diamant et la Chevaucheuse de Licorne.
Il me reste deux trois sorts à terminer, les fichiers 2da sont terminés, mais je bute sur la définition de cette variable à inclure au fichier KITLIST.2DA.
Je me suis amusé à vérifier à quoi elle correspondait et c'est un peu le souk !
Par exemple, celle du cavalier renvoie le code Neutre !
Bref, pour mes deux kits de paladins, quelle valeur dois-je utiliser ?
Je suppose que c'est lié aux objets qu'ils peuvent utiliser, mais je ne pige pas le truc.
Il me reste deux trois sorts à terminer, les fichiers 2da sont terminés, mais je bute sur la définition de cette variable à inclure au fichier KITLIST.2DA.
Je me suis amusé à vérifier à quoi elle correspondait et c'est un peu le souk !
Par exemple, celle du cavalier renvoie le code Neutre !
Bref, pour mes deux kits de paladins, quelle valeur dois-je utiliser ?
Je suppose que c'est lié aux objets qu'ils peuvent utiliser, mais je ne pige pas le truc.
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.
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
En réalité la valeur de KitList.2da indique plutôt les interdictions d'utilisation et ne correspond absolument pas aux bits que l'on met dans les objets pour indiquer qui a le droit de s'en servir (qui couvre classes et alignements, notamment). Chaque bit est associé à une classe ou un kit (pas d'alignement) et renvoie à une liste d'interdits qui découle sans doute du contenu de WEAPROF.2DA. Cela joue aussi sur le choix de compétence offert à la montée de niveau.
Comme indiqué dans le tutoriel de création de kit, cette colonne permet de définir ce qui est interdit au kit. Chaque bit de la valeur correspond à une classe ou à un kit disponible dans BG II. Il y a une valeur particulière qui permet de reprendre à l'identique les interdits de la classe mère du kit. La seule alternative est d'adopter les interdits d'une classe ou d'un kit existant. Pour les masochistes, on peut aussi cumuler les interdits de plusieurs classes/kits.
Comme indiqué dans le tutoriel de création de kit, cette colonne permet de définir ce qui est interdit au kit. Chaque bit de la valeur correspond à une classe ou à un kit disponible dans BG II. Il y a une valeur particulière qui permet de reprendre à l'identique les interdits de la classe mère du kit. La seule alternative est d'adopter les interdits d'une classe ou d'un kit existant. Pour les masochistes, on peut aussi cumuler les interdits de plusieurs classes/kits.
:!: 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 !
- deratiseur
- Golem de fer
- Messages : 3698
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
.
Freddy, dis moi ce que tu voudrais précisément comme interdiction d'équipement et je te dirais si c'est possible et/ou comment le faire/le contourner.
- 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 fini par déchiffrer les codes hex donnés dans la kittable : ils correspondent à la seconde série des usability codes des fichiers itm.
Mon problème consiste à en définir de nouveaux pour mes 2 kits.
Exemple pour le Chevalier de Diamant :
- Il ne peut porter que des armures de plates et des écus.
- Il considère comme contraire à l'honneur de se battre à distance et refuse d'utiliser des armes de trait, excepté les haches et les marteaux de jet.
- Il ne peut pas combattre dans le style de combat à deux armes.
Quand à la chevaucheuse, en gros, comme elle est sensée monter une licorne, elle ne peut pas porter d'armures plus lourdes que la cotte de mailles et possède à peu près les mêmes restrictions que les cavaliers, mais peut utiliser l'arc.
Désolé pour ses caractéristiques exactes, mais je ne les ai pas sur moi en ce moment.
Mon problème consiste à en définir de nouveaux pour mes 2 kits.
Exemple pour le Chevalier de Diamant :
- Il ne peut porter que des armures de plates et des écus.
- Il considère comme contraire à l'honneur de se battre à distance et refuse d'utiliser des armes de trait, excepté les haches et les marteaux de jet.
- Il ne peut pas combattre dans le style de combat à deux armes.
Code : Tout sélectionner
ADD_KIT ~GW_DIAMNOND_KNIGHT~
// pas d'épée courte, pas d'arc, pas de dagues
~GW_DIAMOND_KNIGHT 0 1 1 1 0 1 1 1~ // Types d'armes autorisés - CLASWEAP
~GW_DIAMOND_KNIGHT 5 0 0 5 5 5 5 0 5 5 0 5 5 5 2 0 5 0 5 0 0 0 0 0 0 0 0 0 2 2 2 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~ // Compétences autorisées - WEAPPROF.2da
// LARGE_SWORD 5 SMALL_SWORD 0 BOW 0 SPEAR 5 BLUNT 5 SPIKED 5 AXE 5 MISSILE 0
// BASTARDSWORD 5 LONGSWORD 5 SHORTSWORD 0 AXE 5 TWOHANDEDSWORD 5 KATANA 5 SCIMITARWAKISASHININJATO 2 DAGGER 0 WARHAMMER 5 CLUB 0 SPEAR 5
// HALBERD 0 FLAILMORNINGSTAR 0 MACE 0 QUARTERSTAFF 0 CROSSBOW 0 LONGBOW 0 SHORTBOW 0 DART 0 SLING 0
// 2HANDED 2 SWORDANDSHIELD 2 SINGLEWEAPON 2 2WEAPON 0
Quand à la chevaucheuse, en gros, comme elle est sensée monter une licorne, elle ne peut pas porter d'armures plus lourdes que la cotte de mailles et possède à peu près les mêmes restrictions que les cavaliers, mais peut utiliser l'arc.
Désolé pour ses caractéristiques exactes, mais je ne les ai pas sur moi en ce moment.
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.
- deratiseur
- Golem de fer
- Messages : 3698
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
.
Alors :
- Il ne peut porter que des armures de plates et des écus.
Il n'y a aucun code qui permette ça, mais tu peux tricher : tu peux par exemple patcher toutes les armures "de plates" (il faudra les patcher en fonction de l'animation, voir le code pour patcher "tous les katanas" dans le TP2 du chantelame v6)
pour qu'elle puisse être utlisée par le métamophe, et tu donnes le code du métamorphe en plus de tous les autres à ton chevalier. Astuce : toutes les armures sont interdites au métamophes ET les armures de plates sont interdites au druide. En faisant comme indiqué il ne pourra porter aucune armure (parce que codé métamorphe) sauf les plates parce qu'elles sont patchée pour. Et l'armure de plate ne pourra de toute façon par être utilisée par le métamorphe parce qu'elle reste interdite aux druides.(et ton chevalier reste un guerrier ou paladin)
Même méthode pour les bouclier : rendre interdit au métamorphe tout ce qui est petit bouclier, rondache, targe, etc.... (par défaut il sont autorisés), en les patchant. Comme ton chevalier à aussi le code du métamorphe, il lui restra l'acés à tout ce que tu n’auras pas patcher.
Astuce de compatibilité : le chantelame v6 utilise lui même le code du métamorphe. En faisant cela tu lui autorisera les armures de plates, et je ne vois pas comment faire autrement (le métamophe et le kensai sont les seul kits interdisant les armures légères, si on excepte les mage spécialisés (mais ceux là on ne peut pas les utiliser car on ne peut rien interdire à un mage spécialisé qui peut se jumeler ou multiclasser en voleur/guerrier/prêtre).
- Il considère comme contraire à l'honneur de se battre à distance et refuse d'utiliser des armes de trait, excepté les haches et les marteaux de jet.
Ça c'est plus compliqué. Pas faisable par code non plus, mais en cherchant bien on se rend compte que le cavalier n'a à en théorie accès à aucune arme de jet sauf qu'il peut utiliser les haches de jet et les dagues de jet. Si tu veux bien que ton chevalier puisse utiliser les dagues de jets, code du cavalier et s'est fini. Sinon, même technique : code du cavalier+code du prêtre de Helm et patchage de toutes les dagues de jet (méthode empirique à adapter avec tous les mods rajoutant des dagues) pour être inutilisable par les prêtres de helm (elle ne le sont pas par défaut mais elle restent interdites au prêtre )
- Il ne peut pas combattre dans le style de combat à deux armes.
Trés facile, et tu l'as déjà fait, c'est effectivement le 0 après les trois 2 et avant la série de 5 dans la ligne correspondant au WEAPPROF.2da. Il peut utiliser deux armes, mais il aura un tel malus que ça ne vaut franchement pas le coup.
[/QUOTE]
- Il ne peut porter que des armures de plates et des écus.
Il n'y a aucun code qui permette ça, mais tu peux tricher : tu peux par exemple patcher toutes les armures "de plates" (il faudra les patcher en fonction de l'animation, voir le code pour patcher "tous les katanas" dans le TP2 du chantelame v6)
pour qu'elle puisse être utlisée par le métamophe, et tu donnes le code du métamorphe en plus de tous les autres à ton chevalier. Astuce : toutes les armures sont interdites au métamophes ET les armures de plates sont interdites au druide. En faisant comme indiqué il ne pourra porter aucune armure (parce que codé métamorphe) sauf les plates parce qu'elles sont patchée pour. Et l'armure de plate ne pourra de toute façon par être utilisée par le métamorphe parce qu'elle reste interdite aux druides.(et ton chevalier reste un guerrier ou paladin)
Même méthode pour les bouclier : rendre interdit au métamorphe tout ce qui est petit bouclier, rondache, targe, etc.... (par défaut il sont autorisés), en les patchant. Comme ton chevalier à aussi le code du métamorphe, il lui restra l'acés à tout ce que tu n’auras pas patcher.
Astuce de compatibilité : le chantelame v6 utilise lui même le code du métamorphe. En faisant cela tu lui autorisera les armures de plates, et je ne vois pas comment faire autrement (le métamophe et le kensai sont les seul kits interdisant les armures légères, si on excepte les mage spécialisés (mais ceux là on ne peut pas les utiliser car on ne peut rien interdire à un mage spécialisé qui peut se jumeler ou multiclasser en voleur/guerrier/prêtre).
- Il considère comme contraire à l'honneur de se battre à distance et refuse d'utiliser des armes de trait, excepté les haches et les marteaux de jet.
Ça c'est plus compliqué. Pas faisable par code non plus, mais en cherchant bien on se rend compte que le cavalier n'a à en théorie accès à aucune arme de jet sauf qu'il peut utiliser les haches de jet et les dagues de jet. Si tu veux bien que ton chevalier puisse utiliser les dagues de jets, code du cavalier et s'est fini. Sinon, même technique : code du cavalier+code du prêtre de Helm et patchage de toutes les dagues de jet (méthode empirique à adapter avec tous les mods rajoutant des dagues) pour être inutilisable par les prêtres de helm (elle ne le sont pas par défaut mais elle restent interdites au prêtre )
- Il ne peut pas combattre dans le style de combat à deux armes.
Trés facile, et tu l'as déjà fait, c'est effectivement le 0 après les trois 2 et avant la série de 5 dans la ligne correspondant au WEAPPROF.2da. Il peut utiliser deux armes, mais il aura un tel malus que ça ne vaut franchement pas le coup.
[/QUOTE]
- 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
.
Merci pour ce retour.
Donc si j'ai bien compris, le but du jeu est d'additionner deux codes de kits déjà existants en choisissant ceux qui se rapportent aux interdictions que j'ai définies, puis de patcher les objets concernés.
Ça va donc m'imposer de coder l'installation en deux parties : le mod proprement dit, puis les kits à installer en dernier en cas de Big Install pour prendre en compte les objets des autres mods.
Comme j'ai prévu des scripts particuliers pour certains créatures, j'avais déjà imaginé une installation similaire pour ceux qui veulent installer SCS ou BP. Comme ça, mes scripts ne seraient pas concernés par l'IA général. Il me suffira de rajouter les kits à ce moment.
Je travaillerai les codes d'interdiction ce week-end et te tiendrai informé.
Donc si j'ai bien compris, le but du jeu est d'additionner deux codes de kits déjà existants en choisissant ceux qui se rapportent aux interdictions que j'ai définies, puis de patcher les objets concernés.
Ça va donc m'imposer de coder l'installation en deux parties : le mod proprement dit, puis les kits à installer en dernier en cas de Big Install pour prendre en compte les objets des autres mods.
Comme j'ai prévu des scripts particuliers pour certains créatures, j'avais déjà imaginé une installation similaire pour ceux qui veulent installer SCS ou BP. Comme ça, mes scripts ne seraient pas concernés par l'IA général. Il me suffira de rajouter les kits à ce moment.
Je travaillerai les codes d'interdiction ce week-end et te tiendrai informé.
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
.
Voici ce que ça donne :
Modification des objets à installer APRES les autres mods :
Ce qui donne la ligne :
Ne restera plus qu'à tester quand les autres divers problèmes auront été résolus !
Modification des objets à installer APRES les autres mods :
Code : Tout sélectionner
COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~
PATCH_IF (SOURCE_SIZE > 0x71) BEGIN
READ_ASCII 0x22 animation (2)
[color="#FFFF00"]PATCH_IF ("%animation%" STRING_EQUAL_CASE "4A") BEGIN // Plates[/color]
WRITE_BYTE 0x29 THIS BAND 0b11101111 // [color="#FFFF00"]ajoute Métamorphe[/color]
END
[color="#FFFF00"]PATCH_IF (SHORT_AT 0x1c == 0x0C) BEGIN // Boucliers[/color]
PATCH_IF ("%animation%" STRING_COMPARE_CASE "D3") AND ("%animation%" STRING_COMPARE_CASE "C1") AND ("%animation%" STRING_COMPARE_CASE "C3")
AND ("%animation%" STRING_COMPARE_CASE "C5") AND ("%animation%" STRING_COMPARE_CASE "C7") BEGIN
// D3-Shield (Medium) - C3-Shield 2 (Medium) - C1-Shield 2 (Large) - C5-Shield 3 (Small) - C7-Scale Shield
// D2-Shield (Small) C0-Shield 2 (Small) D1-Buckler C4-Shield 2 (Buckler) D4-Shield (Large) C2-Shield 3 (Large) C6-Shield 4 (Large)
WRITE_BYTE 0x29 THIS | BIT4 // [color="#FFFF00"]enlève Métamorphe[/color]
END
END
[color="#FFFF00"]PATCH_IF (SHORT_AT 0x1c == 0x10) BEGIN // Dagues[/color]
READ_LONG 0x64 "abil_off"
READ_SHORT 0x68 "abil_num"
FOR (i = 0 ; i < abil_num ; i = i + 1) BEGIN
READ_BYTE ("%abil_off%" + (0x38 * i)) "type"
PATCH_IF (type = 2) BEGIN
WRITE_BYTE 0x29 THIS | BIT1 // [color="#FFFF00"]enlève Prêtre de Helm[/color]
END
END
END
END // Source
BUT_ONLY
Code : Tout sélectionner
~0x12000008 6~ // Autorisation d'objets - KITLIST.2DA [color="#FFFF00"]0x12000008 = Cavalier + Shapshifter + Prêtre de Helm[/color]
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
.
J'exhume ce fil pour confirmer que tout fonctionne parfaitement bien. J'ai même réussi à autoriser ma chevaucheuse à utiliser les arcs SAUF les arcs composites et à porter des cottes de mailles elfiques MAIS PAS de cottes de mailles classiques.
Mais plus fort et plus facile : pour tous ceux qui voudraient moder avec les versions EE, c'est beaucoup plus simple et on n'est plus obligé de bidouiller les codes d'interdiction. Il suffit de patcher les objets concernés avec le nouvel effet #319 en utilisant la valeur du kit pour le paramètre 1 et 9 pour le paramètre 2.
avec la fonction GW_ITEM_RESTRICT_USABILITY_BGEE définie avant de lancer la procédure pour éviter d'aller chercher la valeur du kit.
Sans cette fonction, il suffit de remplacer dans le premier code
par
Je l'ai définie car je l'utilise pour d'autres manips.
Mais plus fort et plus facile : pour tous ceux qui voudraient moder avec les versions EE, c'est beaucoup plus simple et on n'est plus obligé de bidouiller les codes d'interdiction. Il suffit de patcher les objets concernés avec le nouvel effet #319 en utilisant la valeur du kit pour le paramètre 1 et 9 pour le paramètre 2.
Ce qui donne pour les armures légères :#319 (0x13F) Usability: Item Usability
Parameter #1: IDS Entry
Parameter #2: IDS File
Special: Description note
Description:
This effect restricts the item to creature(s) matching the object identifiers. The string to display when an invalid creature attempts to use the item is held in 0x2c.
Known values for 'IDS File' are:
2 EA.ids
3 General.ids
4 Race.ids
5 Class.ids
6 Specific.ids
7 Gender.ids
8 Align.ids
9 Kit.ids
10 Actor's name
11 Actor's scripting name (8 maximum in resource field)
If 'IDS File' is set to 10, the item is restricted to characters with the name specified by the strref held in parameter1.
If 'IDS File' is set to 11, the item is restricted to characters with the death variable specified by the resource field.
The message defined in 'Description note' will be displayed whenever this effect is triggered.
Code : Tout sélectionner
COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~
PATCH_IF (SOURCE_SIZE > 0x71) BEGIN
READ_BYTE 0x18 flags1
PATCH_IF ((flags1 & BIT3) = BIT3) BEGIN // Movable, otherwise useless.
READ_BYTE 0x29 kit_usability1
READ_BYTE 0x2b kit_usability2
READ_ASCII 0x22 animation (2)
READ_BYTE 0x31 item_prof // Weapon Proficiency
// Armure de cuir, Besantine et Cuirasse (Leather, Studded, Hide) : Chevalier de Diamant can't wear them.
// ------------------------------------------------------------------------------------------------------
[color="#FFFF00"]PATCH_IF ("%animation%" STRING_EQUAL_CASE "2A") BEGIN // 2A = Animations des armures de cuir[/color]
PATCH_IF GW_EE BEGIN // GW_EE = variable définie auparavant indiquant que le jeu est EE
LPF ~GW_ITEM_RESTRICT_USABILITY_BGEE~ STR_VAR GW_restrict = "GW_DIAMOND_KNIGHT" GW_kind = "KIT" GW_mess319 = 7700002 END // @7700002 = ~Chevalier de Diamant~
END ELSE BEGIN // Sinon, ce n'est pas une version EE
PATCH_IF ((kit_usability1 & BIT4) = 0) BEGIN // CD : if usable by shapeshifters
WRITE_BYTE 0x29 THIS | BIT4 // remove shapeshifters flag
END
END
END
...
Code : Tout sélectionner
/* =============================================================================================================== *
* FONCTION GW_ITEM_RESTRICT_USABILITY_BGEE : INTERDIT l'UTILISATION d'UN OBJET à un type de créature dans BG2EE. *
* --------------------------------------------------------------------------------------------------------------- *
* #319 Usability: Item Usability : This effect restricts the item to creature(s) matching the object identifiers. *
* The string to display in the description note is held in 0x2c. *
* =============================================================================================================== */
DEFINE_PATCH_FUNCTION ~GW_ITEM_RESTRICT_USABILITY_BGEE~
STR_VAR GW_restrict = "" // HUMAN, MALE, CAVALIER... Or string defining Actor's name, or scripting name (8 maximum length).
GW_kind = "" // IDS file : EA, General, Race, class, Specific, Gender, Align, Kit. OR Name (Actor's name), script_name (Actor's scripting name).
GW_mess319 = 0 // Description note (special field)
BEGIN
PATCH_IF (ENGINE_IS ~bgee bg2ee eet~) OR GAME_INCLUDES ~sod~ BEGIN
SET GW_param2 = 0
SET GW_special319 = 0
SPRINT GW_resource319 ""
PATCH_IF ("%GW_restrict%" STR_CMP ~~) AND ("%GW_kind%" STR_CMP ~~) BEGIN
// IDS files case : EA, General, Race, class, Specific, Gender, Align, Kit.
// --------------
PATCH_IF ("%GW_kind%" STRING_COMPARE_CASE ~NAME~) AND ("%GW_kind%" STRING_COMPARE_CASE ~SCRIPT_NAME~) BEGIN
PATCH_IF FILE_EXISTS_IN_GAME ~%GW_kind%.ids~ BEGIN
SET GW_param1 = IDS_OF_SYMBOL (~%GW_kind%~ ~%GW_restrict%~)
PATCH_IF (GW_param1 != "-1") BEGIN // IDS_OF_SYMBOL returns -1 if GW_restrict is not associated in GW_kind.ids.
PATCH_MATCH ~%GW_kind%~ WITH
EA BEGIN SET GW_param2 = 2 END
GENERAL BEGIN SET GW_param2 = 3 END
RACE BEGIN SET GW_param2 = 4 END
CLASS BEGIN SET GW_param2 = 5 END
SPECIFIC BEGIN SET GW_param2 = 6 END
GENDER BEGIN SET GW_param2 = 7 END
ALIGN BEGIN SET GW_param2 = 8 END
KIT BEGIN SET GW_param2 = 9 END
DEFAULT
END // of PATCH_MATCH ~%GW_kind%~ WITH
END // of PATCH_IF (GW_param1 != "-1")
END // of PATCH_IF FILE_EXISTS_IN_GAME ~%GW_kind%.ids~
END // of PATCH_IF ("%GW_kind%" STRING_COMPARE_CASE ~NAME~) AND ("%GW_kind%" STRING_COMPARE_CASE ~SCRIPT_NAME~)
// Actor's name case : If 'IDS File' is set to 10, the item is restricted to characters with the name specified by the strref held in parameter1.
// -----------------
PATCH_IF ("%GW_kind%" STRING_COMPARE_CASE ~NAME~ = 0) BEGIN
SET GW_param2 = 10
PATCH_IF (STRING_LENGTH "%GW_restrict%" > 6) BEGIN // La première donnée du fichier tra est @8000001
SET GW_param1 = RESOLVE_STR_REF ((AT %GW_restrict%))
END ELSE BEGIN // Sinon, on va chercher la référence dans le fichier dialog.tlk
SET GW_param1 = EVAL "%GW_restrict%"
END
END // of PATCH_IF ("%GW_kind%" STRING_COMPARE_CASE ~NAME~ = 0)
// Actor's scripting name case : If 'IDS File' is set to 11, the item is restricted to characters with the death variable specified by the resource field.
// ---------------------------
PATCH_IF ("%GW_kind%" STRING_COMPARE_CASE ~SCRIPT_NAME~ = 0) BEGIN
SET GW_param1 = 0
PATCH_IF (STRING_LENGTH "%GW_restrict%" < 9) BEGIN // 8 caracters maximum in resource field
SPRINT GW_resource319 EVAL "%GW_restrict%"
SET GW_param2 = 11
END
END // of PATCH_IF ("%GW_kind%" STRING_COMPARE_CASE ~SCRIPT_NAME~ = 0)
// Description note.
// -----------------
PATCH_IF (STRING_LENGTH "%GW_mess319%" > 6) BEGIN // La première donnée du fichier tra est @8000001
SET GW_special319 = RESOLVE_STR_REF ((AT %GW_mess319%))
END ELSE BEGIN // Sinon, on va chercher la référence dans le fichier dialog.tlk
SET GW_special319 = EVAL "%GW_mess319%"
END
// Adds Effect #319 Usability: Item Usability if needed.
// -----------------------------------------------------
PATCH_IF (GW_param2 > 0) BEGIN
LPF ~ADD_ITEM_EQEFFECT~ INT_VAR opcode = 319 target = 1 timing = 2 parameter1 = EVAL "%GW_param1%" parameter2 = EVAL "%GW_param2%" special = EVAL "%GW_special319%" STR_VAR resource = EVAL "%GW_resource319%" END
END // of PATCH_IF (GW_param2 > 0)
END // of PATCH_IF ("%GW_restrict%" STR_CMP ~~) AND ("%GW_kind%" STR_CMP ~~)
END // of PATCH_IF (ENGINE_IS ~bgee bg2ee eet~) OR GAME_INCLUDES ~sod~
END // of DEFINE_PATCH_FUNCTION
Code : Tout sélectionner
LPF ~GW_ITEM_RESTRICT_USABILITY_BGEE~ STR_VAR GW_restrict = "GW_DIAMOND_KNIGHT" GW_kind = "KIT" GW_mess319 = 7700002 END
Code : Tout sélectionner
LPF ~ADD_ITEM_EQEFFECT~ INT_VAR opcode = 319 target = 1 timing = 2 parameter1 = IDS_OF_SYMBOL (~kit~ ~GW_DIAMOND_KNIGHT~) parameter2 = 9 special = RESOLVE_STR_REF (@7700002) STR_VAR resource = EVAL "%DEST_RES%" END
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é