Gotchas: Troubleshooting

Post » Sat May 28, 2011 5:45 pm

Update on the dialog bug: I've done some more testings, and to me now it seems like it's mostly affecting the topic currently selected when adding new ones.

This I was able to replicate a couple of times now. If that observation is correct, then of course the simple solution is to have a topic without problematic data (result scripts, choices, special flags) selected when adding new ones. I'm going to test this now a bit more...

Does that mean the bug won't occur if I had no topic selected while adding the new one ?
User avatar
SexyPimpAss
 
Posts: 3416
Joined: Wed Nov 15, 2006 9:24 am

Post » Sat May 28, 2011 9:04 pm

Does that mean the bug won't occur if I had no topic selected while adding the new one ?
Very likely.

THis is also the reason why I was lately drowing in this bug - the more dialog heavy quests don't have any free space to click to, so when adding topics automatically a topic is selected (during the right click in the topic list) - and this one gets screwed.

As far as my last testings go in this cases I was able to use a dummy topic (unused in game, something like called zbgDummyTopic) as starting point - so I had a place to click to. So good news. Kind of :ahhh:.
User avatar
Benji
 
Posts: 3447
Joined: Tue May 15, 2007 11:58 pm

Post » Sat May 28, 2011 2:08 pm

Very likely.

THis is also the reason why I was lately drowing in this bug - the more dialog heavy quests don't have any free space to click to, so when adding topics automatically a topic is selected (during the right click in the topic list) - and this one gets screwed.

As far as my last testings go in this cases I was able to use a dummy topic (unused in game, something like called zbgDummyTopic) as starting point - so I had a place to click to. So good news. Kind of :ahhh: .

Great news, actually - I'd started having this bug occuring ! Nice finding :goodjob:
User avatar
Anna Beattie
 
Posts: 3512
Joined: Sat Nov 11, 2006 4:59 am

Post » Sat May 28, 2011 12:46 pm

Very likely.

THis is also the reason why I was lately drowing in this bug - the more dialog heavy quests don't have any free space to click to, so when adding topics automatically a topic is selected (during the right click in the topic list) - and this one gets screwed.

As far as my last testings go in this cases I was able to use a dummy topic (unused in game, something like called zbgDummyTopic) as starting point - so I had a place to click to. So good news. Kind of :ahhh:.

Great news, actually - I'd started having this bug occuring ! Nice finding :goodjob:

Same here, most excellent to have a fix/workaround for it. Good findings! :D
User avatar
Dylan Markese
 
Posts: 3513
Joined: Sat Dec 01, 2007 11:58 am

Post » Sat May 28, 2011 8:39 pm

Great news, actually - I'd started having this bug occuring ! Nice finding :goodjob:
Wheee, I'm happy!

Err. Don't get me wrong, I'm not happy that you've got the bug, but that anyone was able to replicate the bug. Quite honestly for the amount of fixing this little bug forced me to do I was very surprised that no one else reported it before. I began to doubt my own tests and observations :blink:.

Could you test if the bug doesn't happen for you if you use a dummy topic? If so, I try to write something together for the CS Wiki Gotcha page, because - at least for me - this glitch caused > 90% of all bugs in my latest mod :ahhh:.
User avatar
Chris Ellis
 
Posts: 3447
Joined: Thu Jul 26, 2007 10:00 am

Post » Sat May 28, 2011 10:24 am

Wheee, I'm happy!

Err. Don't get me wrong, I'm not happy that you've got the bug, but that anyone was able to replicate the bug. Quite honestly for the amount of fixing this little bug forced me to do I was very surprised that no one else reported it before. I began to doubt my own tests and observations :blink: .

Could you test if the bug doesn't happen for you if you use a dummy topic? If so, I try to write something together for the CS Wiki Gotcha page, because - at least for me - this glitch caused > 90% of all bugs in my latest mod :ahhh: .

Well, doubt no longer, for you're are indeed sane :). I started seeing this when I got to move generic dialog by the ton into my quest (which already some dialog). Though I didn't have a problem during the first few sessions in the CS, my result scripts started to disappear a little later. I haven't been able to use the CS lately(and won't be for the next 5 days), but will get back to you with the results as soon as possible.
User avatar
Alycia Leann grace
 
Posts: 3539
Joined: Tue Jun 26, 2007 10:07 pm

Post » Sat May 28, 2011 11:00 pm

Sounds like this might be a good addition: http://www.gamesas.com/bgsforums/index.php?showtopic=1013395&st=0&p=14666374&#entry14666374.
User avatar
Liii BLATES
 
Posts: 3423
Joined: Tue Aug 22, 2006 10:41 am

Post » Sat May 28, 2011 4:36 pm

And another dialog gotcha from me.

Here's a sure recipe to get a response never played, despite all conditions are met and no other responses taking priority: Turn a response that used to have "random" checked to non random, e.g. due to you changing it to have a different purpose due to priority organisation (maybe this only happens when the response was in a finite random block, untested).

Took me an hour to figure out why it wasn't played. I even mass deleted stuff, changed conditions, played with quest priorities... :banghead:
User avatar
Destinyscharm
 
