Modding EE games

124

Comments

  • yeah, this exist on IWDEE, but on classic IWD not. There is only limit 6 monsters, somewhere coded, but cant find where, or how game knows that you reached limit.
    Noob question, IWDEE has celestial / fiend summons? :D
  • I assume that they just took the file from BG2EE when they converted IWD to EE? There are Glabrezu, Pit Fiend and Nabassu in IWDEE to be summoned.

    The summoning limit may just have been hard coded in the old game - one of the things they did with EE was externalize a lot of things from the code which allowed better access for modders.
  • I just found something interesting.. BGEE has only monster summoning 3. But 2da files are set up for monster summoning 7. Just found that on vanilla BGEE without any mods.
  • @Roxanne hey, please look on this script please.
    IF
    Global("ExtraSpawns1","ar1201",0)     
    THEN
    RESPONSE #100
    SetGlobal("ExtraSpawns1","ar1201",1)    
    CreateCreature("Ogre",[1920.1584],6)
    CreateCreature("Ogre",[537.689],10)
    Continue()                      
    END


    Can I spawn multiple mobs like that?
  • You will spawn 2 ogres once in area ar1201.
  • Roxanne said:
    You will spawn 2 ogres once in area ar1201.
    Thank you. ANother question. If I add
    Global("someglobal1","some area",1) and then create creature command, but that global is increased by another event, then when I reenter specific area, it has the creatures spawned, right?
  • konva said:
    Roxanne said:
    You will spawn 2 ogres once in area ar1201.
    Thank you. ANother question. If I add
    Global("someglobal1","some area",1) and then create creature command, but that global is increased by another event, then when I reenter specific area, it has the creatures spawned, right?
    The creature spawns whenever the global reaches its value, regardless if you are in the area or re-enter. Note however that area(locals) are only read or set while the player character is in that area, i.e. you cannot set SetGlobal("ExtraSpawns1","ar1201",1) while you are not in ar1201. Only globals are transferred between areas and creatures. Locals or area-specifics are only read by the respective creature or by the active area (i.e. the area your main character is in).
    However, you can read a global and use it as a trigger for your area specific script, e.g. in your example
    IF
    GlobalGT("Chapter","Global",2) //Means greater Chapter 2 AND your
    area trigger is still 0 must both be true to spawn the ogres

    Global("ExtraSpawns1","ar1201",0)
    THEN RESPONSE #100
    SetGlobal("ExtraSpawns1","ar1201",1) 
    CreateCreature("Ogre",[1920.1584],6)

    CreateCreature("Ogre",[537.689],10)

    Continue()
    END

  • yay thanks for explainations :)
    Another noob question... in IWDEE is flaming long sword +2 which causes 1d3 fire damage. Where is that specific effect? I wanna replicate it for something. Lets say add more elemental dmg.. :) cant manage to find it, im blind maybe :D thank you so much.
  • edited January 29
    Is that ULsw3a?
    If you look at item ability in NI you see the normal slashing damage of +2. If you go to the bottom you also see an additional effect. Double click to open the new page that shows you those definitions for the extra fire damage.
  • cool, many thanks :)
  • Another questions..
    BACKUP ~Infernal Legion/backup~
    AUTHOR ~konva~

    VERSION ~v0.1~

    AUTO_TRA ~Infernal Legion/TRA/%s~

    LANGUAGE ~English~ ~english~ ~Infernal Legion/tra/Creatures.tra~

    BEGIN @01

    //Put the creature into the game
    COPY ~Infernal Legion/cre/bigbeetl.CRE~ ~override~
    SAY NAME1 @02
    SAY NAME2 @02

    COPY ~Infernal Legion/cre/orcovers.CRE~ ~override~
    SAY NAME1 @03
    SAY NAME2 @03

    COPY ~Infernal Legion/cre/wolffera.CRE~ ~override~
    SAY NAME1 @04
    SAY NAME2 @04

    COPY ~Infernal Legion/cre/Ragnar.CRE~ ~override~
    SAY NAME1 @05
    SAY NAME2 @05



    //Compile a script
    COMPILE ~Infernal Legion/baf/ATanimal.BAF~

    //Add NPC to the areas per script
    EXTEND_BOTTOM ~ar1015.bcs~ ~Infernal Legion/baf/ar1015big.BAF~
    EXTEND_BOTTOM ~ar1000.bcs~ ~Infernal Legion/baf/ar1000orc.BAF~
    EXTEND_BOTTOM ~ar1200.bcs~ ~Infernal Legion/baf/ar1200wof.BAF~
    EXTEND_BOTTOM ~ar1201.bcs~ ~Infernal Legion/baf/ar1201rag.BAF~
    EXTEND_BOTTOM ~ar1201.bcs~ ~Infernal Legion/baf/ar1201spa.BAF~


    LANGUAGE ~English~ ~english~ ~Infernal Legion/tra/Creatures.tra~

    BEGIN @01
    Is this correct listing for another .tra file?
    //Copy items to game
    //COPY ~Infernal Legion/itm/SW1HPRIS.ITM~ ~override~
    SAY 0x0008 @02
    SAY 0x000c @03
    SAY 0x0050 
    Is this correct IWDEE item descriptions? Im looking here
    https://gibberlings3.github.io/iesdp/file_formats/ie_formats/itm_v2.0.htm


    Questions are in spoiler with green text. The Item script is not finished yet, but just for sure im writting it correctly.

    Thank you much :)
  • Roxanne said:
    konva said:
    Hi again, is there a easy command to add item to certain stores? :)
    You do that in your tp2. You have found the name of the sto-file for the store in Near Infinity. Make sure that the sto has the CanSell flag and that it buys and sells items of the category that your item has.

    COPY_EXISTING ~XXXXX.sto~ ~override~
    ADD_STORE_ITEM + ~dagg09~ #1 #0 #0 ~IDENTIFIED~ #3

    The file name of the item without the itm-extension, the first #1 in the example is the number of copies the store can sell, so might be higher if they sell stacks. The other two entries #0 are for items with charges, e.g. wands. I propose that you keep the identified flag. The #3 indicates where in the screen of the shop the item is placed (starts at 0 for the top).
    @Roxanne please, I have store, conlan in kuldahar. I have to make a copy to add store item? Or it works when I try only ADD_STORE_ITEM + ~dagg09~ #1 #0 #0 ~IDENTIFIED~ #3? :) Also please look on the script above in previous post. Thank you so much.
  • konva said:
    Another questions..
    BACKUP ~Infernal Legion/backup~
    AUTHOR ~konva~

    VERSION ~v0.1~

    AUTO_TRA ~Infernal Legion/TRA/%s~

    LANGUAGE ~English~ ~english~ ~Infernal Legion/tra/Creatures.tra~

    BEGIN @01

    //Put the creature into the game
    COPY ~Infernal Legion/cre/bigbeetl.CRE~ ~override~
    SAY NAME1 @02
    SAY NAME2 @02

    COPY ~Infernal Legion/cre/orcovers.CRE~ ~override~
    SAY NAME1 @03
    SAY NAME2 @03

    COPY ~Infernal Legion/cre/wolffera.CRE~ ~override~
    SAY NAME1 @04
    SAY NAME2 @04

    COPY ~Infernal Legion/cre/Ragnar.CRE~ ~override~
    SAY NAME1 @05
    SAY NAME2 @05



    //Compile a script
    COMPILE ~Infernal Legion/baf/ATanimal.BAF~

    //Add NPC to the areas per script
    EXTEND_BOTTOM ~ar1015.bcs~ ~Infernal Legion/baf/ar1015big.BAF~
    EXTEND_BOTTOM ~ar1000.bcs~ ~Infernal Legion/baf/ar1000orc.BAF~
    EXTEND_BOTTOM ~ar1200.bcs~ ~Infernal Legion/baf/ar1200wof.BAF~
    EXTEND_BOTTOM ~ar1201.bcs~ ~Infernal Legion/baf/ar1201rag.BAF~
    EXTEND_BOTTOM ~ar1201.bcs~ ~Infernal Legion/baf/ar1201spa.BAF~


    LANGUAGE ~English~ ~english~ ~Infernal Legion/tra/Creatures.tra~

    BEGIN @01
    Is this correct listing for another .tra file?
    //Copy items to game
    //COPY ~Infernal Legion/itm/SW1HPRIS.ITM~ ~override~
    SAY 0x0008 @02
    SAY 0x000c @03
    SAY 0x0050 
    Is this correct IWDEE item descriptions? Im looking here
    https://gibberlings3.github.io/iesdp/file_formats/ie_formats/itm_v2.0.htm


    Questions are in spoiler with green text. The Item script is not finished yet, but just for sure im writting it correctly.

    Thank you much :)
    Question - why do you start a second component for items?
    Also, there is only just one tra-file specified in the always-block at the top of the tp2, so all your

    For items, the most used offsets are
    SAY 0x8 = General name
    SAY 0xc = Identified name
    SAY 0x50 = General description
    SAY 0x 54 = Identified description (you need this only if different from 50 and only if the item requires identification, which is defined at offset 42 by setting Lore required to identify to something else than 0)

  • To add an item into a store you use something like this
    COPY_EXISTING ~shop01.sto~ ~override~
      ADD_STORE_ITEM ~CVheherb~ #5 #0 #0 ~IDENTIFIED~ #3

    You need to identify the store you want to patch before you can add an item.
    Repeat for each store you want to add the item to. (Of course you can add more items once you loaded the store to override.)
    Note - when testing, remember that a store you once visited in game is saved with your game and that items added later will not appear - the save has the store in the configuration of your last visit. So always make sure that you did not yet use the store when you test - alternatively you can remove the sto-entry from baldur.sav which will force to reload the game sto file anew, if you modified it meanwhile that will catch the modifications.

  • Roxanne said:
    konva said:
    Another questions..
    BACKUP ~Infernal Legion/backup~
    AUTHOR ~konva~

    VERSION ~v0.1~

    AUTO_TRA ~Infernal Legion/TRA/%s~

    LANGUAGE ~English~ ~english~ ~Infernal Legion/tra/Creatures.tra~

    BEGIN @01

    //Put the creature into the game
    COPY ~Infernal Legion/cre/bigbeetl.CRE~ ~override~
    SAY NAME1 @02
    SAY NAME2 @02

    COPY ~Infernal Legion/cre/orcovers.CRE~ ~override~
    SAY NAME1 @03
    SAY NAME2 @03

    COPY ~Infernal Legion/cre/wolffera.CRE~ ~override~
    SAY NAME1 @04
    SAY NAME2 @04

    COPY ~Infernal Legion/cre/Ragnar.CRE~ ~override~
    SAY NAME1 @05
    SAY NAME2 @05



    //Compile a script
    COMPILE ~Infernal Legion/baf/ATanimal.BAF~

    //Add NPC to the areas per script
    EXTEND_BOTTOM ~ar1015.bcs~ ~Infernal Legion/baf/ar1015big.BAF~
    EXTEND_BOTTOM ~ar1000.bcs~ ~Infernal Legion/baf/ar1000orc.BAF~
    EXTEND_BOTTOM ~ar1200.bcs~ ~Infernal Legion/baf/ar1200wof.BAF~
    EXTEND_BOTTOM ~ar1201.bcs~ ~Infernal Legion/baf/ar1201rag.BAF~
    EXTEND_BOTTOM ~ar1201.bcs~ ~Infernal Legion/baf/ar1201spa.BAF~


    LANGUAGE ~English~ ~english~ ~Infernal Legion/tra/Creatures.tra~

    BEGIN @01
    Is this correct listing for another .tra file?
    //Copy items to game
    //COPY ~Infernal Legion/itm/SW1HPRIS.ITM~ ~override~
    SAY 0x0008 @02
    SAY 0x000c @03
    SAY 0x0050 
    Is this correct IWDEE item descriptions? Im looking here
    https://gibberlings3.github.io/iesdp/file_formats/ie_formats/itm_v2.0.htm


    Questions are in spoiler with green text. The Item script is not finished yet, but just for sure im writting it correctly.

    Thank you much :)
    Question - why do you start a second component for items?
    Also, there is only just one tra-file specified in the always-block at the top of the tp2, so all your

    For items, the most used offsets are
    SAY 0x8 = General name
    SAY 0xc = Identified name
    SAY 0x50 = General description
    SAY 0x 54 = Identified description (you need this only if different from 50 and only if the item requires identification, which is defined at offset 42 by setting Lore required to identify to something else than 0)

    Well, I did second part for maybe future updates.. if I expand mod content. Now it hasnt much items. But if its sufficient, I can make only one tra. How much @numbers I can use up to?
  • I know of no limits for tra numbers. There are mods that have all of SoD or IWD in one tra file (if the official game does not support their language).
    There is also no need for them to be sequential, for example in some of my mods I use like 5-digit entries for journal texts and 4-digits for items or certain blocks of numbers for certain quests. You can organize that stuff as you want.
    If you traify dialogues, the tra file should have the name of the corresponding d-file otherwise you need to tell weidu the different name by USING ~trafilepath/trafile.tra~
  • Ok thanks :) I test mine works soon, then continue working.
  • @Roxanne could I ask you for assistance? I finished mine alpha version, but got errors.

    Thank you so much.
  • edited January 29
    Your tra-file misses the extension .tra

    To say more, which game is it intended for?
  • yay thanks. Didnt noticed this mistake lol
  • Roxanne said:
    Your tra-file misses the extension .tra

    To say more, which game is it intended for?
    I figured it out. IWDEE patching sword into Conlan's shop.
    When I added the extension to the tra file, it installed for me. The sword is in the store.
    Your script extensions and cre spawns work as well.

  • Thanks for those testing :) At least I finally learned a very little :D
  • Hello, I did something wrong. Conlan has the sword 72x for rougly 550k golds :D and extra orges didnt attacked in cave near easthaven. Forgot to check scripts
  • You use this
    ADD_STORE_ITEM + ~SW1HPRIS~ #1 #0 #0 ~IDENTIFIED~ #72
    The price is determined by the value you set in the item file multiplied by the value that the store has defined in the sto-file as "sell markup", which is 150 for Conlan (i.e. 150 percent of the value in the item that the shop asks you for). "Buy markup" 50 means the store buys items at half their value given in the itm-file.

  • Ok...  #72 this number is the number of stack right?
  • konva said:
    Ok...  #72 this number is the number of stack right?
    Yes, see https://weidu.org/~thebigg/README-WeiDU.html#sec27
  • ahh thanks :)
  • @Roxanne, I looked on the readme of weidu, could you please explain me a little how could I create subcomponents? Another question is that am I able to asign certain scripts to creatures? So when I forgot to check (like with ogres), the install tool will fix this for me?
  • Install Tool fixes nothing like that, how is it supposed to even know?
    What you can do is to assign scripts to creatures via your tp2 instead of including them into the cre-file. Example from your mod:
    COPY ~Infernal Legion/cre/Ragnar.CRE~ ~override~
    SAY NAME1 @05
    SAY NAME2 @05
    WRITE_ASCII 0x248 ~scriptna~ //scriptname without bcs-extension 248 is offset for the override script. Class would be 250, Race 258, General 260

  • Roxanne said:
    Install Tool fixes nothing like that, how is it supposed to even know?

    Yeah, I meant it that way lol, assigning that script via tp2 :) thanks, and sub components, like only items, or enhanced encounters?
Sign In or Register to comment.