Jump to content

Assistance with new kit installation


silversnuff

Recommended Posts

Hello,

 

After years of playing the infinity engine games I've decided to have a crack at modding. To that end I've decided to make a ninja kit, teaching myself along the way. While I've managed to create new spells and bams I'm at a loss of how to install the kit into iwdee with weidu on my Mac . I keep getting Parsing.Parse_error whenever I try to install the mod. I've tried to clean up the .tp2 without much change in the result. I've followed a few of the guides and tried to emulate the installations of other mods but I can't seem to spot the error. I'm sure its something simple I've missed but I'm at a loss. Any help you could provide would be appreciated.

BACKUP ~Ninja/backup~
AUTHOR silver snuff

VERSION "v 1.0”


LANGUAGE ~English~
         ~English~
         ~Language/English~
         ~Ninja/TRA/Ninja.tra~

BEGIN “Install Ninja”

INCLUDE ~Ninja/fl#add_kit_ee.tpa~

ADD_KIT ~Ninja~ // this is the internal name of the kit, don't bother if it isn't pretty
   // This are the proficiency in BG1 style, don't bother with them.
  ~Ninja                1           1           1           1           1           1           1           1~
   // This are the BG2 proficiencies, pay attention here, use the 2DA table "WEAPPROF"
   // and look into the column n1 for the order they are displayed in. This is appended column-wise.
  ~Ninja 0 1 0 0 1 0 0 1 0 1 1 0 2 2 0 0 2 2 2 0 0 0 0 0 0 1 1 1 1 2 1 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~
   // minimum stats for the kit. Use low values, otherwise it will be too easy to roll high stats.
  ~Ninja                9       10       8       7       2       3~
   // these are the stat modifiers at character creation. Both positive an negative values are accepted.
  ~Ninja                0       0       0       0       0       0~
   // stat requirement to dual-class *TO* this kit (appended to ABDCDSRQ.2DA).
  ~Ninja                17       17      8       9       3       3~
   // stat requirement to dual-class *FROM* this kit (appended to ABDCSCRQ.2DA).
  ~Ninja                15       17      8       14       3       3~
   // alignments that can be chooses for this kit. Listed like in ALIGNMNT.2DA and appended to the same file.
  ~Ninja                0       1       1       0       1       1       0       1       1~
   // append to DUALCLAS.2DA, check the file for reference on the listing of the classes.
  ~Ninja                1       1       1       0       0       0~
   // path to the CLAB*.2DA file.
  ~Ninja/data/CLABNI.2da~
    // this are the races that can choose the kit-- for example, K_T_H means thief human
    // and K_T_D means dwarf thief, so putting those here would make this kit selectable by those classes (from KITTABLE.2DA).
  ~K_T_H    K_T_D   K_T_G   K_T_E   K_T_HE   K_T_HL   K_T_HO~
  // this is the usability flag for the class followed by the class number
  // (see the table KITLIST.2DA for more information)
  ~0x00080000    4~
  // this is the name of the LU7C#K.2DA file, needed for HLAs and appended to LUABBR.2DA.
  ~Th0~
   // this are the item this kit is going to get at the start of ToB, appended column-wise to 25STWEAP.2DA.
   // check with NearInfinity, EEKeeper or DLTCEP which items you want since you'll need their code name.
  ~PLAT05 SHLDBCH HELMLA * RING22 RING09 ELFCLCK ELFBOOT * ELFGLOV * BULL02,40 BULL01,40 BULL03,20 EXTHEAL,2 POTN08,5 POTN14,5 UFLAL4A SLNG02 UMSTR3B~
  SAY @861 // this is the all-lower case version of the kit-name, TRA'ified strings are also accepted.
  SAY @862 // this is the capitalized name of the kit.
  SAY @863 // this is the description of the kit
                           // (please don't make it as silly as this one, use the vanilla ones as example)

