Jump to content

Bug reports


berelinde

Recommended Posts

I think that, much as I hate them as unreliable, I'm going to have to include area checks for a number of interjections. Not the kind that interrupt somebody's dialogue, but item and event related ones.

 

If he is in the party when an assassin is killed, kicked out before he can fire his interjection, and then rejoined elsewhere, he's going to give the bounty notice interjection. He really shouldn't. The downside of this is that if one of the items is picked up and he moves out of the area before the talk fires, it will hang unless I include a script to back it up on leaving the area, or advance it and have him close it in the new area, if I can figure out how to adapt Kulyok's script for that purpose.

 

;)

 

Who'd have thought continuity editing would be such a big part of this?

Link to comment

That's hard, actually - I can freely admit I have no foolproof solution for this. ;)

 

But you've got a very good lead yourself: just make Gavin say an interjection, and set a variable. Then check that the bandit leader is dead, the area check is still the same, and that the variable is set, and voila! I trigger Xan's Demogorgon talk this way.

 

For the bounty hunters, I guess it's either the same method - just an area check can be tricky, unfortunately.

Link to comment

Yeah, I'm not too worried about the bandit leader one, because there is a lot of area between the caravan and the edge of the map, but most of the encounters with the bounty hunters are right at doorways, so an area change is likely to happen soon.

 

I'd drop the issue entirely, because his interjection isn't terribly clever, but if he didn't say anything at all, it would be worse. Gavin has promised to protect and serve a PC who agrees to fight evil. If I were the pc, and somebody said they'd do that for me, and then stood mutely by when someone tried to kill me, I'd be looking for a new cleric.

 

