Jump to content

In-game Custom Dialogue crashes


skittered

Recommended Posts

So .. I've created a rather large stack of dialogue; lots of topics and choices; lots of specific conditioning; lots of begin-/-end and quest stage result scripting ..

 

I've done all of this in non-fose G.E.C.K .. with the express purpose of avoiding accidentally introducing any erroneous fose so that this dialogue will work correctly in non-fose Fallout 3 (it's one of those things)

 

It is not voiced in any way .. no use of vanilla assets or otherwise.

 

The max number of choices in the largest topics are 16, and the largest number of response lines in a choice is 3.

The geck doesn't complain about any of the conditions and all of the scripting also compiles without complaint.

 

The problem is, the geck has no problems with it .. but when I head in to test in-game some strangeness happens.

 

Running non-fose Fallout 3 ..

 

.. the dialogue Greeting works correctly and the first options are presented without issue; unfortunately that's where the strangeness starts;

 

.. one topic that leads to one with 16 choices works just fine ..

.. but another leading to one with fewer choices, or another to the same number of choices, will cause an immediate CTD ..

.. testing with one choice at a time in an offending topic reveals that there are specific culprits, but the geck reports no issues, nor are there any apparent issues while looking at it and checking it for errors in FO3Edit, and comparing the seemingly offending entries to existing vanilla entries for missing data

 

However .. all of it will work just fine running fose Fallout 3 .. even though there is no specific fose scripting or reliant conditions anywhere ..

 

.. I've been testing as I've been building, adding topics, choices and scripting in chunks at a time and suddenly this issue has presented itself with no apparent reason I can find ..

 

If anyone has any guesses .. or insight .. it'd be appreciated .. the only other option seems to be to rebuild the dialogue and hope it doesn't happen again ..

Edited by skittered
Link to comment
Share on other sites

Ya I was just checking if you possibly were using numbers in the prefix ... which can work to a point. Then up and create weird behavior or just not work.

However crashing without fose then working with fose. Points to something coming from fose in the creation , and then not present at run time.

 

So I was reading through the documentation at http://fose.silverlock.org/

And they mention some of the comparison expressions.

Just wondering if you have a comparison expression working fine within the geck , but then the vanilla game doesn't recognize it ? Which not sure how/why that would happen ... but it seems plausible.

That or you have a dialogue tree that needs a goodbye ... but something within fose makes it less stringent , or able to see further into a complex dialogue tree.

 

IDK ^shrug^ just some theories to throw out there , to possibly help.

 

Add edit : These are the comparisons that the documention mentions.

 

 

LogicalAnd
Alias: none
Parameters:2
int:Integer
int:Integer
Return Type: Integer
Opcode: 0x149c (5276)
Condition Function: No
Introduced In: 1
Calling Convention: B
Description: Performs a logical AND between two 32-bit integers.

LogicalOr
Alias: none
Parameters:2
int:Integer
int:Integer
Return Type: Integer
Opcode: 0x149d (5277)
Condition Function: No
Introduced In: 1
Calling Convention: B
Description: Performs a logical OR between two 32-bit integers.

LogicalXor
Alias: none
Parameters:2
int:Integer
int:Integer
Return Type: Integer
Opcode: 0x149e (5278)
Condition Function: No
Introduced In: 1
Calling Convention: B
Description: Performs a logical XOR between two 32-bit integers.

LogicalNot
Alias: none
Parameters:1
int:Integer
Return Type: Integer
Opcode: 0x149f (5279)
Condition Function: No
Introduced In: 1
Calling Convention: B
Description: Performs a logical NOT on a 32-bit integer

 

 

So maybe you cannot use them in scripts or script fragments without Fose at run time. But the geck compiler doesn't take that close of notice to comparison expressions ???

Link to comment
Share on other sites

You are sure you don't have one of those comparison expressions in your begin/end result script fragments. Dialogue or Quest stage ?

 

This " && " (add edit, sorry "??" does not mean "and")

This " || "

This " != "

 

Not sure what this one looks like " LogicalXor "

 

Using them in condition fields would not be the same.

Hence they may be available with vanilla functions in condition fields , but not in scripting. Otherwise , why would Fose mention them ?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...