LAF fl#add_kit_ee // launch_action_function start
  INT_VAR
    biography = RESOLVE_STR_REF (@864) // This is the biography, you can browse the dialog.tlk
                      // (with NearInfinity or DLTCEP) for the string you desire or just add your own.
    briefdesc = RESOLVE_STR_REF (@865)

  STR_VAR
        // this is the internal name of your kit. #This_is_a_must (unless you want to crash the installation).
        // all the other stuff in this listing is optional, if it's there, it will be used
        // and if it isn't, the class default value will be used instead. Remove the whole "example = ~3 8 1 92~" line.
    kit_name = ~Ninja~
        // this is the backstab progressions rate (one number/level, 40 levels), only for kits that need backstab
    backstab = ~1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4~
       // this file (CLSWPBON.2DA) contains three different fields of information, the first one is for the WPSTACK
       // (the bonus APR from Specialization and higher and from levels 7 and 13 that fighters gain)
       // if the number is 1, then it'll be enabled, if it's set to 0, it won't, enabled on Warrior classes by default.
       // the second one is turned by default over Monks, seems like it gives them their custom fists.
       // the third and last value is the amount of penalty given to the character's
       // THAC0 when using a weapon they aren't proficient with.
    clswpbon = ~1 0 3~
       // the number of weapon slot that are displayed in the inventory
    numwslot = ~2~
     // 1st value is the amount of Thieving skills point gained at level one and the 2nd is the amount gained in the following levels.
    thiefskl = ~30 15~
       // maximum amount of traps this kit can set (this is optional and only for Thief and Bard kits)
    traplimt = 0
     // this is appended column-wise to CLASCOLR.2DA, the colors are listed here in this order:
     // METAL (metallic parts of the character's equipment), MINOR_CLOTH (same as Minor Color in the inventory screen),
     // MAIN_CLOTH (same as Major Color in the Inventory Screen), LEATHER (the leather parts of the character's armor),
     // ARMOR (this one is for the other parts of the armor that aren't METAL nor LETHER).
    clascolr = ~20 146 22 160 41~
     // this is the BONUS that is given to each kit/class' thieving abilities at level 1
     // appended column-wise to CLASISKL.2DA
     // note that they are 7 values, Pick Pockets, Open Locks, Find Traps
     // Move Silently, Hide in Shadows, Detect Illusion and Set Traps
    clasiskl = ~0 0 0 0 0 0 0~
     // this is appended column-wise to THIEFSCL.2DA, 100 determines that the player can spent Thieving Points
     // in that thieving ability, and 0 means that they can't.
     // Seems like it has something to do with percentages, but it's not confirmed yet.
    thiefscl = ~100 100 100 100 100 100 0 100~
     // the HP*.2DA table's full name (not including the extension).
    hpclass = ~HPROG~
     // appended to CLSRCREQ.2DA, determines which race can select the kit at character creation,
     // values are either 1 (true/yes) and 0 (false/no), the races go like this:
     // HUMAN, ELF, HALF_ELF, DWARF, HALFLING, GNOME and HALFORC.
    clsrcreq = ~1 1 1 1 1 1 1~
     // this is a bonus to the base THAC0 that is given at level 1 and it's permanent.
    clasthac = ~0~
    // this is the Sneak Attack entry, only for IWD:EE.
    // it's like the backstab.2da, but with a function.
    sneakatt = ~1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6~
    // this is the Crippling Strike entry, only for IWD:EE
    // it's also like the backstab.2da 
    crippstr = ~1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5~

END // end of the LAF (launch_action_function) block.

//Poison Weapon
COPY ~Ninja\data\KLSPPW.SPL~ ~override~
COPY ~Ninja\data\KLSPPW#C.BAM~ ~override~
COPY ~Ninja\data\KLSPPW#B.BAM~ ~override~
  SAY NAME1 @866
  SAY NAME2 @866
  SAY 0x50 @867