I think I can have him interject, set the variable to 1, have him react with an area check (Area Check("FWxxxx") for the sake of argument), then if the variable is still 1 (i.e. it hasn't closed during the course of saying the interjection), have it fire immediately if !AreaCheck("FWxxxx").

 

That's some ugly, bulky code, but I can't think of any other way to do it that would allow him to say his bit and still be all right.

 

For Durlyle, he doesn't interject at all while it's going on due to mute shock, but I've got a couple added trans actions. I think I'm safe with an area check, because the garden isn't close to the edge of a map, and there is no possibility that the pc will go to the Isle of Balduran, kiss Durlyle, go to Beregost, pick up Gavin, and then head back to the Isle of Balduran just to get Gavin's reaction.

Link to comment

*snicker* That would be elaborate, yes.

 

I think that Xan's code fires the banter in approximately one second, whatever happens. And besides, after every battle, there's looting, so the bounty hunter killed->Gavin says stuff->PC goes out is the most probable cause of action.

 

The worst that could happen would be PC going out of the tavern/getting to the next region and Gavin speaking immediately, and I think it's appropriate, more or less. After all, in ToB PC can teleport to her plane at any second, cannot she?

Link to comment

I think I might do a combination of the bulky way and the non-bulky way. For things like Mirianne's letter, Gavin was their neighbor, and should say something immediately, but Ajantis is really quick on the draw for that interjection. As it is, with minimal code, Gavin only beats Ajantis to the line a little less than half the time. I don't want to reduce that to "never", so I'll do the area change thing.

 

For the bounty hunters, maybe I'll do the timer. Or maybe I'll do the area change thing and not fuss with a timer. It isn't too bad, since I've got to set a varaible anyway:

 

 

IF
 Global("B!GavinNimbul","GLOBAL",1)
 PartyHasItem("_SCRL3B") //I think- I'm at work, so the mod isn't here to check
 AreaCheck("FW4800")
 InParty(Myself)
 !StateCheck(Myself,CD_STATE_NOTVALID)
 InMyArea(Player1)
THEN
 RESPONSE #100
 SetGlobal("B!GavinNumbul","GLOBAL",2)
StartDialogueNoSet(Player1)
END


IF
 Global("B!GavinNimbul","GLOBAL",2)
 !AreaCheck("FW4800")
 InParty(Myself)
 !StateCheck(Myself,CD_STATE_NOTVALID)
 InMyArea(Player1)
THEN
 RESPONSE #100
  StartDialogueNoSet(Player1)
END

 

I took the item check out of the second block because what I usually do is pick up the scroll, read it, and put it back down.

Link to comment

No, I don't think I want to delete that, or it won't fire *unless* the party leaves the area. As it is now, it functions like the back-up script, only firing unless the party leaves the area with the dialogue still in the cue.

Link to comment

As it is, your script will *almost* certainly fire in the area, and sometimes, maybe - not in the area, right? Because the variable will be 2.

 

However! If you delete the SetDialogue line in the first banter, and change !AreaCheck("FW4800") to AreaCheck("FW4800") in the second banter, you will have your banter firing in that area, no matter what happens, and it will never be left waiting in the line:

 

IF
 Global("B!GavinNimbul","GLOBAL",1)
 PartyHasItem("_SCRL3B") //I think- I'm at work, so the mod isn't here to check
 AreaCheck("FW4800")
 InParty(Myself)
 !StateCheck(Myself,CD_STATE_NOTVALID)
 !StateCheck(Player1,CD_STATE_NOTVALID)
 InMyArea(Player1)
THEN
 RESPONSE #100
 SetGlobal("B!GavinNumbul","GLOBAL",2)
END


IF
 Global("B!GavinNimbul","GLOBAL",2)
 AreaCheck("FW4800")
 InParty(Myself)
 !StateCheck(Myself,CD_STATE_NOTVALID)
 !StateCheck(Player1,CD_STATE_NOTVALID)
 InMyArea(Player1)
THEN
 RESPONSE #100
  StartDialogueNoSet(Player1)
END

 

Your call, though: certainly it will function your way properly, too.

Link to comment

I'm not quite sure if this is the best place to post my message, but the topic is, after all, bug report, and I guess that spelling mistakes qualify as "bugs". :p

 

But let me start with the beginning. I've only recently installed Gavin, and I'm only at LT 9 or 10 in the romance, but I must say I'm enjoying this lil' cleric. The only upsetting thing/bug, was the spoiling dialog between him and Ajantis, but I've skimmed through the first couple of pages, so I think it's already been covered (so, I'm guessing maybe I should get my hands on that beto patch of yours... ;) yes, I should do that).

 

Anyway, the only other bugs I've spotted so far are spelling mistakes, so I guess that my overall comment on Gavin for Tutu would be the following: ;) Great work, Berelinde!

 

First spelling mistake I spotted is in the /* Early Romance Aftermath */ LT, the one the morning after the first time you get Gavin drunk (which I thoroughly enjoyed... ;):love: ): one of his replies is "I didn't say anything I din't mean, but thank you for being so understanding. Unfortunately, the gods did not endow me with the ability to forget my incautios confessions". (That's in B!GavinJ.d)

 

In, there are a couple more in GavinFlirts.d: "The sun rises again, and the majesty of Lathaner is revealed. If I may say it, <CHARNAME>, never has the beauty of this moment been more evident than now. The light on your features weaves a spell too enchanting to ignore." (That's the sunrise flirt. I can't believe he wouldn't know how to spell his god's name, even if he only learned how to read at age 20. ;) )

"Night has fallen, and the world is cast in shadow. But you are here, <CHARNAME>. It is as if the sun has risen in the darnkness.~" (The darkness flirt, I believe)

 

Finally, I spotted one last one in B!GavinLovetalks.d, "Here along the Sword Coast, they herald a stretch of warmer weather. The elves, however, give them a more ambiuous meaning. You see, the blossoms open every morning, and close every day at sunset. To them, they represent the transience of... attraction, but also the renewal of hope. They are fragile, but they grow back quickly, no matter how incautiously harvested.", it's LT with the symbolic meaning of the blossoms he was sketching.

 

 

I really hope you won't take this the wrong way. I can be such a nit-picker, I know I can tick off my own loved ones with that. :D;) So, I just want to say that I appreciate all the hard work you've put into bringing Gavin to us. As far as I know (I haven't been to the end yet), he's a great NPC, complete with background, bio, sound files, a romance and I've a feeling he's still got a few surprises left for me... :love:

Good luck with the weeding out of the bugs, it seems like that can give quite a head ache (just looking at the list of globals you have to keep track of in B!GavinJ.d gave me one! ;) ).

By the way, I know I might be getting ahead of myself here, but if you ever to decide to TRA'ify Gavin, I'd be willing to try out for the french translation, if you need a hand.

Good luck with the rest of it, and congratulations on a job well done! :D;)

