Pocket Plane Group
Miscellany, Inc. => Infinity Engine Modding Q&A => Topic started by: Joe on November 21, 2008, 12:56:14 AM
-
I have no idea how to do the COPY_EXISTING to amend certain files, so I'm just using COPY. I plan to install them first so that other mods just write on top of them. I'm getting an error, however: Install Component [Joe]?
nstall, or [N]ot Install or [Q]uit?
Installing [Joe]
Copying 3 files ...
ERROR: error loading [Joe/clabfi03b.2da]
Stopping installation because of error.
ERROR Installing [Joe], rolling back to previous state
[Joe\Backup/0/UNSETSTR.0] SET_STRING uninstall info not found
Will uninstall 0 files for [SETUP-JOE.TP2] component 0.
Uninstalled 0 files for [SETUP-JOE.TP2] component 0.
SETUP-TUTUFIX.TP2 0 3 Installed
SETUP-TUTUFIX.TP2 0 4 Installed
SETUP-TUTUFIX.TP2 0 5 Installed
ERROR: Unix.Unix_error(20, "stat", "Joe/clabfi03b.2da")
PLEASE email the file SETUP-JOE.DEBUG to Joe
My .tp2:
BACKUP ~Joe\Backup~
AUTHOR ~Joe~
BEGIN ~Joe~
COPY ~Joe/clabfi03b.2da~ ~override~
~Joe/spcl131.spl~ ~override~
~Joe/tws.spl~ ~override~
COPY_EXISTING
~belt10.itm~ ~override~ // Belt of Inertial Barrier
~clck05.itm~ ~override~ // Cloak of Balduran
~clck30.itm~ ~override~ // Cloak of Bravery
~clck03.itm~ ~override~ // Cloak of Displacement
~clck26.itm~ ~override~ // Cloak of Mirroring
~clck01.itm~ ~override~ // Cloak of Protection+1
~clck02.itm~ ~override~ // Cloak of Protection+2
~clck24.itm~ ~override~ // Cloak of Reflection
~clck25.itm~ ~override~ // Cloak of the Stars
~clck28.itm~ ~override~ // Shadow Thief Cloak
~CLCK08.itm~ ~override~
~CLCK31.itm~ ~override~
~BRAC06.itm~ ~override~
~BRAC07.itm~ ~override~
~BRAC09.itm~ ~override~
~BRAC10.itm~ ~override~
~BRAC21.itm~ ~override~
~BELT02.itm~ ~override~
~BELT03.itm~ ~override~
~BELT04.itm~ ~override~
~BELT06.itm~ ~override~
~BELT07.itm~ ~override~
~BELT08.itm~ ~override~
~BELT11.itm~ ~override~
~RING02.itm~ ~override~
~RING05.itm~ ~override~
~RING06.itm~ ~override~
~RING07.itm~ ~override~
~RING09.itm~ ~override~
~RING25.itm~ ~override~
~RING27.itm~ ~override~
~RING28.itm~ ~override~
~RING29.itm~ ~override~
~RING31.itm~ ~override~
~RING33.itm~ ~override~
~RING34.itm~ ~override~
~RING39.itm~ ~override~
~RING41.itm~ ~override~
~RING42.itm~ ~override~
~RING46.itm~ ~override~
~BOOT01.itm~ ~override~
~BOOT03.itm~ ~override~
~BOOT05.itm~ ~override~
~BOOT11.itm~ ~override~
~BOOT12.itm~ ~override~
~AMUL14.itm~ ~override~
~AMUL17.itm~ ~override~
~AMUL18.itm~ ~override~
~AMUL19.itm~ ~override~
~AMUL20.itm~ ~override~
~AMUL23.itm~ ~override~
~AMUL25.itm~ ~override~
~AMUL26.itm~ ~override~
~HELM03.itm~ ~override~
~HELM04.itm~ ~override~
~HELM06.itm~ ~override~
~HELM07.itm~ ~override~
~HELM14.itm~ ~override~
~HELM16.itm~ ~override~
~HELM17.itm~ ~override~
~HELM21.itm~ ~override~
~HELM31.itm~ ~override~
~HELM32.itm~ ~override~
~MISC3H.itm~ ~override~
~POTN02.itm~ ~override~
~POTN03.itm~ ~override~
~POTN04.itm~ ~override~
~POTN05.itm~ ~override~
~POTN06.itm~ ~override~
~POTN07.itm~ ~override~
~POTN08.itm~ ~override~
~POTN09.itm~ ~override~
~POTN10.itm~ ~override~
~POTN11.itm~ ~override~
~POTN12.itm~ ~override~
~POTN13.itm~ ~override~
~POTN14.itm~ ~override~
~POTN17.itm~ ~override~
~POTN20.itm~ ~override~
~POTN21.itm~ ~override~
~POTN26.itm~ ~override~
~POTN27.itm~ ~override~
~POTN31.itm~ ~override~
~POTN33.itm~ ~override~
~POTN34.itm~ ~override~
~POTN35.itm~ ~override~
~POTN38.itm~ ~override~
~POTN40.itm~ ~override~
~POTN41.itm~ ~override~
~POTN42.itm~ ~override~
~POTN47.itm~ ~override~
~POTN55.itm~ ~override~
~sw2h10.itm~ ~override~
~sw2h19.itm~ ~override~
READ_BYTE "0x2f" "usab2"
WRITE_BYTE "0x2f" ("%usab2%" BAND "0b11111101")
BUT_ONLY_IF_IT_CHANGES
COPY_EXISTING ~sw2h10.itm~ ~override~
SAY NAME1 ~Two-Handed Sword~ // unidentified name for items OR spell name
SAY NAME2 ~Carsomyr +5~ // identified name for items; not used for spells
SAY UNIDENTIFIED_DESC ~A derivative of the long sword, the two-handed sword is significantly longer, both in blade and hilt. Its primary function is cleaving mounted knights and breaking up pike formations.~
SAY DESC ~Carsomyr +5
The Holy Avenger: Carsomyr
Carsomyr is a weapon of legend, perhaps one of the most powerful blades
ever forged on Faerun, though its origin and history is thought
purposefully forgotten, such that the sword itself never overshadow the
importance of the struggles that must be fought today. It is infused
with the very essence of virtue, and requires as much from any warrior
that would hope to wield it. The evils of the Realms must truly stand
aside when this weapon is brought to bear, their magic dispelled with a
word, steadfastly resisted with ease. Carsomyr also harbors a special
distaste for the forces of evil and chaos, and such creatures must fear
additional damage from its touch in battle.
STATISTICS
Equipped Abilities:
+15% Magic Resistance
Dispel Magic 3 times per day
Combat Abilities:
+5 damage to chaotic evil opponents in addition to other bonuses.
Dispels magic whenever the sword strikes an opponent
THAC0: +5 bonus
Damage: 1D12 +5
Damage type: slashing
Weight: 7
Speed Factor: 5
Proficiency Type: Two handed sword
Type: 2-handed
Requires: 14 Strength
Usable By:
Wizard Slayers
Paladins~
COPY_EXISTING ~sw2h19.itm~ ~override~
SAY NAME1 ~Two-Handed Sword~ // unidentified name for items OR spell name
SAY NAME2 ~Carsomyr +6~ // identified name for items; not used for spells
SAY UNIDENTIFIED_DESC ~A derivative of the long sword, the two-handed sword is significantly longer, both in blade and hilt. Its primary function is cleaving mounted knights and breaking up pike formations.~
SAY DESC ~Carsomyr +6
The Holy Avenger: Carsomyr
Even a Holy Relic as powerful as Carsomyr is made even greater when combined
with the Eye of Tyr.
STATISTICS
Equipped Abilities:
+15% Magic Resistance
Dispel Magic 3 times per day
Combat Abilities:
+6 damage to chaotic evil opponents in addition to other bonuses.
Dispels magic whenever the sword strikes an opponent
THAC0: +6 bonus
Damage: 1D12 +6
Damage type: slashing
Weight: 7
Speed Factor: 5
Proficiency Type: Two handed sword
Type: 2-handed
Requires: 14 Strength
Usable By:
Wizard Slayers
Paladins~
// change carsomyr to add 15 MR instead of setting 50
COPY_EXISTING ~sw2h10.itm~ ~override~ // carsomyr +5
~sw2h19.itm~ ~override~ // carsomyr +6
READ_LONG 0x6a "fx_off"
READ_SHORT 0x70 "fx_num"
FOR (index = 0; index < fx_num; index = index + 1) BEGIN
READ_SHORT ("%fx_off%" + ("%index%" * 0x30)) "opcode"
PATCH_IF ("%opcode%" = 166) BEGIN
WRITE_LONG ("%fx_off%" + 0x04 + ("%index%" * 0x30)) 15 // 15% MR
WRITE_LONG ("%fx_off%" + 0x08 + ("%index%" * 0x30)) 0 // increase/decrease
END
END
BUT_ONLY_IF_IT_CHANGES
STRING_SET ~25203~ ~WIZARD SLAYER: Common is the misconception that all wizard slayers hate and/or distrust all that make use of the Art. While many wizard slayers are indeed fanatically opposed to magic and its users, many others simply feel that the balance of power on Toril has for too long been tipped toward wizards and sorcerers.
Advantages:
- For each successful hit on an opponent, 10% cumulative spell failure penalty is applied.
- 5% magic resistance per level
- 10% base magic resistance (a level 3 Wizard Slayer will have 20% MR)
- May cast Breach every four levels, starting at level 12
Disadvantages:
- May not use any magic items except for armor, weapons, and those which aid in the defeat of spellcasters~
-
It means the file could not be accessed for some reason. Make sure Joe/the_file exists and that you've typed the filename correctly in the TP2.
Also note that a filename cannot be longer than 8 characters ("clabfi03b" is 9) if you want the game to recognize it.
-
Excellent, thank you. That extra letter was the problem. I don't remember why it was there in the first place.
-
I gave the Wizard Slayer Breach as an innate ability. It doesn't show up in-game, however.
Here's what's on the appropriate .2da file:
1 2 3 4
ABILITY4 GA_TWS **** **** GA_TWS and so on...
The spell is tws.spl
-
I'm not sure (at all) about this, but have you turned the spell into an innate ability? I haven't messed around much with CLAB-files but it seems reasonable that things would get strange if it tried to gain the wrong type of spell.
-
Yeah, in the spell file itself, it is listed as an innate ability.
-
In fact there are two places where innativeness can be specified. The first one is the spell type (wizard, priest, etc.) which afaiu isn't that important. The second one is the 'location' field in the spell's header (go to Extended Effects if you're using DLTCEP). Make sure it says '4-innate' and not a '2-spell'.
-
Yep, it says 4-innate.
Is there a problem with the file name?
-
Joe, how much time are you spending on trial-and-error testing? In my experience, most bugs are fixed by essentially groping in the dark: Change something, and if it gets worse, change it back. If it gets better, keep it.
You might try again with a completely different spell, like the Ranger's Charm Animal: Make a copy of it (changing nothing), and try to give it to your Wizard Slayer. If it still doesn't appear, your problem is in the CLAB file, or the way you assign the CLAB file to the Wizard Slayer. If it does appear, you can slowly change the specifics of the spell to match those of Breach.
-
I've done mostly trial and error.
I did as you said, and the innate ability button was usable. Clicking it, I found the abilities that you typically get in SoA as Bhaalspawn powers (Draw Upon Holy Might, Horror, etc.).
It was only clickable once, and the powers wouldn't cast anyway.
What I did with the CLAB was just edit it and replace it in the game. I didn't edit it using WeiDU.