//Vanishing Trick
COPY ~Ninja\data\KSPVAN.SPL~ ~override~
COPY ~Ninja\data\KSPVAN#C.BAM~ ~override~
COPY ~Ninja\data\KSPVAN#B.BAM~ ~override~
COPY ~Ninja\data\KSPVAN.VVC~ ~override~
COPY ~Ninja\data\KSPVAN.BAM~ ~override~
  SAY NAME1 @868
  SAY NAME2 @868
  SAY 0x50 @869

//Ki Charge
COPY ~Ninja\data\KLASP1#.SPL~ ~override~ 
COPY ~Ninja\data\KLASP1#C.BAM~ ~override~
COPY ~Ninja\data\KLASP1#B.BAM~ ~override~
COPY ~Ninja\data\KSPVAN1.BAM~ ~override~
COPY ~Ninja\data\KSPVAN1.VVC~ ~override~
COPY ~Ninja\data\KSPVAN2.BAM~ ~override~
  SAY NAME1 @870
  SAY NAME2 @870
  SAY 0x50 @871

ADD_PROJECTILE ~Ninja\data\KSPVAN.PRO~ ~override~

//A Thousand Faces
COPY ~Ninja\data\TRIAL.SPL~ ~override~ 
COPY ~Ninja\data\SPWISS#C.BAM~ ~override~
COPY ~Ninja\data\SPWISS#B.BAM~ ~override~ 
COPY ~Ninja\data\KSTHO.VVC~ ~override~  
COPY ~Ninja\data\KSTHO.BAM~ ~override~ 
COPY ~Ninja\data\SSX1.CRE~ ~override~
COPY ~Ninja\data\SSX2.CRE~ ~override~
COPY ~Ninja\data\SSX3.CRE~ ~override~  
COPY ~Ninja\data\SSX4.CRE~ ~override~  
COPY ~Ninja\data\SSX5.CRE~ ~override~ 
COPY ~Ninja\data\SSX6.CRE~ ~override~ 
COPY ~Ninja\data\SSX7.CRE~ ~override~ 
COPY ~Ninja\data\SSX8.CRE~ ~override~ 
COPY ~Ninja\data\SSX9.CRE~ ~override~ 
COPY ~Ninja\data\SSX10.CRE~ ~override~ 
COPY ~Ninja\data\SSX11.CRE~ ~override~
COPY ~Ninja\data\SSX12.CRE~ ~override~  
  SAY NAME1 @872
  SAY NAME2 @872
  SAY 0x50 @873

//Abundant Step
COPY ~Ninja\data\KLASP7#.SPL~ ~override~
COPY ~Ninja\data\KLASP7#C.BAM~ ~override~  
COPY ~Ninja\data\KLASP7#B.BAM~ ~override~
COPY ~Ninja\data\KLASP7#.VVC~ ~override~ 
COPY ~Ninja\data\KLA7ANI.BAM~ ~override~  
  SAY NAME1 @874
  SAY NAME2 @874
  SAY 0x50 @875

Link to comment

Ack! Yes that would probably help.

WeiDU v 23700 Log

 ./setup-Ninja
[./chitin.key] loaded, 524150 bytes
[./chitin.key] 165 BIFFs, 37105 resources
[./weidu.conf] loaded, 17 bytes
[./lang/en_us/dialog.tlk] loaded, 4422952 bytes
[./lang/en_us/dialog.tlk] 40853 string entries

