Jump to content

Pasquale1223

Premium Member
  • Posts

    242
  • Joined

Everything posted by Pasquale1223

  1. That appears to be the cause of the problem. You're trying to create a string with a string ID that already exists in the DB. Usually, when we add lines of dialogue through the conversation tool in the toolset, it automatically assigns a string id behind the scenes. But then when you try to save it, the string ID it automatically assigned already exists in the DB so the save fails. As for a solution - I'm not sure what to tell you as it isn't something I've ever done, but there are some things you could try. You could try creating a duplicate of the conversation you want to modify and edit it to see if you can get that to work and save your changes. Here's a quick description of a series of steps... Create a duplicate with a slightly different name, like prepend "new" to the filename. Make the desired edits and save them. If that works, continue with the next step. Rename the vanilla file by prepending "old" to the filename. Now rename the new file you just edited by removing the "new" you had prepended. So now the file you've edited has the vanilla filename and the vanilla file has "old" prepended to it. Export/distribute the files so you can test them and test. I have no idea whether that will get you where you want to go, but it may be worth a try. Good luck.
  2. To add to the information HD has already provided, I'd like to point out that, if you're having trouble editing the xls (don't happen to have an old copy of Excel laying around or whatever) you can alternatively edit the generated gda using a nifty tool called GDApp. Also, in the xls source file location HD provided, (Dragon Age Ultimate Edition) refers to your game installation directory. Just exactly where that is on your local machine can vary depending on whether you installed through Origin, Steam, GOG, etc., and whether you used the default directory or changed it. I would suggest giving your edited gda file a new name to differentiate it from others. That is usually done by extending the name of the file, like so: ABI_Base_mymod.gda, where "mymod" is something unique that will remind you what it is and help you avoid confusing it with any modified ABI_Base files that may be provided with other mods you might install. Finally, once you're ready to use your edited gda file, you need to put a copy of it someplace where the game will read it when it starts up. Mods are typically installed in subfolders under documents -> BioWare -> Dragon Age, and something like packages -> core -> data would be an appropriate sub-location for something like that. Have fun!
  3. I appreciate that, thanks. I can't follow the link you provided though - it just gives me a page that says "You do not have permission to view this topic".
  4. Oh, I wasn't able to find it despite a lot of looking. I'm not sure I had access to it, because it's pretty hard for me to believe that I just kept overlooking it. I kept hoping that someone would respond - and someone finally did. But something is still really weird. After not having logged out, when I refreshed the page to view your reply I saw my name listed at the bottom of the page again. So I tried to visit my Account Settings again to see if it had somehow been changed back, and when I try to select "Security and Privacy" it wants me to re-authenticate. Even though I'm logged into my account in the forums, it asks that I "Sign in with Nexus Mods". So I clicked on that bar, which automatically signed me into Nexus Mods and I was then able to see my Security and Privacy settings which had not changed - but my name was no longer listed at the bottom of the page. Apparently, the logins for the new forum and Nexus mods are not yet fully integrated - and you need to be logged into Nexus Mods or your Security and Privacy setting in the forums will be ignored. Fun, huh?
  5. After all this time - I finally seem to have worked it out. I found where I could set this under Account Settings -> Security and Privacy -> Online Status. I don't believe I had access to that before. I've been looking for quite awhile, ever since the migration, and hadn't been able to find any way to mask my online status or enable anonymous browsing. Since I changed the setting, I no longer see myself listed at the bottom of the page. I just thought I'd mention it in case anyone else is searching for it.
  6. Thanks for responding to my question about that. I always see myself listed at the bottom when I'm browsing forums. It does clear a few minutes after I logout, and I don't know how to interpret that set of information. Does everyone see their own name even if no one else does? Also, I haven't found any Profile settings related to masking online status or anonymous browsing. If anyone has any additional info to offer, I would appreciate it.
  7. Alas, it has nothing to do with personal desire or ambition, but simple bandwidth. I'd love to. And frankly - I'd love to have been able to volunteer when you put out the call for beta testers, too, but simply could not. Right now I'm in the middle of what started out as a fairly routine bathroom upgrade project that went awry - and turned into a much, much bigger ordeal than it should have been - and just about everything that could go wrong has. And after that, I have other home projects waiting in the wings. Meanwhile, I still really need to get my own mod finished so I can release it. It is more or less a collection of what could have been a whole bunch of individual mods that I put all together in one (fully configurable on the fly) package. And there is quite a bit of work yet to do on it. It is my ambition that gets me in over my head, lol. Sorry I can't be any more help atm.
  8. As I mentioned before, what has worked for me is to put things I have in core directly under Addins -> MyModule. (It's also a lot easier to keep track of where stuff is imho.) I believe that if you're putting it in core, you don't need to create separate versions. You won't need to tag "awaken" on the end of it, you can use the same code and just release it as a core resource. The only difference is that you may end up creating a separate package for Awakening and the only reason you need to do that is to create the additional entry in the addins.xml file. What is shown on the object inspector looks okay to me. (Keep in mind that the thing I've been working on is a hybrid - it has some aspects that are core and some that are not, so it is difficult for me to differentiate at this point. It has all been trial and error for me.) I can tell you that the toolset generates a Manifest that looks a lot like the ones you posted here, and puts it in the modules section. But what I've actually edited into my addins.xml file to get it to work as a core resource - and in different scopes - is highly simplified. It looks like this: <AddInItem UID="PasqWorkhorse" Name="PasqWorkhorse" ExtendedModuleUID="core" Priority="100" Enabled="1" State="2" Format="1"> <Title DefaultText="PasqWorkhorse"> <en-us> <![CDATA[PasqWorkhorse]]> </en-us> </Title> <Description DefaultText="PasqWorkhorse"> <en-us> <![CDATA[PasqWorkhorse]]> </en-us> </Description> <Image/> <Rating DefaultText=""> <en-us> <![CDATA[]]> </en-us> </Rating> <RatingDescription DefaultText=""> <en-us> <![CDATA[]]> </en-us> </RatingDescription> <URL DefaultText=""> <en-us> <![CDATA[]]> </en-us> </URL> <ReleaseDate>12/2/2020</ReleaseDate> <Version/> <GameVersion/> <Type>1</Type> <Publisher DefaultText=""> <en-us> <![CDATA[]]> </en-us> </Publisher> <PrereqList/> </AddInItem> Copy and replace "core" with "Single Player" for DAO, "DAO_PRC_EP_1" for Awakening, etc.
  9. They certainly didn't make it easy to get things to run in other scopes. It's generally best to avoid putting things in core, but it seems like sometimes one has to go there to get them to work in other scopes - and that is something you are wanting to do here. If you want to give that a go, here are some things you'll need to do: RE file location - you'll probably want the mod files to be directly under documents -> BioWare -> Dragon Age -> AddIns -> MyModule instead of distributed anywhere else. In the toolset, with your module open, click on file -> manage modules -> properties which will bring up the object inspector. Make sure all of those values are set correctly - Script should contain the name of your event handler, Content Module and Extended Module should say Core Game Resources. As for the addins.xml file, you'll probably want entries for both "core" and "DAO_PRC_EP_1". I wish I had better answers, but a lot of this has been trial and error for me, too.
  10. Silly question: did you update the addins.xml file to accommodate Awakening? The toolset overwrites it every time you compile or export something, so you need to manually edit it every time you save/export something from the toolset that you intend to use in Awakening. Just as a reminder, you need an entry in there that looks like this: <AddInItem UID="MyModName" Name="MyMod" ExtendedModuleUID="Single Player" Priority="100" Enabled="1" State="2" Format="1"> Instead of this: <AddInItem UID="MyModName" Name="MyMod" ExtendedModuleUID="DAO_PRC_EP_1" Priority="100" Enabled="1" State="2" Format="1">
  11. If you say so - still seems mighty strange to me that anyone would click "Submit Reply" on something they don't intend anyone but mods to ever see, something they immediately lose access to. That the option is available when creating a post is odd (to say the least). Any word on anonymous browsing? Thanks.
  12. Hmm... never really bothered me. But I've noticed you really enjoy multi-classing. From time to time the question of how many specializations characters should have comes up, and... it is an interesting question. It can take a lifetime to master - really master - something. A jack of all trades is a master of none. There's only so many talents/spells you can actually make use of. The talent/spell trees are often riddled with things we spend points on just to get to the things we really want and do use, at least it seems that way to me.
  13. I stuck around a little more, but have also fallen off the wagon. I was very disappointed with DA2. It took me a couple of playthroughs to get used to it - but I did, and was able to get some enjoyment out of it. A different kind of enjoyment, it's a different kind of game. Hawke is not my character like the warden is. Neither is Shepard, but I also love the ME series - in a different way, for different reasons. So I liked DA2 well enough to rack up several playthroughs and buy all of the DLC. As for DAI - I didn't like what I was seeing pre-release and ignored it for quite awhile. A couple of years after release, I bought the whole package including all of the DLCs for like $20. I played it once and did not finish all of the DLCs. I have no interest in the upcoming release, and have no idea who they think they're even making it for at this point. From time to time I see discussions about remaking/remastering DAO, especially on reddit. I'm not keen on the idea, especially since I would not expect them to release a new toolset with a remaster. If a remaster would include the toolset, I might be interested.
  14. Well - D&D is kinda the basis for RPG as we know it. Certainly, a lot of other kinds of mechanical systems have been devised and developed over the years, but D&D started it all. Each individual class/character is supposed to offer some combination of strengths and weaknesses to make the player's choices meaningful. It is why, for example, powerful caster classes tend to be very vulnerable/squishy and the more resilient/tank classes tend to produce lower DPS. I guess I never really minded that only rogues can unlock things and deal with traps - it always made sense to me. Plus, it was that way from the beginning, starting with DAO so it was easy for me to accept. I really dislike the restrictions introduced in later games - stripping dual wield and archery abilities from warriors (that started in DA2) and requiring players to have a follower of a certain class to get through barriers (ala DAI). Bleah. As for choosing the party composition based on personality - so easy to do in BioWare games. The followers and the banter is one of the biggest draws imho.
  15. I appreciate your assistance. As I mentioned before, it was never my intention to hide the post in the first place. Frankly, it never occurred to me that anyone would create a post only to hide it - what's the point in doing that? Why would such a feature exist? I still find it troubling that using that slider switch caused me to lose access to the post. I think it's a bug and would like site admin to take a look at that. Long story? I like long stories - care to share?
  16. I can't see them, actually. Not in the thread, not when I look at my activity from my profile. They are completely lost to me. I didn't think it posted the first time, thus the duplicate. It's weird that you can see them but I cannot. It sounds like a bug to me. Thanks for responding. Not so much easier if it means the post is completely lost to the originator. And I guess I never really quite understood the value of hiding posts, anyway. I mean, if you don't want something to show up, wouldn't it be easier to just delete it? Any word on anonymous browsing? Is it still available - or no? Thanks.
  17. Can anyone explain what the "Hide" slider at the bottom of the posting block actually does, or how to work with it? I haven't seen any information about it. Apologies if it's been discussed, and I've missed it. I just placed a post elsewhere and tried using it, thinking it might provide the anonymous browsing capability we used to have (that I inquired about in this thread back on 11/21, but never received a response). The post didn't show up - I can't find it in my history, in my profile, nowhere. I was hoping that if "Hide" simply meant it would not be displayed in the thread, maybe if I could find it in my history I could edit it to un-Hide it, but I haven't been able to find any trace of it. Any ideas? Thanks.
  18. Balance. It's a time-honored characteristic in most anything derived from any sort of D&D inspired RPG mechanics. It's the reason why high DPS combatants are usually squishy and don't gain as much health from level-up or additional constitution investments and it's why massive armor also has high fatigue and it's why a tank build can absorb a lot of damage but usually doesn't put out much. They made rogues uniquely valuable by making them the only class that could pick locks or disarm traps, and only mages can heal or remove de-buffs (and work other magics). Warriors make the best tanks, though you can actually get by without a warrior in the party. Of course DA2 further differentiated the classes by restricting weapon usage (DA2 warriors cannot dual wield or use bows), and DAI requires a specific talent/spell from a specific class to overcome various barriers throughout the maps. Basically, they do that to force (or strongly encourage) players to use balanced parties.
  19. So far, so good - the transition was obviously very well planned and executed. It was a massive amount of data to move, so kudos for all of that. I would echo the request for BBCode capability. Also - I notice the ability to browse anonymously seems to be missing, along with not having one's online status publicly available. Will that functionality be restored or is this how it will be going forward? Thanks.
  20. Got it. The statement "My goal is to make this armor identical to the tier 2 medium splint armor Alistair starts with" in your first post had me really confused. So you'll need to build the GDAs to support your efforts - armor_medium_variation_xx.gda, boots_medium_variation_xx.gda, gloves_medium_variation_xx.gda, and if the set has a helm - helmet_medium_variation_xx.gda (where _xx is your module designation). You may be able to start by renaming the GDAs that came with the modded armor you wish to use - rename its armor_light_variation_xx.gda to armor_medium_variation_xx.gda, for example (but that's assuming the mod includes only the one armor you wish to change. If it includes any other armors, you'll need to take the data line for the target armor and copy it into a new data file.) Then you'd need to tweak the IDs to overcome any conflicts with other mods you're using. Good luck.
  21. Does changing the Item Variation to Medium Armor D solve it for you? I'm not sure what you hope to achieve here - as I understand it, you're trying to put Alistair in some modded armor, except you don't want any of the modded armor's properties or its appearance, you want him in the traditional splintmail. The only other thing I can think of that this modded armor might provide is its name and description. It might be easier to just create a custom set of splintmail and give it the custom name and description to give to Alistair.
  22. I see that ability_core calls the function Ability_CheckUseConditions on line 213. That's why it was key to your changes showing up in game. The other files that reference ability_h probably just use the constants or maybe some other function(s). In any case, congrats on your success.
  23. Contrary to other advice you may receive, you really do need to re-compile any executables that use source code you've changed in order for your changes to take effect in the game. If you think about it, it should be self-evident. Just as an fyi, this line in source code: #include "filename" is a compiler directive. It tells the pre-compiler to replace that line with the content of the named file before compiling the source code to create the executable. Does that mean you have to re-compile every single file that includes ability_h? Not necessarily, though it's usually considered good engineering practice to do so. But in practice, not every file that includes another file actually uses all of it. Some source files may be including ability_h only for its constants or to use some function(s) other than the specific one you're changing. What matters is that the files that include ability_h and *do* use the function you've changed get recompiled.
  24. The routine you are modifying - Ability_CheckUseConditions - is supposed to return TRUE if the conditions to use the talent/spell are met and FALSE if they are not. I would also point out that there is a note at the top of it: "This is temporary, it will go into the engine at some point". It does not appear that ever happened, and this routine is still being used, but I think I would put a print statement in there just to be sure. To do that, create a plain text file named ECLog.ini in the bin_ship subdirectory of your game install directory, and make this the content of the file: [LogTypes] Script=1Then temporarily insert a print statement at the top of that function so it will print to your log file, which will prove that the game is running the new code you have edited. The log file is in your Documents subdirectory, under BioWare > Dragon Age > Logs. Here's a sample print statement: PrintToLog("============== THE CODE I HAVE EDITED IS RUNNING! ===============");Now let's look at your code changes and what they would do. Firstly, I notice you're changing the behavior of condition value 16, which would break anything that already uses that value. Perhaps "break" isn't the correct word - it would use the new functionality you are creating, and if that is not your intent you might want to use a new value for the new functionality you intend to create here. Since the logic here uses bitwise operators (the single ampersand) and is using values that have a single bit set, I would suggest using 256, as it is the next value that fits that pattern. The existing code looked for modal ability not zero: if (nModalAbility != 0) because it needed to check whether a modal ability was currently active to decide whether to allow a talent/spell to be used. Your replacement code is looking for modal ability zero: if (nModalAbility == 0) even though you do want to check whether a modal ability is currently active to decide whether to allow a talent/spell to be used. So that's an error. The logic bracketed by that condition would never execute for anything that had the condition_mode in the database (gda) set to anything other than 0. The existing code checked whether a modal ability was active bRet = bRet && IsModalAbilityActive(oCaster,nModalAbility); because that is what the check was for. It wanted to make sure a certain modal ability was active before it would allow a talent/spell to be used. Your replacement code does the same thing, even though you want to make sure a modal ability is NOT active. So you'll need to flip it, and you can do that by inserting an exclamation point to "not" it: bRet = bRet && !IsModalAbilityActive(oCaster,nModalAbility);Hope I helped.
×
×
  • Create New...