Gwaihir Posted March 26, 2022 Author Share Posted March 26, 2022 On 3/24/2022 at 3:10 PM, Trouveur80 said: Well, it.s only 3 rounds to wait... ^^ We all like some cheese from time to time, of course Personally I find exploiting the system a little unsatisfying at times, so if for any reason that's the only thing I can do, it tends to disappoint a little bit. Quote Link to comment
Trouveur80 Posted March 26, 2022 Share Posted March 26, 2022 28 minutes ago, Gwaihir said: We all like some cheese from time to time, of course Personally I find exploiting the system a little unsatisfying at times, so if for any reason that's the only thing I can do, it tends to disappoint a little bit. I don't think using summons for occupying a mage for three rounds is cheese. Quote Link to comment
Gwaihir Posted March 26, 2022 Author Share Posted March 26, 2022 1 hour ago, Trouveur80 said: I don't think using summons for occupying a mage for three rounds is cheese. Depends on the situation, but I was talking more about triggering a fight and then running away, which is what I had to do in the Karhk encounter. This is obviously just my opinion. Quote Link to comment
Gwaihir Posted April 9, 2022 Author Share Posted April 9, 2022 There's a small issue with Ascalon's questpack in this install. Tagging @jastey as I understand she's the current maintainer. The great Karlini: Ygnatius is not showing up in BG2700.are(Lion's way). I did the quest as normal: Spoiler Talked to him inside FAI, found the book, talked again and got the appropriate dialogue, he disappears, but he is not in Lion's way when I go there. The relevant code in BG2700.bcs seems fine: Spoiler IF Global("AC_QUEST_spawn_ACQ17001","GLOBAL",1) THEN RESPONSE #100 SetGlobal("AC_QUEST_spawn_ACQ17001","GLOBAL",2) CreateCreature("ACQ17001",[2470.1537],S) // Ygnatz - Ygnatius Bombastus ActionOverride("ACQ17001",SetNumTimesTalkedTo(2)) and the global "AC_QUEST_spawn_ACQ17001" was correctly set to 1. I just don't understand this enough to see what might have gone wrong. I was able to complete the quest by tiping those same lines in the console. Everything plays nicely from there. Now that I think about it, I'll mention another small thing from the quest 'lost son': the quest itself actually plays perfectly, and the journal entry is closed too, but right after that I was left with a copy of Perwell permanently following my party whenever I went, until he met his demise by a sword spider. I say 'copy' because the animation of him walking away with his mom at end of the quest works. Maybe the code to avoid getting him lost inside Cloakwood on the way back was strenghtened a bit too much? It's a super small thing anyway. Quote Link to comment
jastey Posted April 9, 2022 Share Posted April 9, 2022 1 hour ago, Gwaihir said: but right after that I was left with a copy of Perwell permanently following my party whenever I went, until he met his demise by a sword spider. Wut? hahaha - it was BG1 with all the Doppelgangers, right?... I'll look into it. Thanks for the reports! For Ygnatius: the variable was at 1 and stayed at 1 while you were in teh correct area? Maybe another script block was looping in teh area script and the script to spawn him was never executed. Do you still have a savegame? You could install the Stutter Debug Tool and see whether a script block is looping. There is no other thing I could think of that would prevent that script block from running if teh variable is at 1 as it should. If it's already at 2 and Ygnatius is not there, try resetting it to 1 to see whether he spawns now. Quote Link to comment
Gwaihir Posted April 9, 2022 Author Share Posted April 9, 2022 Could Perwell be an Iron Throne assassin in disguise? The plot thickens! 1 hour ago, jastey said: For Ygnatius: the variable was at 1 and stayed at 1 while you were in teh correct area? It was 1 every time I checked. Loaded a save in the area, ckecked again right now, still 1. Trying the stutter debug tool (I think. I don't exactly know what's relevant, I'll just try to describe what I see): there are six random spawn blocks running once every round. For example: Spoiler IF RandomNum(3,1) GlobalGT("Chapter","GLOBAL",3) GlobalLT("RandomSpawn","GLOBAL",5) THEN RESPONSE #100 CreateCreature("KOBOLA_C",[849.169],S) // Kobold DisplayStringHead(Myself,511309) // Running block 11 of BG2700.BCS CreateCreature("KOBOLA_B",[849.169],S) // Kobold CreateCreature("KOBOLD02",[849.169],S) // Kobold CreateCreature("KOBOLD11",[849.169],S) // Kobold CreateCreature("KOBOLD02",[849.169],S) // Kobold CreateCreature("KOBAMP01",[849.169],S) // Kobold Amplifier - Kobold Scribe CreateCreature("KOBCAP01",[849.169],S) // Kobold Captain CreateCreature("KOBCOMM",[849.169],S) // Kobold Commando CreateCreature("KOBCOMM",[849.169],S) // Kobold Commando CreateCreature("KOBCOMM",[849.169],S) // Kobold Commando CreateCreature("KOBCAP01",[849.169],S) // Kobold Captain IncrementGlobal("RandomSpawn","GLOBAL",1) And then two blocks that run every second. Those that remove Xzar and Montaron after chapter 2 if you never take them: Spoiler IF GlobalGT("Chapter","GLOBAL",2) Exists("Montaron") // Montaron !InParty("Montaron") // Montaron !BeenInParty("Montaron") // Montaron THEN RESPONSE #100 ActionOverride("Montaron",DestroySelf()) DisplayStringHead(Myself,511302) // Running block 4 of BG2700.BCS Continue() Could this be what you mean by looping? Quote Link to comment
jastey Posted April 9, 2022 Share Posted April 9, 2022 @Gwaihir The first one should stop after 5 times (when the variable is increased to what the trigger is checking). And the second one has a Continue() at the end so it shouldn't block the script although it is looping. If the block for Xzar has also a Continue() I'm not convinced these script bloacks are the culprit. Which version of the mad are you playing? And you are on EET? Oh - I just checked and the script block for Xzar does NOT have a Continue(). LOL. OK, the only solution I can suggest is that in Near Infinity you cut the script block for Xzar: IF GlobalGT("Chapter","GLOBAL",2) Exists("Xzar") // Xzar - No such index !InParty("Xzar") // Xzar - No such index !BeenInParty("Xzar") // Xzar - No such index THEN RESPONSE #100 ActionOverride("Xzar",DestroySelf()) END And paste it at the very end of the BG2700.bcs and recompile the script. It will still loop, but it won't block other blocks. Or you add a Continue() at the end of that block. Quote Link to comment
Gwaihir Posted April 9, 2022 Author Share Posted April 9, 2022 17 minutes ago, jastey said: Or you add a Continue() at the end of that block. This worked. Ygnatius appeared immediately. Also makes me wonder if every block should have a continue() at the end, and how many other blocks are blocked. Paranoia is an undispellable debuff. Quote Link to comment
jastey Posted April 9, 2022 Share Posted April 9, 2022 If the block has a check variable that closes immediatly, it won't loop. This one has none, plus "Exists()" gives always true for joinable NPCs (they exist globally in the game, even if not necessarily in the area), that's why it loops. but yes, "this didn't happen as it should" bug could always be caused by the relevant script block doesn't get executed because another script block is looping. I would only know of one more that at least looped in Bg1/BGT: Alora's activation and deactivation in teh Hall of Wonders. Just in case a new modder reads this and decides to patch area scripts with EXTEND_TOP from now on: only ever do that with script blocks that do have a Continue() at the end, or they'll block the OnCreation() triggers. Quote Link to comment
Graion Dilach Posted April 9, 2022 Share Posted April 9, 2022 Yeah, I was confused on this one because Continue()'s description in IESDP explicitly mentions creatures. Quote Link to comment
Gwaihir Posted April 14, 2022 Author Share Posted April 14, 2022 @Lava there are a few typos in the quest 'the Dungeon of the Carnal challenges': - journal: in the quest title and the first entry is spelled 'challanges'; - floating text when examining the clothes: 'intiguing' lacks an R; - floating text over the wooden stocks: 'uknown' should be 'unknown' And lastly: can I ask for a hint? I searched every nook and cranny of the dungeon, but I'm completely stuck Quote Link to comment
Lava Posted April 15, 2022 Share Posted April 15, 2022 Hmmm, must have been a problem when I witch to direct use of UTF-8 There are couple of info regions in the Dungeon, you need to find all of them AND click on them to see the text. I'm not looking at it right now, but I think there were chains on the walls, the table, 2 info regions in the wardrobe, pump with a bucket, pillory... I think there was an item you need to find there. Then, go to the quest giver and finally, you will need to find a woman the quest giver is going to mention - she's on the same area as the entrance to the Dungeon Quote Link to comment
Gwaihir Posted April 15, 2022 Author Share Posted April 15, 2022 @Lava dang, Spoiler the nook in the table is so sneaky! Wasn't finding it even while spamming tab, so pretty good job there. I knew it was Syja! Found a couple more typos: Spoiler Dialogue with Syja: - 'Challanges' again - 'you know the place, it's easy to get the hurt', I think the second 'the' shouldn't be there. - 'I destroyed my marrige', should be marriage Second journal entry: - the courtesan name is spelled 'Siya' while everywhere else it's 'Syja' - again 'Challanges' spelled with an a. The quest is cool, but I couldn't help thinking: Spoiler In the dialogue with Syja, the player can ask her about the various places in the dungeon in a 'chained dialogue' style, which feels a little bit railroaded. Given the nature of the quest, I feel like it would be better to let the player choose from a list, like many other quests do. I guess it's more complex to code it this way; anyway, it's one of those things you can do if you really have the time Quote Link to comment
Lava Posted April 15, 2022 Share Posted April 15, 2022 Yeah, I know this dialogue could probably be better, I was trying different approaches to things in different SotSC quests, maybe one day... but for now I feel it's going to stay that way, because I just find it hard to add new stuff like replies in responses in something that's been already translated to 4+ languages, I know 5th is on the way... Anyway, will remember about these typos! I'll include them along with the new translation when it's ready... unless I'll find out about some other bugs that need to be fixed right away Quote Link to comment
Nori Posted May 13, 2022 Share Posted May 13, 2022 I'm curious, is there any particular reason you have EET_End before SCS? I thought it was supposed to be the final thing. Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.