Skip to content

General mod Questions thread

1515254565770

Comments

  • RaduzielRaduziel Member Posts: 4,714
    edited April 2019
    @Luke93 APR is always 1. ST, IIRC, also needs to be the class-base value and nothing else.
  • kjeronkjeron Member Posts: 2,367
    The shorty saving throw bonuses are not automatically updated in-game, so you will have to account for them.
    They only update when you level up (despite having nothing to do with level).

    @Raduziel is correct about APR = 1. Only monsters with more natural attacks need a higher APR on their CRE file (or to have it on their weapons).
  • RaduzielRaduziel Member Posts: 4,714
    How do I make an item be exclusive for a NPC? And how do I make it display a message when someone tries to remove it (like happens with Edwin's Amulet)?

    Thanks!
  • kjeronkjeron Member Posts: 2,367
    Item_use.2da:
    ITEMRES	NPC_SCRIPTNAME	STRING_REF	FLAG	USERNAME
    

    ITEMRES = Item resref
    NPC_SCRIPTNAME = Scriptname/Death Variable of NPC the item belongs to
    STRING_REF = String Reference displayed when you attempt something not allowed (determined by FLAG)
    FLAG = determines limitations (not 100% certain of them):
    1. Item cannot be removed once equipped by it's owner, does not prevent others from equipping it prior.
    2. Item cannot be equipped by others.
    3. Item cannot be removed or picked up.
    4. Once equipped, item can only be exchanged for another item.
    USERNAME - String Reference of NPC's name (For Item usability List)
  • RaduzielRaduziel Member Posts: 4,714
    Thanks!
  • David77David77 Member Posts: 30
    Anyone have the inclination to upload the original killsword file? (KILLSW01)
    I have a mod installed that removed it.
  • David77David77 Member Posts: 30
    edited April 2019
    I installed again on another path.
    For anyone needing its here :) :
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    @subtledoctor Nothing I saw while building the Dreadful Witch. The Shaman Dance is basically a bard song with two nasty opcodes: one that interrupts the action if you move and other that calls a spell that makes you somehow useless during the dance.

    ---

    How do I change a line at the Fate Spirit's dialogue. I could check for this string with NI, but I'm afraid it will change in an EET game.

    How do I make Weidu locate and replace a string? I have it's full text (basically I want to make it call Mazzy a fighter/cleric instead of just a fighter).

    Thanks!
  • [Deleted User][Deleted User] Posts: 0
    edited April 2019
    The user and all related content has been deleted.
  • argent77argent77 Member Posts: 3,439
    The Shamanic Dance shouldn't be too different from a regular bard song. It's basically a spell with a duration of (about) one round and consists of several parts (for vanilla shamans): the base spell (SPSH004.SPL), a subspell that handles the restrictions (SPSH003.SPL) and the spirit script that handles unsummoning and special conditions (BDSHUNSU.BCS).
  • lefreutlefreut Member Posts: 1,462
    Hello fellow modders, I need some help to fix EEUITweaks on IWDEE.

    I did not write the original UI patching code and I have a very limited knowledge of weidu so it's hard to have an idea of what is broken.

    Basically, if I understand correctly, the code reads the UI.menu file in a buffer and then extracts different parts (comments, lua code, menu, ...). Components can then patch things. And at the end, the parts are put back together and the UI.menu file is written.

    It seems that there is a problem with some escaped characters, if there is an "\\" in the original file, it is replaced with an "\" at the end (which is invalid and breaks the UI.menu file).

    IE, this:
    connectionPlayerNameEdit = connectionPlayerNameEdit:gsub("\\", "")
    
    is replaced by this:
    connectionPlayerNameEdit = connectionPlayerNameEdit:gsub("\", "")
    

    I remove the patching steps to only do read/extract and then insert/write and it's also broken (if I only do read and write it works). So there is something wrong in the extract or insert process.

    Here is for example one of the extract step:
    /*******************************************************************************
     * uimenuextractluablocks
     *
     * Removes all blocks of Lua code (delimited by ` pairs) from uibuffer and 
     * replaces them with tags which are used as the key in an associative array 
     * entry whose value is the original code block. Eliminates false parsing of
     * Lua code as UI definitions.
     ******************************************************************************/
    DEFINE_ACTION_MACRO uimenuextractluablocks 
    BEGIN
    	LOCAL_SET extractcount = $uimenulibglobal("luacount")
    	LOCAL_SPRINT tempstr ~~
    
    	COPY - ~$uimenulibglobal("uibuffer")~ ~$uimenulibglobal("uibuffer")~
    		REPLACE_EVALUATE ~\(%MLUA%\)~ 
    		BEGIN
    			SPRINT tempstr ~%INLUABASE%%extractcount%~
    			DEFINE_ASSOCIATIVE_ARRAY uimenulibglobal 
    			BEGIN
    				~luablocks~,~%tempstr%~ => ~%MATCH1%~
    			END
    			SET extractcount += 1
    		END
    		~%tempstr%%LE%~
    
    	OUTER_SET $uimenulibglobal("luacount") = extractcount
    END
    

    And one of the insert step:
    /*******************************************************************************
     * uimenuinsertluablocks
     *
     * Complementary macro to uimenuextractluablocks - puts the previously extracted
     * Lua code blocks back into uibuffer.
     ******************************************************************************/
    DEFINE_ACTION_MACRO uimenuinsertluablocks 
    BEGIN
    	LOCAL_SPRINT tempstr ~~
    
    	COPY - ~$uimenulibglobal("uibuffer")~ ~$uimenulibglobal("uibuffer")~
    		REPLACE_EVALUATE ~\(%MLUAMARK%\)%LE%~ 
    		BEGIN
    			SPRINT tempstr $uimenulibglobal(~luablocks_%MATCH1%~)
    		END
    		~%tempstr%~
    END
    

    I'm not sure if it will be clear enough for anyone to be able to help, but again I'm not familiar with the code so I don't really know what's going on.
  • RaduzielRaduziel Member Posts: 4,714
    edited April 2019
    How do I identify an actor index to remove it by using the fj_are_estructure function?

    Thanks.

    Edit: Here's how fellow modder from the future who found this thread through Google:
    ACTION_FOR_EACH area IN [area list] BEGIN
    	COPY_EXISTING ~%area%.are~ override 
    		SET	       act_size = 0x110
    		READ_LONG  0x54 act_off                //Offset to Actors
    		READ_SHORT 0x58 act_num            // Count of Actors
    		FOR (i = 0; i < act_num; ++i) BEGIN
    			READ_ASCII (act_off + i * act_size + 0x80) act_file    //CRE File
    			PATCH_IF (~%act_file%~ STRING_EQUAL_CASE ~CREFILERESREF~)  BEGIN      //The file I want to check
    				SET	index = i
    				SET	i = act_num
    			END
    		END
    		LPF fj_are_structure INT_VAR  fj_delete_mode  = %index%	STR_VAR fj_structure_type = ~actor~ fj_cre_resref = ~BDPFAUG~ END
    	BUT_ONLY	IF_EXISTS
    END
    

    Part of the code was built by me but @kjeron was the one who actually made it work as it should.

    @jastey For future references :)
    Post edited by Raduziel on
  • GoidaGoida Member Posts: 118
    edited April 2019
    Scripts don't recognize a change in a global's value during the same run, yes?

    IF...

    THEN...

    Do
    ... - > SetGlobal()
    Continue()

    END

    IF

    Global(1)

    THEN

    Do...

    - Doesn't work. Right?
  • ArdanisArdanis Member Posts: 1,736
    Goida wrote: »
    Scripts don't recognize a change in a global's value during the same run, yes?

    ...

    - Doesn't work. Right?
    Correct.
  • RaduzielRaduziel Member Posts: 4,714
    How many animation slots are available to be used by mods?
  • GwendolyneGwendolyne Member Posts: 461
    edited April 2019
    Thousands... ;)

    But it depends on the animation type you are using. The easiest to handle with is IWD, but the best are BG2 SPLIT and UNSPLIT (Infinity Animations naming) which provide 16 directions while IWD only provides 8.

    Have a look here to read the next animation slots reference chart (WIP) provided by the incoming Infnity Animations version (EE compatible).
    Post edited by Gwendolyne on
  • RaduzielRaduziel Member Posts: 4,714
    @Gwendolyne

    I'm creating the Enlarge spell in IE (well, actually it is a Joint Venture between me, @kjeron and @Grammarsalad ) so I'll use a lot of slots.

    Thanks!
  • kjeronkjeron Member Posts: 2,367
    @Gwendolyne
    Here some hardcoded entries you can add:
    	IDS: 0x0002	LABEL: RED_DRAGON_BLAST_FIREBALL
    	IDS: 0x0003	LABEL: PURPLE_FIREBALL
    	IDS: 0x0004	LABEL: GREEN_DRAGON_BLAST_FIREBALL
    	IDS: 0x0520	LABEL: CLOUD_FIREBALL,	EE BAM: SPHORPUF
    	IDS: 0x0910	LABEL: METEOR_FIREBALL
    	IDS: 0x0A10	LABEL: WILTING_FIREBALL
    	IDS: 0x0A11	LABEL: TELEPORT_FIREBALL,	EE BAM: SPWRDFLD
    	IDS: 0x0A12	LABEL: ENTANGLE_FIREBALL,	EE BAM: SPENTAAI
    	IDS: 0x0A23	LABEL: HOLY_SMITE_FIREBALL
    	IDS: 0x0A24	LABEL: UNHOLY_BLIGHT_FIREBALL
    	IDS: 0x0B01	LABEL: CONE_OF_COLD_FIREBALL,	EE BAM: SPCCOLDL
    	IDS: 0x0B03	LABEL: COLOR_SPRAY_FIREBALL,	EE BAM: SPCSPRA3
    	IDS: 0x0B04	LABEL: PRISMATIC_SPRAY_FIREBALL,	EE BAM: SPPRISM3
    	IDS: 0x0C10	LABEL: STORM_VENGEANCE_FIREBALL
    
    The labels are arbitrary: _FIREBALL because they are all tied to entries from FIREBALL.IDS (projectile explosions). Never got around to identifying the BAM for all of them.
  • GwendolyneGwendolyne Member Posts: 461
    @kjeron

    Thanks, I already noted some of them used by projectile files but did not integrate them to the chart because IA does not handle them.

    However, I agree, they indeed should be mentioned. I will update the chart this evening. ;)
  • GwendolyneGwendolyne Member Posts: 461
    @Raduziel

    If you wish, I could send you the install process coding I used to install missing Infinity Animations in EE games. It grants compatibility with other mods.
  • RaduzielRaduziel Member Posts: 4,714
    @Gwendolyne I'm using @argent77 's code for empty animation slots, so I believe I got it covered. But I appreciate the kindness :)
  • GwendolyneGwendolyne Member Posts: 461
    That's why I spoke about compatibility: Argent77's code does not check for slots which don't provide an ini file. For example 0x268 CHIMERA. In theory, you can add 0x268 MY_ANIMATION slot that will conflict any mod restoring the CHIMERA animation (like Infinity Animations). ;)

    So, you should use this array instead:
    /* Animation slots reserved by vanilla or mod-added game creatures (in hexadecimal format)
    Supported mods:
    - Bearwalker + extended Werebear animation (0x5294 and 0x5295 in IA): 0xe330 (Werebear) in EE.
    - Pack Mule (0x5293) : 0xe6fe in EE.
    - Reserved for EE games compatibility: 0xe268 (CHIMERA), 0xe269 (HALFDRAGON_BLACK), 0xe26c (ELEMENTAL_WATER_SMALL), 0xe275 (ISAIR), 0xe277 (MADAE), 0xe278 (MALARITE), 0xe27a (ORC_AXE_UNDEAD), 0xe27b (ORC_SHAMAN_UNDEAD), 0xe27c (SHENRICAL), 0xe284 (INVISIBLE_SMALL), 0xe285 (INVISIBLE_MEDIUM), 0xe286 (INVISIBLE_LARGE), 0xe287 (INVISIBLE_GIANT).
    */
    <<<<<<<< .../inlined/creature/animation/slots.txt
    "0410" "1000" "1003" "1004" "1100" "1101" "1102" "1103" "1104" "1105" "1200" "1201" "1202" "1203" "1204" "1205" "1206" "1207" "1208" "1300" "2000" "2100" "2200" "2300" "3000" "3001" "4000" "4001" "4002" "4010" "4012" "4100" "4101" "4102" "4110" "4112" "4200" "4300" "4400" "4410" "4500" "4600" "4700" "4710" "4800" "5000" "5001" "5002" "5003" "5010" "5011" "5012" "5013" "5100" "5101" "5102" "5103" "5110" "5111" "5112" "5113" "5200" "5201" "5202" "5210" "5211" "5212" "5300" "5301" "5302" "5303" "5310" "5311" "5312" "5313" "6000" "6001" "6002" "6003" "6004" "6005" "6010" "6011" "6012" "6013" "6014" "6015" "6100" "6101" "6102" "6103" "6104" "6105" "6110" "6111" "6112" "6113" "6114" "6115" "6200" "6201" "6202" "6204" "6205" "6210" "6211" "6212" "6214" "6215" "6300" "6301" "6302" "6303" "6304" "6305" "6310" "6311" "6312" "6313" "6314" "6315" "6400" "6401" "6402" "6403" "6404" "6405" "6406" "6500" "6510" "6621" "7000" "7001" "7100" "7101" "7200" "7201" "7202" "7203" "7300" "7301" "7302" "7310" "7311" "7312" "7313" "7314" "7320" "7321" "7400" "7401" "7402" "7500" "7501" "7600" "7601" "7602" "7603" "7604" "7700" "7701" "7702" "7703" "7800" "7801" "7802" "7900" "7901" "7902" "7903" "7904" "7a00" "7a01" "7a02" "7a03" "7a04" "7b00" "7b01" "7b02" "7b03" "7b04" "7b05" "7b06" "7c00" "7c01" "7d00" "7d01" "7d02" "7d03" "7d04" "7d05" "7d06" "7d07" "7d08" "7e00" "7e01" "7f00" "7f01" "7f02" "7f03" "7f04" "7f05" "7f06" "7f07" "7f08" "7f09" "7f0a" "7f0b" "7f0c" "7f0d" "7f0e" "7f0f" "7f10" "7f11" "7f12" "7f13" "7f14" "7f15" "7f16" "7f17" "7f18" "7f19" "7f20" "7f21" "7f22" "7f23" "7f24" "7f27" "7f28" "7f29" "7f2a" "7f2b" "7f2c" "7f2d" "7f2e" "7f2f" "7f30" "7f31" "7f32" "7f33" "7f34" "7f35" "7f36" "7f37" "7f38" "7f39" "7f3a" "7f3b" "7f3c" "7f3d" "7f3e" "7f3f" "7f40" "7f41" "7f42" "7f43" "7f44" "7f45" "7f46" "7f47" "7f48" "7f49" "7f4a" "7f4b" "7f4c" "7f4d" "7f4e" "7f4f" "7f50" "7f51" "7f52" "7f53" "7f54" "7f55" "7f56" "7f57" "7f58" "7f59" "7f5a" "7f5b" "7f5c" "7f5d" "7f5e" "7f5f" "7f60" "7f61" "7f62" "8000" "8100" "8200" "9000" "a000" "a100" "a200" "a201" "a202" "b000" "b100" "b200" "b210" "b300" "b310" "b400" "b410" "b500" "b510" "b600" "b610" "b700" "c000" "c100" "c200" "c300" "c400" "c500" "c600" "c610" "c700" "c710" "c800" "c810" "c900" "c910" "ca00" "ca10" "cb00" "cc00" "cc01" "cc02" "cc04" "d000" "d100" "d200" "d300" "d400" "e000" "e010" "e020" "e040" "e050" "e060" "e070" "e080" "e090" "e0a0" "e0b0" "e0c0" "e0d0" "e0e0" "e0f0" "e0f1" "e0f2" "e200" "e210" "e220" "e230" "e240" "e241" "e242" "e243" "e244" "e245" "e246" "e247" "e248" "e249" "e24a" "e24b" "e24c" "e24d" "e24e" "e24f" "e250" "e251" "e252" "e253" "e254" "e255" "e256" "e257" "e258" "e259" "e25a" "e25b" "e25c" "e25d" "e25e" "e25f" "e260" "e261" "e262" "e263" "e264" "e265" "e266" "e267" "e268" "e269" "e26a" "e26b" "e26c" "e26d" "e26e" "e26f" "e270" "e271" "e272" "e273" "e274" "e275" "e276" "e277" "e278" "e279" "e27a" "e27b" "e27c" "e27d" "e27e" "e27f" "e280" "e281" "e282" "e283" "e284" "e285" "e286" "e287" "e288" "e289" "e28a" "e28b" "e28c" "e28d" "e28e" "e28f" "e290" "e291" "e292" "e293" "e294" "e300" "e310" "e320" "e330" "e400" "e410" "e420" "e430" "e440" "e441" "e442" "e443" "e444" "e500" "e510" "e520" "e600" "e610" "e6fe" "e700" "e710" "e720" "e800" "e810" "e820" "e830" "e840" "e900" "e910" "ea00" "ea10" "ea20" "eb00" "eb10" "eb20" "ec00" "ec10" "ec20" "ed00" "ed10" "ed20" "ee00" "ee10" "ef10"
    >>>>>>>>
    
  • kjeronkjeron Member Posts: 2,367
    Gwendolyne wrote: »
    That's why I spoke about compatibility: Argent77's code does not check for slots which don't provide an ini file. For example 0x268 CHIMERA. In theory, you can add 0x268 MY_ANIMATION slot that will conflict any mod restoring the CHIMERA animation (like Infinity Animations). ;)
    Only if ANIMATE.IDS doesn't have "0x268 CHIMERA" listed, which BGEE BG2EE and IWDEE all do.
  • RaduzielRaduziel Member Posts: 4,714
    edited April 2019
    Edit: Looking at Argent's Github page, Golem Construction, I saw where he added the above code and did the same.

    @Gwendolyne I'm editing the file right now. I've edited the code.

    Here is some coding (by @argent77 ) I have in a file called Macros.tpa
    <<<<<<<< .../inlined/creature/animation/slots.txt
    "0410" "1000" "1003" "1004" "1100" "1101" "1102" "1103" "1104" "1105" "1200" "1201" "1202" "1203" "1204" "1205" "1206" "1207" "1208" "1300" "2000" "2100" "2200" "2300" "3000" "3001" "4000" "4001" "4002" "4010" "4012" "4100" "4101" "4102" "4110" "4112" "4200" "4300" "4400" "4410" "4500" "4600" "4700" "4710" "4800" "5000" "5001" "5002" "5003" "5010" "5011" "5012" "5013" "5100" "5101" "5102" "5103" "5110" "5111" "5112" "5113" "5200" "5201" "5202" "5210" "5211" "5212" "5300" "5301" "5302" "5303" "5310" "5311" "5312" "5313" "6000" "6001" "6002" "6003" "6004" "6005" "6010" "6011" "6012" "6013" "6014" "6015" "6100" "6101" "6102" "6103" "6104" "6105" "6110" "6111" "6112" "6113" "6114" "6115" "6200" "6201" "6202" "6204" "6205" "6210" "6211" "6212" "6214" "6215" "6300" "6301" "6302" "6303" "6304" "6305" "6310" "6311" "6312" "6313" "6314" "6315" "6400" "6401" "6402" "6403" "6404" "6405" "6406" "6500" "6510" "6621" "7000" "7001" "7100" "7101" "7200" "7201" "7202" "7203" "7300" "7301" "7302" "7310" "7311" "7312" "7313" "7314" "7320" "7321" "7400" "7401" "7402" "7500" "7501" "7600" "7601" "7602" "7603" "7604" "7700" "7701" "7702" "7703" "7800" "7801" "7802" "7900" "7901" "7902" "7903" "7904" "7a00" "7a01" "7a02" "7a03" "7a04" "7b00" "7b01" "7b02" "7b03" "7b04" "7b05" "7b06" "7c00" "7c01" "7d00" "7d01" "7d02" "7d03" "7d04" "7d05" "7d06" "7d07" "7d08" "7e00" "7e01" "7f00" "7f01" "7f02" "7f03" "7f04" "7f05" "7f06" "7f07" "7f08" "7f09" "7f0a" "7f0b" "7f0c" "7f0d" "7f0e" "7f0f" "7f10" "7f11" "7f12" "7f13" "7f14" "7f15" "7f16" "7f17" "7f18" "7f19" "7f20" "7f21" "7f22" "7f23" "7f24" "7f27" "7f28" "7f29" "7f2a" "7f2b" "7f2c" "7f2d" "7f2e" "7f2f" "7f30" "7f31" "7f32" "7f33" "7f34" "7f35" "7f36" "7f37" "7f38" "7f39" "7f3a" "7f3b" "7f3c" "7f3d" "7f3e" "7f3f" "7f40" "7f41" "7f42" "7f43" "7f44" "7f45" "7f46" "7f47" "7f48" "7f49" "7f4a" "7f4b" "7f4c" "7f4d" "7f4e" "7f4f" "7f50" "7f51" "7f52" "7f53" "7f54" "7f55" "7f56" "7f57" "7f58" "7f59" "7f5a" "7f5b" "7f5c" "7f5d" "7f5e" "7f5f" "7f60" "7f61" "7f62" "8000" "8100" "8200" "9000" "a000" "a100" "a200" "a201" "a202" "b000" "b100" "b200" "b210" "b300" "b310" "b400" "b410" "b500" "b510" "b600" "b610" "b700" "c000" "c100" "c200" "c300" "c400" "c500" "c600" "c610" "c700" "c710" "c800" "c810" "c900" "c910" "ca00" "ca10" "cb00" "cc00" "cc01" "cc02" "cc04" "d000" "d100" "d200" "d300" "d400" "e000" "e010" "e020" "e040" "e050" "e060" "e070" "e080" "e090" "e0a0" "e0b0" "e0c0" "e0d0" "e0e0" "e0f0" "e0f1" "e0f2" "e200" "e210" "e220" "e230" "e240" "e241" "e242" "e243" "e244" "e245" "e246" "e247" "e248" "e249" "e24a" "e24b" "e24c" "e24d" "e24e" "e24f" "e250" "e251" "e252" "e253" "e254" "e255" "e256" "e257" "e258" "e259" "e25a" "e25b" "e25c" "e25d" "e25e" "e25f" "e260" "e261" "e262" "e263" "e264" "e265" "e266" "e267" "e26a" "e26b" "e26d" "e26e" "e26f" "e270" "e271" "e272" "e273" "e274" "e276" "e279" "e27d" "e27e" "e27f" "e280" "e281" "e282" "e283" "e288" "e289" "e28a" "e28b" "e28c" "e28d" "e28e" "e28f" "e290" "e291" "e292" "e293" "e294" "e300" "e310" "e320" "e330" "e400" "e410" "e420" "e430" "e440" "e441" "e442" "e443" "e444" "e500" "e510" "e520" "e600" "e610" "e6fe" "e700" "e710" "e720" "e800" "e810" "e820" "e830" "e840" "e900" "e910" "ea00" "ea10" "ea20" "eb00" "eb10" "eb20" "ec00" "ec10" "ec20" "ed00" "ed10" "ed20" "ee00" "ee10" "ef10"
    >>>>>>>>
    OUTER_TEXT_SPRINT animationSlotsPath ".../inlined/creature/animation/slots.txt"
    
    DEFINE_PATCH_FUNCTION FIND_FREE_ANIM_SLOT
    INT_VAR slotMin = 0 slotMax = (slotMin BAND 0xf000) + 0x1000 slotSteps = 1 RET slot
    BEGIN
      SET slot = "-1"
      SET slotSteps = (slotSteps < 1) ? 1 : slotSteps
      SET slotMin = (slotMin < 0) ? 0 : slotMin
      SET slotMax = (slotMax < 0) ? 0 : slotMax
      PATCH_IF (slotMax < slotMin) BEGIN
        SET tmp = slotMin
        SET slotMin = slotMax
        SET slotMax = tmp
      END
    
      INNER_PATCH ~%animationSlots%~ BEGIN
        FOR (idx = slotMin; idx < slotMax; idx += slotSteps) BEGIN
          LOOKUP_IDS_SYMBOL_OF_INT name ~animate~ idx
          PATCH_IF (~%name%~ STR_EQ ~%idx%~) BEGIN
            LPF TO_HEX_NUMBER INT_VAR value = idx minDigits = 4 RET hexNumber END
            PATCH_IF (NOT FILE_EXISTS_IN_GAME ~%hexNumber%.ini~ AND 
                      ~%slotList%~ STRING_CONTAINS_REGEXP ~"%hexNumber%"~ != 0) BEGIN
              SET slot = idx
              SET idx = slotMax
            END
          END
        END
      END
    END
    
    DEFINE_ACTION_FUNCTION FIND_FREE_ANIM_SLOT
    
    INT_VAR slotMin = 0 slotMax = (slotMin BAND 0xf000) + 0x1000 slotSteps = 1 RET slot
    
    BEGIN
      OUTER_PATCH ~~ BEGIN
        LPF FIND_FREE_ANIM_SLOT INT_VAR slotMin = slotMin slotMax = slotMax slotSteps = slotSteps RET slot END
      END
    END
    

    And here is what I have in the .tp2
    LAF FIND_FREE_ANIM_SLOT INT_VAR slotMin = 0xe000 slotMax = 0xefff RET slot      END
    
    LAF TO_HEX_NUMBER       INT_VAR value = slot minDigits = 4        RET hexNumber END
    
    APPEND ~animate.ids~ ~0x%hexNumber% RA_PFAUG_ENLARGE~ UNLESS ~RA_PFAUG_ENLARGE~
    
    CLEAR_IDS_MAP
    
    COPY ~Pfaug_Raduziel/Spl/Pfaug.ini~    ~override/%hexNumber%.ini~
    

    Where the code given by you would enter?

    I believe it is in the right place now.

    Thanks!
  • GoidaGoida Member Posts: 118
    edited April 2019
    I'm writing some dialogues with globals being set and items being taken and given. They come back to some of the topics repeatedly, but changes of globals and has-item conditions don't get registered. I remember from long ago that it took dialogues two transitions to notice a change, but now nothing seems to happen no matter how much time I spend talking. Only after the end all of those actions become completed, items given and globals set. Why is that and how to change it?

    Also I have a talking item with an EXTERN action, leading to the dialogue file of a nearby NPC (who notices the player is trying to unseal his letter and barks). The conversation triggers alright, but no name of the NPC displays - the line doesn't "belong" to anybody. How can I fix that?
  • RaduzielRaduziel Member Posts: 4,714
    I want to patch the DAGGER entry at WEAPPROF.2da for one specific kit (from 0 to 1).

    I know the kit's internal name, but I don't know in which column it is (as this position varies from install to install).

    How can I do it?

    Thanks.

    PS: This alter will happen if another mod is installed, so I can't just set this at the WEAPPROF entry in the kit's code.
  • The user and all related content has been deleted.
  • kjeronkjeron Member Posts: 2,367
    actually this might be a column in kitlist.2da. that might be a lot easier to check.
    It is: kitlist 6th column value +1 = weapprof column
  • RaduzielRaduziel Member Posts: 4,714
    actually this might be a column in kitlist.2da. that might be a lot easier to check.
    kjeron wrote: »
    actually this might be a column in kitlist.2da. that might be a lot easier to check.
    It is: kitlist 6th column value +1 = weapprof column

    I don't get it. Kitlist.2da has a Proficiency column, but with values that (for me) goes from 29 to 54. How can this be helpful?

    Thanks
Sign In or Register to comment.