Link to comment

Thanks for the list! Most have already been fixed, but there was one new one ("din't"). Oops.

 

I type directly into the text editor, which doesn't have a spell-checker, so a few typos do creep in.

 

Thanks for the offer to translate! I will be traifying the mod, but I'd like to get a more or less final version first, or at least one with a fixed number of lines.

 

You've made it past two of the big hurdles. Sorry about the Ajantis bug. It was caused by careless migration from a random banter to a scripted banter. Fixed in v 1.1.

 

Thanks for reporting!

Link to comment
<snippers>

Thanks for the offer to translate! I will be traifying the mod, but I'd like to get a more or less final version first, or at least one with a fixed number of lines.

Thanks for reporting!

 

My pleasure!! Gavin's a real dear, and it's a pleasure to, um, "test-drive" his romance... ;) Every time I see the line "" pop up in the dialog box, I get these butterflies in my stomach! ;)Lovesick.gif

 

Anyway, I've stumbled across something that may or may not be a bug, I'm not sure, I'm kinda puzzled.

 

I've reached LT 19, the one you have aptly dubbed "Love Talk 19 - emotional vs. physical love". For some reason, if I didn't choose the dialog option "*embrace him* Gavin, I'm right here. I'm not going anywhwere." which leads to the BGavLT19.2a.1 part of the dialog; if I choose instead the "Are you trying to tell me that you feel lust for me?" option, I'd get the "BGavLT19.2a.2", in which he asks the PC if she has ever known the touch of a man, and for some reason, the dialog options are there, but there's the "end dialog" button at the bottom of the box. Even if I used the mouse to choose one of the dialog options, the dialog would end, and I believe that the romance would consequently be terminated (my evidence to support this is that the PID were deactivated, and I would only get "Gavin has nothing to say to you." Huh? He asked me to marry him and now won't talk to me? ;);) ). I'm not sure I'm making much sense, so I'm including a screenshot, and I'll be saving my game at the spot in case you need it to check it for globals, or locals, or other such stuff I might not be familiar with.

 

This really has me puzzled because the coding in the B!GavinLovetalks.d file seems coherent (at least from what I can tell, I'm no WeiDU ninja...). From what I can tell, if I choose the "Are you trying to tell me that you feel lust for me?" option, the dialog's supposed to go on to BGavLT19.2a.2, and that's the one that seems to be buggy. Maybe it's the equal sign in front of the "<CHARNAME>, have you ever known the touch of a man?" answer, I'm not sure. Sure has me stumped. ;)

 

Other than that, so far so good! I think I'm addicted to Gavin... :D:D

Oh, here's the screenshot I promised:

GavinBugS.jpg

Click on it to go to the "larger", readable version.

Link to comment

Nope. It's a bug, caused by incautiously adding IF ~~ THEN EXIT after a list of PC responses.

 

Sorry to force you to choose an option, but you're going to have to choose the one that doesn't lead to a dead end... at least until I get the new, fixed version out.

 

I think the option to embrace him lets you actually choose a pc response, and that's the one you want, if you'd like to get all the choices for LT 20.

 

If you don't pick that one, some variables won't be set that are needed later on.

 

Sorry for the inconvenience ;)

Link to comment
<snip>

Sorry for the inconvenience ;)

 

That's fine, I always have an autosave or something that's not far behind, so I didn't remain stuck for long. ;) I opted for the "jump in Gavin's arms" which I like anyways. I always like to explore the different LT options, so sometimes I'll go through an LT more than once anyways.

 

By the way, I'm praying that you won't think I'm total pain, but I found another typo... ;) It's in LT 21, at the end of the "LT21 - Morning After talk" to be precise, in the "*grins* Then we shall do it from now on. I liked it very much, too. But come. It is time to face the <DAYNIGHT>. i know with great certainty that I shall do so with a smile." response.

 

I think at this point you'll either despise me forever, or dub me one of your proofreaders... :D:D

Link to comment

Consider yourself dubbed ;)

 

I don't mind getting corrected. Everybody makes mistakes, so it's nothing to be upset about. I tried to catch stuff during alpha, and a lot of it was caught, but you can't play through every possible branch of all the dialogue trees, so there will always be something missed.

 

Right. Now, on to fix that last one...

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...