Posts: 3404
Joined: Sun Jul 23, 2006 6:06 pm

Post » Sat May 28, 2011 9:02 pm

Script Editor:
The script compiler detects a plain "ElseIf" without arguments as an error, but does not give an error message.

Since there are no error messages, you consider the script OK, but when you try to navigate to a different script, a message pops out: "Do you want to save the current script?"

If you answer "No", you lose all the changes you have made.
If you answer "Yes", you are back to the original scenario (loop)

The way out, of course, is finding and fixing the ElseIf line.
I think there are other errors that lead to the same problem, but I don't remember them. In which case, the solution is consecutively commenting blocks of code, zooming in to the culprit.
User avatar
Princess Johnson
 
Posts: 3435
Joined: Wed Feb 07, 2007 5:44 pm

Post » Sat May 28, 2011 12:43 pm

Hey,

You guys seem to know what you're doing, so I'll ask here.

I've been modding for a while now, and I just upgraded from XP to 7 Ultimate. Now I can't access FaceGen through CS. When I open the 'edit NPC' option, and go to face, the preview is simply not there. If I click generate, the program crashes. It does the same thing if I try to work with large amounts of statics in the render window (which pretty much means I can't do anything to cities, caves, or ruins). I've turned off most of 7's "safety" features; I've also tried running it in compatibility mode. It probably doesn't have anything to do with my video hardware, since it's the same that I had on my XP.

System specs:
AMD Phenom X4 955 BLK Edition.
4 GB DDR3 RAM (Mushkin)
ATI Radeon 4850 HD

Any clues?
User avatar
Amber Ably
 
Posts: 3372
Joined: Wed Aug 29, 2007 4:39 pm

Post » Sat May 28, 2011 4:06 pm

One more:

If you reorder the variables in a script or insert a new variable (except as the last one), you have to recompile all scripts that refer to those variables (like in a quest script used to store pseudo-global variables) .

Also, you have to load a clean save, or, at least, a saved game where that particular script did not exist. Otherwise the load process will load the variables in the order they were when the game was saved.

I suppose variables are stored adjacent to each other, and compiled scripts store an index to the variables, therefore, when the index changes (by reordering or inserting variables) all scripts that refer to those variables are now pointing to the wrong index and must be recompiled.
User avatar
Tyrel
 
Posts: 3304
Joined: Tue Oct 30, 2007 4:52 am

Post » Sat May 28, 2011 12:51 pm

(question removed)
User avatar
Manny(BAKE)
 
Posts: 3407
Joined: Thu Oct 25, 2007 9:14 am

Post » Sat May 28, 2011 3:17 pm

One more:

If you reorder the variables in a script or insert a new variable (except as the last one), you have to recompile all scripts that refer to those variables (like in a quest script used to store pseudo-global variables) .

Also, you have to load a clean save, or, at least, a saved game where that particular script did not exist. Otherwise the load process will load the variables in the order they were when the game was saved.

I suppose variables are stored adjacent to each other, and compiled scripts store an index to the variables, therefore, when the index changes (by reordering or inserting variables) all scripts that refer to those variables are now pointing to the wrong index and must be recompiled.


Whoa, that's a good one! I didn't know about that. Thanks QQuix ;)

I remember that some time ago you've mentioned about an issue when using GetFirstRef/GetNextRef in an exterior cell, that it didn't actually scan all cells around the PC, but only in one direction... I don't remember the details. I wonder wether the issue was already addressed...
User avatar
Katey Meyer
 
Posts: 3464
Joined: Sat Dec 30, 2006 10:14 pm

Post » Sat May 28, 2011 6:08 pm

The cells scanned were kind of 'shifted to the west' if the player were 'below the equator'. I don't remember if I reported it before or after beta 6, but Scruggsy fixed it and it will be OK on the final v18.
For the time being, just increase the radius by one cell, and you will be fine.
User avatar
quinnnn
 
Posts: 3503
Joined: Sat Mar 03, 2007 1:11 pm

Post » Sat May 28, 2011 6:55 pm

Caution!

using GETLOS by an actor can CTD when used in a token script that is given to a disabled actor but then enabled later EVEN IF YOU CONDITION THE GETLOS COMMAND TO NOT RUN unless the actor is "not disabled".

Example:

if me.get disabled == 0
if me.getlos player == 1
messagebox"works"
endif
endif

This can CTD if the actor was first disabled, given the token and then enabled.
To solve this put a delay of a few frames after the actor is enabled as a condition before any GetLOS command is allowed to be used by that actor.

if me.get disabled == 0 && FrameDelay < 4
set FrameDelay to FrameDelay + 1
elseif FrameDelay >= 4
if me.getlos player == 1
messagebox"works"
endif
endif

This or a similar delay after the actor is enabled will prevent the CTD.


I just updated the Wiki with this warning:

May CTD if called BY an actor that was disabled in the previous frame. A delay of a few frames after the actor is enabled will solve this issue.
User avatar
TASTY TRACY
 
Posts: 3282
Joined: Thu Jun 22, 2006 7:11 pm

Previous

Return to IV - Oblivion