[NINJA.TP2] LEXER ERROR at line 1 column 0--1
Near Text: {
	invalid character [{]
 HINT: Don't use MS Word to edit your .tp2 files - use ConTEXT (http://www.context.cx instead).

[NINJA.TP2]  ERROR at line 1 column 0--1
Near Text: {
	Parsing.Parse_error
ERROR: parsing [NINJA.TP2]: Parsing.Parse_error
ERROR: problem parsing TP file [NINJA.TP2]: Parsing.Parse_error

FATAL ERROR: Parsing.Parse_error

		WeiDU Timings
load TLK                         0.000
parsing .log files               0.000
loading files                    0.005
stuff not covered elsewhere      0.015
Parsing TP2 files                0.018
unmarshal TLK                    0.033
unmarshal KEY                    0.034
TOTAL                            0.105

Link to comment

There's also a problem with some of the quotation marks you are using, which is what WeiDU is complaining about.

 

If you use word-processing software to edit your .tp2 instead of a text editor, you are likely to get smart curly quotes instead of "regular" straight quotes. WeiDU only likes regular quotes.

Link to comment

Or just use the worms always, these: ~ and what ever editor ... yeah, I can see now that silversnuff had tried to copy pasted the text up until the version tags first quotation mark, which makes it actually the correct mark, while the second is the curly quote... and so are the ones around teh component name.

Link to comment

+100 for Textwrangler. It's the best. And free!

 

By the way, creating a kit and calling it "ninja" is probably a bad idea. It's clearly a popular concept and lots of people might le to do something similar... so what happens when they make another kit also called "ninja?" Players will have problems (and then complain to you).

 

So, you should go over to Black Wyrm Lair and get yourself a unique modder's prefix to use in your mod's filenames. E.g. I would call a ninja kit d5_ninja. It guarantees no compatibility problems.

Link to comment

By the way, crating a kit and caking it "ninja" is probably a bad idea.

Ouh, now I remember, :devlook: see I already have a mod that has the "ninja" kit in it, and yes, it's coded as "ninja" too, honestly it's fortunately not my fault entirely as the mod is a recreation of the existing mods(this kit is originally from The Darkest Day mod), but this kind of thing is still entirely intolerable. :jump:

Link to comment

Ah, it's definitely the fact that I'm using textedit. Will check out Textwrangler after I get back from work today.

 

The kit was originally based on the concept of the Ninja Spy prestige class from D&D and pathfinder. I'll just change the name back. I haven't see the ninja mod you refer to Jarno. I just copied the "kit making tutorial" from the Bgee forums.

 

It's funny I'm not particularly keen on thief or ninja type classes. I just needed a kit to learn on and didn't see any ninja type mods floating around. I'll get myself a modder's prefix ASAP. I'm more interested in eventually making spell casters.

 

Cheers

Link to comment

If you're on a Mac, don't use TextEdit for coding - it uses those "curly quotes" rather than the regular ones. I use TextWrangler from Bare Bones. You can find it in the Mac App Store.

Actually you can just configure the character replacement system to avoid any program changing that kind of things. Those settings are under System Preferences->Language & Text->Text (at least on OSX 10.7), if you want to change them...

I just copied the "kit making tutorial" from the Bgee forums.

Man, I need to update that guide so badly...

 

Also watch out—the SAY commands aren't actually being used upon the .spl files—they're being applied to the last .bam you're copying. For example, this bit of code:

COPY ~Ninja\data\KLASP7#.SPL~ ~override~
COPY ~Ninja\data\KLASP7#C.BAM~ ~override~  
COPY ~Ninja\data\KLASP7#B.BAM~ ~override~
COPY ~Ninja\data\KLASP7#.VVC~ ~override~ 
COPY ~Ninja\data\KLA7ANI.BAM~ ~override~  
  SAY NAME1 @874
  SAY NAME2 @874
  SAY 0x50 @875
Should rather look like this (unless you want named .bam files, that is :p ):


COPY ~Ninja\data\KLASP7#.SPL~ ~override~ 
  SAY NAME1 @874
  SAY NAME2 @874
  SAY 0x50 @875

COPY ~Ninja\data\KLASP7#C.BAM~ ~override~  
COPY ~Ninja\data\KLASP7#B.BAM~ ~override~
COPY ~Ninja\data\KLASP7#.VVC~ ~override~ 
COPY ~Ninja\data\KLA7ANI.BAM~ ~override~ 
Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...