Skip to content

BP Series Party AI Scripts for BG:EE (non-weidu) Available!

horredtheplaguehorredtheplague Member, Developer Posts: 186
I just got the game last night, and got to work right away. It's very crude compared to the classic BP Series, but this is a non-overwriting version built from the vanilla assets. Just add the scripts to your folder and you're ready to go.

You can get the files and more information at Spellhold Studios: http://www.shsforums.net/topic/55587-bp-series-party-ai-scripts-for-bgee-non-weidu/ I also started a feedback thread there for any comments, questions, suggestions or complaints.

Enjoy!
--Horred the Plague
«1

Comments

  • GuboGubo Member Posts: 75
    Cool! Been waiting for this, thanks a ton!
  • PorcelynPorcelyn Member Posts: 65
    Oh I like this a lot. My party is actually casting spells and drinking potions. Thank you so much.
  • ArrowBringerArrowBringer Member Posts: 4
    Good work :) , i have been playing with Uscript , it's been kinda buggy ..
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    Glad you're liking it thus far. I posted a quick hotfix update over at SHS. It fixes a loop I found in the player shouts, makes the HEALER system work a lot better, plus various other little fixes and optimizations. I'll probably have a few updates over the new few days or so, as I get to test these more in gameplay and receive some feedback.
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    I'm glad to see the best party AI available in the Infinity engine is already available for BG:EE :) Thanks Horred :)
  • Azchar111Azchar111 Member Posts: 27
    @horredtheplague
    Your scripts work quite well for me. I had forgotten BP scripts had a melee/ranged toggle but having that again is a lifesaver. Vanilla scripts kept bring my squishy partly members into melee.
    Is Item Use working OK? The in-game comment doesn't agree with the text file - 'personal use'? Not sure what that means. I assumed the text file was more up to date and my characters ARE using healing potions so I suspect the text file is correct.
    Thanks for all your hard work!
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    Azchar111 said:

    @horredtheplague
    Is Item Use working OK? The in-game comment doesn't agree with the text file - 'personal use'? Not sure what that means. I assumed the text file was more up to date and my characters ARE using healing potions so I suspect the text file is correct.

    I should add a list of those suboptimal strings to the Read-me file...sorry for the early-rush confusion, I'm just getting things set up. I did this Script Set in a non-overwriting way which meant I was confined to what strings I could find in the vanilla tlk file. Not all the exact choices you'd want are there, though some were or were close. In the classic BG2 BP-Series (part of the Big Picture mod), WeiDu adds all the strings you'd expect, where you'd expect them. When WeiDu gets perfected for BG:EE, I'll be sure to make a WeiDu version of this mod with proper strings for all the functions--including the Customize-->Scripts GUI page. But don't forget, this "vanilla" version has one advantage. It can survive almost any update the dev's have to offer in the weeks to come, whereas a WeiDU mod will likely be overwritten and require re-installation.

    For the item switching (HotKey(E)), the strings go as follows:
    "Quick Item" = "Use All Items" Anything goes in item use, subject to availabilty.
    "Personal Item" = "Use No Disposables" Daily-recharging items are fine, but nothing w/ charges
    like wands or potions
    "Item has no usable..." = "Use no items" (not even rechargables)

    For the auto-buffing (HotKey(B)), the strings are even worse:
    "Long Sword" = "Long-Duration Buffs"
    "Medium Shield" = "Medium-Duration Buffs"
    "Short Sword" = "Short-Duration Buffs."

    On the bright side, I got some nice updates into the Series today. From the changelog:
    v0.0004
    Acquired Neera in party, so I added and tested scripting support for Nahal's Reckless Dweomer to BPFT-MGT,
    BP-Multi and BP-Range. (As a wild mage is a single class only, I recommend BPFT-MGT. )
    When the spell is cast, control switches to Neera and the Dweomer "recast"
    interface opens. A split-second later, the game pauses for your followup wild-spell
    choosing convenience. It's not entirely foolproof yet, but worked properly in the last few tests I gave it.

    Worked on the healing systems even more. Self-healing and party healing. Concentrated on
    parties with two or more healers at once (Jahiera and Branwen, might add Viconia soon).
    Developed a method that seems to nearly eliminate any duplicate castings from two casters
    both using the BPFT-CL script in HEALER mode. Instead of a Global Variable, I used a
    ActionOverride() to IncrementGlobal() on the HEALCALL LOCALS timer of the nearby
    Clerics. All at one-second different intervals. Side effect, it adds a delay in the "loser's"
    recovery time before they can do their castings. But I had Branwen and Jahiera both
    standing next to a wounded Khalid at the same time, and only one spell from the two
    was cast on him. The other moved off a few seconds later to heal somebody else instead.

    The new version is available in the Big Picture forums, over at Spellhold Studios. This about covers every issueI've seen so far. I'm cleaning up the code itself as I read it, testing and optimizing the scripts as I testplay, pause and recompile. I'll have to see some more, acquire a few levels to get a good in-game look at many of the features, or wait for some reports from you that are using them before the next update. But the BG2:ToB source code they were derived from was very thoroughly tested over the years, so I'm fairly confident the transition will be a smooth ride.
  • PosvicPosvic Member Posts: 7
    Thanks for the quick work
  • Azchar111Azchar111 Member Posts: 27
    Thanks for the string info. My party is low level (<5 for the most part) so I haven't been able to put the spell AI to vigorous use yet. I'll let you know if I see any oddness.
  • PorcelynPorcelyn Member Posts: 65
    I don't know if you can fix it but every time someone leaves party and I add them back I have to select the script again. I moved all the scripts except yours out because there were just too many. Could that be why?
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    No, moving the other scritps didn't break it. That's an internal game function doing it. It's in the actual NPC scripts (the ones that make them fire their dialogs on cue, do special events (e.g. Minsc prompting you to Rescue Dynaheir), ettc. The script causes them to switch AI scripts when they LeaveParty().

    There's a good reason for doing this (allowing it to happen), too. Much of the scripts are written from a PC's allegiance perspective. When the NPC leaves the party, they are no longer part of faction "PC", but are now considered faction "NEUTRAL".

    I can think of one really bad example off the top of my head---the "Friendly Fire" script block of BP Series. Meant as a warning to you, when you're (accidentally) hurting your own people. A good thing when they're in-party, right? But if they were out of the party w/ a BPSeries script and you attacked them, they'd just keep shouting "Friendly Fire" until you killed them. They'd never switch to Enemy() and fight back.
  • ScotGaymerScotGaymer Member Posts: 526
    So um I downloaded and unrared this mod to the scripts folder in BGEE.

    And I can select the scripts in game (which is great) but they dont have descriptions (which isnt so great) so I am having a little difficulty figuring out which Scripts are supposed to be used with which classes.

    So um. Stupid question. Is that info in the read me? If not can you tell me which script is for what class please?
  • LiamEslerLiamEsler Member Posts: 1,859
    @fitscotgaymer, wouldn't it be easier to just *read* the readme? It absolutely gives that information, as most readmes tend to do. ;)
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    @fitscotgaymer

    If you find the use of in-game strings and lack of info in-game bothersome, I'd recommend using the weidu version of the mod instead. At this point it requires a little work on the user end, which is why I offered this easy-drop version of the mod as well---with drawbacks, such as you just mentioned. All info except which funky in-game strings I used for what, is in the read me. In a post a few up from this one, I covered a couple of the worst of these.

  • ScotGaymerScotGaymer Member Posts: 526
    Well excuse the hell out of me for asking a flipping question.

    Jeez.

    I wont bother in future.
  • horredtheplaguehorredtheplague Member, Developer Posts: 186

    Well excuse the hell out of me for asking a flipping question.

    Jeez.

    I wont bother in future.

    *shrugs* Okay, as you wish then...have a nice day. :)
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    @horredtheplague Are Blackguard abilities fully supported? I haven't seen Dorn using his even once. The AI could use their absorb health ability for self healing instead of going for a potion or calling for help, for instance.
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    .
    mlnevese said:

    @horredtheplague Are Blackguard abilities fully supported? I haven't seen Dorn using his even once. The AI could use their absorb health ability for self healing instead of going for a potion or calling for help, for instance.

    No, that's something I'm going to have to get added in, sorry. I'm still trying to get Dorn in my party, as that's the best way to test the scripted abilities out. It's a priority, however.
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    @horredtheplague Would you a like a savegame with him in? Dorn just got his Aura ability.
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    @mlnevese : Thanks for the kind offer, but I'll get it this weekend. I know how to acquire Dorn, at least. There's a couple other updates I'll get added in at the same time.
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    I'm going to have a major update to the weidu version coming in later today--several new scripts, new features, major cleanups, all of that. What I'm curious of, is there still enough interest in the non-weidu version to make an update as well? It would not be a minor task; I'd have to take out all the custom strings and replace them with vanilla again. Delete the advanced intelligence once more, and account for all of the custom IDS entries. Truly, I recommend the weidu version now; the pluses far outweigh the minuses.

    Naturally, a non-weidu release would come out after the weidu release, were I to make it.

    Thanks,
    Horred
  • PosvicPosvic Member Posts: 7
    @horredtheplague since you ask, here's my take:
    Focus on the weidu version for now. When you have settled on a semi-final version (as these things tend to be) do the work of converting to non-weidu. This will speed the path to completion, instead of doing double the work for every update.

    From what I recall from the non-weidu version is still miles better than anything else out there.

    And thanks for the updates :)
  • seasea Member Posts: 65
    Tried the new WeiDu version you just released, but I get "missing string" errors in the scripts menu when I bring it into my game.
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    I haven't released the "very new" version yet, still testing the code I wrote last nt. Did you apply the Update 5 to BGEE after installing? That could delete it. Did you follow the (currently wonky) installation procedures for weidu mods? That could do it too.

    How I install weidu currently: I copy dialog.tlk from my lang/en_us folder into my Data/00766 folder before installing, because that's where weidu currently needs it *right next to* the chitin.key file. Then, after install I make a backup of my lang/en_us folder's dialog tlk, and finally overwrite it w/ the modded dialog.tlk in my 00766 folder. Add more mods, follow the same procedure. That's the only way I've found to get the custom strings to show up. The dialog.tlk backup is just a precaution (in case you get some sort of unexpected meltdown, easy painless reversion).
  • WatercrownWatercrown Member Posts: 5
    Would it be possible to somehow modify this into a really barebones version? The normal game scripts are just so terrible. I have people set to standard attack but often they just stand around and do nothing. Often times I'm giving my spell caster a command and they will cancel it in favor of a normal attack... it's really frustrating.

    This mod seems really awesome. I can definitely see the appeal... but all I want my guys to do is just auto attack with range or meele and prioritize on my commands. I tried using the pure fighter script and it seems to work well... however I'm having a problem with my fighters cycling through weapons.
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    @Watercrown You can set all characters with the BPPUREFIGHTER script and disable things like using potions and other consumables. The scripts would still trigger some HLAs later in the game though.
  • horredtheplaguehorredtheplague Member, Developer Posts: 186
    edited January 2014

    Would it be possible to somehow modify this into a really barebones version? The normal game scripts are just so terrible. I have people set to standard attack but often they just stand around and do nothing. Often times I'm giving my spell caster a command and they will cancel it in favor of a normal attack... it's really frustrating.

    This mod seems really awesome. I can definitely see the appeal... but all I want my guys to do is just auto attack with range or meele and prioritize on my commands. I tried using the pure fighter script and it seems to work well... however I'm having a problem with my fighters cycling through weapons.


    The last couple versions of BP Series offered more weapon-switching options. The "Intuitive" modes are still a little touchy--some things I need to work out yet. It could be all the random weighting of the melee/ranged swaps, I'll check it out and see if I can sort it.

    One of the newer modes, Absolute, might be just what you're looking for. It siwitches to melee weapons at melee ranges, and ranged weapons beyond that. There's also locked modes for melee and ranged, to prevent switching. The latter good for meat shields &/or archers.

    The only bad news is, we now have a very overcrowded swap hotkey(K). Takes nearly a round to click through the set. It's a shame so many keys are used up by the regular game. I'd love to make this smoother on the end user if I could.

    Last tally had this at 56 party AI scripts for 3 games. I'm not sure how many more I wish to maintain with regular updates. Though admitedly, a "very bare bones" script wouldn't require much maintenance.


    Maybe some other scriptor that prefers this approach will make a set? We'll see. With the new games both out, a new generation of IE scriptors might surface. What I personally like these scripts for is setting them for everybody but the main PC, and then trying to play as much in realtime as possible. Or, on some lazier days, setting the whole party and just watch it all happen. In the easy-medium battles, there's rarely need for interference. I'm confident enough in them, I'll leave the room in mid-combat.

    I can't say the same, when I pit BP Series vs BP AI on autopilot. They use similar tactics, and it evens out the odds. Still fun to watch (especially as the mad scientist responsible), but be ready to intercede or you'll get burnt.


    P.S: If you can open the scripts folder in NearInfinity, select BP-PUREF. Right click, choose Add Copy Of--rename it to whatever (8 chars or less). Select your new script. At the bottom is a button Find. Choose In This Script Only. Run a text search for HaveSpell and HasItem, follow the links in the popup box. Delete all blocks that contain it. Or, leave in the self-healing potion blocks, certain HLA's--whatever you decide. Hit compile, then save. And you should have close to what you were looking for, with a few bonus perks. It won't have a text description when you choose it in-game, but it should work fine. If you forget what key does what, just check BP-PUREF's description. ;)
  • AlonsoAlonso Member Posts: 806
    edited September 2016
    Just downloaded the mod here. I unpacked the compressed file in my game directory and ran setup-bpseries.exe. I get the message "This is a non-stable version. Unless you're sure about what you're doing, consider downgrading". I'm not even remotely sure about what I'm doing, but I don't know what to downgrade to either. Any advice?
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    @Alonso This warning issued by beta versions of WeiDU. When you run a setup-something.exe, the version of WeiDU is the very first thing displayed in the DOS window. Non beta versions end with 00, a beta version ends with 01, 02, ...

    Since the version of WeiDU included in the archive you can find in the link you gave is 23600, which is non-beta, that means you have another mod in your game which brought a beta version, and the auto-update feature of WeiDU updated older setup-something.exe such as setup-bpseries.exe.
    If the main version of your WeiDU is lower than 239 (for instance 23801), you can simply download the latest non-beta version of WeiDU here and copy weidu.exe as setup-bpseries.exe (overwriting the existing one) in your game directory, then run setup-bpseries.exe again.
  • AlonsoAlonso Member Posts: 806
    edited September 2016
    @Isaya: I'm not following you very well. How do I know the main version of my WeiDU?
    Assuming it is lower than 239, I understand what you mean is: I rename weidu.exe to setup-bpseries.exe, I overwrite the setup-bpseries.exe in my game folder with this file and then I run the new file. That will install BP series. Did I get that right?
Sign In or Register to comment.