Jump to content

Moonboy187

Members
  • Posts

    84
  • Joined

  • Last visited

Posts posted by Moonboy187

  1. 43 minutes ago, jmerry said:

    What you need is an "or" condition. Rows in the condition block are normally combined with an "and", so we need to override that.

    Using your code as an example...

    IF
        OR(5)
            HPLT("HMCOUN1",40)
            HPLT("HMCOUNC2",40)
            HPLT("HMCOUNC3",40)
            HPLT("HMCOUNC4",40)
            HPLT("HMCOUNC5",40)
        Global("DragonReinforcements","AR6301",0)
    THEN
        RESPONSE #100
            SetGlobal("DragonReinforcements","AR6301",1)
            DisplayString("HMCOUN1",286029) 
            ScreenShake([30.30],20)
            CreateCreature("HMOAS06A",[1814.502],SW)
            Wait(1)
    END

    The indentation is purely cosmetic here, but of course it's standard to indent everything that belongs to an OR group. Note the syntax - nothing to close the OR group, but you have to specify the number of conditions when you declare it. There are five conditions being combined this way in your example, so that's OR(5).

    Thank you for responding,  I unfortunately am not too familiar with the full syntax of using Java. I did not even know that you had to specify the amount of conditions set for the OR group, never knew that was even a thing. I do need to brush on my skills. Thank you again for your help.

  2. Hi,

    Currently I am trying to edit a .BCS script to allow hostiles to appear once a HP threshold has been met by any one of several npcs:

    //

    IF
        HPLT("HMCOUN1",40) 
        HPLT("HMCOUNC2",40)  
        HPLT("HMCOUNC3",40) 
        HPLT("HMCOUNC4",40) 
        HPLT("HMCOUNC5",40)  
        Global("DragonReinforcements","AR6301",0)
    THEN
        RESPONSE #100
            SetGlobal("DragonReinforcements","AR6301",1)
            DisplayString("HMCOUN1",286029) 
            ScreenShake([30.30],20)
            CreateCreature("HMOAS06A",[1814.502],SW)
            Wait(1)
    END

    //

    If I only have 1 instance of HPLT with any one of the creatures it works, but what I am trying to do is activate the response if any of the five creatures fall below that threshold. I don't really know how to do that. Any help would be appreciated.

    Thank you.

     

  3. 17 hours ago, Guest Graion@Work said:

    Which monsters are you attempting to transfer over?

    In the EEs, all artwork has an INI file detailing their art and sound with animate.ids listing the used slots. In 90% of the cases, the INIs are shared between the games, so you only have to copy the artwork and the sounds over.

    Just crosscheck animate.ids. the animation entry's INI file, the IESDP creature INI description - INI file format: Creature Animations (gibberlings3.github.io) and ensure that you have all the bams and audio along.

    I was looking a look through the .CRE to have a look to see which would fit in to what I wanted to do, I found a few :)

    16 hours ago, argent77 said:

    The animation definition files have been unified across the games, but the actual graphics and sound resources exist only if the game actually uses them. You can inspect the respective .INI files for the creature animations to see which animation and sound files are expected.

    For example, the Frost Giant animation is defined by E24F.INI. The "resref" entry defines the BAM animation prefix, so you should copy all BAM files starting with that prefix over from IWDEE to BG2EE. The [sound] section defines the required WAV files used by the creature animation. You'll probably have to copy them over as well.

    Thank you, I was a bit perplexed as to where the .INI was, but by editing the file animation it showed the files for the sound and .BAM. 

    Thank you both for your help!

  4. Hi,

    As per the title, I was looking for a way to import some models from IWDEE to BGEE. Using NI I can see them but I cannot use them in game as there are no animations for them. For example, I can see the Frost Giant animation when looking at the IWDEE Chitin.Key, but if I export it into the BGEE overide folder, I still cannot see it. Is this something I have to use WeiDu to use in order for it to work?

    Thank you.

  5. 1 hour ago, lynx said:

    Thank you, I have bookmarked this page for future reference!

    1 hour ago, polytope said:

    ApplySpell action is different to ReallyForceSpell() because it doesn't cause the creature whose script called it to face their target i.e. it seems to come from out of the blue (and doesn't have an associated caster level, as IESDP notes). Useful in cutscene type setups.

    Surely you've noticed that ForceSpell() respects original casting time (although uninterruptible) and doesn't take place during Time Stops, this is actually useful on original BG2 engine if you want to make certain a creature isn't acting during a Time Stop, ForceSpell() - cosmetic - before any ReallyForceSpell() actions in its scripting blocks.

    I had noticed that some spells using Force were not able to be interrupted and those without were. The main thing I was unsure if the level of the caster would affect the spell, for example a Mirror Image on a low level caster having ApplySpell vs a high level caster. 

  6. Hi,

    I was wondering how it would be possible to allow the AI spellcasters to cast wish to restore/breach/time stop? I had looked at Szass Tam script as I noticed that during the fight he will eventually use it. He either uses it at the beginning to go straight into Time Stop or will use it later on. Once the fight ends and you continue to fight him after dialogue, he will use Wish again to restore his spells and combat resumes like it never happened. Is there a way to put the spell within a pre-existing script which would allow the spellcaster to use it once most of their spells have been used up or even to allow them to use the other two effects?

    I have attached part of Szass Tam's script where it mentions the use of Wish and also the .DLG script which happens once dialogue ends.

    Szass Tam script.txt

  7. 6 minutes ago, jastey said:

    Because (5,1) tells the engine that it's one out of 5. (1,5) I'm not sure makes even sense to the engine - 5 out of 1? From what you experienced, it seems to translated to "always".

    I see, when I looked at it at first I was under the assumption that (1,5) meant that there is a 1 in five chance of being x, it never occurred to me that the opposite is actually the right way.

    3 minutes ago, Almateria said:

    A way to think about it is that (5,1) means „there are 5 random outcomes of equal likelihood; this is the value returned for the first of them”.

    (1,5) would similarly mean „there is 1 outcome of equal likelihood, this is the value returned for the fifth of them”, and the fifth roll of a 1-sided dice will always return a 1. 

    Thank you both for the explanation, this game engine is quite puzzling at times.

  8. Hi,

    I had seen a script done by @DavidW using RandomNum. In his example there are 9 different creatures each tied to a different number from 1-9 and depending on which number is called I would assume then the corresponding creature would spawn. Using his example I created my own version from a small pool, 1-5, however for some reason the creature which I have set to be the fifth and final number is always the one which ends up being spawned. I don't really understand why the script doesn't actually do the random number check. I have done multiple new games and reloads to test the script and it keeps returning the same creature each time. 

    Attached is a copy of the .BCS I used, which is tied to the creatures themselves.

    Thank you.

    HMRAN06.BCS.txt

  9. On 8/16/2022 at 6:27 PM, subtledoctor said:

    Sorry I  was in a rush earlier. Yes the new projectile has to be logged with the engine, i.e. have a valid .IDS index number, for it to be used.

    It's been a long time since I looked at doing this without using Weidu, but yeah, even if you add the new projectile to PROJECTL.IDS by adding a new entry in NI, it is  still not available. This might be as simple as you have to close NI after saving the .IDS file, and then re-open NI so that it can recognize the new entry. But even that might not work. Honestly I forget.

    I generally keep a little mini-mod in a BG2 game folder called "test.tp2" so that I can just plop in some Weidu and run it  really quickly - that is useful for stuff like this. The procedure would be something like:

    • copy an existing projectile in NI, something close to how you want it to be; close NI
    • put the copy in the /override folder with a new name (say, "newproj.pro"), and open NI and make some changes to it; close NI
    • in the mini-mod:
      ADD_PROJECTILE ~override/newproj.pro~ // (Weidu conveniently stores the new projectile index in a variable with the same name as the file) 
      COPY_EXISTING ~spwi925.spl~ // Comet
        LPF ALTER_SPELL_HEADER INT_VAR projectile = %newproj% END
      IF_EXISTS BUT_ONLY

       

    Of course the  projectile index is added dynamically by Weidu, so this isn't a "drop files in /override" way of applying changes to the game. This is one of those instances where it's really better and easier to use Weidu, which means making/having your own personal little Weidu mod.

    Its okay, thank you for helping out. I have never used Weidu before, I did a search on G3 and found a tutorial DavidW has made, I just need to find the time to read through it and give it a try. All the changes I have made to creatures, spells, areas etc, I have just manually done via NI. I was a bit confused when the Add Copy did work as it was the first time since using it that it didn't. I will download Weidu soon and give it a bash and see how it goes.

  10. Hi,

    I have been trying to modify some of the properties of some .PRO files, for example Storm of Vengance, Comet, some fire effects. However, my usual trial of "Add copy of" using NI does not seem to work with these files. Even though the copy is made, when I go to the spell to select the new .PRO it does not show up on the list. I have added the new .PRO inside the ID's as well, but still nothing.

     

  11. Hi,

    I have been creating a small side quest in ToB and I am wanting to allow the party to be sent to one of Dorns quest areas - Helmite Camp. I have set the .BCS of the map to check to see if the party has a particular item and then update the map location. This works, however it just says Unreachable. I looked at the worldmap in NI and I even moved the location of the area closer to ToB which is where I want it but it still says its unreachable. Thing is, I dont want to force teleport the party there as I am worried that they will get stuck  and not be able to return to ToB. Is there a way around this?

    Thank you.

  12. 39 minutes ago, DavidW said:

    Pretty sure it works; however, they will have dropped any gear and it’s not straightforward to get them to pick it up.

    What if the gear was set to be undroppable? For example a Fire Giant has its own weapon which cannot be dropped. Theoretically, would they then resume their actions per their own script?

    Thank you for getting back to me

  13. On 7/21/2022 at 9:03 AM, Graion Dilach said:

    That has nothing to do with SCS....

    But yes, BG(2)EE ANIMATE.IDS includes entries for IWD(2) artworks, and the INIs are also included in the game (there are a few index differences between the BG EEs and IWDEE though). Open the INI file of the art you want with NearInfinity, note down the resref value as the BAM prefix and look up all filenames in the sounds section as well. If you collected all these files from IWDEE/IWD2 and threw it to override, you can set the creature's Animation ID @ 0x28 to the INI name you used. Note that Icewind Dale animations have different action sets, so depending on the art you replace, some visual bugs may occur.

    Also, SoD (and EET due to it) already does a fair amount of import, so you should check if the files already exist in the game.

    Thank you for the help, I know it doesn't have anything to do it, however I am extremely grateful for the help.

  14. 13 hours ago, jmerry said:

    LoB is the same as Insane for this purpose, so it's only one point to bring in Mel on that difficulty. Which means that killing any one of the enemies does it.

    As I said, the logic for this is all in the area script. That's pretty easy to edit. As for where in the mod it comes from ... not SCS. Ascension, /ascensionmain/baf/plot/ar6200.baf

    Sorry, I had misread the previous post. Thank you for posting the file location.

    Is it possible to add in IWD creature models into BGEE using NI without having installed the component for it? For my current installation I did not include it as I wanted a more focused BG experience. However as I am modding a bunch of things, I do wonder if it is possible for me to include it?

×
×
  • Create New...