Skip to content

[Fixed] nw_g0_conversat not fired on door anymore (difference between v1.69.8109 and v74.8172)

prwoprwo Member Posts: 69
edited June 2018 in Builders - Scripting
I noticed a deviation in the default behaviour of door/placable conversation scripts between v1.69.8109 and v74.8172 (and probably versions before):

Given the setup:
  • There is a door which has a conversation assigned to it.
  • The door is locked.
  • In the OnFailToOpen Script of that door the PC is assigned to start a conversation with that door:
    void main()
    {
        object oPC = GetFirstPC();
        object oDoor = OBJECT_SELF;
    
        AssignCommand(oPC, ClearAllActions());
        AssignCommand(oPC, ActionStartConversation(oDoor));
    }
The expected behavior would be:
  • When the PC clicks the locked door, the OnFailedToOpen script would fire.
  • The OFO script makes the PC start a conversation with the door.
  • Since the door has no own onConversation event, the default nw_g0_conversat will fire, which in turn calls BeginConversation()
  • The conversation assigned to the door will start.
This worked fine in v1.69.8109, but does not work anymore in v74.8172 (and probably version before).
Apparently nw_g0_conversat is no longer fired for doors (and I assume placeables too), so the dialog will never start.

If you change the direction of the conversation, so that the Door starts the conversation with the PC, the dialog launches as expected.
Post edited by prwo on

Comments

  • prwoprwo Member Posts: 69
    I have reported this as Bug#37261
  • nivniv Member, Moderator, Developer Posts: 410
    Fixing this. :)
  • nivniv Member, Moderator, Developer Posts: 410
    This should now be fixed in 8175: https://steamcommunity.com/games/704450/announcements/detail/1656642383190198217

    If I could bother you to test?
  • prwoprwo Member Posts: 69
    I've upgraded "NWN:EE - Developer" from v74.8172 to v75.8175 with the Beamdog Client and a retest with v75.8175 was successful.

    It is now possible for a PC to start a conversion with a door again.

    void main() { object oPC = GetFirstPC(); object oDoor = OBJECT_SELF; AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, ActionStartConversation(oDoor)); // This did not work in v74.8172, but works again in v75.8175 //AssignCommand(oDoor, ActionStartConversation(oPC)); // This has always worked }
Sign In or Register to comment.